WO2004019621A1 - 立体視用画像を作成する方法および装置 - Google Patents

立体視用画像を作成する方法および装置 Download PDF

Info

Publication number
WO2004019621A1
WO2004019621A1 PCT/JP2003/010499 JP0310499W WO2004019621A1 WO 2004019621 A1 WO2004019621 A1 WO 2004019621A1 JP 0310499 W JP0310499 W JP 0310499W WO 2004019621 A1 WO2004019621 A1 WO 2004019621A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
image
pixel
depth value
depth
Prior art date
Application number
PCT/JP2003/010499
Other languages
English (en)
French (fr)
Inventor
Kazunari Era
Original Assignee
Kazunari Era
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kazunari Era filed Critical Kazunari Era
Priority to CA2496353A priority Critical patent/CA2496353C/en
Priority to JP2004530576A priority patent/JP4061305B2/ja
Priority to EP03792736.5A priority patent/EP1551190B1/en
Priority to KR1020057002869A priority patent/KR100659206B1/ko
Priority to CN038196018A priority patent/CN1675937B/zh
Priority to AU2003257611A priority patent/AU2003257611A1/en
Priority to US10/525,033 priority patent/US7558420B2/en
Publication of WO2004019621A1 publication Critical patent/WO2004019621A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/261Image signal generators with monoscopic-to-stereoscopic image conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/337Displays for viewing with the aid of special glasses or head-mounted displays [HMD] using polarisation multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/003Aspects relating to the "2D+depth" image format

Definitions

  • the present invention relates to a method and apparatus for creating stereoscopic image data from two-dimensional image data.
  • a human being can visually perceive a three-dimensional object in a three-dimensional space through so-called stereoscopic vision.
  • the human brain recognizes a stereo based on the images seen by the left and right eyes. Therefore, in order to perform stereoscopic vision, a pair of images for the left eye and the right eye is required.
  • stereo view technology that allows a viewer to recognize a two-dimensional image as a three-dimensional image by performing some processing on the two-dimensional image.
  • stereoscopic view technology that allows a viewer to recognize a two-dimensional image as a three-dimensional image by performing some processing on the two-dimensional image.
  • a depth value in the following, Z which indicates how far (or near) the actual object is located based on any of the saturation, lightness or color of the object.
  • Z a depth value
  • the value is calculated and this value is regarded as disparity.
  • Japanese Patent Application Laid-Open No. 2002-2013 discloses a method of determining the Z value based on the saturation and lightness of the original image. Specifically, first, the Z value is calculated for each pixel based on the saturation of the image data. In addition, based on the lightness of the image data Extract outlines of objects contained in still images. Then, the average value of the Z values of all the pixels contained in the extracted object is calculated, and this is taken as the Z value of the object.
  • the disparity is determined based on this Z value. Furthermore, in order to improve the three-dimensional effect, the process of “blurring” the edge of the object is performed by changing the saturation of the pixel at the edge of the object (edge).
  • This technology makes use of the rule of thumb that landscapes generally tend to be lighter (saturate lower) as they are farther and sharper (saturate higher) closer. That is, in a distant view, the saturation is reduced due to dust in the air, and the edge (outline) of the object is thin and blurred. On the other hand, in a close view, the number of objects with high saturation increases, and the edges of the objects are thick and clear.
  • the correct Z value can not be calculated. In such a case, only a part of the object appears locally projected (or retracted) in the obtained stereoscopic image. Furthermore, in this case, since the edge of the object can not be extracted accurately, the above-described blurring does not contribute to the improvement of the three-dimensional effect.
  • the parallax of that part can be greatly estimated as a result.
  • adjacent pixels in the original image may be moved in different directions. This is called the pixel crossing phenomenon, which causes distortion of the image, and the quality of the stereoscopic image created is unbearably degraded.
  • the above problem becomes remarkable, and the disturbance of the image is likely to occur, which makes it more difficult to generate a stereoscopic image with a natural three-dimensional effect.
  • an image forming method for stereoscopic vision comprising: calculating at a calculation step of calculating a depth value representing a depth of an object corresponding to each pixel based on image data of a plurality of pixels constituting the image; The correction step of correcting the depth value corresponding to each pixel using the depth value corresponding to a pixel other than the pixel, and determining the pixel shift amount of each pixel based on the corrected depth value of each pixel, The method may further include a creating step of creating an image for the right eye and an image for the left eye by shifting each pixel constituting the image to the left or right by the determined movement amount.
  • a depth value is calculated by multiplying each of the color components of the image data by a predetermined coefficient.
  • the predetermined coefficient is equal to the ratio of the number of red cones, green cones and blue cones present in the human retina.
  • an image representing a subject positioned in front of the composition of the original image is configured rather than depth values of pixels constituting the image representing the subject positioned in front of the composition of the original image.
  • the depth value of each pixel may be corrected so that the depth value of the pixel to be selected is larger.
  • an average value of depth values of pixels included in a region including the pixel may be calculated, and the depth value of the pixel may be replaced with the average value.
  • the distribution of depth values in the image and the average value of the depth values of all the pixels may be calculated, and the deviation of the distribution may be corrected using the calculated average value.
  • an image of at least one or more objects in the image represented by the image data is specified, and the depth value of the pixel in the region corresponding to the object is specified. The depth value of the pixel may be corrected based on that. Also, using the parameter value specified by the user, either one of the quantization step of the depth value, the upper limit value of the calculated value of the depth value, or the lower limit value thereof is determined. May be
  • the change tendency of the depth value in the image is analyzed by comparing the depth value of the pixel included in one area with the depth value of the pixel included in the other area. If the analysis result is a predetermined one, the magnitude relation between the depth value and the pixel movement amount is reversed in the generation step.
  • the method further includes the steps of acquiring a moving image composed of a plurality of images, and creating a stereoscopic image from each of the acquired images, thereby forming a stereoscopic view corresponding to the moving image. Images may be created in real time.
  • the stereoscopic image creation device further comprises: calculating means for calculating a depth value representing a depth of an object corresponding to each pixel based on image data of a plurality of pixels constituting the image; A correction unit that corrects the depth value corresponding to each pixel calculated in step using a depth value corresponding to a pixel other than the pixel, and the pixel shift amount of each pixel based on the corrected depth value of each pixel
  • the present invention is characterized in that it comprises: creating means for creating an image for the right eye and an image for the left eye by shifting each pixel constituting the image to the left or right by the determined movement amount.
  • the information processing apparatus may further comprise acquisition means for acquiring from the user various parameters used in the correction means.
  • FIG. 1 is a functional block diagram showing an example of a stereoscopic image forming apparatus according to a first embodiment of the present invention.
  • FIG. 2 is a schematic view showing an example of a display screen of a stereoscopic image display application.
  • FIG. 3 is a schematic view showing an example of a setting dialog panel.
  • FIG. 4 is a schematic view for explaining a stereoscopic display mechanism in the first embodiment of the present invention.
  • FIG. 5 is a schematic view for explaining a stereoscopic display mechanism in the first embodiment of the present invention.
  • FIG. 6 is a diagram showing stereoscopic glasses.
  • FIG. 7 is a flowchart showing image processing performed when the stereoscopic display mode is selected.
  • FIG. 8 is a schematic diagram for explaining the structure of image data.
  • FIG. 9 is a flowchart showing the dead scale correction process.
  • FIG. 10 is a flowchart showing the grayscale correction process (cont.).
  • FIG 11 is a flowchart showing the grayscale correction process (cont.).
  • FIG. 12 is a diagram showing sampling areas and weighting factors used in the reverse rotation determination process.
  • FIG. 13 is a flowchart showing reverse rotation determination processing.
  • Figure 14 is a flowchart showing the reverse rotation determination process (continuation).
  • FIG. 15 shows a matrix area MM used in the smoothing process.
  • FIG. 16 is a flowchart showing the smoothing process.
  • FIG. 17 is a schematic diagram for explaining the distribution correction process.
  • FIG. 18 is a flowchart showing distribution correction processing.
  • Figure 19 is a flowchart showing the distribution correction process (cont.).
  • FIG. 20 is a diagram showing the Z-value distribution of the subject applied in the local correction process.
  • FIG. 21 is a flowchart showing the local correction process.
  • FIG. 22 is a flowchart showing contour line calculation processing which is one process of the local correction processing. is there.
  • FIG. 23 is a diagram for explaining contour line calculation processing which is a process of local correction processing.
  • Figure 24 is a flowchart showing the contour line calculation process, which is one process of the local correction process (continuation).
  • FIG. 25 is a flowchart showing an object center identification process which is a process of the local correction process.
  • Figure 26 is a flowchart showing the subject center identification process which is one process of the local correction process (continuation).
  • Figure 27 is a flowchart showing the subject center identification process, which is a process of the local correction process (continuation).
  • FIG. 28 is a flowchart showing an intersection point calculation process which is a process of the local correction process.
  • FIG. 29 is a flowchart showing an in-plane Z value calculation process which is a process of the local correction process.
  • FIG. 30 is a flowchart showing an in-plane correction value calculation process which is a process of the local correction process.
  • FIG. 31 is a flowchart showing Z value correction processing which is a process of local correction processing.
  • FIG. 32 is a flowchart showing the pixel movement process.
  • Fig. 33 is a flowchart showing pixel shift processing (continuation).
  • Figure 34 is a flowchart showing the pixel shift process (cont.).
  • FIG. 35 is a diagram for explaining the emphasizing process in the modified example of the present invention.
  • FIG. 36 is a flowchart showing image processing in a modification of the present invention.
  • FIG. 37 is a flowchart showing an emphasizing process in the modified example of the present invention.
  • FIG. 38 is a schematic view showing a display method of a stereoscopic image in a modified example of the present invention.
  • FIG. 39 is a schematic view showing a display method of a stereoscopic image in a modification of the present invention.
  • FIG. 40 is a schematic view showing a display method of a stereoscopic image in a modification of the present invention.
  • FIG. 41 is a schematic view showing a display method of a stereoscopic image in a modified example of the present invention.
  • FIG. 42 is a flowchart showing a pixel moving process according to a modification of the present invention.
  • FIG. 43 is a block diagram for explaining a functional configuration of the portable terminal 1A in the second embodiment of the present invention.
  • FIG. 44 is an external view of the portable terminal 1A.
  • FIG. 45 is a schematic view showing the configuration of the display unit 21 b.
  • FIG. 46 is a diagram for explaining the principle of autostereoscopy.
  • FIG. 47 is a flowchart showing processing performed when displaying a still image in the portable terminal 1A.
  • FIG. 48 is a flowchart showing processing performed when displaying a moving image on portable terminal 1A.
  • FIG. 49 is a block diagram showing an example of a functional configuration of a stereoscopic image forming apparatus 1B according to a third embodiment of the present invention.
  • FIG. 50 is a flowchart showing processing when displaying a moving image in the stereoscopic image forming apparatus 1B.
  • FIG. 51 is a block diagram showing a functional configuration of a driving simulator 40 which is an application example of the present invention.
  • BEST MODE FOR CARRYING OUT THE INVENTION is an application example of the present invention.
  • FIG. 1 shows a stereoscopic image forming apparatus 1 according to a first embodiment of the present invention.
  • a CPU (central processing unit) 11 controls the operation of each part of the stereoscopic image forming apparatus 1 and executes various processes such as a stereoscopic image data creation process.
  • R O M (Read Only Memory) 1 2 stores programs executed at startup, reference data, etc.
  • R AM (Random 'Access' Memory) 13 is for realizing a C PU 11 work area and so on.
  • Character generator 14 is used to display graphic data (font data) Occur.
  • the clock circuit 15 outputs the current time.
  • the interface 16 is for connecting the stereoscopic image forming apparatus 1 to the Internet (not shown).
  • the transmission control unit 17 exchanges data with a terminal connected to the Internet via the interface 16.
  • the magnetic disk drive 18 is a storage device that stores program data of various processes and operating systems executed by the stereoscopic image forming apparatus 1 and stores various data and the like created by the various processes.
  • the CD-R0M drive 19 is for reading out the image data stored in the CD-: ROM20.
  • the display unit 21 is, for example, a CRT or an LCD, and displays an image under the control of the display control unit 22.
  • Keypad 23 is a full-key keyboard, and the user uses the keyboard 23 to input an instruction.
  • the screen pointing device 24 is an input device such as a setting panel, and the user inputs various instructions by pressing the setting panel.
  • Input control unit 25 receives the instruction input from key pad 2 3 and screen pointing device 24 and outputs it to CPU 1 1.
  • the input control unit 25 is connected to the internal bus 26.
  • the CPU 11 for example displays an application for stereoscopic image display in the ROM 12 To be executed.
  • An example of the screen displayed on the display unit 21 when the application is executed is shown in FIG.
  • the screen displayed when the application is executed consists of a main screen MD and a menu bar MB in which menu items are arranged.
  • the main screen MD displays the video selected by the user.
  • items MI 1 to MI 10 are displayed on the menu bar MB.
  • Item MI 1 is for selecting “file menu” for the user to select moving image data to be processed.
  • Item M l 2 is for setting display of a stereoscopic image.
  • Item MI 3 is a selection operation when recording stereoscopic image data It is to do.
  • Item MI 4 is for performing an operation to end this stereoscopic image display application.
  • Item MI 5 is for performing playback operation of the moving image displayed on the main screen MD.
  • Item MI 6 is for performing a stop operation of the moving image displayed on the main screen MD.
  • the item Ml 7 is for performing a pause operation of the moving image displayed on the main screen MD.
  • Item MI 8 indicates whether the display mode of the moving image to be displayed on the main screen MD is the normal mode (2D) or the stereoscopic mode (3D), and at the same time specify switching of the display mode. For the operation of Specifically, a toggle operation is performed each time the user clicks on the item Ml 8 to switch between the normal mode (2D mode) and the stereoscopic mode (3D mode).
  • the upper diagram in Figure 2 is the display screen in 2D mode, and the lower diagram is the screen in 3D mode.
  • Item M I 9 is used to select the type of stereoscopic display mode (Odd_even mode / color-over mode). Although only two modes can be selected in the present embodiment, the present invention is not limited to this, and it is also possible to set a mode suitable for another combining method. Specifically, in synthesizing a stereoscopic image, a method using four images corresponding to four viewpoints, a method using eight images and nine viewpoints, and a method using two images corresponding to two viewpoints of left and right eyes are used. Allows the user to select the mode of composition method using 8 images and 9 images respectively corresponding to.
  • Item MI 10 is for specifying the composition method, and is for performing an operation to switch whether the three-dimensional world appears to be drawn backward from the screen (F 1 mode) or appears to pop out (F 2 mode). is there.
  • both screens are in F1 mode, so it appears to the user that the three-dimensional world is being pulled back.
  • FIG. 3 shows an example of the setting dialog panel displayed on the display unit 21 when the user operates the item M12. As shown in the figure, in the setting dialog panel, a title bar BR is displayed at the top, and in the title bar, a close box B C for closing the setting dialog panel is disposed.
  • a slider bar IS 1, IS 2 input windows IB 1, IB 2, IB 3, IB 4, input boxes IB 5 and IB 6, and potan BM 2 and BM 3 are arranged.
  • Control the slider bar ISI You can specify the value of interface depth.
  • the input window IB 1 displays the specified interface depth value. Alternatively, it is possible to input numerical values directly into the input window IB1.
  • interface depth is a parameter that indicates to the user how much the entire stereoscopic world is perceived (or popped out) with respect to the display screen. The larger this value, the more the entire stereoscopic world is perceived as jumping out (or withdrawing) from the screen. Also, for example, if the stereoscopic image displayed by moving the pixel to the left for the left eye image and moving the visual difference to the right for the right eye image is viewed from the display screen, the pixel movement direction is reversed. By doing this, the stereoscopic image appears to pop out of the display screen.
  • the user can operate the slider bar I S 2 to specify the value of "Hump".
  • the input window I B 2 displays the value of the specified roughness.
  • the term "relief” indicates the degree of relief of the stereoscopic world, in other words, the depth from the lowest depth to the highest depth of the stereoscopic world. That is, the larger the value is, the more the ups and downs in the stereoscopic world are emphasized. On the contrary, when the value is small, the whole stereoscopic world is perceived as a grid.
  • the user can input the upper limit value and the lower limit value of the object depth in the input windows I B 3 and I B 4 respectively.
  • the subject depth is an amount assigned to each subject included in the image, and is a parameter indicating how far the subject is drawn (or popped out) with respect to the screen. It is.
  • the operation button B M 1 is for setting the upper limit value and the lower limit value of the object depth as default values.
  • the user can specify whether the start line is an odd line or an even line by checking one of the input boxes IB5 and IB6.
  • the Potan BM 2 When the Potan BM 2 is operated, the current setting contents are fixed, and when the Potan BM 3 is operated, the current setting contents are discarded and the previously set contents become effective.
  • C Set in this way Parameter values are used in image processing to be described later.
  • the present embodiment Use the O dd-E ven method. That is, a polarized stripe filter is attached to the screen of the display unit 21, and the user wears polarized glasses and looks at the display screen, whereby the user perceives a stereoscopic image.
  • the polarization direction of the polarization stripe filter FL 0, FL 2, ⁇ for the left eye and the polarization stripe filter FL 1, FL 3, ⁇ for the right eye are orthogonal to each other.
  • the filter F left is arranged corresponding to the left eye
  • the filter right is arranged corresponding to the right eye.
  • the polarization directions of F leIl and F righl are parallel to the polarization stripe filter for the left eye and the polarization stripe filter for the right eye, respectively.
  • the display contents of the even lines SL 0, SL 2, ⁇ ⁇ ⁇ of the display unit 21 are polarized stripe filter FL O, FL Since the light passes through the filter 1611 corresponding to the left eye and reaches the left eye, the right eye is blocked by the filter F Mghl arranged corresponding to the right eye. Does not reach On the other hand, the display contents of the odd lines SL 1, SL 3,... On the display section 21 pass through the polarized stripe filters FL 1, FL 3, ⁇ ⁇ ⁇ , so they pass through the filter FL r and reach the right eye Is blocked by the filter FL f and does not reach the left eye. In this way, since the left eye image is sensed by the user's left eye and the right eye image is sensed by the right eye, the user can stereoscopically perceive the displayed image.
  • FIG. 7 the user performs a predetermined operation, and the stereoscopic image display application is activated.
  • 6 shows an outline of the flow of image processing performed by the stereoscopic image forming apparatus 1 when the stereoscopic display mode is selected.
  • the CPU 11 reads out data of one frame of color moving image data (step S101), and checks whether the data is in RGB format (step S102).
  • a format other than RGB one color of image data that has been read in is converted into a color image data of RGB format (step S103).
  • the format of color moving image data is optional.
  • the moving image data may be compressed.
  • a process for decoding the data may be provided before step S101.
  • color depth (bit depth) per pixel of color moving image data any of 16 bits, 24 bits, or 32 bits can be applied.
  • the color moving picture data may be stored in the magnetic disk drive 18 or the CD-ROM 20.
  • image data may be input by connecting a cable to a video reproduction device such as a DVD. Or, it may be input from an imaging device such as a digital camera or video. Alternatively, it is possible to input the received image data of satellite broadcasting or wired broadcasting by connecting to a receiver. Or, it may be downloaded from a server on Internet.
  • the CPU 11 calculates gray scale values for each pixel of the read color image data of one frame based on the image data values (R, G, B values), and calculates the gray values as Z values. Perform gray scale correction processing (step S 1 0 4) set to.
  • step S1 05 When the Z value of each pixel is determined in this way, the reverse determination process (step S1 05), smoothing (step S1 06), distribution correction (step S 107), local correction (steps S 108, S 1 09) and correct the Z value. Finally, the amount of pixel movement is calculated based on the corrected Z value obtained in this manner, and a stereoscopic image is created by shifting the pixels (step S 110).
  • step S 110 Each process is described in detail below.
  • color image data in any one of 16 bit, 24 pit, and 32 bit RGB format is used as the color depth.
  • a color image with a color depth of 16 bits at each pixel has a data configuration of 5 bits for R data, 6 bits for G data, and 5 bits for B data.
  • R data, G data, and B data have data structures of 8 bits, 8 pits, and 8 bits, respectively.
  • the color depth is 32 bits, it has a data configuration in which 8 bits of dummy data are added at the beginning of 24-bit color image data.
  • step S 1 04 The details of the dare-scale correction process (FIG. 7, step S 1 04) will be described using FIG. 9, FIG. 10, and FIG.
  • weighting is first performed on the R values, G values, and B values. . Specifically, as shown in the following equation (1), predetermined weighting is applied to each of the red component (R), the green component (G) and the blue component (B) among the display colors of each pixel. Get grayscale value.
  • the possible range of the gray scale value of one pixel is 0 to 31 and for 24 bits and 32 bits, both 0 to 25 and Become.
  • This weighting factor (30%, 59%, 11%) is based on the ratio of the number of red cones, green cones and blue cones present in human retina. It is possible to adopt other weighting factors, but if a stereoscopic image is generated based on the dare scale value calculated using the above-mentioned factors, the most natural stereoscopic effect can be obtained.
  • one gray scale of this gray scale is used as a depth of one unit, one gray scale located in the foreground and one gray scale located in the back in the composition of the original image have the same unit depth (same depth distance Will result in inaccuracies in the representation of the pixel's natural depth value. So the original image It is necessary to express the depth (depth distance) of a larger value as the grayscale value (grayscale value) located farther to the rear than the grayscale value (grayscale value) located in the foreground on the composition of .
  • n is a positive integer
  • a is a first term
  • parameters d and r which are parameters representing correction amounts, can be set to suitable values according to the characteristics of the original image.
  • * src is a pointer indicating the area (address) in which the original image data src is stored
  • WD is the number of horizontal pixels of the original image
  • HT is the number of vertical pixels of the original image
  • * zinfo is calculated. It represents a border indicating an area for storing the Z value. For example, if the size of the original image data is "1 024 dots * 768 dots", then WD is 1024 and HT is 768.
  • the CPU 11 determines whether or not the color depth of the data of the pixel to be processed is 16 bits (step S 201).
  • 16 bits declare "Un si gn ed S hort * src ⁇ "as a variable (step S 202), convert src of the target pixel to unsi gn edshort (step S 203), and change variable srcp Substitute the address of data src (step S 204).
  • step S 205 the CPU 11 sets the value of the counter C C to 0 (step S 205).
  • step S206 it is determined whether the value of the counter CC is smaller than "WD * HT" (step S206). If the determination result is NO, it is determined that the processing for all pixels for one screen has been completed, and the grayscale correction processing is ended.
  • step S 2 0 7 the variable R stores the 16-bit data stored in the area pointed to by the pointer * srcp and the hexadecimal number “F 8 00” (“1 1 1 1 1 0 0 in binary number. 0 000 000 0 0 ”) AND this with 1 1-bit arithmetic right shift and multiply the result by 30.
  • the value obtained in this way is converted to int, and this is taken as a new R value (step S 2 0 7). In this way, the value of 5 bits of R data multiplied by 30 is substituted for the variable R.
  • step S208 the process proceeds to step S208, and the variable G is ANDed with the 16-bit data stored in the area pointed to by the pointer * srcp and the 1-hexadecimal number “07 E 0”, and the result is 5 bits. Shift the math right and multiply this by 59. Furthermore, the value thus obtained is converted to int, and this is made a new G value (step S208). Thus, the value obtained by multiplying the 6-bit G data by 59 is substituted for the variable G.
  • the variable B is logically ANDed with the 16-bit data stored in the area indicated by the binary * srcp and the hexadecimal number “0 0 1 F”, and this is multiplied by 1 1.
  • step S 209 the value obtained in this way is cast to int, and this is made a new B value (step S 209).
  • the value obtained by multiplying 5-bit B data (5-bit) by 1 1 is assigned to variable B.
  • the sum of the values of variable R, variable G and variable B is divided by 100, and the result is assigned to the area indicated by the variable * zinfo (step S210).
  • the values of variables srcp, zi ⁇ ⁇ o and counter CC are respectively incremented by one (step S 21 1), and the process returns to step S 2 0 6 again, and the next pixel Do the same for.
  • the above processing is performed for all pixels for one screen.
  • step S201 If the determination result in step S201 is NO, it is checked whether the color depth is 24 pits (FIG. 10, step S215). Next, as in step S 205 and step 320 6 in FIG. 9, the counter is reset (step S 2 1 6) and the end determination (step S 2 1 7).
  • step S 21 the value obtained by multiplying the 24-bit data stored in the area indicated by the pointer * (src + 1) by 59 is assigned to the variable G (step S 21 9).
  • step S 220 a value obtained by multiplying the data stored in the area indicated by the pointer * (src + 2) by 30 is substituted into a variable R (step S 220).
  • steps S221 and S222 are the same as in the case of the 16-bit data.
  • step S215 determines that the color depth is 32 bits. In this case, declare "tJn si gn edlong * srcp" as a variable (Fig. 11, step S 225), convert the data src of the pixel to be processed to un si g n elong (step S 226) Substitute the address of data src with srcp (step S 227). Next, as in the case of 16-bit data, the counter value is reset (step S 228) and the end determination (step S 229) is performed.
  • step S230 the R value, the G value, and the B value are corrected. That is, first, the 32 pit data stored in the area indicated by the border * srcp and the hexadecimal number “00 FF 000 0” are logically ANDed, and this is shifted to the right by 16 bits arithmetic. Multiply by 30. Further, it is converted to int and assigned to the variable R (step S 230). As a result, the value obtained by multiplying the 8-bit R data by 30 is substituted for the variable R. Next, AND the data (32-bit data) and the 1-hexadecimal number “0000 FF 00”, shift this by 8-bit arithmetic right shift, and multiply the result by 59.
  • step S 231 this is converted to int and substituted into a variable G (step S 231).
  • step S 232 the value obtained by multiplying the 8-bit G data by 59 is substituted for the variable G.
  • step S 232 the logical product of the data (32-bit data) stored in the area pointed to by the pointer * s r c and the 1-hexadecimal number “000000 FF” is multiplied by 1 and this.
  • step S 232 the value obtained by multiplying 8-bit B data by 1 1 is assigned to variable B.
  • the subsequent processing is the same as in the 16-bit and 24-bit cases.
  • the Z value obtained in step S104 is corrected in order to make the stereoscopic image an image from which a more natural three-dimensional effect can be obtained.
  • the principle is that the amount of pixel movement should be determined according to the Z value.
  • the pixel movement amount may be determined so as to be in direct proportion to the Z value obtained in step S104.
  • subjects with larger Z values ie brighter subjects
  • subjects with smaller Z values ie darker subjects
  • a dark subject is present at the center of a bright background (for example, blue sky), and a subject with a large Z value is positioned closer to the user, and a subject with a small Z value is used. It may be located in the foreground when viewed from a person. If the amount of pixel movement is determined to be proportional to the Z value for such an image, the stereoscopic image perceived by the user will be unnatural with the perspective of the subject reversed. Therefore, in this processing, the tendency of change in Z value in the original image is analyzed, and based on this, it is determined whether or not the relationship between the magnitude of the pixel movement amount and the magnitude of the Z value should be reversed. .
  • sampling area Each area (hereinafter referred to as “sampling area”) SS 1 to SS 9 is divided into a size of 8 vertical dots ⁇ 8 horizontal dots.
  • the size of this sampling area is not limited to 8 dots vertically and 8 dots horizontally, and the number of sampling areas can be set arbitrarily.
  • a weighting factor is assigned to each of these sampling areas. Specifically, in the areas SSI, SS 2, SS 3, SS 4, SS 5, SS 6, SS 7, SS 8 and SS 9, “3”, “4”, “3” and “2” respectively The weighting factors of “5”, “2”, “1”, “2” and “1” are assigned.
  • the allocation method is not limited to this, but It is determined based on a general tendency regarding the perspective of the subject in the image. Here, the general tendency is that the upper part of the image is more distant than the lower part (for example, the sky) in many cases, and in the case of an image obtained by photographing a person or flower, the subject in the center of the image. Is often placed. That is, the weighting factor of the central sampling area may be the largest, and the upper sampling area may be assigned a weighting factor larger than that of the lower sampling area.
  • the CPU 11 calculates an average value MZ of Z values of all pixels in the image data (step S301).
  • the values of variables S 1, S 2 and counter CT are initialized to 0 (step S 302).
  • the variable S 1 (S 2) is a parameter representing a weighting coefficient of an area darker (brighter) than the average value of the brightness of the screen
  • the value of the counter CT is the value of the sampling area where the processing is performed. Represents a number.
  • step S303 it is determined whether the value of the counter CT is smaller than 9 (step S303), and it is determined whether the processing has ended for all sampling areas SS. If the determination result is YES, it is determined whether the average Z value of the sampling area is equal to or more than the average value MZ (step S 304).
  • step S304 When the judgment result at step S304 is YES, the weighting factor of the CT-th sampling area is added to the variable S1 (step S305). Also, when the result of the determination in step S 304 is NO, the weight coefficient of the CT-th region is added to the variable S 2 (step S 306). Next, the value of the counter CT is increased by one (step S 307), and the process returns to step S 303 to process the next sampling area.
  • step S 303 when processing for all nine sampling areas is completed (step S 303, NO), the process proceeds to step S 308 in FIG. 14 and whether the value of variable S 1 is larger than the value of variable S 2 Examine If S 1 SS 2 (step S 308, Y E S), it is determined that the Z value is to be inverted (step S 309).
  • the following determination processing may be further performed. That is, among the nine sampling areas SS1 to SS9, one or more samplings are specified by specifying a sampling area in which the average value of the Z values in the sampling area is larger than the average value of the Z values of the entire original image. Sum the region weights. Then, if the calculated total value is equal to or greater than a predetermined threshold value, the portion depicted at the front position on the composition of the original image is darker, and the portion depicted at the back position is brighter It is determined that there is a tendency, and it is determined that the relationship between the magnitude of the pixel movement amount and the magnitude of the Z value is to be inverted.
  • the calculated total value is less than a predetermined threshold value, that is, the portion drawn in the front position on the composition of the original image is drawn brighter and drawn in the back position. It is judged that there is a tendency that the part that is moving is more prone, and it is judged that the relation between the magnitude of the pixel movement amount and the magnitude of the Z value is not reversed.
  • the CPU 11 determines whether the setting of the item M I 10 in the stereoscopic image display application is in the F 2 mode (appears to be popped out) (step S 35).
  • the determination result obtained in steps S 309, 3 1 1, 3 1 3 3, and 14 is further inverted (step S 3 16).
  • the CPU 11 performs a process for smoothing the Z value calculated in step S104 of FIG. 7 (step S106).
  • the reason for this processing is as follows.
  • a stereoscopic image is generated by moving each pixel from the original position to the left and right by an amount corresponding to parallax. And the movement amount can be calculated from the Z value.
  • the change in Z value is severe, the change in parallax is severe, and a cross phenomenon of pixels (adjacent pixels move in opposite directions to each other) occurs.
  • Such a phenomenon often occurs in parts of outlines that are highlighted by light striking an object.
  • disturbances such as blurring of outlines, blurring and interference fringes occur.
  • the Z value is corrected so that such a phenomenon does not appear.
  • the CPU 11 calculates the Z value in a specific area (hereinafter referred to as “matrix area”) MM including the pixel PX.
  • the average value is calculated, and the calculated average value is updated as the Z value of the pixel PX. That is, the Z value of each pixel P x is an average value of the Z values of a total of 14 4 pixels in a matrix area of 12 dots (M x) and 12 dots (M x) in height and 1 dot (My) Is replaced by
  • M x dots
  • My 1 dot
  • the size of the matrix area MM can be set arbitrarily. If the matrix area MM is increased, the number of pixels for which the average value is calculated is increased, the difference between the Z values of the pixels is reduced, and hence the three-dimensional effect perceived by the user is reduced. Conversely, if the matrix area is made smaller, the difference between the Z values of the pixels will be larger, and the stereoscopic effect perceived by the user will be larger.
  • a counter CLN representing the vertical position of the pixel of interest is set to 0 (step S401).
  • step S403 it is determined whether the pixel of interest PX is above 12 pixels from the lower edge of the screen, that is, the value of (HT ⁇ CLN) is 12 or more.
  • the judgment result is YES
  • 1 2 is substituted for the variable MTh representing the size in the vertical direction of the matrix area MM (step S 404). Otherwise, the variable MT Substitute the value of (HT-CLN) for h (step S 40 5).
  • the size of the matrix area is adjusted when the pixel of interest is near the lower end of the screen.
  • the value of a counter CWD representing the horizontal position of the pixel of interest is set to 0 (step S406).
  • step S 407 it is determined whether the value of the counter CWD is smaller than the width pixel number WD (step S 407). If the result of this determination is YES, it is determined whether or not the force with which the focused pixel PX is 12 pixels to the left of the right edge of the screen, that is, the value of (WD-CW M) is 12 or more (step S 408).
  • step S409 12 is substituted for the variable MTw representing the vertical size of the matrix area MM. If the result of the determination is NO, the value of (WD—CWD) is substituted into the variable MTw (step S 410). Thus, the size of the matrix area is adjusted when the pixel of interest is near the right edge of the screen.
  • step S413 the value of the counter CWD is incremented by one (step S413), and the process returns to step S407 to change the pixel of interest and perform the same processing.
  • step S414 the value of counter CLN is incremented by 1 (step S414), and the process returns to step S402. Repeat the same process. As described above, this process is performed on all pixels.
  • the Z value of each pixel calculated through the above-described smoothing processing depends on the average of the Z values of the entire image, the distribution may be biased. An example of this is shown in the upper part of Fig.17. If this Z value is used as it is to create a stereoscopic image, a natural three-dimensional effect can not be obtained. Therefore, the Z value distribution is corrected as shown in the lower figure of Figure 17. It is this processing to do.
  • * z—i ma ge is a space indicating the area where the z-values are stored
  • ave— z is the average z-value of all pixels
  • ma x ⁇ z and “min ⁇ z” are each z The maximum and minimum values are indicated
  • "* adjust-z__ i ma ge” is a pointer that indicates the area for storing the Z value after correction.
  • ma x — z, m in — z and a_ve_z are calculated (step S 501). Then, substitute the values of (max-z-ave-z) and (min-z-av e_z) into the variables ma x-span and variable m in _ span representing the degree of spread of the distribution (step S 502) ).
  • step S 503 it is determined whether the color depth is 16 bits (step S 503). In the case of 16 bits, 31 is substituted for the variable "ma x" representing the gradation (step S504). If the color depth is 24 bits or 32 bits (step S 503, NO), assign 255 to the variable ma X (step S 505).
  • the counter CLN is set to 0, and a point variable representing the correction of the Z value at the pixel of interest is stored.
  • the address where z—ima g e is stored is stored in p z — ima g e (step S 506).
  • step S508 the counter CWD is set to 0 (step S508), and it is judged whether the value of the counter CWD is smaller than the number WD of horizontal pixels (step S509). If the result of this determination is NO, it is determined that processing of pixels for one line has been completed, the value of the counter CLN is incremented by one (step S510), and the process returns to step S507, and the next line Process the pixels of
  • step S 51 1 it is judged whether the value of pz ⁇ ima ge is larger than ave ⁇ z.
  • pz-i ma ge ave ave-z that is, if the Z value is larger than the average value, a variable z representing the correction of the Z value is (z-ave-z) / max-span * (ma x-avez Substitute the value of) (step S 5 1 2). If the result of the determination in step S51 1 is NO, it is further determined whether * pz-ima ge v ave_z is satisfied (step S 51 3).
  • step S 51 3 When the judgment result of step S 51 3 is Y E S, substitute the value of (z ⁇ a V e ⁇ z) / (min ⁇ z ⁇ ave_z) * min — span into the variable z (step S 5 14) .
  • step S513 When the result of the determination in step S513 is NO, that is, when the value of * pz ⁇ ima ge is equal to the pixel average value aVe_z, 0 is substituted for the variable z (step S515).
  • step S 517 After incrementing the value of z-image, the value of adjust-z-ima, and the value of CLN by 1 each (step S 517), the process returns to step S 509, and the same process is performed by changing the pixel of interest. I do. Repeat this process and do the same process for all pixels.
  • the above processing is performed to correct the Z value, it may not be sufficient. Specifically, distortion may occur in the Z-value distribution of one subject. For example, originally, in a spherical object, the Z value should gradually change radially from the center, but for some reason, there may occur a case where the Z value is extremely large (small) for a certain portion of pixels. Alternatively, there may be unevenness in the distribution of the Z value.
  • step S 700 the range (the number of steps) of the Z value obtained in the processing up to step S 107 is corrected (FIG. 21, step S 700).
  • contour lines (HL 0 to HL 5) of Z values represented by pixels having the same Z value after correction are obtained (step S 70 1).
  • step S 702 based on the contour lines obtained Identify the subject (FIG. 20: ⁇ 1, OB 2) based on the image (step S 702).
  • step S 703 the y-coordinate of the central point PPc regarding the Z value of the subject is determined, and the y-coordinate of the intersection of the perpendicular line VL drawn from PPc and each contour line is calculated (step S 703).
  • step S704 the Z value of the pixel applied to the subject is determined (steps S704, S705).
  • step S 706 the Z-values of pixels in the area are corrected.
  • the area inside the contour line is the contour surface. The following describes each process in detail.
  • the minimum unit of the pixel movement amount in a stereoscopic image is one pixel. That is, an amount smaller than one pixel can not be set as the pixel movement amount. Therefore, even if the pixel movement amount is increased by one pixel which is the minimum unit each time the z value increases by “1”, the pixel movement amount is “255” when the Z value is the maximum value.
  • the size corresponds to 256 pixels.
  • the CPU 11 performs processing for approximating the Z value of each pixel obtained in the processing up to step S 107 to discrete values at several stages.
  • the CPU 11 divides the Z value obtained in step S 107 by the rounding coefficient MK for each pixel, and divides the result into an integer (rounding down, rounding up, or rounding off). Multiply the same rounding factor MK. As a result, the Z value of each pixel is approximated to a value corresponding to an integer multiple of the rounding coefficient MK.
  • the rounding coefficient MK is a numerical value representing the size of the interval of each discrete value to which the Z value should be approximated.
  • this rounding coefficient MK a value obtained by integer conversion of a value obtained by dividing the maximum value (25 5) of possible values of the Z value by the object depth Ob specified by the user is used.
  • contour line calculation processing will be described in detail with reference to FIGS.
  • * o u t 1 i n e is a boundary indicating the storage area of the contour extraction basic data
  • * c o r d is a interface indicating the Z value vector storage area.
  • c o r d is data of a structure of V in f o
  • a structure of V in f o has data elements of Z value, n p 0 i n t (integer value), and * p o i n t (coordinate data).
  • the CPU 1 1 substitutes the result obtained by dividing the 2 55 by the rounding coefficient MK for the constant ma x, and substitutes 0 for the variable Taj_z representing the number of processed pixels (step S 7 10) .
  • step S 7 1 it is determined whether the value of the variable T ar g t-z has become larger than a predetermined constant m a x (step S 7 1 1). When the judgment result is NO, this processing ends.
  • the counter CLN is set to 0 (step S71 2), and it is judged whether the value of the counter CLN is smaller than HT (step S71 3). If the determination result is NO, the value of T a r g e t ⁇ z is incremented by one (step S 714), and the process returns to step S 71 1. If the determination result in step S 7 1 3 is YES, substitute 0 into counter CWD, substitute 1 1 into variable P 1, substitute 1 1 into variable P 2, and substitute 0 into variable fnd (Step S 7 1 5).
  • step S 7 1 6 it is checked whether the value of counter CWD is smaller than WD (step S 7 1 6), and when the determination result in step S 7 1 6 becomes YES, the value of * out 1 ine is the value of Target — z It is determined whether it is equal to (step S717).
  • step S 7 1 7 it is checked whether the value of variable P 1 is 0 or more (step S 7 18). If this judgment result is NO, the variable P 1 is countered Substitute the value of CWD (step S 7 1 9), increment the value of CWD 'by 1 (step S. 720), and return to step S 7 16. Also, when the judgment result of step S718 becomes YES, the process moves to step S720, and the subsequent processing is executed.
  • step S717 If the determination result in step S717 is NO, it is determined whether the value of variable P1 is 0 or more (step S721). If this judgment result is YES, Substitute the value of counter CWD into variable P2, increment the value of variable nd by 1 (step S 722), shift to step S 720, and execute the subsequent processing in the same manner. If the decision result in the step S721 is NO, then the process goes to the step S720, and the subsequent processes are similarly executed.
  • step S716 determines whether the value of the variable f n d is greater than 0 (step S723). If the determination result is NO, the value of the counter CLN is incremented by one (step S 724), and the process returns to step S 713.
  • step S723 the pixel position is searched for pixels in the vicinity where the Z value changes. Specifically, the search is performed in the order shown on the left side of FIG. That is, first, the Z value of the pixel of interest P 1 and the pixel at the upper right position are compared (step S 730). If the two Z values are equal (step S 730, NO), the Z value of the pixel directly above pixel P 1 is compared with the Z value of the pixel of interest (step S 7 '31). Likewise, the comparison determination is performed on six pixels around the pixel of interest (steps S 732 to S 735). A schematic diagram of this search order is shown on the right side of FIG.
  • step S 73 0, 73 1, 73 2, 733, 734, 735, YES the coordinate of the found pixel has already been found.
  • step S 736 To determine whether all the pixels in the vicinity have been examined. In this way, edge portions with different Z values are detected one pixel at a time. If all edges have been examined (step S736, YES) This process ends.
  • step S736 If the determination result in step S736 is NO, the X coordinate value of the found pixel and the y coordinate value are stored in the X and y values of the cord point (step S737). Next, the value of cord's point and the value of npoint are increased by one each (steps S 7 38 and S 739), the pixel of interest P 1 is moved to the position of the found pixel (step S 740), Return to 730 and perform processing for the next pixel. In this way, one contour line can be obtained by sequentially detecting the edge part. (C) Object center identification
  • cent-cord is a pointer that indicates the vector area that stores the innermost rectangle
  • center is the coordinate data of the center point to be determined
  • * side-one is a vector that stores the rectangle to be determined (but not the innermost). It is a poin evening that shows the area.
  • the CPU 11 selects one contour line to be processed (step S 750).
  • the variables g-min-x, g-max-x, g-min-y, and g-max- that represent the minimum and maximum values of the X and y coordinates of the pixel on this contour line.
  • Initialize the value of y step S 75 1).
  • the initial value of g-m in-x is 99999 9, but any value may be used as long as it is larger than WD. -The same applies to m in_y.
  • step S 7 53 it is determined whether the value of np o i n t of co r d p is greater than 0 (step S 7 53). If the result of this determination is NO, it is determined whether or not processing for all contour lines has been completed (step S754). If the judgment result is "N", the process returns to step S750 to process the next contour line. If the determination result in step S754 is YES, the process ends.
  • step S 7 53 When the judgment result in step S 7 53 is Y E S, initialize the variable c. Specifically, set the value of counter C NT to 0 (step S 755), and substitute 999999 for min — x , Ma x-Substitute 0 for x, min Substitute 9999 99 for y, Substitute 0 for ma x-y (Step S 7 56), Substitute the value of cor d d: Point for variable PNT Do.
  • step S 757 it is determined whether the value of the counter C NT is smaller than the cordpoint n point, that is, whether the processing has been completed for all of the pixels applied to one contour line. If not (step S 757, YES), it is determined whether the value of X in variable PNT is smaller than min— x (step S 758). If this judgment result is YES, substitute the horizontal minimum position into p1. That is, substitute the X value of PNT for the value of p i. X, substitute the y value of PNT for the value of p i. Y, and the value of p 1. x for the value of min— x Assign (step S 759). If the determination result is NO, step S 759 is not executed.
  • step S 760 It is then determined whether the value of PNT's X is greater than max-x (step S 760). If the result of this determination is YES, the horizontal maximum position is substituted into p2. That is, substitute the X value of PNT for the p 2. X value, substitute the y value of PNT for the p 2. y value, and substitute the p 2. x value for the ma x— x value (Step S 76 1). If the determination result is NO, step S761 is not executed.
  • step S 762 it is determined whether the value of y of variable PNT is smaller than m in _ y (step S 76 2). If this judgment result is YE S, substitute the vertical minimum position into p3. That is, substitute the X value of P NT for the value of p 3. X, substitute the y value of PNT for the value of p 3. y, and substitute the value of p 3. y for the value of min ⁇ y Do (step S 7 63). If the determination result is NO, step S 763 is not performed.
  • step S 764 it is determined whether the value of y of variable P NT is larger than max_y (step S 764). If the result of this determination is YES, the maximum vertical position is substituted into p4. That is, substitute the X value of PNT for the ⁇ 4. X value, substitute the y value of P NT for the p 4. y value, and substitute the p 4. y value for the ma X ⁇ y value. Do (Step S 76 5). If this determination result is NO, step S 765 is not executed. Then, the value of counter CNT is increased by one, the value of PNT is increased by one (step S766), and the process returns to step S757.
  • step S 757 When the vertex of the circumscribed rectangle is calculated (step S 757, NO), it is determined whether the value of pi. X is smaller than the value of g_m ⁇ —- ⁇ ⁇ ⁇ ⁇ , that is, whether the obtained rectangle is the innermost Do it (Step S 767). If the rectangle is at the innermost position (step S 76 7, YE S), store cordp in cent 1 cord (step S 768) and substitute the value of p 1. x for g_min-x (step S 769) . Then, a line connecting (pi 2. x, p 3. y), which is the vertex of the innermost determined rectangle, and the point ((2. ⁇ , 4. 4. y), and a point (p 2. x, p) 3.
  • step S 770 If the rectangle is not the innermost (step S 76 7, NO), steps S 768 to 770 are not executed.
  • step S 771 it is determined whether p 2. X is larger than g—ma x—x (step S 77 1). If p 2. x> g—ma X—X (step S 77 1, YES), store c ' ⁇ 1- ⁇ 1 in 3 ide— cord and g— max— x: 2. x Assign (steps S 772 and S 773). If p 2. x> g—m a x—x is not satisfied (step S 77 1, NO), steps S 772 and S 773 are not performed. Then, the value of cord is incremented by one (step S774), and the process returns to step S753 to repeat the same processing for another contour line.
  • intersection point calculation process (FIG. 21, step S 703) will be described in detail with reference to FIG.
  • p [] is an array that stores coordinate data of intersection points.
  • step S 780 one contour line is selected (step S 780), and c or d is substituted with c or d, and the variable f in d is initialized to '0' (step S 78 1).
  • step S 782 it is determined whether the value of n p o in t of c r p d is greater than 0 (step S 78 2). If the result of this determination is NO, it is determined whether or not the processing of all contour lines has been completed (step S783). If the determination result in step S783 is NO, the process returns to step S780 to execute the process for the next contour line. If the determination result in step S783 is YES, this intersection point calculation process ends.
  • step S 784 substitute the value of p o in t of the corp for the variable P NT and initialize the value of the counter CNT to 0 (step S 784).
  • step S 785 it is determined whether the value of the counter C NT is smaller than n p o in t of the cor d p (step S 785).
  • PNT PNT.
  • X and c e n t e r, x are equal (step S 786).
  • step S 786 determines whether PNT. Y is greater than cneter. Y (step S 787).
  • this judgment result is YES, the intersection point of the vertical line drawn vertically from the center point and the contour line is obtained. That is, substitute the value of PNT. X for p [fi nd]. X, and substitute the value of PNT. Y for p [find], y (step S 788).
  • step S 7 8 increase the value of f 1 113 by 1 (step S 7 8 9) and indicate the end of the data; then, let p [find]. X and p [find], y be one each. Substitute 1 (step S 790). Next, the value of corp d is increased by one (step S 7 9.1), and the process returns to step S 782.
  • step S 786 or S 787 If the determination result in step S 786 or S 787 is NO, the value of CNT is increased by one, the value of P NT is increased by one (step S 792), and the process returns to step S 785, and the same processing is performed. repeat. If the result of the determination in step S 785 is negative, the process proceeds to step S 7 9 1.
  • the in-plane Z value calculation processing (FIG. 21, step S 704) will be described in detail.
  • the Z value of the pixel in the equiplanar surface is newly calculated using the calculated coordinates of the object center and the intersection point.
  • the constant dist is the distance from the camera to the display screen when it is assumed that the image displayed on the screen is captured by the camera
  • the constant focus is the focal length of the camera
  • n ew ⁇ z [] is It is an array that stores the Z value calculated in this process.
  • the CPU 11 selects one contour surface (step S 795), and initializes the value of the counter CNT to 0 (step S 796).
  • step S 795 substitute the value obtained by subtracting center and y from HT for cent-h, and substitute the value of (dis tZ focus ⁇ cent- h) for objec t_h representing the depth of the subject (Step S 797) .
  • step S 798 It is then determined whether the value of p [CNT] .X is greater than or equal to 0 (step S 798). If the judgment result is YE S, substitute the value of (object ⁇ h * focus / (p [CNT]. Y — center, y) — dist) into n ew ⁇ z [CNT] (step S 799). ). That is, the Z value of a pixel in a given contour surface is corrected to be proportional to the y component of the distance from the center point of the Z value of the object to the pixel.
  • step S 800 increase the value of the counter CNT by 1 (step S 800), and step Return to S798 and perform the same process.
  • step S 798 it is checked whether the processing is finished for all contour surfaces (step S 801).
  • step S 801 step S 795 Return to and perform processing for other contours. Also, when the determination result in step S 801 is YES, this processing ends.
  • ad j u s t ⁇ o u t 1 i n e [] is an array that stores the difference between the Z value after correction and the original Z value.
  • step S 805 one calculated intersection point is selected (step S 805), and 1 is substituted for the value of the counter C NT (step S 806).
  • step S 806 it is determined whether the value of p [CNT] .X is 0 or more (step S 807). If the result of this determination is NO, it is determined that the processing for one intersection has been completed, and it is further determined whether the processing for all the intersections has been completed (step S 808). If the result of the determination in step S 808 is NO, the process returns to step S 805 to process other intersection points. If the determination result in step S 808 is YE S, this process ends.
  • step S 807 substitute the Z value of the coordinates of (p [CNT-1]. X, p [CNT-1]. Y-1) into the variable oz 1 (step S 80) 9) Substitute the z-value of the coordinates of (p [CNT]. X, p [CNT]. Y— 1) into the variable oz 2 (step S 8 10). Next, substitute the value of (oz 2-ozl) for the variable s ub l (step S 8 1 1), and the increment of the Z value after correction for the variable sub 2 (ne w_z [CNT]-ne w_ z Substitute the value of [CNT— 1]) (step S 8 1 2).
  • step S 8 1 3 it is determined whether the signs of sub 1 and sub 2 are the same (step S 8 1 3). If the signs are the same (step S 8 13, Y E S), adjus t — o u t 1 ine [CNT] is substituted with 0 (step S 8 14). If the signs are different (step S 8 1 3, NO), adjus t_o ut 1 ine [CNT] Substitute the value of (sub 2-subl) with (step S 8 1 5). Next, the value of the counter CNT is increased by one (step S81 6), and the process returns to step S807.
  • the in-plane correction Z value calculated in step S705 is used to correct the Z value of the pixel in the subject.
  • the in-subject Z value correction processing (FIG. 7, step S 1 09) will be described in detail with reference to FIG. Note that * adjust-z_imag e is a volume indicating an area for storing the modified Z value.
  • step S 901 0 is substituted into counter C LN (step S 90 1), and then it is determined whether the value of C LN is smaller than HT (step S 902). If this judgment result is NO, this processing ends. If the judgment result is "YES”, 0 is substituted in the counter CWD (step S903), and it is judged whether CWD is smaller than WD (step S904). If the determination result in step S 904 is YES, adjus t_z_i ma ge corresponding to the target pixel at that time is obtained (step 'S 905), z i i ma ge, z i ima ge and adjust Update with a value obtained by adding one z-i ma ge (step S 906). This is the end of the processing for one pixel.
  • step S 90 7 the value of CLN is incremented by one (step S 90 7), and the process returns to step S 904 to perform the same processing for the next pixel. If the result of the determination in step S 904 is NO, the value of CWD is incremented by one (step S 908), and the process returns to step S 902 to process the pixels in the next row. Repeat the above process to correct the Z value for all pixels.
  • the parallax value (pixel movement amount) is determined based on the Z value calculated by the above processing and the parameter designated by the user, and the pixel is moved left and right according to this movement amount.
  • FIG. 32 shows an outline of the image movement process (FIG. 7, step S 1 1 0).
  • * imag e 3 d is a sound indicating an area for storing stereoscopic image data.
  • the counter C LN is set to 0 (step S 1 00 1), and it is determined whether C LN is smaller than HT (step S 1 002). This judgment result is NO If this is the case, end this process. If the judgment result is "yes”, the counter CWD is initialized to 0 (step S1003).
  • step S1 004 it is determined whether CWD is smaller than WD. If the judgment result is YE S, the range of the Z value corresponding to o u t i n f o at this time is corrected (step S 1 0 0 5).
  • Z Z the Z value obtained by this will be referred to as Z Z. This Z Z calculation process will be specifically described with reference to FIG.
  • the possible range of the Z value is corrected using the rounding coefficient MK (steps S10 2 0 and S 1 0 2 1). This process is similar to the process described in step S700 shown in FIG. In the following, the Z value obtained by carrying out steps S 10 20 and S 10 2 1 will be denoted as Z Z.
  • step S 1 0 2 it is determined whether the value of Z Z is larger than the upper limit.
  • This upper limit value is input by the user in the input window I B 3 of the setting dialog panel described above. If the Z value exceeds the upper limit value (step S 1 0 2 2, YES), the Z value is replaced with the upper limit value (step S 1 0 2 3). Similarly, it is determined whether the value of Z Z is smaller than the lower limit value (step S 1 024).
  • the lower limit value is a value input by the user to the input window I B 4 of the setting dialog panel described above. If the Z value is below the lower limit (Step S 1
  • the processing of the upper limit reference value and the lower limit reference value corrects the Z value exceeding a specific value so as to be within a certain range.
  • This process takes advantage of the fact that the number of pixels with high Z values and low numbers of Z values is very small compared to the total number of pixels in the image data.
  • the quality of the generated stereoscopic image can be effectively enhanced by correcting the possible range of the Z value within the range in which the pixel crossing phenomenon does not occur.
  • the parallax value SS is then calculated using the Z-Z value obtained. This process will be specifically described with reference to FIG. First, it is determined whether or not it is determined to invert the Z value in the reverse determination process of step S 105 (step S 105).
  • step S 1 0 3 If it is determined to be reversed (step S 1 0 30, Y E S), substitute the value of (2 5 6 ⁇ ZZ) into Z (step S 1 0 3 1). Next, the depth of affine depth is added to ZZ, and the determination result is substituted for the parallax value SS (step S 1 032), and this processing ends.
  • This interface depth is a value input to the input window IB1 of the setting dialog panel described above.
  • step S 1 030, NO If it is determined that no inversion is made (step S 1 030, NO), the process proceeds to step S 1 032 as it is.
  • step S 1007 it is then determined whether the value of the counter CLN is even or odd (step S 1007). If it is an even number (step S 1007, YES), substitute the value of (CN + SS) for the pixel movement value MV (step S 1008), and if it is an odd number, set it to MV (CN-SS) Substitute the value of (step S 1 009). In this way, the pixels are moved in opposite directions for the right eye and the left eye. Finally, the pixel data at the (s r c + MV) position of the original image data is stored in im ag e 3 d (step S 1 0 1 0). This completes the processing for one pixel.
  • step S 10 1 increase the value of image 3 d by one, increase the value of outinfo by one, increase the value of counter C WD by one (step S 1 0 1 1), and return to step S 1 00 4 to proceed to the next
  • step S 10 0 1 1 increase the value of counter C WD by one
  • step S 10 1 00 4 return to step S 1 00 4 to proceed to the next
  • step S 10 1 advance src to the beginning of the next line
  • step S 10 1 3 increase the value of CLN by 1
  • step S 10 1 3 Return to step S 1 002 and repeat the same process. This is repeated, and when the process is completed for all the lines (step S 10 02, NO), the process is completed.
  • the Z value correction is performed for each subject to be recognized as one object, the order of the depth in the subject is secured, and the generated stereoscopic image becomes more realistic.
  • a high quality stereoscopic image can be generated by performing the above-described correction on the Z value.
  • an input value input by the user on the setting display panel is used, so a stereoscopic image can be generated according to the preference of the user.
  • steps S 103 to S 109 shown in FIG. The correction process was continuously performed, but it is not necessary to execute all. It goes without saying that it is possible to combine and execute suitable correction processes as appropriate.
  • FIG. 36 shows an example of processing performed when the stereoscopic display mode is selected in this case.
  • the emphasis processing (step S 1 1 1 0) is added immediately before the image movement processing (step S 1 1 1 1).
  • the processes of steps S 1 101 to S 1 1 0 9 and S 1 1 1 1 are the same as in the first embodiment, and thus the description thereof is omitted.
  • step S 1 1 o f f s e t ⁇ z is a quantity that represents the degree to which the subject is emphasized.
  • the termination determination is performed in steps S1 120 to S1 122. That is, the value of the counter CL N is set to 0 (step S 1 120), and it is determined whether CL N is smaller than HT (step S 1 12 1). If the result of this determination is NO, this emphasis processing is ended. If the result of this determination is YES, the value of CLN is set to 0 (steps S 1 1 22).
  • step S 1 1 23 it is determined whether the counter CWD is smaller than WD. If the determination result is YES, a half line from the coordinates (CWD, CLN) to the upper edge of the image is drawn (step S 1 124), and the number of intersections of this half line and the contour line is determined (step S 1 125) .
  • step S 1 126 the odd / even of the obtained number of intersections is determined (step S 1 126). If it is an odd number (step S 1 126, YES), the coordinates (CWD, CLN) are the relevant rectangles It is determined that it is located inside (step S 1 1 27). Then, substitute (z-ima ge + CLN * WD + C WD) for pz-i ma ge (step S 1 1 28), and * for pz-i ma ge (* pz-i ma ge + offset _z) Assign the value of (process 1 1 29). If it is an odd number (step S 1 126, NO), steps S 1 1 27 to S 1 1 29 are not performed. Thus, the processing for one pixel is completed. Next, the value of CWD is increased by one, and the process returns to step S 1 123 to perform the same process on the next pixel. Repeating this process, the emphasis process is completed when the process is completed for all pixels.
  • a so-called Odd-even system in which the left eye image is displayed on the even line of the display screen of the display unit 21 and the right eye image is displayed on the odd line as the display method of stereoscopic image.
  • the present invention is not limited to this.
  • the present invention is not limited to the dd-even system in which the right eye image is displayed on the even line of the display screen of the display unit 21 and the left eye image is displayed on the odd line. Can also be applied.
  • the even lines of the left eye image data are extracted and stored in the upper image portion of the frame buffer, and the odd lines of the right eye image data are extracted and the frame buffer It can be applied to the upper and lower method of storing in the lower image part.
  • This display method is adopted by a stereoscopic projector or the like.
  • the present invention can also be applied to a method in which the even lines of right-eye image data are stored in the upper image portion of the frame buffer and the odd lines of left-eye image data are stored in the lower image portion of the frame buffer.
  • the even-numbered pixels of the left-eye image data are extracted and stored in the left-image part of the frame buffer, and the odd-numbered pixels of the right-eye image data are extracted. It can be applied to the left / right method of storing in the right image part of the frame buffer. This display method is adopted in CRTs for autostereoscopic vision and the like. Conversely, the present invention is also applicable to a method in which the even-numbered pixels of the right-eye image data are stored in the left image portion of the frame buffer and the odd-numbered pixels in the left-eye image data are stored in the right image portion of the frame buffer. Further, as shown in FIG.
  • the present invention can be applied to a two-frame method in which left-eye image data is stored in even-numbered frame buffers and is stored in odd-numbered frame buffers of right-eye image data.
  • This display method is adopted by a stereoscopic projector or the like.
  • the present invention can also be applied to a method in which the right-eye image data is stored in the even-numbered frame frame buffer and the left-eye image data in the odd-numbered frame buffer.
  • the present invention can be applied to an O d d e e V n file separation method in which left-eye image data and right-eye image data file are stored in separate files.
  • This display method is adopted by a stereoscopic projector or the like.
  • the pixel movement process (FIG. 7, step S 1 1 0) may be performed as shown in FIG.
  • the difference between the pixel shifting process according to the first embodiment described with reference to FIG. 32 and the pixel shifting process of this modification is the process shown in FIG. 42 in place of steps S 1 007 -S 101 1 of FIG. Steps S 1057 to 1060 are performed. That is, the difference is that the left-eye image data and the right-eye image data are stored in the left-eye image data area and the right-eye image data area indicated by L imag e 3 d and R imag e 3 d, respectively.
  • step S 1056 when the parallax value SS is calculated in step S 1056, the value of (CN + SS) is substituted into MV 1, and the value of (CN ⁇ SS) is substituted into MV 2 (step S 1057) ).
  • step S 1058 the pixel data at the (src + MV 1) position of the original image data is stored in L i ma ge 3 d (step S 1058), and the pixel position at the (src + MV 2) position of the original image data is stored.
  • step S 1 0 59 Store the data in R image 3 d (step S 1 0 59).
  • step S 1060 increase the value of L i ma ge 3 d by one
  • step S 1060 increase the value of outinfo by one
  • step S 1060 Return to S 1054 and repeat the same process.
  • the image data to be processed is a two-dimensional color image data, but the present invention is not limited to two-dimensional white like moving image data of a black and white movie. The same applies to black multi-gradation image data.
  • the original image data to be processed is data of one frame of moving image data, it is needless to say that it may be still image data.
  • the R value, the G value, and the B value of the original image are multiplied by coefficients of about 0.5, 9, 0.3, and 0.1, respectively, to obtain the Z value. It is not limited to this. It is possible to appropriately change the coefficient according to the preference of each user or so that the three-dimensional feeling felt by each user is most natural. Also, as the color representation of the image, representation based on luminance, saturation and hue may be used instead of R G B representation. Alternatively, it goes without saying that an ARGB expression (“A" represents an alpha color component) or the like may be used.
  • the contours of the Z value are calculated, the subject is identified based on this, and the Z value of the pixel corresponding to the subject is corrected.
  • the method of identifying the subject is not limited to this.
  • a contour may be detected from luminance, saturation, or hue information, and a region surrounded by the edge may be determined to be an object.
  • FIG. 44 shows the functional configuration of the portable terminal 1A
  • Figure 4 4 shows its external view.
  • the portable terminal 1A is, for example, a portable telephone.
  • the present embodiment will be described focusing on differences from the first embodiment.
  • the wireless communication module 27 includes an antenna AT, connects this portable terminal to the mobile communication network, and transmits / receives various data including moving image data.
  • the call unit 2 8 includes a speaker unit and microphone unit to perform voice communication.
  • the display unit 2 1 a has an image display function in non-stereoscopic mode and an image in stereoscopic mode It has a display function and has a display panel capable of autostereoscopic viewing.
  • the display control unit 2 2 a is for controlling the display contents of the display unit 2 1 a.
  • the input operation unit 30 is an input device such as a ten key or a cursor key, and the user uses this to input an instruction or the like to the portable terminal 1A.
  • the display section 21 a includes a backlight 21 1, a liquid crystal panel 212, and a parallax liquid crystal panel 213.
  • the parallax liquid crystal panel 2 1 3 is provided with slits 2 1 4 in the longitudinal direction at regular intervals.
  • the left eye image L 1 to L 5 on the liquid crystal panel, the right eye image R :! If ⁇ R 5 is displayed in stripes at the same interval as the slit interval and the observer is away from the screen by a predetermined distance, the images L 1 to L 5 for the left eye are images for the right eye R only with the left eye. 1 to 5 reach the right eye only.
  • a keypad TK for inputting a telephone number etc. is provided at the lower part of the portable terminal 1A casing, and on the upper side, the function key FK and the display mode are in non-stereoscopic mode
  • a switching switch DK is provided to switch between (2D mode) and stereoscopic mode (3D mode).
  • the display screen of the liquid crystal unit 21 a is disposed on the top, and the antenna AT is provided on the top. Also, holes 28a for the speaker unit of the telephone unit 28 and holes 28b for the microphone unit are provided at appropriate places.
  • FIG. 47 shows an example of processing when displaying a still image stored in the portable terminal 1A in the portable terminal 1A.
  • the CPU 11 selects the non-stereoscopic display mode Set to 2 D mode) (Step S 2 0 0 0).
  • the CPU 11 outputs the data of the image to the display control unit 2 2 a (step S 2 0 0 2).
  • the user of the mobile communication terminal can view a normal still image.
  • the CPU 11 cancels the display of the image (step S 2005).
  • Step S 2003, YES When the changeover switch DK is operated (Step S 2003, YES), the CPU 11 sets the display mode to the stereoscopic display mode (Step S 2006), and performs processing for creating stereoscopic image display data (Step S 2007). ). The CPU 11 outputs the created data to the display control unit 22a (step S2008). This allows the user to view a stereoscopic image.
  • the method of creating the stereoscopic image data is the same as the method used in the first embodiment, and thus the description thereof is omitted.
  • step S 2009, NO and step S 2 1 10, YES the display of the image is ended (step S 2 1 1 1).
  • step S2009, YES When the user operates the changeover switch DK again (step S2009, YES), the process returns to step S2001 to set the portable terminal 1A to the non-stereoscopic mode (2D mode).
  • FIG. 48 shows an example of processing when downloading and displaying a moving image through the mobile communication network in the portable terminal 1A.
  • the CPU 11 sets the display mode to the non-stereoscopic mode (2D mode) (step S3001).
  • moving image data composed of image data of a plurality of frames is received (step S3002).
  • the CPU 11 stores the received moving image data in the RAM 13 and outputs the image data of the first frame of the data to the display control unit 22a (step S3203).
  • the CPU 11 determines whether or not there is a subsequent frame in the received video data (step S 3004). If there is no subsequent frame (step S 3004, NO), or if there is a subsequent frame but the user instructs to end the display (step S 3007, Y S), the display ends (step S 3007). 300 5).
  • step S 3004, YES If there is a subsequent frame (step S 3004, YES), the image data of the frame is read from the RAM 13 and output to the display control unit 22 a. In this way, the image is read one frame at a time and output to the display unit until the user performs either the operation of the changeover switch DK or the end of the image display (step S 3006, NO and S 3007, NO).
  • step S 3006, NO and step S 3007, Y ES the image display is ended (step S 3005). As described above, in the initial state, the user of the mobile communication terminal apparatus can view the moving image in the non-stereoscopic mode.
  • step S3006 When the user operates the changeover switch DK (step S3006, YE S), the CPU 1 sets the display mode to the stereoscopic display mode (step S3008). Next, the image data of the next frame of the frame is read out from the RAMI 3 (step S 3009). The above-described stereoscopic display data creation processing is performed on the read out image data (step S 3010), and output to the display control unit 22 a (step S 30 11). Thereby, the user can view a moving image for stereoscopic vision.
  • step S 30 1 2, NO The subsequent frame ceased to exist (step S 30 1 2, NO), the user performed the switching operation (step S 30 1 3, YES), and the user instructed the display end (step S 30 14, YES) Continue to display the stereoscopic video one frame at a time until either of the cases applies.
  • step S 30 1 3 YES
  • the process returns to step S 300 1 and the CPU 1 1 sets the display mode to the non-stereoscopic mode (2D mode) to display the next frame. Output to controller 22 a.
  • the image (still image or moving image) displayed on the display unit 21 a is a real time image of a normal image and a stereoscopic image.
  • the image displayed on the display unit 21 a is a real time image of a normal image and a stereoscopic image.
  • moving image data is downloaded in a batch and then reproduced, but the method of receiving and reproducing moving images is not limited to this. For example, it plays back while receiving part of the depression of all the video data sequentially, so-called Streaming distribution ⁇ It does not matter if it is playback.
  • FIG. 49 shows a functional configuration diagram of a stereoscopic image forming apparatus 1B according to a third embodiment of the present invention.
  • the stereoscopic image forming apparatus 1 B differs from the stereoscopic image forming apparatus 1 in the first embodiment in that the display control unit 22 is replaced by a display control unit 2 2 b, a first data buffer 31 and a second data.
  • the point is to use the buffer 32 and the point to use the display 21 b instead of the display 21.
  • a method is adopted in which the user wears the liquid-crystal shirt glasses 34 to realize stereoscopic vision.
  • the stereoscopic display mode and the non-stereoscopic display mode are provided.
  • the display control unit 22 b stores left-eye image data in the first data buffer 31, and stores right-eye image data in the second data buffer 32.
  • the display control unit 2 2 b controls the switch 33 to alternately select the first data buffer 31 and the second image data buffer 32.
  • the display unit 21 b updates the drawing of one screen at a predetermined cycle, but the display control unit 22 b switches the switch 33 in synchronization with the drawing update.
  • the display control unit 22 b performs switching operation of the liquid crystal shirt evening glasses 34 in synchronization with the drawing update.
  • the switch 33 when the switch 33 is selecting the first image buffer 31, the left eye of the liquid crystal shirt evening glasses 34 is turned on (transmission state) and the eyes are turned off (blocked state).
  • the switch 33 is selecting the second image buffer 32, the right eye of the liquid crystal shirt evening glasses 34 is turned on (transmissive state) and the left eye is turned off (blocked state). In this way, the image for the left eye is viewed only with the left eye, and the image for the right eye is viewed only with the right eye, so that stereoscopic vision is realized.
  • the display control unit 22 b stores the image data in the first image data buffer 31, and the first image data buffer 31 is stored by the switch 33. select.
  • FIG. 50 shows an example of processing when displaying a received moving image using this stereoscopic image display device 1B.
  • the flow of this process is the same as that of the second embodiment described with reference to FIG. 48, but instead of step S 3 0 0 3, step S 3 0 0 3 b and The difference is that step S 3 0 1 1 b is provided instead of step S 3 0 1 1. That is, in the 2D mode, the CPU 11 extracts image data for one frame from the original image data stored in the RAM I 3 and stores the image data in the first data buffer 31. Select the switch for the first data buffer 31 (step S 3 0 0 3 b). By this, in the initial state, the user can view the animation in the non-stereoscopic mode. '
  • the display control unit 22 b stores the left eye image data in the first data buffer 31 among the stereoscopic images created in step S 3 0 1 0 and the right eye image The data is stored in the second data buffer 32 (step S 3 0 1 1 b). Then, the display control unit 22 b switches the switch 33 in synchronization with the drawing update of the display unit 21 b. In this way, the user can stereoscopically view the frame. This is done one frame at a time to realize stereoscopic vision of the moving image.
  • the stereoscopic image forming apparatus of the present invention can be applied to a simulator used to train operations of a car, a train, an airplane, and the like. That is, a stereoscopic 'image is displayed on the screen of the simulator. This is very useful because it gives the trainee a sense of reality.
  • An example of a driving simulator apparatus 40 incorporating the stereoscopic image forming apparatus 1B of the present invention is shown in FIG.
  • the operating unit 41 has an operating device such as a handle.
  • the operation information of the user is supplied to the simulation processing unit 42.
  • the simulation processing unit 42 performs arithmetic processing and the like based on the operation information input from the operation unit 41, and creates data to be displayed on the screen. Display data is output to frame buffer 4 3.
  • the stereoscopic image forming apparatus 1 B displays a normal image on the screen.
  • the 3D mode stereo display mode
  • the image data of one frame stored in the frame buffer 43 is extracted to create stereoscopic image data, and Display the image on the screen.
  • the stereoscopic image forming method of the present invention by LSI (Large Scale Integrated Circuit) And is possible.
  • LSI Large Scale Integrated Circuit
  • the stereoscopic image forming method of the present invention can be applied to a communication terminal device, a digital camera, an image receiver, a storage type display device, an endoscope and other medical instruments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

立体視画像形成装置1は、二次元画像データのグレースケール値に基づいて奥行き値(Z値)を算出する。そして、このZ値に対し、逆転判定処理、平滑化処理、分布補正処理、および局所補正処理等を施す。そして、求めたZ値に基づいて視差を決定し、この視差に応じた分だけ各画素を移動させる処理を行うことにより、立体視画像データを生成する。

Description

明細書 立体視用画像を作成する方法および装置
技術分野 本発明は、二次元画像データから立体視用画像データを作成する方法および装 置に関する。 背景技術 人間は、 視覚を通じて、 三次元空間内の立体物を立体的に捉える、 いわゆる立 体視をすることができる。 この立体視のプロセスにおいて、 人間の脳は、 左右そ れぞれの目で見た映像に基づいて、 立体を認識する。従って、 立体視を行うため には左目用と右目用の一組の画像が必要である。
一方、二次元画像にある加工を施すことによって、平面的な画像を立体的な画 像として鑑賞者に認識させるいわゆる 「立体視」 という技術がある。 そして、 こ の 「立体視」 の技術の中には、 一枚の画像のデータを加工して、 左目用と右目用 の 2つの画像デー夕を作成する技術がある。具体的には、まず画像の中の物体(被 写体) に対する両眼の視差を算出し、 次に、 この視差に応じて元の画像データの 画素の位置を左右にずらすことにより左目用画像および右目目画像を生成する という処理が行われる。
この視差を算出する方法としては、物体の彩度、 明度あるいは色彩のいずれか に基づいて、 実際の物体がどの位奥(または手前) に位置しているのかを表す奥 行き値 (以下では Z値という) を算出し、 この値を視差とみなすものがある。 例えば、特開 2 0 0 2— 1 2 3 8 4 2号には、元の画像の彩度および明度に基 づいて Z値を決定する方法が開示されている。具体的には、 まず画像データの彩 度に基づいて、 画素毎に Z値を算出する。 加えて、 画像データの明度に基づいて 静止画像に含まれ ¾物体の輪郭線を抽出する。そして、抽出した物体に含まれる 画素全ての Z値の平均値を算出し、 これを当該物体の Z値とする。 この Z値に基 づいて視差が決定される。 更に、 立体感を向上させるため、 物体周縁 (エッジ) の画素の彩度を変更することにより、 当該物体のエッジを 「ぼかす」処理が行わ れる。 この技術は、 景色は一般に遠い方ほど淡く (彩度が低下し)、 近い方ほど 色が鋭く(彩度が高く)なる傾向があるという経験則を利用している。すなわち、 遠景では空気中の塵などにより彩度が低下し、 物体のエッジ (輪郭線) が細く、 ぼやける。 一方、 近景では彩度が高くなる物体の数が多くなり、 物体のエッジは 太く、 くっきりと見える。
しかしながら、例えば、暗い森の中から遠くの明るい空が見えるような構図の 画像は上記の経験則に当てはまらず、従って、得られた Z値は実際の物体の奥行 きを正しく反映していない。すなわち、 正しい視差が得られず、 得られた立体視 画像は不自然なものとなる
さらに、物体の一部にハイライトもしくは影が形成されている場合、換言すれ ば、物体における彩度の変化が著しい場合も、正しい Z値を算出することができ ない。 このような場合、 得られた立体視画像は、 その物体の一部だけが局所的に 飛び出して (または引っ込んで) 見えてしまうのである。 さらにこの場合は、 物 体のエッジを正確に抽出することができないため、上述したぼかし処理を行って も立体感の向上に寄与しない。
また、ハイライト部分では算出される Z値は大きい値をとるため、結果的にそ の部分の視差が大きく見積もられる。 その結果、 立体視用画像を作成する際に、 元の画像において隣り合った画素が異なる方向に移動される場合が生じる。これ は画素クロス現象と呼ばれるものであり、これにより画像の歪みが引き起こされ、 作成される立体画像の質は鑑賞に堪えられないほど劣化する。特に、複数の物体 が重なり合う場所では上記の問題が顕著となり、画像の乱れが生じやすく、 自然 な立体感が得られる立体視用画像を生成することが一層困難となる。
このように、従来の技術では、立体視用画像を生成するために画像データから 適切な Z値を算出することができず、したがって現実感のある立体視用画像を生 成することは困難であった。 ' 発明の開示 本発明はかかる実情に鑑みてなされたものであり、二次元画像データから、 自 然な立体視が得られる立体視用画像データを作成する方法、および当該方法を用 いた立体視画像データ作成装置を提供することを目的とする。 ·
出願人は、人間が強く立体感を感ずるのにはどのような条件が必要なのかを研 究し、 この研究の結果、 本発明を想到するに至った。
本発明の立体視用画像作成方法は、 画像を構成する複数の画素の画像データ に基づいて、 各画素に対応する被写体の奥行きを表す奥行き値を算出する算出 ステップと、 前記算出ステップにおいて算出された各画素に対応する奥行き値 を、 当該画素以外の画素に対応する奥行き値を用いて修正する修正ステップと、 各画素の修正後の奥行き値に基づいて各画素の画素移動量を決定し、 前記 像 を構成する各画素を決定された移動量の分だけ左右にずらすことにより、 右目 用画像と左目用画像とを作成する作成ステップとを有することを特徴とする。 このように Z値の修正を行うことで、 自然な立体感が得られる立体視用画像 が生成される。
好ましい態様において、 前記算出ステップにおいては、 画像データの色成分 の各々に所定の係数を乗じることにより奥行き値を算出する。 また、 前記所定 の係数は、 人間の網膜に存在する赤錐体、 緑錐体、 および青錐体の数の割合に 等しいことが好ましい。
また、 前記修正ステップにおいては、 原画像の構図上で手前に位置する被写 体を表す画像を構成する画素の奥行き値よりも、 原画像の構図上で手前に位置 する被写体を表す画像を構成する画素の奥行き値の方が大きくなるように、 前 記各画素の奥行き値を補正してもよい。
また、 前記修正ステップにおいては、 当該画素を含む領域に含まれる画素の 奥行き値の平均値を算出し、 当該画素の奥行き値を当該平均値に置き換えても よい。 また、 前記画像における奥行き値の分布および全画素の奥行き値の平均 値を算出し、 該算出した平均値を用いて当該分布の偏りを補正してもよい。 また、 前記算出された奥行き値を参照して、 前記画像デ一夕によって表され る画像中の少なくとも一つ以上の被写体の画像を特定し、 該被写体に対応する 領域内の画素の奥行き値に基づいて当該画素の奥行き値を修正してもよい。 ま た、 ユーザによって指定されるパラメ一タ値を用いて、 奥行き値の量子化ステ ップ、 算出された奥行き値のとり得る値の上限値、 またはその下限値のいずれ か一つを決定してもよい。
また、 前記修正ステップにおいて、 一の領域に含まれる画素の奥行き値と他 の領域に含まれる画素の奥行き値とを比較することにより、 前記画像における 奥行き値の変化傾向を解析し、 得られた解析結果が所定のものである場合、 前 記作成ステップにおいて、 前記奥行き値と前記画素移動量との大小関係を逆転 させる。
また、 好ましい態様において、 複数の画像から構成される動画像を取得する ステップと、 前記取得した画像の各々から立体視画像を作成するステップを更 に有することにより、 前記動画像に対応する立体視画像をリアルタイムに作成 することとしてもよい。
また、 本発明に係る立体視画像作成装置は、 画像を構成する複数の画素の画 像データに基づいて、 各画素に対応する被写体の奥行きを表す奥行き値を算出 する算出手段と、 前記算出ステップにおいて算出された各画素に対応する奥行 き値を、 当該画素以外の画素に対応する奥行き値を用いて修正する修正手段と、 各画素の修正後の奥行き値に基づいて各画素の画素移動量を決定し、 前記画像 を構成する各画素を決定された移動量の分だけ左右にずらすごとにより、.右目 用画像と左目用画像とを作成する作成手段とを有することを特徴とする。 さら に、 前記修正手段において用いられる各種パラメ一夕をユーザから取得する取 得手段を更に備えてもよい。
また、 本発明は、 上述した立体視用画像作成装置としてコンピュータを機能 させるためのプログラムを提供する。 このプログラムは、 例えば、 各種記録媒 体に格納されて、 またはネットワークを介して、 該コンピュータにインスト一 ルされる。 図面の簡単な説明 図 1は、本発明の第 1実施形態にかかる立体視画像形成装置の一例を示す機能ブ 口ック図である。
図 2は、立体視画像表示アプリケーションの表示画面の一例を示す概略図である。 図 3は、 設定ダイアログパネルの一例を示す概略図である。
図 4は、本発明の第 1実施形態における立体視表示機構を説明するための概略図 である。
図 5は、本発明の第 1実施形態における立体視表示機構を説明するための概略図 である。
図 6は、 立体視メガネを示す図である。
図 7は、立体視表示モードが選択された場合に行われる画像処理を示すフローチ ヤー卜である。
図 8は、 画像データの構造を説明するための概略図である。
図 9は、 ダレ一スケール補正処理を示すフローチャートである。
図 1 0は、 グレースケール補正処理を示すフロ一チャートである (続き) 。
図 1 1は、 グレースケール補正処理を示すフローチャートである (続き) 。
図 1 2は、逆転判定処理において用いられるサンプリング領域および重み係数を 示す図である。
図 1 3は、 逆転判定処理を示すフローチャートである。
図 1 4は、 逆転判定処理を示すフローチャートである (続き) 。
図 1 5は、 平滑化処理において用いられるマトリクス領域 MMを示す図である。 図 1 6は、 平滑化処理を示すフローチャートである。
図 1 7は、 分布補正処理を説明するための模式図である。
図 1 8は、 分布補正処理を示すフローチャートである。
図 1 9は、 分布補正処理を示すフローチャートである (続き) 。
図 2 0は、 局所補正処理で適用する被写体の Z値分布を示す図である。
図 2 1は、 局所補正処理を示したフローチャートである。
図 2 2は、局所補正処理の一過程である等高線算出処理を示すフローチャートで ある。
図 2 3は、局所補正処理の一過程である等高線算出処理を説明するための図であ る。
図 2 4は、局所補正処理の一過程である等高線算出処理を示すフローチヤ一トで ある (続き) 。
図 2 5は、局所補正処理の一過程である被写体中心特定処理を示すフローチヤ一 トである。
図 2 6は、局所補正処理の一過程である被写体中心特定処理を示すフローチヤ一 トである (続き) 。
図 2 7は、局所補正処理の一過程である被写体中心特定処理を示すフローチヤ一 トである (続き) 。
図 2 8は、局所補正処理の一過程である交点算出処理を示すフローチャートであ る。
図 2 9は、局所補正処理の一過程である面内 Z値算出処理を示すフローチャート である。
図 3 0は、局所補正処理の一過程である面内修正値算出処理を示すフローチヤ一 卜である。
図 3 1は、局所補正処理の一過程である Z値補正処理を示すフローチャートであ る。
図 3 2は、 画素移動処理を示すフローチャートである。
図 3 3は、 画素移動処理を示すフローチャートである.(続き) 。
図 3 4は、 画素移動処理を示すフローチャートである (続き) 。
図 3 5は、 本発明の変形例における強調処理を説明するための図である。
図 3 6は、 本発明の変形例における画像処理を示すフローチャートである。 図 3 7は、 本発明の変形例における強調処理を示すフローチャートである。 図 3 8は、 本発明の変形例における立体視画像の表示方式を示す概略図である。 '図 3 9は、 本発明の変形例における立体視画像の表示方式を示す概略図である。 図 4 0は、 本発明の変形例における立体視画像の表示方式を示す概略図である。 図 4 1は、 本発明の変形例における立体視画像の表示方式を示す概略図である。 図 4 2は、 本発明の変形例における画素移動処理を示すフローチャートである。 図 4 3は、本発明の第 2実施形態における携帯端末 1 Aの機能構成を説明するた めのブロック図である。
図 4 4は、 携帯端末 1 Aの外観図である。
図 4 5は、 表示部 2 1 bの構成を示す概略図である。
図 4 6は、 裸眼立体視の原理を説明すための図である。
図 4 7は、携帯端末 1 Aにおいて、 静止画を表示する際に行われる処理を示すフ ローチャー卜である。
図 4 8は、携帯端末 1 Aにおいて、 動画を表示する際に行われる処理を示すフロ 一チャートである。
図 4 9は、本発明の第三実施形態に係る立体視画像形成装置 1 Bの機能構成の一 例を示すブロック図である。
図 5 0は、立体視画像形成装置 1 Bにおける動画を表示する際の処理を示すフロ 一チャートである。
図 5 1は、本発明の一応用例である運転シミュレータ 4 0の機能構成を示すプロ ック図である。 発明を実施するための最良の形態 以下、 添付図面を参照しながら、 本発明の実施の形態を詳細に説明する。 <第 1実施形態 >
ぐ A. 装置の構成 >
図 1は、 本発明の第 1実施形態にかかる立体視画像形成装置 1を示す。
同図において、 C P U (中央処理装置) 1 1は、 この立体視画像形成装置 1の 各部の動作を制御し、 立体視用画像データ作成処理などの各種処理を実行する。 R O M (リード ·オンリ ·メモリ) 1 2は、 起動時などに実行されるプログラム や参照データなどを格納する。 R AM (ランダム ' アクセス ' メモリ) 1 3は、 C P U 1 1のワークエリァなどを実現するためのものである。
キャラクタジェネレータ 1 4は、 図形文字の表示データ (フォントデータ) を 発生する。 時計回路 1 5は現在時刻を出力する。 インタフェース 1 6は、 立体視 画像形成装置 1をインターネット (図示略) へ接続するためのものである。 伝送 制御部 1 7は、 インタフェース 1 6を介し、インターネッ卜に接続された端末と' の間でデータの授受を行う。
磁気ディスク装置 1 8は、立体視画像形成装置 1で実行される各種処理やオペ レーティングシステムなどのプログラムデータを記憶するとともに、各種処理に より作成される各種データなどを記憶する記憶装置である。 C D— R 0 Mドライ ブ 1 9は、 CD—: ROM 2 0に記憶されている画像データを読み出すためのもの である。 表示部 2 1は、 例えば CRTや L CDであり、 表示制御部 2 2の制御の 下、 画像を表示する。
キーポード 2 3はフルキー配列のキーボードであり、ユーザはキーポ一ド 2 3 を用いて指示を入力する。画面指示装置 24は、 夕ッチパネル等の入力デバィス であり、 ユーザは夕ツチパネルを押圧することにより各種指示を入力する。入力 制御部 2 5は、キーポード 2 3および画面指示装置 24から入力された指示を取 り込み C PU 1 1へ出力する。
CPU 1 1、 ROM 1 2 , RAM I 3、 キャラクタジェネレータ 1 4、 時計回 路 1 5、 伝送制御部 1 7、 磁気ディスク装置 1 8、 CD— ROMドライブ 1 9、 表示制御部 2 2、 および、 入力制御部 2 5は、 内部バス 2 6に接続されている。 これらの各種要素間のデータのやりとりは、この内部バス 26を介して行われる c 立体視用画像データを作成するにあたり、 CPU 1 1によって、例えば ROM 1 2内の立体視画像表示用のアプリケーションが実行される。当該アプリケーシ ョンが実行されたときに表示部 2 1に表示される画面の一例を図 2に示す。
同図に示すように、 アプリケーション実行時に表示される画面は、 メイン画面 MDとメニュー項目が配列されるメニューバー MBとからなる。メイン画面 MD には、 ユーザが選択した動画が表示される。
また、 メニューバー MBには、 項目 M I 1〜M I 1 0が表示される。 項目 M I 1は、ユーザが処理対象となる動画データの選択等を行うための「ファイルメニ ユー」 を選択するためのものである。 項目 M l 2は、 立体視画像の表示設定を行 うためのものである。項目 M I 3は、立体視画像データを記録する際に選択操作 するためのものである。項目 M I 4は、 この立体視画像表示アプリケーションを 終了させる操作を行うためのものである。項目 M I 5は、 メイン画面 MDに表示 している動画の再生操作を行うためのものである。項目 M I 6は、 メイン画面 M Dに表示している動画の停止操作をおこなうためのものである。 項目 M l 7は、 メイン画面 MDに表示している動画の一時停止操作を行うためのものである。 項目 M I 8は、 メイン画面 MDに表示する動画の表示モードを通常モード (2 D) であるかあるいは立体視モード (3D) であるのかを表示すると同時に、 そ の表示モードの切換を指定するための操作を行うためのものである。具体的には、 ユーザが項目 M l 8をクリックするたびに通常モード (2 Dモード) と立体視モ —ド (3Dモード) が切換るトグル動作が行われる。 図 2の上側の図は 2Dモー ド時の表示画面であり.、 下側の図は 3 Dモード時の画面である。
項目 M I 9は、立体視表示モードの種類(Od d_ e v e nモード /余色モー ド) の選択を行うためのものである。 なお、 本実施形態においては 2つのモード のみが選択可能であるが、 これに限らず、他の合成方法に適合したモードを設定 することも可能である。 具体的には、 立体視画像を合成するに当たり、 左右両眼 の 2視点に対応する 2つの画像を使用する方法以外に、 4視点に対応する 4つの 画像を用いる方法や、 8視点および 9視点にそれぞれ対応する 8画像および 9画 像を用いる合成方法のモードをユーザに選択できるようにする。
項目 M I 10は、合成方法を指定するものであって、立体世界が画面から奥に 引っ込んで見える (F 1モード) のか、 飛び出して見える (F 2モード) のかを 切換える操作を行うためのものである。図 2では両画面とも F 1モ一ドとなって いるから、 ユーザには立体世界が奥に引っ込んでいるように見えることになる。 図 3は、ユーザが項目 M l 2を操作した場合に表示部 2 1に表示される設定ダ ィァログパネルの一例を示している。 同図に示すように、 この設定ダイアログパ ネルは、 上部にタイ トルバ一 BRが表示され、 そのタイトルバ一には、 この設定 ダイァログパネルを閉じるためのクローズボックス B Cが配置されている。
また、設定ダイアログパネルは、スライダバ一 I S 1、 I S 2、入力窓 I B 1、 I B 2、 I B 3、 I B 4、 入力ボックス I B 5および I B 6、 およびポタン BM 2および BM 3が配置されている。ュ一ザは、スライダバー I S Iを操作し、 「ィ ン夕フェース深度」 の値を指定することができる。入力窓 I B 1には指定されて いるィンタフェース深度の値が表示される。 あるいは、 入力窓 I B 1に直接数値 を入力することも可能である。
ここで、 「インタフェース深度」 とは、 ユーザに、 表示画面に対し立体視世界 全体がどの程度引っ込んで(または飛び出して)知覚されるかを示すパラメータ である。 この値が大きいほど、 立体視世界全体が画面からより飛び出して (また は引っ込んで) いるように知覚される。 また、 例えば、 画素を左目画像について 視差分を左に移動し右目画像について右に移動して表示された立体視画像が表 示画面から内部に引っ込んで見えるとすれば、画素移動方向を反対にすることで、 立体視画像は表示画面から飛び出して見えることになる。
ユーザは、 スライダバー I S 2を操作し、 「起伏度」 の値を指定することがで きる。 入力窓 I B 2には指定されている起伏度の値が表示される。 あるいは、 入 力窓 I B 2に直接数値を入力してもよい。 ここで 「起伏度」 とは、 立体視世界の 起伏度、換言すれば、立体視世界の最低奥行きから最高奥行きまでの深さを示す。 すなわち、 この値が大きいほど立体視世界内の起伏が強調され、逆にこの値が小 さいと、 立体視世界全体がのつベりとしたように知覚される。
' ユーザは、被写体深度の上限値および下限値をそれぞれ入力窓 I B 3および I B 4に入力することができる。 ここで 「被写体深度」 とは、 画像に含まれる被写 体毎に割り当てられる量であって、画面に対してその被写体がどの程度奥に引つ 込んでいるか (または飛び出しているか) を示すパラメータである。 操作ボタン B M 1は被写体深度の上限値および下限値をデフオルト値に設定するためのも のである。
ユーザは、入力ボックス I B 5または I B 6のいずれか一方をチェックするこ とにより開始ラインを奇数ラインとするか偶数ラインとするかを指定すること ができる。 ポタン B M 2が操作されると、 現在の設定内容が確定し、 ポタン B M 3が操作されると、現在の設定内容が破棄され以前に設定した内容が有効となる c このようにして設定されたパラメ一夕値は後述する画像処理において用いられ る。
一組の画像を用いて立体視を実現させる手法は種々あるが、本実施形態におい ては O d d— E v e n方式を採用する。すなわち、表示部 2 1の画面に偏光スト ライプフィルタを貼り付け、ュ一ザは偏光メガネを装着して表示画面を見ること により、 立体的な画像がユーザに知覚されるのである。
具体的には、 まず、 図 4に示すように、 表示部 21の表示画面を構成する各水 平走査線のうち偶数ライン S L 0 , S L 2 , · · ·に、 左目用の偏光ストライプ フィルタ FL 0, FL 2, · · ·を、それぞれに対応する幅と間隔で貼り付ける。 一方、 表示画面の奇数ライン SL 1, SL 3, · · ·には、 右目用の偏光ストラ イブフィル夕 FL 1 , FL 3, · · ·を、 それぞれに対応する幅と間隔で貼り付 ける。 そして、 図 5に示すように、 立体視用画像データのうちの左目用画像デー 夕を表示部 2 1の偶数ライン S L 0 , S L 2, · · ·に表示するとともに、 右目 用画像データを表示部 2 1の奇数ライン S L 1 , SL 3, · · ·に表示する。 ここで左目用の偏光ストライプフィルタ FL 0, FL 2 , · · 'と右目用の偏光 ストライプフィルタ FL 1, F L 3 , · · ·とは、その偏光方向が直交している。 一方、 図 6に示す偏光メガネ GSにおいては、 左目に対応してフィルタ Fleft が、 右目に対応してフィル夕 Frightが配設される。 ここで、 FleIlおよび Frighlの 偏光方向は、それぞれ左目用の偏光ス卜ライプフィルタおよび右目用の偏光スト ライプフィル夕と平行である。
ユーザは、偏光メガネ GSを装着してこの表示部 2 1の表示画面を見ると、表 示部 21の偶数ライン SL 0, S L 2 , · · ·の表示内容は偏光ストライプフィ ルタ FL O, FL 2, · · ·を通過するので、 左目に対応して配設されたフィル タ 1611を透過して左目に到達するが、右目に対応して配設されたフィルタ FMghl によって遮断されるため右目には到達しない。一方、表示部 21の奇数ライン S L 1 , S L 3 , . · ·の表示内容は偏光ストライプフィル夕 F L 1 , F L 3 , · · · を通過するので、 フィルタ FL rを透過して右目に到達するが、 フィルタ FL f によって遮断されるので左眼には到達しない。 このようにして、ユーザの左目で は左目用画像が、右目では右目用画像がそれぞれ感知されるので、ユーザは表示 画像を立体的に知覚することができるのである。
<B. 画像処理 >
図 7は、ユーザが所定の操作を行い、立体視画像表示アプリケーションが起動 され立体視表示モードが選択された場合に、立体視画像形成装置 1が行う画像処 理の流れの概略を示すものである。
まず、 CPU 1 1は、カラー動画データの 1フレーム分のデータを読み出し(ス テツプ S 10 1 ) 、 そのデータが RGBフォーマツトのものであるかどうかを調 ベる (ステップ S 1 0 2) 。 RGB以外のフォーマットであった場合、 読み込 んだ 1フレーム分のカラ一画像デ一夕を、 RGBフォーマツトのカラー画像デ一 夕へ変換する (ステップ S 103) 。 ここで、 カラー動画データのフォ一マツト は任意である。 また、 当該動画データは圧縮されていてもよい。 この場合、 ステ ップ S 10 1の前に、 当該データを復号化する処理を設ければよい。 また、 カラ 一動画データの 1画素あたりの色深度 (ビット深度) としては、 16ビット、 2 4ビット、または、 3 2ビットのいずれかのものを適用することができる。また、 このカラー動画デ一夕は、磁気ディスク装置 1 8や CD— ROM20に保存され ているものであってもよい。 あるいは、 DVD等の映像再生機器とケーブル接続 することにより画像データを入力してもよい。 または、 デジタルカメラやビデオ 等の撮像機器から入力されてもよい。 または、 受像器と接続することにより、 受 信した衛星放送や有線放送の画像データを入力することとしてもよい。'または、 ィンタ一ネット上のサーバからダウンロードしたものであってもよい。
次に、 CPU 1 1は、 読み出した 1フレーム分のカラ一画像データについて、 それぞれの画素について、 画像データ値 (R、 G、 B値) に基づきグレースケー ル値を算出し、 これを Z値に設定するグレースケール補正処理(ステップ S 1 0 4) を行う。
このようにして各画素の Z値を決定すると、逆転判定処理(ステップ S 1 05)、 平滑化 (ステップ S 1 06) 、 分布補正 (ステップ S 107) 、 局所補正 (ステ ップ S 108、 S 1 09) を行い、 Z値を補正してゆく。 最後に、 このようにし て得られた補正後の Z値に基づいて画素移動量を算出し、画素をずらすことによ り立体視画像を作成するのである (ステップ S 1 10) 。 以下、 各処理を詳細に 説明する。
なお、 以下の説明において、 式の構文ゃデ一夕型等の記述方法は、 C言語また はそれの拡張言語 (C + +言語等) の記述方法に準拠するものとする。 また、 上 述したように、 本実施形態では、 色彩深度として 1 6ビット、 24ピット、 およ び、 32ビットのいずれかの RGBフォーマツトのカラー画像データを用いるも のとする。 図 8に示すように、各画素における色深度が 1 6ビッ卜のカラー画像 デ一夕は、 Rデータが 5ビット、 Gデータが 6ビット、 および、 Bデータが 5ビ ットのデータ構成を持つ。 色深度が 24ビッ卜のデータの場合は、 Rデータ、 G デ一夕、 Bデータは、 それぞれ 8ビッ ト、 8ピット、 8ビットのデータ構成を持 つ。 また、 色彩深度が 32ビッ卜の場合は、 24ビッ卜のカラ一画像データの先 頭に 8ビッ卜のダミーデータを付加したデータ構成を持つ。
<B- 1. グレースケール補正処理 >
図 9、 図 1 0、 および図 1 1を用いて、 ダレ一スケール補正処理 (図 7、 ステ ップ S 1 04) の詳細を説明する。
このグレースケール補正処理においては、原画像データの R値、 G値、および、 B値をそのまま Z値とするのではなく、 まず、 R値、 G値、および、 B値に対し、 重み付けを行う。 具体的には、 以下の式 (1) に示すように、 それぞれの画素の 表示色のうち赤色成分 (R) 、 緑色成分 (G) および青色成分 (B) のそれぞれ に所定の重み付けを行ってグレースケール値を取得する。
Z = 0. 3 XR+ 0. 59 XG+ 0. 1 1 X B (1)
画像データの色深度が 16ピットの場合には、一つの画素のグレースケール値 のとり得る範囲は、 0〜3 1であり、 24ビットおよび 32ビットの場合は、 と もに 0〜 25 5となる。
なお、 この重み付け係数 (30%、 59 %、 1 1 %) は、 人間の網膜に存在す る赤錐体、 緑錐体、 および、 青錐体の数の割合に基づいたものである。 これ以外 の重み付け係数も採用することは可能であるが、上記係数を用いて算出したダレ 一スケール値に基づいて立体視用画像を生成すると、最も自然な立体感を出すこ とができる。
次に、 重み付け係数を用いたグレースケールの値を補正する。 このグレースケ —ルの 1階調を 1単位の深度として使用すると、原画像の構図上で手前に位置す る 1階調と奥に位置する 1階調とが、 同じ単位の深度 (同じ奥行き距離) を表現 することになり、 画素本来の奥行き値の表現に不正確が生じる。 そこで、 原画像 の構図上で手前に位置する階調の値 (グレースケール値) よりも奥に位置する階 調の値 (グレースケール値) ほど、 より大きい値の深度 (奥行き距離) を表現す る必要がある。その方法として、 重み付け係数を用いて取得したダレ一スケール の階調の値を数列 a n (n= l、 2、 3、 · · ,) とみなし、 以下の数式 (2) に示す等差数列あるいは以下の数式 (3) に示す等比数列を用いて、 原画像の構 図上で手前に位置する階調から奥に位置する階調ほど、 より大きな単位の深度 (奥行き距離) を与えて得られる値を当該画素の Z値とする。
a n= a+ (n - 1) *d (2)
a n= a * r n1 ( 3 )
ただし、 nは正の整数、 aは初項であって、 補正量を表すパラメータである公 差 dおよび公比 rは、 原画像の特徴に応じて好適な値を設定することができる。 以下、 * s r cは原画像データ s r cが格納された領域 (ァドレス) を示すポ インタ、 WDは元の画像の横方向の画素数、 HTは元画像の縦方向の画素数、 * z i n f oは算出した Z値を格納する領域を示すボインタを表すものとする。例 えば、 元の画像データのサイズが 「 1 024ドット * 768 ドット」 であった場 合、 WDは 1024、 HTは 768となる。
まず、 図 9において、 CPU1 1は、 処理対象となっている画素のデータの色 深度が 16ビッ卜であるか否かを判定する (ステップ S 20 1) 。 16ビットの 場合、 「Un s i gn e d S h o r t * s r c ρ」 を変数宣言し (ステップ S 202 )、 注目画素のデ一夕 s r cを u n s i gn e d s h o r tへ型変換 し (ステップ S 203) 、 変数 s r c pに、 データ s r cのァドレスを代入する (ステップ S 204) 。
次いで、 CPU 1 1は、カウンタ C Cの値を 0に設定する(ステップ S 20 5)。 次に、 ステップ S 206へ進み、 カウン夕 CCの値が 「WD *HT」 よりも小さ いかどうかを判定する (ステップ S 206) 。 判定結果が NOの場合は、 1画面 分の全ての画素についての処理が終了したと判断し、グレースケール補正処理を 終了する。
判定結果が YESの場合、後段のステップ S 207〜S 2 10において、 当該 画素についてグレースケール補正処理を行う。 すなわち、 CPU1 1は、 まず、 ステップ S 2 0 7において、変数 Rに、 ポインタ * s r c pによって指示される 領域に格納されている 1 6ビットのデータと 1 6進数「F 8 00」 (2進数では 「1 1 1 1 1 0 0 0 000 000 0 0」 ) との論理積をとり、 これを 1 1ビット 算術右シフトし、その結果に 30を乗じる。 こうして得られた値を i n tに型変 換し、 これを新たな R値をとする (ステップ S 2 0 7) 。 このようにして、 変数 Rには 5ビットの Rデータに 30を乗じた値が代入される。次に、 ステップ S 2 08へ進み、変数 Gに、 ポインタ * s r c pによって指示される領域に格納され ている 1 6ビットデ一夕と 1 6進数 「07 E 0」 を論理積し、 これを 5ビット算 術右シフトし、 これに 5 9を乗じる。 さらに、 こうして得られた値を i n tに型 変換し、 これを新たな G値とする (ステップ S 20 8) 。 以上により、 変数 Gに は、 6ビットの Gデータに 59を乗じた値が代入される。 次に、 変数 Bに、 ボイ ン夕 * s r c pによって指示される領域に格納されている 1 6ビットデータと 1 6進数 「0 0 1 F」 とを論理積をとり、 これに 1 1を乗じる。 さらに、 こうし て得られた値を i n tに型変換し、これを新たな B値とする(ステップ S 209)。 このようにして、 変数 Bには、 5ビットの Bデータ (5ビット) に 1 1を乗じた 値が代入される。最後に、変数 Rと変数 Gと変数 Bの値の総和を 1 00で除した 結果を、ボイン夕 * z i n f oで示される領域へ代入する(ステップ S 2 1 0)。 これで 1画素分の処理が終了したので、 変数 s r c p, z i η ί o、 カウンタ C Cの値をそれぞれ 1つ増やして (ステップ S 2 1 1) 、 再びステップ S 2 0 6 へ戻り、 次の画素について同様の処理を行う。以上の処理を 1画面分の全ての画 素について行う。
また、 ステップ S 20 1の判定結果が NOになる場合は、色深度が 24ピット であるか否かを調べる (図 1 0、 ステップ S 2 1 5) 。 次に、 図 9のステップ S 20 5ぉょび320 6と同様、 カウンタのリセット (ステップ S 2 1 6) および 終了判定 (ステップ S 2 1 7) を行う。
続いて 1 6ビットデ一夕の場合と同様、 R値, G値, B値をそれぞれ補正する。 すなわち、 図 9のステップ S 20 7〜S 2 09に替えて、 図 1 0のステップ S 2 1 8〜S 2 2 0を実行する。 すなわち、 まず、 変数 Bに、 ポインタ * s r cで示 される領域に格納されている 24ビッ トデータに 1 1を乗じ、これを変数 Bに代 入する (ステップ S 218) 。 次に、 ポインタ * ( s r c + 1 ) によって示され る領域に格納されている 24ビットデータに 59を乗じた値を変数 Gに代入す る (ステップ S 21 9) 。 次いで、 ポインタ * ( s r c + 2) によって示される 領域に格納されているデータに 30を乗じた値を変数 Rに代入する(ステップ S 220 ) 。 ステップ S 22 1および S 222を含む以降の処理は、 16ビットデ 一夕の場合と同様である。
ステップ S 2 1 5において判断結果が NOの場合、 CPU 1 1は色深度が 32 ビットであると判断する。 この場合には、 「tJn s i gn e d l o n g * s r c p」 を変数宣言し (図 1 1、 ステップ S 225) 、 処理対象の画素のデータ s r cを un s i gn e l o n gへ型変換し (ステップ S 226 ) 、 変数 s r c pに、 データ s r cのァドレスを代入する (ステップ S 227 ) 。 次いで、 16ビットデータの場合と同様、 カウンタ値のリセット (ステップ S 228 ) お よび終了判定 (ステップ S 229 ) を行う。
次に、 ステップ S 230〜S 232において、 R値、 G値、 B値を補正する。 すなわち、まずボインタ * s r c pによって示される領域に格納されている 32 ピットデ一夕と 16進数 「00 FF 000 0」 との論理積をとり、 これを 1 6ビ ット算術右シフトし、 その結果に 30を乗じる。 更にこれを i n tに型変換し、 変数 Rに代入する (ステップ S 230 ) 。 これにより、 変数 Rには、 8ビットの Rデータに 30を乗じた値が代入される。 次に、 データ (32ピットデータ) と 1 6進数 「0000 FF 00」 を論理積し、 これを 8ピット算術右シフ卜し、 そ の結果に 59を乗じる。更にこれを i n tに型変換して変数 Gに代入する (ステ ップ S 23 1) 。 これにより、 変数 Gには 8ビットの Gデータに 59を乗じた値 が代入される。次に、 ポインタ * s r c によって指示される領域に格納されて いるデ一夕 (32ビットデ一夕) と 1 6進数 「000000 FF」 との論理積を とり、 これに 1 1を乗じる。 さらに、 この値を i n tに型変換して変数 Bに代入 する (ステップ S 232) 。 これにより、 変数 Bには、 8ビットの Bデータに 1 1を乗じた値が代入される。以降の処理は 1 6ビットおよび 24ビッ卜の場合と 同様である。
ぐ B— 2. 逆転判定処理 > 次に、 図 1 2〜1 4を参照して逆転判定処理 (図 7、 ステップ S 1 0 5 ) につ いて説明する。
本処理においては、立体視画像をより自然な立体感が得られる画像とするため に、 ステップ S 1 0 4にて得られた Z値を修正する。
上述したように、立体視用画像を作成する際には、 Z値に応じて画素移動量を 決定すればよいというのが原則である。 例えば、 ステップ S 1 0 4で得られた Z 値に正比例するように画素移動量を決定すればよい。 このようにすると、 Z値が 大きい被写体 (すなわち明るい被写体) ほど利用者からみて手前に位置し、 Z値 が小さい被写体(すなわち暗い被写体) ほど利用者からみて奥に位置することと なる。 よって、 実際の原画像において、 暗い被写体が奥に位置し、 明るい被写体 が手前に位置する場合には、 現実感のある自然な立体視が実現される。
しかしながら、 原画像のなかには、 明るい背景 (例えば青空) の中央に暗い被 写体が存在するといった具合に、 Z値が大きい被写体ほど利用者からみて奥に位 置し、 Z値が小さい被写体ほど利用者からみて手前に位置する場合もある。 この ような画像について Z値に比例するように画素移動量を決定するものとすれば、 利用者が知覚する立体視画像は被写体の遠近が逆転した不自然なものとなる。 そこで、 本処理においては、 原画像における Z値の変化の傾向を解析し、 これ に基づいて、画素移動量の大小と Z値の大小との関係を逆転させるべきか否かを 判定するのである。
具体的には、 図 1 2に示すように、 原画像データによって表される 1画面を、 左上隅、 中央上端、 右上隅、 中央左端、 中央、 中央右端、 左下隅、 中央下端、 右 下隅にある縦 8 ドット X横 8 ドッ 卜のサイズの各領域(以下、 「サンプリング領 域」 という) S S 1〜S S 9に分割する。 なお、 このサンプリング領域の大きさ は縦 8 ドッ ト X横 8 ドットに限らず、またサンプリング領域の数も任意に設定す ることができる。
これらサンプリング領域の各々には、 重み係数が割り当てられている。具体的 には、 領域 S S I , S S 2 , S S 3 , S S 4 , S S 5 , S S 6 , S S 7 , S S 8 , S S 9には、 それぞれ「3」 、 「4」 、 「3」 、 「 2」 、 「5」 、 「 2」 、 「1」 、 「2」、 「 1」の重み係数が割り当てられる。割り当て方法はこれに限らないが、 画像中の被写体の遠近に関する一般的な傾向に基づいて決定される。ここで一般 的な傾向とは、 画像のうち上部の方が下部よりも遠景 (例えば空) である場合が 多く、 また、 人物や花などを撮影した画像の場合は、 画像の中央部に被写体が配 置される場合が多い、 というものである。 すなわち、 中央のサンプリング領域の 重み係数が最も大きく、 かつ、上方のサンプリング領域は下方のサンプリング領 域よりも大きな重み係数が割り当てられればよい。
以下、 図 1 3および 14を参照し、 逆転判定処理の流れを具体的に説明する。 まず、 CPU 1 1は、画像データにおける全画素の Z値の平均値 MZを算出す る (ステップ S 301) 。 次に、 変数 S 1、 S 2、 および、 カウンタ CTの値を 0に初期設定する (ステップ S 302) 。 ここで、 変数 S 1 (S 2) は、 画面の 明るさの平均値よりも暗い (明るい) 領域の重み係数を表すパラメ一夕であり、 カウンタ CTの値は処理が行われたサンプリング領域の数を表す。
次いで、 カウンタ CTの値が 9より小さいかどうかを判定し、 (ステップ S 3 0 3) 、すべてのサンプリング領域 S Sに関して処理が終了したか否かを判定す る。判定結果が YESである場合は、 当該サンプリング領域の平均 Z値が平均値 MZ以上であるかどうかを判定する (ステップ S 304) 。
ステップ S 304の判定結果が YE Sになるときには、 変数 S 1に、 CT番目 のサンプリング領域の重み係数を加算する (ステップ S 305) 。 また、 ステツ プ S 304の判定結果が NOになるときには、変数 S 2に、 CT番目の領域の重 み係数を加算する (ステップ S 306 ) 。 次に、 カウン夕 CTの値を 1つ増やし (ステップ S 307 ) 、 ステップ S 30 3に戻り、 次のサンプリング領域に関し て処理を行う。
このようにして 9つサンプリング領域の全てに関して処理が終了すると(ステ ップ S 303, NO) 、 図 14のステップ S 308へ進み、 変数 S 1の値が変数 S 2の値よりも大きいかどうかを調べる。 S 1〉S 2である場合は(ステップ S 308, YE S) 、 Z値を反転すると決定する (ステップ S 309) 。
S 1 >S 2でない場合 (ステップ S 308、 NO) 、 さらに S 1 <S 2である かを判定する(ステップ S 3 10)。 S 1 <S 2である場合(ステップ S 3 10、 YES) Z値を反転しないと判定する (ステップ S 3 1 1) 。 S 1>S 2かつ S 1<— S 2、すなわち S 1 = S 2の場合は(ステップ S 3 1 0、 NO) 、 中央部のサンプリング領域 S S 5の平均 Z値が、 平均値 MZ以上である かどうかを判定する (ステップ S 3 1 2) 。 ステップ S 3 1 2の判定結果が YE Sのときには Z値を反転しないと決定し (ステップ S 3 1 3) 、 NOにときは Z 値を反転すると決定する (ステップ S 3 14) 。
また、 以下の判定処理を更に行ってもよい。 すなわち、 9つのサンプリング領 域 S S 1〜S S 9のうち、サンプリング領域内の Z値の平均値が原画像全体の Z 値の平均値よりも大きいサンプリング領域を特定し、特定した 1以上のサンプリ ング領域の重み値を合計する。そして、求めた合計値が予め定められたしきい値 以上である場合、原画像の構図上で手前の位置に描写されている部分がより暗く、 奥の位置に描写されている部分がより明るい傾向にあると判断し、画素移動量の 大小と Z値の大小との関係を反転させると判定する。 これに対し、求められた合 計値が予め定められたしきい値未満である場合、すなわち原画像の構図上で手前 の位置に描写されている部分がより明るく、奥の位置に描写されている部分がよ り喑ぃ傾向にあると判断し、画素移動量の大小と Z値の大小との関係を反転させ ないと判定する。
次いで、 CPU 1 1は、 立体視画像表示アプリケーションにおける項目 M I 1 0の設定が、 F 2モード (飛び出して見える) になっているかどうかを判定する (ステップ S 3 1 5) 。 F 2モードになっている場合は、 ステップ S 309 , 3 1 1, 3 1 3, 3 14で得られた判定結果を更に反転する(ステップ S 3 1 6)。
F 2モードの場合は、奥行きと Z値の関係とのを逆転させる必要があるからであ る。 以上で、 逆転判定処理が終了する。 なお、 本処理で得られた逆転の有無の判 定結果は、 後述する処理 (図 7、 ステップ S 1 10) に反映される。
<B— 3. 平滑化処理 >
逆転判定処理に続いて、 CPU1 1は、 図 7のステップ S 104にて算出した Z値を平滑化するための処理を行なう (ステップ S 1 06)。 本処理を行う理由 は以下である。
上述したように、 立体視画像は、 各画素を元の位置から視差に相当する量だけ 左右に移動することによって生成される。そして、その移動量は Z値から求めら れる。 したがって、 Z値の変化が激しい部分では視差の変化が激しく、 画素のク ロス現象(隣接する画素が、それぞれ左右逆の方向へ移動すること)が発生する。 このような現象は物体に光が当たってハイライ卜になっている輪郭の部分など に多く発生する。その結果、生成された立体視画像には、輪郭のぼやけ、にじみ、 干渉縞模様といった乱れが生じる。本処理では、 このような現象が出現しないよ うに Z値を補正するのである。
具体的には、 図 1 5に示すように、 CPU 1 1は、 原画像に含まれる各画素 P Xごとに、 その画素 P Xを含む特定の領域 (以下 「マトリクス領域」 という) M Mにおける Z値の平均値を算出し、この求めた平均値を当該画素 P Xの Z値とし て更新する。 すなわち、 各画素 P xの Z値が、 当該画素 P xを左上隅に含む縦 1 2 ドット (My) で横 1 2 ドット (Mx) のマトリクス領域 MMにおける計 14 4画素の Z値の平均値に置き換えられる。 この処理を行うことにより、 原画像に おける近接画素の Z値の変化は、ステップ S 1 04にて算出された Z値よりも滑 らかなものとなる。
なお、 マトリクス領域 MMの大きさは任意に設定可能である。マトリクス領域 MMが大きくすれば、平均値を算出する対象となる画素数が多くなるから、 各画 素同士の Z値の差は小さくなり、従って利用者によって知覚される立体感は小さ くなる。 逆に、 マトリクス領域が小さくすれば、 各画素同士の Z値の差は大きく なり、 利用者によって知覚される立体感は大きくなる。
以下、 図 1 6を参照して本処理の流れを具体的に説明する。 なお、 「* o u t i η ί o」 は平滑化された Z値を格納する領域へのポインタを表すものとする。 まず、 注目画素の縦方向の位置を表すカウン夕 CLNを 0にセッ卜する (ステ ップ S 40 1) 。 次に、 カウン夕 CLNの値が縦画素数 HTより小さいかどうか を判定する (ステップ S 40 2) 。 この判定結果が NOのときは、 1画面分の処 理が終了したと判定し、 この処理を終了する。
ステップ S 40 3において、着目画素 P Xが画面の下端から 1 2画素よりも上 にあるか、 すなわち (HT— CLN) の値が 1 2以上であるかを判定する。 この 判定結果が YE Sになるときには、マトリクス領域 MMの縦方向のサイズを表す 変数 MThに 1 2を代入する (ステップ S 404) 。 そうでない場合、 変数 MT hに (HT— CLN) の値を代入する (ステップ S 40 5) 。 このようにして、 着目画素が画面の下端付近にある場合のマトリックス領域のサイズを調整する。 次に、 注目画素の横方向の位置を表すカウンタ CWDの値を 0にセッ卜する (ステップ S 406) 。 次に、 カウンタ CWDの値が横幅画素数 WDより小さい かどうかを判定する (ステップ S 407) 。 この判定結果が YE Sの場合、 着目 画素 P Xが画面の右端から 12画素分よりも左にある力、すなわち (WD— CW M) の値が 1 2以上であるかどうかを判定する (ステップ S 408) 。
この判定結果が YE Sの場合には、マトリクス領域 MMの縦のサイズを表す変 数 MTwに 12を代入する (ステップ S 409) 。 判断結果が NOの場合は、 変 数 MTwに (WD— CWD) の値を代入する (ステップ S 410) 。 このように して、着目画素が画面の右端付近にある場合のマトリックス領域のサイズを調整 する。
次に、 そのときのカウンタ CLN, CWDの値で示される着目画素について、 サイズが MT h XMTwで表されるマトリクス領域 MM内の全画素の Z値(z i n f o) の合計値 SM 1を算出する (ステップ S 41 1) 。 そして、 マトリクス 領域 MMの Z値の平均値である S Ml/ (MT h * MTw) を o u t i n f oに 代入する (ステップ S 41 2) 。
これで 1画素分の処理が完了したので、次にカウンタ CWDの値を 1つ増やし (ステップ S 41 3) 、 ステップ S 407へ戻り、 着目画素を変えて同様の処理 を行う。 また、 ステップ S 407の判定結果が NOになるときには、 1行分の画 素についての処理が終了したので、 カウンタ CLNの値を 1つ増やして(ステツ プ S 414) 、 ステップ S 402へ戻り、 同様の処理を繰り返す。 以上のように して、 全画素について本処理を行う。
<B— 4. 分布補正処理 >
次に、 分布補正処理 (図 7、 ステップ S 1 07) について説明する。
上記平滑化処理を経て算出された各画素の Z値は、画像全体の Z値の平均に依 存するので、 その分布が偏っている場合がある。 この例を示したのが図 1 7の上 図である。 この Z値をそのまま用いて立体視画像を作成すると、 自然な立体感が 得られないものとなってしまう。そこで、 Z値分布を図 17の下図のように補正' するのが本処理である。
以下、 図 18および図 1 9を参照し、 具体的に説明する。 ここで、 「* z— i ma g e」 は Z値を格納した領域を示すボイン夕、 a v e— zは全画素の平均の Z値、 「ma x— z」 および 「m i n— z」 はそれぞれ Z値の最大値、 最小値を 表し、 「* a d j u s t— z__ i ma g e」 は補正後の Z値を格納する領域を示 すボインタである。
まず、 ma x_z , m i n— z , a v e_zをそれぞれ算出する (ステップ S 50 1) 。 次いで、 分布の拡がり度を表す変数 ma x—s p a nおよび変数 m i n_ s p a nに、 それぞれ (max— z— a v e一 z) の値および (m i n— z - a v e_z ) の値を代入する (ステップ S 502) 。
次に、 色深度が 1 6ビッ卜であるかどうかを判定する (ステップ S 503 ) 。 16ビット場合は、 階調度を表す変数 「ma x」 に 3 1を代入し (ステップ S 5 04) する。 色深度が 24ビットまたは 32ビッ卜の場合 (ステップ S 503、 NO) 、 変数 ma Xに 255を代入する (ステップ S 505) 。
次いで、 カウンタ CLNを 0にセットし、着目画素における Z値の修正分を表 すポィン夕変数 * p z— ima g eに z— ima g eが格納されるァドレスを 格納する (ステップ S 506 ) 。 続いて、 カウン夕値 CLNが縦幅画素数 HTよ りも小さいかどうかを調べる(ステップ S 507)。この判定結果が NOの場合、 全ての画素について処理が終了したと判定し、 分布補正処理を終了する。
この判定結果が YE Sの場合、 カウンタ CWDを 0にセットし (ステップ S 5 08)、 カウンタ CWDの値が横幅画素数 WDよりも小さいかどうかを判定する (ステップ S 509 ) 。 この判定結果が NOのときは、 1行分の画素の処理が終 了したと判定し、カウン夕 CLNの値を 1つ増やし(ステップ S 5 10)たのち、 ステップ S 507へ戻り、 次行の画素の処理を行う。
また、 ステップ S 509の判定結果が YE Sになるときには、 p z— ima g eの値が a v e— zよりも大きいかどうかを判定する (ステップ S 5 1 1) 。 p z— i ma g e〉a v e— z、すなわち Z値が平均値よりも大きい場合は、 Z値 の修正分を表す変数 zに、 (z— a v e— z) /m a x— s p a n * (ma x— a v e z ) の値を代入する (ステップ S 5 1 2) 。 ステップ S 51 1の判定結果が NOの場合は、 さらに、 *p z— ima g eぐ a v e_zであるか否かを判定する (ステップ S 51 3) 。 ステップ S 51 3の 判定結果が YE Sになるときには、 変数 zに、 (z— a V e— z) / (m i n— z - a v e_z ) *m i n— s p anの値を代入する (ステップ S 5 14) 。 ス テツプ S 5 13の判定結果が NOになるとき、すなわち、 * p z— ima g eの 値が画素平均値 a V e_zに等しいときには、変数 zに 0を代入する (ステップ S 51 5) 。
このようにして、 変数 zを算出すると、 * a d j u s t— z— ima g eに、 * p z— ima g e + zの値を代入する (ステップ S 51 6) 。 以上により、 当 該画素について補正後の Z値が格納される。
次に、 ; z— i m a g eの値、 a d j u s t— z— ima g eの値、 C L Nの 値をそれぞれ 1つ増やしたのち(ステップ S 51 7)、ステップ S 509へ戻り、 注目画素を替えて同様の処理を行う。 これを繰り返し、 全画素について同様の処 理を行う。
<B- 5. 局所補正処理 >
次に、 局所補正処理 (図 7、 ステップ S 108) について説明する。
以上の処理を行って Z値を補正しても、 まだ十分ではない場合がある。具体的 には、一つの被写体における Z値分布に歪みが生じる場合がある。例えば、本来、 球形の物体内では Z値は中心から放射状に緩やかに変化するべきところ、何らか の原因で、 ある部分の画素だけその Z値が極端に大きい (小さい) という場合が 生じ得る。 あるいは、 その Z値の分布にムラがある場合もあり得る。
このような Z値を用いて立体視用画像を作成すると、当該被写体の奥行きの順 序性が歪み、一物体として認識されるべき被写体の画像が不自然なものとなって しまう。 そこで、 この局所補正処理においては、 一以上の被写体を抽出して、 被 写体毎に画素の Z値を補正するのである。
この処理の概要を、 図 20および図 2 1を参照して説明する。 まず、 ステップ S 10 7までの処理で得られた Z値の範囲 (段階数) を修正する (図 2 1、 ステ ップ S 700) 。 次に、 修正後の Z値が等しい画素により表される Z値の等高線 (HL 0〜HL 5) を求める (ステップ S 70 1 ) 。 次に、 得られた等高線に基 づいて被写体 (図 20 : ΟΒ 1、 OB 2) を特定する (ステップ S 702 ) 。 さ らに、該被写体の Z値に関する中心点 P P cの y座標を求め、 P P cから引いた 垂線 VLと各等高線との交点の y座標を算出する(ステップ S 703 )。そして、 これら算出した座標を用いて被写体にかかる画素の Z値を求める(ステップ S 7 04、 S 705) 。 最後に、 隣り合う 2つの等高線で囲まれた領域 (これを等高 面という) 毎に、 該領域内の画素の Z値を補正する (ステップ S 706 ) 。 ただ し、等高線が一本しかない場合は、該等高線の内側の領域が等高面となる。以下、 各処理について詳説する。
(a) 階調数修正
上述したように、立体視画像における画素移動量の最小の単位はひとつの画素 である。すなわち、 ひとつの画素よりも小さい量を画素移動量として設定するこ とはできない。 従って、 z値が 「1」 だけ増加するごとに画素移動量をその最小 単位である画素ひとつ分だけ増加させるとしても、 Z値が最大値たる 「 2 55」 である場合には画素移動量が画素 256個分に相当する大きさとなる。しかしな がら、画素移動量があまりに大きくなると(例えば画面上で 8 mm以上になると) 立体視画像を視認する利用者に目の疲労が生じやすくなり、さらには利用者が立 体として知覚しにくくなるといった問題が生じ得る。 このため、 CPU 1 1は、 ステップ S 107までの処理で得られた各画素の Z値をいくつかの段階の離散 値に近似するための処理を行う。
具体的には、 CPU 1 1は、 画素ごとに、 ステップ S 107により得られた Z 値を丸め係数 MKで除し、この除算結果を整数化(小数点の切り捨て、切り上げ、 または四捨五入) した数値に対して同じ丸め係数 MKを乗算する。 この結果、 各 画素の Z値は丸め係数 MKの整数倍に相当する数値に近似される。
すなわち、 丸め係数 MKは、 Z値が近似されるべき各離散値の間隔の大きさを 表す数値であるということができる。本実施形態においては、 この丸め係数 MK として、 Z値の取り得る値の最大値 (25 5 ) を、 ユーザにより指定される被写 体深度 Obで除した値を整数化した数値が用いられる。 この被写体深度 Obは、 近似により得られた Z値がとり得る値の段階数を表す。例えば、 MK= 1 0とす れば、 とり得る Z値の範囲は 0、 1、 2、 3、 · · · 25の 26段階となる。 (b) 等高線算出
次に、図 22〜 24を参照して、等高線算出処理について詳説する。ここで、 * o u t 1 i n eは輪郭抽出基礎デ一夕の格納領域を示すボインタ、 * c o r d は Z値べクトル格納用領域を示すボイン夕である。 また、 c o r dは、 V i n f oという構造体のデータであり、 V i n f oという構造体は、 Z値、 n p 0 i n t (整数値) 、 および、 * p o i n t (座標データ) というデータ要素を持つ。 まず、 CPU 1 1は、 定数 ma xに、 2 55を丸め係数 MKで除算した結果を 代入し、 処理が終わった画素の数を表す変数 T a r g e t_zに 0を代入する (ステップ S 7 10) 。
次に、変数 T a r g e t— zの値が所定の定数 m a xよりも大きくなつたかど うかを判定する (ステップ S 7 1 1) 。 判定結果が NOになるときには、 この処 理を終了する。判定結果が YESになるときには、 カウンタ CLNを 0にセット し (ステップ S 7 1 2) 、 カウンタ CLNの値が HTよりも小さいかどうかを判 定する (ステップ S 7 1 3) 。 この判定結果が NOの場合は、 T a r g e t— z の値を 1つ増やして (ステップ S 714) 、 ステップ S 71 1へ戻る。 ステップ S 7 1 3の判定結果が YESになる場合は、 カウンタ CWDに 0を代入し、 変数 P 1に一 1を代入し、 変数 P 2に一 1を代入し、 変数 f n dに 0を代入する (ス テツプ S 7 1 5 ) 。
次に、 カウンタ CWDの値が WDより小さいかどうかを調べ(ステップ S 7 1 6 ) 、 ステップ S 7 1 6の判定結果が Y E Sになるときには、 * o u t 1 i n e の値が T a r g e t— zの値に等しいかどうかを判定する(ステップ S 7 17)。 ステップ S 7 1 7の判定結果が YE Sになるときには、変数 P 1の値が 0以上で あるかどうかを調べ (ステップ S 7 18) 、 この判定結果が NOの場合は、 変数 P 1にカウンタ CWDの値を代入し (ステップ S 7 1 9) 、 カウン夕 CWDの値' を 1つ増やして (ステップ S.720) 、 ステップ S 7 16へ戻る。 また、 ステツ プ S 7 18の判定結果が YE Sになるときには、 ステップ S 720へ移行し、そ れ以降の処理を実行する。
また、 ステップ S 7 17の判定結果が NOの場合は、 変数 P 1の値が 0以上で あるかどうかを判定する(ステップ S 7 2 1)。この判定結果が YESの場合は、 変数 P 2にカウンタ CWDの値を代入し、 変数 n dの値を 1つ増やし (ステツ プ S 722 ) 、 ステップ S 720へ移行し、 それ以降の処理を同様に実行する。 また、ステツプ S 72 1の判定結果が NOの場合は、ステップ S 720へ移行し、 それ以降の処理を同様に実行する。
また、 ステップ S 7 16の判定結果が NOの場合は、 変数 f n dの値が 0より も大きいかどうかを判定し (ステップ S 7 23)する。 この判定結果が NOの場 合は、 カウンタ CLNの値を 1つ増やして (ステップ S 724) 、 ステップ S 7 1 3へ戻る。
また、ステップ S 723の判定結果が YE Sの場合は、当該画素位置について、 Z値が変化している近傍の画素を探索する。具体的には、 図 23の左側に示した 順序に従って探索していく。 すなわち、 まず、 注目画素 P 1と右上位置にある画 素の Z値を比較する (ステップ S 730 ) 。 2つの Z値が等しい場合は (ステツ プ S 730、 NO) 、 画素 P 1の真上にある画素の Z値と注目画素の Z値を比較 する (ステップ S 7 '3 1) 。 以下同様にして、 注目画素の周囲 6つの画素につい て比較判定を行う (ステップ S 732〜S 735 )。 この探索順序の模式図を図 23の右側に示す。
注目画素 P 1の Z値と異なる Z値を持つ画素を発見した場合(ステップ S 73 0, 73 1, 73 2, 733, 734, 735、 YES) は、 見つけた画素の座 標が既に発見済であるかどうかを調べて、近傍の画素を全て調べたかを判定する (ステップ S 736 ) 。 このようにして、 1画素ずつ Z値の異なるエッジ部分を 検出してゆく。 エッジ部分を全て調べ終えた場合 (ステップ S 736、 YES) この処理を終了する。
■ また、 ステップ S 736の判定結果が NOの場合は、 c o r dの p o i n tの Xおよび yの値に、 それぞれ発見した画素の X座標の値、 y座標の値を格納する (ステツプ S 737 ) 。 次に、 c o r dの p o i n tの値および n p o i n tの 値をそれぞれ 1つ増やし (ステップ S 7 38および S 739) 、 注目画素 P 1を 当該発見した画素の位置に移動して (ステップ S 740) 、 ステップ S 730へ 戻り、 次の画素について処理を行う。 このようにしてエッジ部分を順次検出して いくと、 一本の等高線が求まる。 (C ) 被写体中心特定
次に、 図 25〜27を参照して、 被写体中心特定処理 (図 2 1、 ステップ S 7 02) を説明する。 本処理においては、 一つの被写体にかかる等高線のなかで最 内にあるものに外接する矩形の頂点の座標を求め、当該矩形の中心を当該被写体 の Z値の中心とする。 なお、 c e n t— c o r dは最内の矩形を格納するべクト ル領域を示すポィン夕、 c e n t e rは求める中心点の座標データ、 * s i d e 一 c o r dは求める矩形(ただし最内ではない) を格納するべクトル領域を示す ポィン夕である。
まず、 CPU 1 1は、処理対象となる等高線を 1つ選択し(ステップ S 750 )。 次に、この等高線上の画素の X座標および y座標の最小値および最大値を表す変 数 g― m i n― x、 g― ma x一 x、 g一 m i n― y、 およひ g一 max― yの 値を初期設定する (ステップ S 7 5 1) 。 なお、 図 25においては、 便宜上、 g — m i n— xの初期値は 99999 9としているが、 WDよりも大きければどの ような値でもよい。— m i n_yについても同様である。 また、 c o r d pに c o r dの値を代入する (ステップ S 752 ) 。
次に、 c o r d pの np o i n tの値が 0よりも大きいかどうかを判定する (ステップ S 7 53 ) 。 この判定結果が NOの場合は、 全ての等高線についての 処理が終了したかどうかを判定する (ステップ S 754) 。 この判定結果が N〇 の場合、 ステップ S 750へ戻り、 次の等高線についての処理を行う。 また、 ス テツプ S 7 54の判定結果が YE Sの場合、 処理を終了する。
ステップ S 7 53の判定結果が YE Sになるときには、変数の初期設定を行う c 具体的には、 カウンタ C NTの値を 0にセットし (ステップ S 755 ) 、 m i n — xに 999999を代入し、 ma x— xに 0を代入し、 m i n— yに 9999 99を代入し、 ma x— yに 0を代入し (ステップ S 7 56 ) 、 変数 PNTに c o r ρ dの: p o i n tの値を代入する。
次いで、 カウンタ C NTの値が c o r d pの n p o i n tよりも小さいか、す なわち、一本の等高線にかかる画素の全てに関し処理が完了したか否かを判定す る (ステップ S 7 57) 。 完了していない場合 (ステップ S 757、 YES) 、 変数 PNTの Xの値が m i n— xよりも小さいかどうかを判定する(ステップ S 758 ) 。 この判定結果が YE Sの場合、 水平最小位置を p 1に代入する。 すな わち、 p i. Xの値に PNTの Xの値を代入し、 p i. yの値に PNTの yの値 を代入し、 m i n— xの値に p 1. xの値を代入する (ステップ S 759 ) 。 こ の判定結果が NOの場合は、 ステップ S 7 59は実行しない。
次いで、 PNTの Xの値が ma x— xよりも大きいかどうかを判定する (ステ ップ S 760)。この判定結果が YESの場合、水平最大位置を p 2に代入する。 すなわち、 p 2. Xの値に PNTの Xの値を代入し、 p 2. yの値に PNTの y の値を代入し、 ma x— xの値に p 2. xの値を代入する(ステップ S 76 1)。 この判定結果が NOの場合、 ステップ S 7 6 1は実行しない。
次に、変数 PNTの yの値が、 m i n__yよりも小さいかどうかを判定する(ス テツプ S 76 2 ) 。 この判定結果が YE Sの場合は、 垂直最小位置を p 3に代入 する。 すなわち、 p 3. Xの値に P NTの Xの値を代入し、 p 3. yの値に PN Tの yの値を代入し、 m i n— yの値に p 3. yの値を代入する (ステップ S 7 63) 。 この判定結果が NOの場合は、 ステップ S 763は実行しない。
次いで、 変数 P NTの yの値が ma x_yよりも大きいかどうかを判定する (ステップ S 764) 。 この判定結果が YESの場合は、 垂直最大位置を p 4に 代入する。 すなわち、 ρ 4. Xの値に PNTの Xの値を代入し、 p 4. yの値に P NTの yの値を代入し、 ma X— yの値に p 4. yの値を代入する (ステップ S 76 5) 。 この判定結果が NOの場合は、 ステップ S 765は実行しない。 そ して、 カウンタ CNTの値を 1つ増やし、 PNTの値を 1つ増やして (ステップ S 766) 、 ステップ S 757へ戻る。
外接矩形の頂点が算出されると (ステップ S 757、 NO) 、 p i . xの値が g_m ί η— χの値よりも小さいかどうか、すなわち求めた矩形が最内にあるか 否かを判定する (ステップ S 767 ) 。 矩形が最内にある場合 (ステップ S 76 7、 YE S)、 c o r d pを c e n t一 c o r dに格納し(ステップ S 768)、 g_m i n— xに p 1. xの値を代入する (ステップ S 769) 。 次いで、 決定 された最内の矩形の頂点である (p i . x、 p 3. y) と点 (ρ 2. χ、 ρ 4. y) を結ぶ線分と、 点 (p 2. x、 p 3. y) と点 (p i. x、 p 4. y) を結 ぶ線分との交点を求め、 この X座標と y座標の値を、 それぞれ c e n t e r, x および c e n t e r, yに格納する (ステップ S 770) 。 なお、 矩形が最内の ものでない場合 (ステップ S 76 7、 NO) 、 ステップ S 768〜770を実行 しない。
次に、 p 2. Xが g— ma x— xよりも大きいかを判定する (ステップ S 77 1) 。 p 2. x> g— ma X— Xである場合 (ステップ S 77 1、 YES) 、 c '〇 1- <1 を 3 i d e— c o r dに格納し、 g— m a x— xに: 2. xを代入する (ステップ S 772、 S 773 ) 。 なお、 p 2. x > g— m a x— xでない場合 (ステップ S 77 1、 NO) 、 ステップ S 772および S 773を実行しない。 そして、 c o r d の値を 1つ増やし (ステップ S 774) 、 ステップ S 7 53 へ戻り、 別の等高線に対して同様の処理を繰り返す。
(d) 交点算出
図 28を参照し、 交点算出処理 (図 2 1、 ステップ S 703 ) について詳説す る。 ここで、 p [] は、 交点の座標データを格納する配列である。
まず、 等高線を 1つ選択し (ステツプ S 780 ) 、 c o r d pに c o r dを代 入し、 変数 f i n dを' 0に初期設定する (ステップ S 78 1) 。 次いで、 c o r p dの n p o i n tの値が 0よりも大きいかどうかを判定する(ステップ S 78 2) 。 この判定結果が NOの場合は、 全ての等高線の処理が終了したかどうかを 判定する (ステップ S 783 ) 。 ステップ S 783の判定結果が NOの場合は、 ステップ S 7 80へ戻り、 次の等高線について処理を実行する。 また、 ステップ S 783の判定結果が YESの場合は、 この交点算出処理を終了する。
ステップ S 782の判定結果が YE Sの場合は、変数 P NTに c o r d pの p o i n tの値を代入し、 カウンタ CNTの値を 0に初期設定する (ステップ S 7 84) 。 次に、 カウン夕 C NTの値が、 c o r d pの n p o i n tよりも小さい かどうかを判定する (ステップ S 78 5) 。 この判定結果が YE Sになるときに は、 更に PNT. Xと c e n t e r, xとが等しいかどうかを判定する (ステツ プ S 786) 。
ステップ S 7 86の判定結果が YE Sの場合は、 更に、 PNT. yが c n e t e r . yよりも大きいかどうかを判定する (ステップ S 787) 。 この判定結果 が YE Sの場合は、 中心点から垂直に下ろした垂線と等高線との交点を求める。 すなわち、 p [f i nd] . xに PNT. xの値を代入し、 p [f i n d] , y に PNT. yの値を代入する (ステップ S 788) 。
次いで、 f 1 113の値を 1っ増ゃし (ステップ S 7 8 9 ) 、 また、 データの終 端を示す;^めに、 p [f i n d] . Xと p [f i n d] , yにそれぞれ一 1を代 入する (ステップ S 790) 。 次 、 c o r d pの値を 1つ増やして (ステップ S 7 9.1 ) 、 ステップ S 782へ戻る。
また、 ステップ S 786または S 787の判定結果が NOの場合は、 CNTの 値を 1つ増やし、 P NTの値を 1つ増やして (ステップ S 792) 、 ステップ S 7 85へ戻り、 同様の処理を繰り返す。ステップ S 785の判定結果が NOにな るときには、 ステップ S 7 9 1へ進む。
(e) 面内 Z値算出
図 29を参照して、 面内 Z値算出処理 (図 2 1、 ステップ S 704) を詳説す る。 本処理においては、 算出された被写体中心および交点の座標を用いて、 等高 面内の画素の Z値を新たに算出する。 ここで、 定数 d i s tは、 画面上に表示さ れる画像をカメラで撮影したと仮定した場合における、カメラから表示画面まで の距離、 定数 f o c u sは上記カメラの焦点距離、 n ew— z [] は、 本処理で 算出される Z値を格納する配列である。
まず、 CPU1 1は、 等高面を 1つ選択したのち (ステップ S 795) 、 カウ ン夕 CNTの値を 0に初期設定する (ステップ S 796 ) 。 次に、 c e n t— h に HTから c e n t e r, yを減じた値を代入し、被写体の奥行き度を表す o b j e c t_hに、 (d i s tZf o c u s ^ c e n t— h) の値を代入する (ス テツプ S 797 ) 。
次いで、 p [CNT] . Xの値が 0以上であるかどうかを判定する (ステップ S 798 ) 。 この判定結果が YE Sの場合は、 n ew— z [CNT] に、 (o b j e c t― h * f o c u s / (p [CNT] . y— c e n t e r, y ) — d i s t ) の値を代入する (ステップ S 799 ) 。 すなわち、 ある等高面内の画素の Z 値を、被写体の Z値の中心点から該画素までの距離の y成分に比例するように補 正するのである。
そして、 カウン夕 CNTの値を 1つ増やして (ステップ S 800 ) 、 ステップ S 798へ戻り、 同様の処理を行う。ステップ S 798の判定結果が NOになる ときには、 全ての等高面について処理が終了したかどうかを調べ(ステップ S 8 0 1) 、 ステップ S 80 1の判定結果が NOになるときには、 ステップ S 795 へ戻り、 他の等高面に対しての処理を行う。 また、 ステップ S 801の判定結果 が YESになるときには、 この処理を終了する。
( f ) 面内修正値算出
本処理においては、図 21に示したステップ S 704にて算出された Z値を用 いて、 等高面内にある画素の Z値の修正値を算出する。 以下、 図 30を用いて本 処理を詳説する。 なお、 a d j u s t— o u t 1 i n e [] は、 補正後の Z値と 元の Z値との差分を格納する配列である。
まず、 算出した交点を 1つ選択し (ステップ S 805) 、 カウン夕 C NTの値 に 1を代入する (ステップ S 806) 。 次に、 p [CNT] . Xの値が 0以上で あるかどうかを判定する (ステップ S 807 ) 。 この判定結果が NOの場合は、 1つの交点についての処理が終了したと判定し、更に、 全ての交点に対する処理 を終了したかどうかを判定する (ステップ S 808 ) 。 ステップ S 808の判定 結果が NOになるときには、 ステップ S 805へ戻り、 他の交点についての処理 を行う。 また、 ステップ S 808の判定結果が YE Sの場合は、 本処理を終了す る。
ステップ S 807の判定結果が YE Sの場合は、 変数 o z 1に (p [CNT- 1] . x, p [CNT- 1 ] . y- 1 ) の座標の Z値を代入し (ステップ S 80 9) 、 変数 o z 2に (p [CNT] . x, p [CNT] . y— 1) の座標の Z値 を代入する (ステップ S 8 10) 。 次に、 変数 s ub lに (o z 2— o z l) の 値を代入し(ステップ S 8 1 1 )、変数 s u b 2に補正後の Z値の増分である(n e w_z [CNT] - n e w_ z [CNT— 1] ) の値を代入する (ステップ S 8 1 2 ) 。
次に、 s u b 1と s u b 2の符号が同一であるかどうかを判定する (ステップ S 8 1 3) 。 符号が同一である場合 (ステップ S 8 1 3、 YE S) 、 a d j u s t_o u t 1 i n e [CNT] に 0を代入する (ステップ S 8 14) 。 符号が異 なる場合 (ステップ S 8 1 3、 NO) 、 a d j u s t_o u t 1 i n e [CNT] に (s u b 2— s u b l) の値を代入する (ステップ S 8 1 5) 。 次に、 カウン 夕 CNTの値を 1つ増やして (ステップ S 81 6) 、 ステップ S 807へ戻る。
(g) 被写体内 Z値補正
この Z値補正処理では、ステップ S 70 5にて算出された面内修正 Z値を用い て、 被写体内にある画素の Z値を補正する。 以下、 図 3 1を参照して、 被写体内 Z値補正処理 (図 7、 ステップ S 1 09) を詳説する。 なお、 * a d j u s t— z_ i ma g eは修正 Z値を格納する領域を示すボイン夕である。
まず、 カウンタ C LNに 0を代入し (ステップ S 90 1) 、 次に C LNの値が HTより小さいかどうかを判定する (ステップ S 902) 。 この判定結果が NO の場合は、 本処理を終了する。 この判定結果が YE Sの場合は、 カウンタ CWD に 0を代入し (ステップ S 903) 、 続いて、 CWDが WDよりも小さいかどう かを判定する (ステップ S 904) 。 ステップ S 904の判定結果が YE Sの場 合は、 そのときの注目画素に対応する a d j u s t_z_ i ma g eを取得し (ステツフ' S 905) 、 z一 i ma g eを、 z一 ima g eと a d j u s t一 z —i ma g eを加算した値で更新する (ステップ S 906) 。 以上で、 一画素分 の処理が終了する。
次いで、 CLNの値を 1つ増やし (ステップ S 90 7 ) 、 ステップ S 904へ 戻り、次の画素について同様の処理を行う。ステップ S 904の判定結果が NO の場合は、 CWDの値を 1つ増やして (ステップ S 908 ) 、 ステップ S 902 へ戻り、 次行にかかる画素について処理を行う。 以上の処理を繰り返し、 全画素 について Z値を補正する。
<B— 6. 画素移動処理〉
本処理においては、 以上の処理により算出された Z値、 およびユーザが指定し たパラメータに基づいて視差値 (画素移動量) を決定し、 この移動量に従って画 素を左右に移動させる。 図 32に、 画像移動処理 (図 7、 ステップ S 1 1 0) の 概要を示す。 ここで、 * i m a g e 3 dは立体視画像データを格納する領域を示 すボイン夕である。
まず、 カウンタ C LNを 0にセットし (ステップ S 1 00 1) 、 C LNが HT より小さいかどうかを判定する (ステップ S 1 002 ) 。 この判定結果が NOの 場合は、 本処理を終了する。 この判定結果が YE Sの場合は、 カウンタ CWDを 0に初期設定する (ステップ S 1 00 3) 。
次いで、 CWDが WDよりも小さいかどうかを判定する(ステップ S 1 004)。 この判定結果が YE Sの場合は、このときの o u t i n f oに対応した Z値の範 囲を補正する (ステップ S 1 0 0 5) 。 以下、 これによつて得られた Z値を Z Z と称する。 図 3 3を参照してこの Z Z算出処理を具体的に説明する。
まず、丸め係数 MKを用いて Z値のとり得る範囲を修正する (ステップ S 1 0 2 0および S 1 0 2 1) 。 この処理は、 図 7に示したステップ S 7 00において 説明した処理と同様である。以下では、 ステップ S 1 0 20および S 1 0 2 1を 行って得られた Z値を Z Zと記する。
次に、 Z Zの値が上限値よりも大きいかどうかを判定する (ステップ S 1 0 2 2) 。 この上限値は、 ユーザによって上述した設定ダイアログパネルの入力窓 I B 3に入力されたものである。 Z Z値が上限値を越えている場合は(ステップ S 1 0 2 2、 YE S) 、 Z Zを当該上限値に置き換える (ステップ S 1 0 2 3 ) 。 同様に、 Z Zの値が下限値よりも小さいかどうかを判定する (ステップ S 1 02 4) 。 この下限値は、 ユーザによって上述した設定ダイアログパネルの入力窓 I B 4に入力された値である。 Z Z値が下限値を下回っている場合(ステップ S 1
0 24、 YE S) 、 Z Zを当該下限値で置き換える。
このようにして、上限基準値や下限基準値の処理で特定の値を超える Z値を一 定範囲内に収まるように修正する。 この処理は、 Z値が高い画素や Z値が低い画 素の数は画像デ一夕全体の画素数に比べて非常に少ない数という事実を利用し たものである。 このように、画素クロス現象が発生しない範囲で Z値のとり得る 範囲を修正することにより、生成される立体視画像の質を効果的に高めることが できる。
再び図 3 2へ戻り、続いて得られた Z Z値を用いて視差値 S Sを算出する。 こ の処理を、 図 34を用いて具体的に説明する。 まず、 ステップ S 1 0 5の逆転判 定処理において、 Z値を反転する決定がなされていたかを判定する (ステップ S
1 0 3 0) 。 反転の決定がされていた塲合 (ステップ S 1 0 30、 YE S) 、 Z に (2 5 6—Z Z) の値を代入する (ステップ S 1 0 3 1) 。 次に、 Z Zにィンタフエース深度を加算して、その判定結果を視差値 S Sに代 入して(ステップ S 1 032)この処理を終了する。このインタフェース深度は、 上述した設定ダイアログパネルの入力窓 I B 1に入力された値である。
なお、反転しない旨の決定がなされていた場合(ステップ S 1 030、 NO)、 そのままステップ S 1 032へ処理を移行する。
再び図 32へ戻り、 このようにして視差値 S Sが算出されると、 次にカウンタ CLNの値の偶奇を判定する (ステップ S 1007 ) 。 偶数である場合 (ステツ プ S 1 007、 YE S) 、 画素移動値 MVに (CN + S S) の値を代入し (ステ ップ S 1008) 、 奇数である場合は MVに (CN— S S) の値を代入する (ス テツプ S 1 009 ) 。 このようにして、 右目用と左目用とで反対方向に画素を移 動させる。 最後に、 元画像データの ( s r c +MV) の位置の画素データを i m a g e 3 dへ格納する (ステップ S 1 0 1 0) 。 以上で一画素分の処理が終了し た。
次に、 i m a g e 3 dの値を 1つ増やし、 o u t i n f oの値を 1つ増やし、 カウンタ C WDの値を 1つ増やして (ステップ S 1 0 1 1 ) 、 ステップ S 1 00 4へ戻り、 次の画素について同様の処理を行う。 これを繰り返し、 一行分の画素 について処理を行う。 一行分の画素の処理が終了したら (ステップ S 1004、 NO) 、 s r cを次の行頭へ進め (ステップ S 10 1 2) 、 CLNの値を 1つ増 やして (ステップ S 10 1 3) 、 ステップ S 1 002へ戻り、 同様の処理を繰り 返す。 これを繰り返し、 全ての行に関.して処理が終了すると、 (ステップ S 10 02、 NO) 本処理が完了する。
このように、一物体として認識されるべき被写体ごとに Z値の補正が行われる ため、被写体内の奥行きの順序性が担保され、 生成される立体視画像はより現実 感のあるものとなる。
以上示したように、 本実施形態においては、 Z値に上述した補正をすることに より、 質の高い立体視画像を生成することができる。 また、 立体視画像の生成に 当たっては、ユーザが設定ダイァ口グパネルで入力した入力値が用いられるので、 ュ一ザの好みに応じた立体視画像を生成することができる。
なお、本実施形態においては、 図 7に示すステップ S 1 03から S 109まで の補正処理を連続して実行したが、 必ずしも全てを実行する必要はない。 適宜、 好適な補正処理を組み合わせて実行することが可能であることはいうまでもな -ぃ。
<c. 変形例 >
<1. 強調処理 >
ところで、 図 20に示したような画面 GGに含まれる複数の被写体のうち、 特 定のもののみの立体感を意図的に強調するような効果を立体視画像に与えるこ とが可能である。 例えば、 動画において、 ある物体が奥行き方向の動きに特徴が あるような場合、 このような効果を与えることは有用である。 これを模式的に表 したのが図 35である。 これを実現させるためには、 同図に示すように、 被写体 OB aに含まれる全ての等高面の Z値に所定値を加算すればよい。
図 36は、 この場合に、立体視表示モードが選択された場合に行われる処理の 一例を示している。 画像移動処理 (ステップ S 1 1 1 1) の直前に強調処理 (ス テツプ S 1 1 1 0)が追加されている点である。 ステップ S 1 101〜S 1 1 0 9および S I 1 1 1の処理は第 1実施形態と同様であるから、その説明を省略す る。
以下、 図 37を参照して、 強調処理 (ステップ S 1 1 10) を説明する。 ここ で、 o f f s e t— zは被写体を強調させる度合いを表す量である。 まず、 ステ ップ S 1 1 20〜S 1 122において終了判定を行う。すなわち、 カウン夕 CL Nの値を 0に設定し (ステップ S 1 1 20) 、 CLNが HTよりも小さいかどう かを判定する (ステップ S 1 12 1) 。 この判定結果が NOの場合は、 本強調処 理を終了する。 この判定結果が YESの場合は、 CLNの値を 0に設定する (ス テツプ S 1 1 22 ) 。
次に、 カウンタ CWDが WDより小さいかどうかを判定する (ステップ S 1 1 23 ) 。 この判定結果が YESの場合は、 座標 (CWD、 CLN) から画像上辺 までの半直線を引き (ステップ S 1 1 24) 、 この半直線と等高線との交点の数 を求める (ステップ S 1 125) 。
そして、 求めた交点数の偶奇を判定する (ステップ S 1 126) 。 奇数である 場合 (ステップ S 1 1 26、 YES) 、 座標 (CWD、 CLN) は当該周縁矩形 の内部に位置すると判定する (ステップ S 1 1 27) 。 続いて、 p z— i ma g eに(z— ima g e + C L N * WD + C WD)を代入し(ステップ S 1 1 28)、 * p z一 ima g eに(* p z一 i ma g e + o f f s e t _z ) の値を代入す る (処理 1 1 29) 。 奇数である場合 (ステップ S 1 126、 NO) 、 ステップ S 1 1 27〜S 1 1 29を実行しない。 以上で一画素について処理が終了した。 次いで、 CWDの値を 1つ増やし、 ステップ S 1 123へ戻り、 次の画素につ いて同様の処理を行う。 これを繰り返し、 全画素について処理を終えると、 強調 処理が完了する。
<2. 表示方式 >
上述した実施例では、立体視画像の表示方式として、表示部 21の表示画面の 偶数ラインに左目画像を表示するとともに、奇数ラインに右目画像を表示するよ うにしたいわゆる Od d— e v e n方式のものを採用している。しかしながら本 発明はこれに限定されず、 例えば、表示部 2 1の表示画面の偶数ラインに右目画 像を表示するとともに、奇数ラインに左目画像を表示するようにした〇 d d— e v e n方式のものにも適用することができる。
あるいは、 図 3 8に示すように、左目用画像データの偶数ラインを抽出してフ レームバッファの上画像部分に格納すると もに、右目用画像デー夕の奇数ラィ ンを抽出してフレームバッファの下画像部分に格納する上下方式にも適用でき る。この表示方式は、立体視プロジェクタ等で採用されているものである。逆に、 右目用画像データの偶数ラインをフレームバッファの上画像部分に、左目用画像 データの奇数ラインをフレームバッファの下画像部分に格納する方式にも適用 可能である。
また、 図 39に示すように、左目用画像デ一夕の偶数番目の画素を抽出してフ レームバッファの左側画像部分に格納するとともに、右目用画像データの奇数番 目の画素を抽出してフレームバッファの右側画像部分に格納する左右方式にも 適用できる。 この表示方式は、裸眼立体視用 CRT等に採用されているものであ る。逆に、右目用画像データの偶数番目の画素をフレームバッファの左側画像部 分に、左目用画像データを奇数番目の画素をフレームバッファの右側画像部分に 格納する方式にも適用可能である。 また、 図 40に示すように、左目用画像データを偶数番目のフレームバッファ に格納するとともに、右目用画像データの奇数番目のフレームバッファに格納す る 2フレーム方式にも適用できる。 この表示方式は、立体視プロジェクタ等で採 用されているものである。逆に、右目用画像データを偶数番目フレームのフレー ムバッファに、左目用画像データの奇数番目のフレームバッファに格納する方式 にも適用できる。
また、 図 41に示すように、左目用画像データと右目用画像データファイルと それぞれ別々のファイルに格納する O d d— e V e nファイル分離方式にも適 用できる。 この表示方式は立体視プロジェクタ等で採用されているものである。
< 3. データ格納領域 >
右目用画像と左目用画像を別領域に格納することも可能である。 この場合は、 画素移動処理 (図 7、 ステップ S 1 1 0) を図 42に示すように行えばよい。 図 32を用いて説明した第 1実施形態にかかる画素移動処理と、本変形例の画素移 動処理との違いは、 図 32のステップ S 1 007 -S 10 1 1に替えて、 図 42 のステップ S 1057〜 1060を行う点である。すなわち、 左目用画像データ と右目用画像データを、それぞれ L i ma g e 3 dと R ima g e 3 dで示され る左目用画像データ領域と右目用画像データ領域に格納している点が異なる。 具体的には、 ステップ S 1056において視差値 S Sが算出されると、 MV 1 に (CN+S S) の値を代入するとともに、 MV2に (CN— S S) の値を代入 する (ステップ S 1 057) 。 次いで、 原画像データの (s r c +MV 1 ) の位 置の画素のデータを L i ma g e 3 dへ格納し (ステップ S 1058) 、 原画像 データの ( s r c +MV 2 ) の位置の画素のデ一夕を R i m a g e 3 dへ格納す る (ステップ S 1 0 59) 。 次に、 L i ma g e 3 dの値を 1つ増やし、 R i m a g e 3 dの値を 1つ増やし、 o u t i n f oの値を 1つ増やし、 CWDの値を 1つ増やして (ステップ S 1060)、 ステップ S 1 054へ戻り同様の処理を 繰り返す。
<4. データ種類 >
ところで、 上述した実施形態では、 処理対象とする画像データを、 二次元カラ 一画像データとしているが、本発明は、 白黒映画の動画データのような二次元白 黒多階調画像データについても同様に適用することができる。 また、上記実施形 態では、加工される元画像データは動画デ一夕の 1フレーム分のデータとしてい るが、 静止画デ一夕であってもよいことは言うまでもない。
< 5 . Z値算出 >
上記実施形態においては、原画像の R値、 G値、 B値にそれぞれ 0 . 5 9、 0 . 3、 0 . 1 1程度の係数を乗じたものを Z値としていたが、 係数の組み合わせは これに限定されない。各ユーザが感じる立体感が最も自然となるように、 あるい は各ユーザの好みに合わせて、当該係数を適宜変更することが可能である。また、 画像の色表現として、 R G B表現ではなく輝度、 彩度、 色相に基づいた表現も用 いてもよい。 あるいは、 A R G B表現 ( 「A」 はアルファ色成分を表す) 等を用 いてもよいことは言うまでもない。
< 6 . 被写体特定 >
上記実施形態においては、 Z値の等高線を算出し、 これに基づいて被写体を特 定し、 当該被写体に対応する画素の Z値を補正していた。 しかしながら、 被写体 を特定する方法はこれに限らない。 例えば、 輝度、 彩度、 あるいは色相情報から 輪郭 (エッジ) を検出し、 該エッジで囲まれた領域を一物体であると判定しても よい。
<第 2実施形態 >
ぐ A. 装置の構成 >
以下、 本発明の第 2実施形態について説明する。 なお、 第 1実施形態と同様の 構成要素には同様の参照符号を付してある。第 2実施形態が第 1実施形態と異な るのは、 立体視画像形成装置 1に替えて携帯端末 1 Aを用いる点である。 図 4 3 に携帯端末 1 Aの機能構成図を、 図 4 4にその外観図を示す。 図 4 4に示すよう に、 携帯端末 1 Aは、 例えば携帯電話機である。 以下、 第 1実施形態との差異に 着目して、 本実施形態を説明する。
図 4 3において、 無線通信ュニット 2 7は、 アンテナ A Tを含み、 この携帯端 末装置を移動体通信網へ接続し、 動画データを含む各種データの送受信を行う。 通話ュニット 2 8は、 スピーカュニットおよびマイクュニットを含み、音声通信 を行う。表示部 2 1 aは、非立体視モードの画像表示機能と立体視モードの画像 表示機能を備えたものであり、裸眼立体視が可能な表示パネルを備えている。ま た、表示制御部 2 2 aは、表示部 2 1 aの表示内容を制御するためのものである。 入力操作部 3 0は、テンキーやカーソルキー等の入力デバイスであり、 これを用 いてユーザは携帯端末 1 Aに対して指示等を入力する。
ここで、 図 4 5および図 4 6を用いて、 裸眼立体視の原理を簡単に説明する。 図 4 5に示すように、表示部 2 1 aは、バックライト 2 1 1、液晶パネル 2 1 2、 およびパララックス液晶パネル 2 1 3を備えている。パララックス液晶パネル 2 1 3は、 一定間隔で縦方向にスリッ卜 2 1 4が設けられている。 この状態で、 液 晶パネルに左目用画像 L 1〜L 5、右目用画像 R:!〜 R 5が、スリット間隔と同 じ間隔でストライプ状に表示され、かつ観察者が画面から所定の距離だけ離れた とすると、左目用画像 L 1〜L 5は左目にのみ、右目用画像 R 1〜R 5は右目に のみ到達する。 よって、左目用画像 L 1〜: L 5と右目用画像 R 1〜R 5とを一定 の視差を有するように作成すれば、裸眼立体視が実現されるというしくみである。 図 4 4に戻り、携帯端末 1 A筐体の下部には電話番号等を入力するためのテン キー T Kが設けられており、その上側にはファンクションキー F Kおよび表示モ 一ドを非立体視モード (2 Dモード) と立体視モード (3 Dモード) に切換える ための切換スィッチ D Kが設けられている。その上部には、液晶部 2 1 aの表示 画面が配設されており、さらにその上部には、アンテナ A Tが設けられる。また、 通話ュニット 2 8のスピーカュニッ卜のための孔部 2 8 aと、マイクュニットの ための孔部 2 8 bがそれぞれ適宜な場所に設けられている。
< 2 . 動作〉
<A. 静止画表示 >
図 4 7は、携帯端末 1 Aにおいて、携帯端末 1 Aに格納された静止画像を表示 する場合の処理の一例を示している。
まず、携帯端末 1 Aに電源が投入されたのち、ユーザが所定の操作を行って画 像を選択すると (ステップ S 2 0 0 1 )、 C P U 1 1は表示モードを非立体視モ ード (2 Dモード) に設定する (ステップ S 2 0 0 0 ) 。 次に、 C P U 1 1は当 該画像のデータを表示制御部 2 2 aへ出力する (ステップ S 2 0 0 2 ) 。 これに より、 移動体通信端末装置のユーザは、 通常の静止画を見ることができる。 ユーザが当該画像表示の中止を指示すると (ステップ S 2003, NOかつス テツプ S 2004、 YES) 、 CPU 1 1は当該画像の表示を中止する (ステツ プ S 2005 ) 。
切換スィッチ DKが操作された場合 (ステップ S 2003、 YES) 、 CPU 1 1は表示モードを立体視表示モードにセットし (ステップ S 2006) 、 立体 視用画像表示データ作成処理を行う (ステップ S 2007 ) 。 CPU 1 1は作成 されたデータを表示制御部 22 aへ出力する (ステップ S 2008) 。 これによ り、 ユーザは立体視画像を見ることができる。 なお、 立体視用画像データの作成 方法は、 第 1実施形態で用いた方法と同様であるので、 その説明は省略する。 ユーザが表示の終了を指示すると (ステップ S 2009、 NOかつステップ S 2 1 10、 YES) 、 当該画像の表示を終了する (ステップ S 2 1 1 1 ) 。 ユー ザが再び切換スィッチ DKを操作すると (ステップ S 2009、 YES) 、 ステ ップ S 200 1へ戻り、 携帯端末 1 Aを非立体視モード (2Dモード) に設定す る。
<B. 動画表示 >
図 48は、携帯端末 1 Aにおいて、移動通信網を介して動画をダウンロードし て表示する場合の処理の一例を示している。
まず、携帯端末 1 Aの電源が投入されると、 CPU1 1は表示モードを非立体 視モード (2Dモード) に設定する (ステップ S 3001 ) 。 ユーザが所定の操 作を行うと、複数のフレームの画像デ一夕から構成された動画データを受信する (ステップ S 3002) 。 すると、 CPU 1 1は、 受信した動画データを RAM 1 3に格納し、当該データの先頭の 1フレームの画像デ一夕を表示制御部 22 a へ出力する (ステップ S 3203) 。 次いで、 CPU 1 1は受信した動画データ に後続フレームがあるかどうかを判定する (ステップ S 3004)。 後続フレー ムがない場合 (ステップ S 3004、 NO) 、 または後続フレームはあるがユー ザから表示終了の指示があった場合、 (ステップ S 3007、 YE S) 、 当該表 示を終了する (ステップ S 300 5 ) 。 後続フレームがある場合 (ステップ S 3 004、 YES) 、 RAM 1 3から当該フレームの画像データを読み出して、 表 示制御部 22 aへ出力する。 この うに、 ユーザが切換スィッチ DKの操作、 または画像表示の終了の指定 のいずれかを行うまで、 1フレームずつ画像を読み込みだして、それを表示部に 出力していく (ステップ S 3006、 NOかつ S 3007、 NO) 。 ユーザが画 像表示の終 fを指定すると(ステップ S 3006、 NOかつステップ S 3007、 YE S) , 画像表示を終了する (ステップ S 3005 ) 。 以上により、 初期状態 では、移動体通信端末装置のユーザは、非立体視モードの動画を見ることができ る。
ユーザが切換スィツチ DKを操作すると (ステップ S 3006、 YE S) 、 C PU 1 1は表示モードを立体視表示モードに設定する (ステップ S 3008 ) 。 次に、当該フレームの次のフレームにかかる画像データを; RAMI 3から読み出 す(ステップ S 3009 ) 。 読み出した画像データについて上述した立体視表示 データ作成処理を行い(ステップ S 30 1 0)、表示制御部 22 aへ出力する(ス テツプ S 30 1 1)。これにより、ユーザは立体視用の動画を見ることができる。 後続のフレームが存在しなくなった (ステップ S 30 1 2、 NO) 、 ユーザが 切換え操作を行った (ステップ S 30 1 3、 YES) 、 ユーザが表示終了を指示 した (ステップ S 30 14、 YES) のいずれかの場合に該当するまで、 立体視 用動画を一フレームずつ順次表示し続ける。
ユーザが切換スィツチ DKを操作すると (ステップ S 30 1 3、 YES) 、 ス テツプ S 300 1へ戻り、 CPU1 1は表示モードを非立体視モード(2Dモー ド) に設定して、 次フレームの表示制御部 22 aへ出力する。
このように本実施形態によれば、ユーザが切換スィツチ DKを操作するたびに、 表示部 2 1 aに表示される画像(静止画または動画) が、 通常の画像と立体視画 像とにリアルタイムに切り替わる。 これにより、ユーザは通常の画像と立体視画 像とを適宜切換えて鑑賞することができるため、立体視画像の楽しみ方が広がる c 例えば、通常は非立体視モードで動画を鑑賞し、好みの所望のシーンが始まると 立体視モードに切換えて鑑賞するといつたことが可能になる。
なお、本実施形態においては、動画データを一括してダウンロードしたのち再 生することを仮定しているが、動画の受信および再生方法はこれに限らない。例 えば、全動画データの内うつの一部を逐次受信しながら再生していく、 いわゆる ストリーミング配信 ·再生であっても構わない。
ぐ第 3実施形態 >
図 4 9は、本発明の第 3実施形態における立体視画像形成装置 1 Bの機能構成 図を示す。 立体視画像形成装置 1 Bが第 1実施形態における立体視画像形成装置 1と異なるのは、 表示制御部 2 2に替えて、 表示制御部 2 2 b、 第 1データバッ ファ 3 1、第 2データバッファ 3 2を用いる点、および表示部 2 1に替えて表示 部 2 1 bを用いる点である。 なお、 本実施形態においては、 ユーザが液晶シャツ タメガネ 3 4を装着することで立体視を実現する方式を採用している。
また、 この立体視画像形成装置 1 Bにおいては、 第 2実施形態と同様、 立体視 表示モードと非立体視表示モードとを備えている。立体視表示モード時において、 表示制御部 2 2 bは、第 1データバッファ 3 1に左目用画像データを格納し、第 2データバッファ 3 2に右目画像データが格納する。 さらに、表示制御部 2 2 b は、切換器 3 3を制御して、第 1のデータバッファ 3 1および第 2の画像データ バッファ 3 2を交互に選択する。具体的には、表示部 2 1 bは所定の周期で一画 面の描画を更新するが、表示制御部 2 2 bは、 この描画更新に同期させて切替器 3 3を切換える。 さらに、 表示制御部 2 2 bは、 この描画更新に同期させて液晶 シャツ夕メガネ 3 4の切換動作を行う。
すなわち、切換器 3 3が第 1の画像バッファ 3 1を選択している状態では、液 晶シャツ夕メガネ 3 4の左目をオン (透過状態) にするとともにお目をオフ (遮 断状態) にし、 切換器 3 3が第 2の画像バッファ 3 2を選択している状態では、 液晶シャツ夕メガネ 3 4の右目をオン(透過状態)にするとともに左目をオフ(遮 断状態)にする。このようにすることにより、左目用画像は左目でのみ視認され、 右目用画像は右目でのみ視認されるため、 立体視が実現されるのである。
なお、 非立体視モードの場合には、 表示制御部 2 2 bは、 第 1の画像データバ ッファ 3 1に画像デ一夕を格納し、切換器 3 3により第 1の画像データバッファ 3 1を選択する。
図 5 0は、 この立体視画像表示装置 1 Bを用いて、受信した動画を表示する際 の処理の一例を示している。本処理の流れは、 図 4 8を用いて説明した第 2実施 形態と同様であるが、ステップ S 3 0 0 3に替えてステップ S 3 0 0 3 bおよび ステップ S 3 0 1 1に替えてステップ S 3 0 1 1 bを設けている点で異なる。 すなわち、 2 Dモ一ドにおいては、 C P U 1 1は、 R AM I 3に格納された原 画像データのうち、一フレーム分の画像データを抽出して第 1データバッファ 3 1に格納するとともに、 切替器を第 1データバッファ 3 1側に選択する (ステツ プ S 3 0 0 3 b ) 。 これにより、 初期状態では、 ユーザは非立体視モードの動画 を見ることができる。 '
また、 3 Dモードにおいては、 表示制御部 2 2 bは、 ステップ S 3 0 1 0にお いて作成された立体視用画像のうち左目画像データを第 1データバッファ 3 1 に格納し、右目画像データを第 2データバッファ 3 2に格納する (ステップ S 3 0 1 1 b ) 。 そして、 表示制御部 2 2 bは、 表示部 2 1 bの描画更新に同期させ て、 切替器 3 3を切換える。 このようにして、 ユーザは当該フレームを立体視す ることができる。 これを 1フレームずつ行い、 当該動画の立体視が実現される。 ぐ応用例 >
本発明における立体視画像形成装置を、 自動車、 電車、 飛行機などの操作を訓 練するために使用されるシミュレータに適用することが可能である。 すなわち、 当該シミュレータの画面に立体視'画像を表示させる。 これにより、訓練者に現実 感を与えることができるので非常に有益である。本発明の立体視画像形成装置 1 Bを組み込んだ運転シミュレータ装置 4 0の一例を図 5 1に示す。
同図において、 操作ュニット 4 1はハンドル等の操作デバイスを有する。ユー ザの操作情報はシミュレーション処理部 4 2に供給される。シミュレーション処 理部 4 2は、操作ュニット 4 1から入力された操作情報に基づき演算処理等を行 い、 画面に表示すべきデーダを作成する。表示データはフレームバッファ 4 3へ 出力される。
立体視画像形成装置 1 Bは、 操作ュニット.4 1により 2 Dモード (非立体視表 示モード) が指定されている場合には、 通常の画像を画面に表示する。 3 Dモー ド (立体視表示モード) が指定されている場合には、 フレームバッファ 4 3に保 存されている 1フレーム分画像デ一夕を抽出し立体視画像データを作成して、こ の画像を画面に表示する。
本発明の立体視画像形成方法を L S I (大規模集積回路) によって実現するこ とが可能である。 この L S Iを様々な電子機器に組み込むことにより、低コスト で立体視画像を生成することが可能となる。 例えば、 通信端末装置、 デジ夕ルカ メラ、 受像器、 ストレ一ジ型表示装置、 内視鏡その他の医療器具に本発明の立体 視画像形成方法を適用することが可能である。
以上、本実施形態について説明したが、本発明の範囲は上記実施形態に限定さ れるものではなく、本発明の範囲を逸脱しない限りにおいて、変形等を行うこと が可能であることは言うまでもない。 '

Claims

請求の範囲
1. 画像を構成する複数の画素の画像データに基づいて、 各画素に対応する被 写体の奥行きを表す奥行き値を算出する算出ステップと、
前記算出ステップにおいて算出された各画素に対応する奥行き値を、 当該画素 以外の画素に対応する奥行き値を用いて修正する修正ステップと、
各画素の修正後の奥行き値に基づいて各画素の画素移動量を決定し、 前記画像 を構成する各画素を決定された移動量の分だけ左右にずらすことにより、 右目 用画像と左目用画像とを作成する作成ステップと
を有することを特徴とする立体視画像作成方法。
2 . 前記算出ステップにおいて、 画像データの色成分の各々に所定の係数を 乗じることにより奥行き値を算出することを特徴とする請求項 1に記載の立体 視画像作成方法。
3 . 前記所定の係数は、 人間の網膜に存在する赤錐体、 緑錐体、 および青錐 体の数の割合に等しいことを特徴とする請求項 2に記載の立体視画像作成方法 c
4 . 前記修正'ステップにおいて、 原画像の構図上で手前に位置する被写体を表 す画像を構成する画素の奥行き値よりも、 原画像の構図上で手前に位置する被 写体を表す画像を構成する画素の奥行き値の方が大きくなるように、 前記各画 素の奥行き値を補正する
ことを特徴とする請求項 1に記載の立体視画像作成方法。
5 . 前記修正ステップにおいて、 一の領域に含まれる画素の奥行き値と他の 領域に含まれる画素の奥行き値とを比較することにより、前記画像における奥行 き値の変化傾向を解析し、
得られた解析結果が所定のものである場合、 前記作成ステップにおいて、前記奥 行き値と前記画素移動量との大小関係を逆転させる ことを特徴とする請求項 1に記載の立体視画像作成方法。
6 . 前記修正ステップにおいて、 当該画素を含む領域に含まれる画素の奥行 き値の平均値を算出し、 当該画素の奥行き値を当該平均値に置き換える
ことを特徴とする請求項 1に記載の立体視画像作成方法。
7 . 前記修正ステップにおいて、 前記画像における奥行き値の分布および全 画素の奥行き値の平均値を算出し、 該算出した平均値を用いて当該分布の偏り を補正する
ことを特徴とする請求項 1に記載の立体視画像作成方法。
8 . 前記修正ステップにおいて、 前記算出された奥行き値を参照して、 前記 画像デー夕によって表される画像中の少なくとも一以上の被写体の画像を特定 し、 該被写体に対応する領域内の画素の奥行き値に基づいて当該画素の奥行き 値を修正する
ことを特徴とする請求項 1に記載の立体視画像作成方法。
9 . 前記修正ステップにおいて、 ユーザによって指定されるパラメータ値を 用いて、 奥行き値の量子化ステップを定める
ことを特徴とする請求項 1に記載の立体視画像作成方法。
1 0 . 前記修正ステップにおいて、 ュ一ザによって指定されるパラメ一夕値 を用いて、 前記算出された奥行き値のとり得る値の上限値または下限値のいず れか一つを決定する
ことを特徵とする請求項 1に記載の立体視画像作成方法。
1 1 . 複数の画像から構成される動画像を取得するステップを更に備え、 前記取得した画像の各々から立体視画像を作成することにより、 前記動画像に 対応する立体視画像をリアルタイムに作成することを特徴とする 請求項 1に記載の立体視画像作成方法。
1 2 . 画像を構成する複数の画素の画像データに基づいて、 各画素に対応す る被写体の奥行きを表す奥行き値を算出する算出手段と、
前記算出ステップにおいて算出された各画素に対応する奥行き値を、 当該画素 以外の画素に対応する奥行き値を用いて修正する修正手段と、
各画素の修正後の奥行き値に基づいて各画素の画素移動量を決定し、 前記画像 を構成する各画素を決定された移動量の分だけ左右にずらすことにより、 右目 用画像と左目用画像とを作成する作成手段と
を有することを特徴とする立体視画像作成装置。
1 3 . 前記修正手段において用いられるパラメ一夕をユーザから取得する取 得手段を更に備えることを特徴とする請求項 1 1に記載の立体視画像作成装置
1 4 . 前記パラメ一夕は前記奥行き値の上限値または下限値を表すことを特 徴とする請求項 1 2に記載の立体視画像作成装置。
1 5 . 前記パラメ一夕は前記奥行き値の量子化ステップを表すことを特徴と する請求項 1 2に記載の立体視画像作成装置。
1 6 . 該作成された、 右目用画像および左目用画像の画像データを格納する 格納手段と、
前記格納手段に格納されている画像デ一夕で表される画像を、 所定の方式に従 つて表示する表示手段と
を更に備えることを特徴とする請求項 1 2に記載の立体視画像作成装置。
1 7 . コンピュータを、
画像を構成する複数の画素の画像データに基づいて、 各画素に対応する被写体 の奥行きを表す奥行き値を算出する手段と、 前記算出ステップにおいて算出された各画素に対応する奥行き値を、 当該画素 以外の画素に対応する奥行き値を用いて修正する手段と、
各画素の修正後の奥行き値に基づいて各画素の画素移動量を決定し、 前記画像 を構成する各画素を、 決定された移動量の分だけ左右にずらすことにより、 右 目用画像と左目用画像とを作成する手段と
して機能させるためのプログラム。
PCT/JP2003/010499 2002-08-20 2003-08-20 立体視用画像を作成する方法および装置 WO2004019621A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CA2496353A CA2496353C (en) 2002-08-20 2003-08-20 Method and apparatus for generating a stereographic image
JP2004530576A JP4061305B2 (ja) 2002-08-20 2003-08-20 立体視用画像を作成する方法および装置
EP03792736.5A EP1551190B1 (en) 2002-08-20 2003-08-20 Method and device for creating 3-dimensional view image
KR1020057002869A KR100659206B1 (ko) 2002-08-20 2003-08-20 입체 화상을 작성하는 방법 및 장치
CN038196018A CN1675937B (zh) 2002-08-20 2003-08-20 生成立体图像的方法和装置
AU2003257611A AU2003257611A1 (en) 2002-08-20 2003-08-20 Method and device for creating 3-dimensional view image
US10/525,033 US7558420B2 (en) 2002-08-20 2003-08-20 Method and apparatus for generating a stereographic image

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002238710 2002-08-20
JP2002-238710 2002-08-20
JP2002238709 2002-08-20
JP2002-238709 2002-08-20

Publications (1)

Publication Number Publication Date
WO2004019621A1 true WO2004019621A1 (ja) 2004-03-04

Family

ID=31949537

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/010499 WO2004019621A1 (ja) 2002-08-20 2003-08-20 立体視用画像を作成する方法および装置

Country Status (8)

Country Link
US (1) US7558420B2 (ja)
EP (1) EP1551190B1 (ja)
JP (1) JP4061305B2 (ja)
KR (1) KR100659206B1 (ja)
CN (1) CN1675937B (ja)
AU (1) AU2003257611A1 (ja)
CA (1) CA2496353C (ja)
WO (1) WO2004019621A1 (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1734397A1 (en) * 2004-04-02 2006-12-20 Kazunari Era Projection display and projection display system
US7268747B2 (en) 2002-09-17 2007-09-11 Sharp Kabushiki Kaisha Electronics with two and three dimensional display functions
JP2010239177A (ja) * 2009-03-30 2010-10-21 Toppan Printing Co Ltd 画像生成方法
US7945088B2 (en) 2004-09-10 2011-05-17 Kazunari Era Stereoscopic image generation apparatus
US8384773B2 (en) * 2004-04-01 2013-02-26 Hewlett-Packard Development Company, L.P. Method and system for displaying an image in three dimensions
WO2013042392A1 (ja) * 2011-09-21 2013-03-28 シャープ株式会社 立体画像評価装置
JP2013149300A (ja) * 2013-05-09 2013-08-01 Casio Comput Co Ltd 距離情報補正装置、画像生成装置、距離情報補正方法、及び、プログラム
JP2013157951A (ja) * 2012-01-31 2013-08-15 Jvc Kenwood Corp 画像処理装置、画像処理方法及び画像処理プログラム
US8787655B2 (en) 2010-11-12 2014-07-22 Canon Kabushiki Kaisha Image processing apparatus and control method therefor
JP2014179995A (ja) * 2009-10-28 2014-09-25 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
KR101463029B1 (ko) * 2008-12-24 2014-11-19 엘지디스플레이 주식회사 3차원 영상 구현을 위한 깊이 데이터 보정 장치
JP2015167362A (ja) * 2009-11-23 2015-09-24 三星電子株式会社Samsung Electronics Co.,Ltd. 3D映像の提供方法、3D映像の変換方法、GUI提供方法及びこれを適用した3Dディスプレイ装置、そして3D映像の提供システム{Methodforproviding3Dimage、methodforconverting3Dimage、GUIprovidingmethodrelatedto3Dimageand3Ddisplayapparatusandsystemforproviding3Dimage}
US10313660B2 (en) 2009-10-28 2019-06-04 Sony Corporation Image processing apparatus, image processing method, and program
JP2019121216A (ja) * 2018-01-09 2019-07-22 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286941B2 (en) 2001-05-04 2016-03-15 Legend3D, Inc. Image sequence enhancement and motion picture project management system
DE102005017313A1 (de) * 2005-04-14 2006-10-19 Volkswagen Ag Verfahren zur Darstellung von Informationen in einem Verkehrsmittel und Kombiinstrument für ein Kraftfahrzeug
US9224303B2 (en) 2006-01-13 2015-12-29 Silvertree Media, Llc Computer based system for training workers
US8009903B2 (en) * 2006-06-29 2011-08-30 Panasonic Corporation Image processor, image processing method, storage medium, and integrated circuit that can adjust a degree of depth feeling of a displayed high-quality image
US7572232B2 (en) * 2006-07-24 2009-08-11 Cardiac Pacemakers, Inc. Cardiac signal display and event detection using multiresolution Z-score transform
CN101523924B (zh) * 2006-09-28 2011-07-06 皇家飞利浦电子股份有限公司 3d菜单显示
JP5366824B2 (ja) * 2006-12-19 2013-12-11 コーニンクレッカ フィリップス エヌ ヴェ 2次元ビデオの3次元ビデオへの変換方法及びシステム
CN101000296B (zh) * 2006-12-20 2011-02-02 西北师范大学 基于数字图像技术三维重构金相组织微观浮凸的方法
US8659641B2 (en) * 2007-05-18 2014-02-25 3M Innovative Properties Company Stereoscopic 3D liquid crystal display apparatus with black data insertion
US8131098B2 (en) * 2007-07-06 2012-03-06 Panasonic Corporation Image processing device, image processing method, image processing system, program, storage medium, and integrated circuit
KR100957129B1 (ko) * 2008-06-12 2010-05-11 성영석 영상 변환 방법 및 장치
JP5024632B2 (ja) * 2008-09-19 2012-09-12 ソニー株式会社 画像処理装置および方法、並びにプログラム
KR101497503B1 (ko) 2008-09-25 2015-03-04 삼성전자주식회사 2차원 영상의 3차원 영상 변환을 위한 깊이 맵 생성 방법 및 장치
US8254467B2 (en) * 2008-10-30 2012-08-28 Sensio Technologies Inc. Method and system for scaling compressed image frames
CN101751661B (zh) * 2008-12-01 2012-12-19 奇景光电股份有限公司 深度相关的影像加强系统及方法
KR101506926B1 (ko) 2008-12-04 2015-03-30 삼성전자주식회사 깊이 추정 장치 및 방법, 및 3d 영상 변환 장치 및 방법
CN101770738A (zh) * 2009-01-04 2010-07-07 朗讯科技公司 3d显示设备和方法
JP4919122B2 (ja) 2009-04-03 2012-04-18 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
US8830301B2 (en) * 2009-06-10 2014-09-09 Lg Electronics Inc. Stereoscopic image reproduction method in case of pause mode and stereoscopic image reproduction apparatus using same
CN101605271B (zh) * 2009-07-08 2010-10-13 无锡景象数字技术有限公司 一种基于单幅图像的2d转3d方法
US8502862B2 (en) * 2009-09-30 2013-08-06 Disney Enterprises, Inc. Method and system for utilizing pre-existing image layers of a two-dimensional image to create a stereoscopic image
US8947422B2 (en) * 2009-09-30 2015-02-03 Disney Enterprises, Inc. Gradient modeling toolkit for sculpting stereoscopic depth models for converting 2-D images into stereoscopic 3-D images
US8884948B2 (en) * 2009-09-30 2014-11-11 Disney Enterprises, Inc. Method and system for creating depth and volume in a 2-D planar image
CN102055992B (zh) * 2009-10-29 2012-06-27 华映视讯(吴江)有限公司 形成立体影像的方法及其相关显示模组
KR20110057629A (ko) * 2009-11-24 2011-06-01 엘지전자 주식회사 Ui 제공 방법 및 디지털 방송 수신기
US9042636B2 (en) 2009-12-31 2015-05-26 Disney Enterprises, Inc. Apparatus and method for indicating depth of one or more pixels of a stereoscopic 3-D image comprised from a plurality of 2-D layers
US20110157155A1 (en) * 2009-12-31 2011-06-30 Disney Enterprises, Inc. Layer management system for choreographing stereoscopic depth
US9426441B2 (en) 2010-03-08 2016-08-23 Dolby Laboratories Licensing Corporation Methods for carrying and transmitting 3D z-norm attributes in digital TV closed captioning
WO2011115142A1 (ja) * 2010-03-19 2011-09-22 Okiセミコンダクタ株式会社 画像処理装置、方法、プログラム及び記録媒体
US20110267441A1 (en) * 2010-04-29 2011-11-03 Yan Yan Lee 3-d moving picture viewing apparatus
KR101198320B1 (ko) * 2010-06-21 2012-11-06 (주)아이아이에스티 2차원에서 3차원으로의 영상 변환 방법 및 장치
KR101731343B1 (ko) * 2010-07-14 2017-04-28 엘지전자 주식회사 이동 단말기 및 그 제어방법
KR101733488B1 (ko) * 2010-07-22 2017-05-10 엘지전자 주식회사 3차원 영상 표시 방법 및 그에 따른 3차원 영상 표시 장치
KR20120015165A (ko) * 2010-08-11 2012-02-21 엘지전자 주식회사 영상의 깊이감 조절 방법 및 이를 이용하는 이동 단말기
CN102792702A (zh) * 2010-09-02 2012-11-21 青岛海信电器股份有限公司 一种景深调整装置、方法及3d电视机
EP2429209A3 (en) * 2010-09-14 2015-10-14 LG Electronics Inc. Apparatus and method for providing stereoscopic image contents
TWI451751B (zh) * 2010-10-29 2014-09-01 Silicon Motion Inc 立體影像擷取裝置以及其控制晶片
TWI441093B (zh) * 2010-10-29 2014-06-11 Altek Corp 立體影像產生方法及立體成像系統
CN102469323B (zh) * 2010-11-18 2014-02-19 深圳Tcl新技术有限公司 一种2d图像转3d图像的方法
JP4892098B1 (ja) * 2010-12-14 2012-03-07 株式会社東芝 立体映像表示装置及び方法
CN102036094B (zh) * 2010-12-30 2012-02-01 浙江大学 一种基于数字分数延时技术的立体匹配方法
US9582144B2 (en) * 2011-01-20 2017-02-28 Blackberry Limited Three-dimensional, multi-depth presentation of icons associated with a user interface
US9288476B2 (en) 2011-02-17 2016-03-15 Legend3D, Inc. System and method for real-time depth modification of stereo images of a virtual reality environment
US9282321B2 (en) 2011-02-17 2016-03-08 Legend3D, Inc. 3D model multi-reviewer system
US9407904B2 (en) 2013-05-01 2016-08-02 Legend3D, Inc. Method for creating 3D virtual reality from 2D images
US9519994B2 (en) * 2011-04-15 2016-12-13 Dolby Laboratories Licensing Corporation Systems and methods for rendering 3D image independent of display size and viewing distance
CN103004217B (zh) * 2011-06-08 2016-08-03 松下知识产权经营株式会社 视差图像生成装置、视差图像生成方法、程序及集成电路
TWI493505B (zh) * 2011-06-20 2015-07-21 Mstar Semiconductor Inc 影像處理方法以及影像處理裝置
US20130222422A1 (en) * 2012-02-29 2013-08-29 Mediatek Inc. Data buffering apparatus capable of alternately transmitting stored partial data of input images merged in one merged image to image/video processing device and related data buffering method
US9547937B2 (en) 2012-11-30 2017-01-17 Legend3D, Inc. Three-dimensional annotation system and method
US10013940B2 (en) * 2012-12-31 2018-07-03 Nvidia Corporation Method and apparatus to reduce panel power through horizontal interlaced addressing
CN105191287B (zh) * 2013-03-08 2019-06-21 迪基特阿雷纳股份公司 替换视频流中的对象的方法及计算机程序
US9438878B2 (en) 2013-05-01 2016-09-06 Legend3D, Inc. Method of converting 2D video to 3D video using 3D object models
CN103324802A (zh) * 2013-06-27 2013-09-25 苏州创智宏云信息科技有限公司 一种cad模型空间转换方法
US9823728B2 (en) 2013-09-04 2017-11-21 Nvidia Corporation Method and system for reduced rate touch scanning on an electronic device
US9881592B2 (en) 2013-10-08 2018-01-30 Nvidia Corporation Hardware overlay assignment
KR20150108994A (ko) * 2014-03-18 2015-10-01 삼성디스플레이 주식회사 표시 장치 및 그 구동 방법
US10122992B2 (en) 2014-05-22 2018-11-06 Disney Enterprises, Inc. Parallax based monoscopic rendering
CN104536145B (zh) * 2015-01-21 2017-06-27 深圳市华星光电技术有限公司 2d/3d可切换显示装置
US9609307B1 (en) 2015-09-17 2017-03-28 Legend3D, Inc. Method of converting 2D video to 3D video using machine learning
JP2019029875A (ja) * 2017-07-31 2019-02-21 パナソニックIpマネジメント株式会社 画像処理装置、カメラ装置及び画像処理方法
US10726526B1 (en) * 2018-05-31 2020-07-28 Deeplook, Inc. Digital image analysis and display system using radiographic attenuation data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0591545A (ja) * 1991-09-30 1993-04-09 Toshiba Corp 立体画像記録再生システム
JPH1051812A (ja) * 1996-08-07 1998-02-20 Sanyo Electric Co Ltd 2次元映像を3次元映像に変換する装置および方法
JP2001298753A (ja) * 2000-04-11 2001-10-26 Sanyo Electric Co Ltd 2次元映像を3次元映像に変換する方法
JP2002123842A (ja) 2000-10-13 2002-04-26 Takumi:Kk 立体視画像生成装置および情報記憶媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0829734A (ja) 1994-07-18 1996-02-02 Sony Corp 表示装置の光源
WO1998004087A1 (fr) * 1996-07-18 1998-01-29 Sanyo Electric Co., Ltd. Dispositif et procede pour convertir des signaux video bidimensionnels en signaux video tridimensionnels
WO2001039512A1 (en) 1999-11-26 2001-05-31 Sanyo Electric Co., Ltd. Device and method for converting two-dimensional video to three-dimensional video
KR20030062313A (ko) * 2000-08-09 2003-07-23 다이나믹 디지탈 텝스 리서치 피티와이 엘티디 영상 변환 및 부호화 기술

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0591545A (ja) * 1991-09-30 1993-04-09 Toshiba Corp 立体画像記録再生システム
JPH1051812A (ja) * 1996-08-07 1998-02-20 Sanyo Electric Co Ltd 2次元映像を3次元映像に変換する装置および方法
JP2001298753A (ja) * 2000-04-11 2001-10-26 Sanyo Electric Co Ltd 2次元映像を3次元映像に変換する方法
JP2002123842A (ja) 2000-10-13 2002-04-26 Takumi:Kk 立体視画像生成装置および情報記憶媒体

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7268747B2 (en) 2002-09-17 2007-09-11 Sharp Kabushiki Kaisha Electronics with two and three dimensional display functions
US8384773B2 (en) * 2004-04-01 2013-02-26 Hewlett-Packard Development Company, L.P. Method and system for displaying an image in three dimensions
EP1734397A1 (en) * 2004-04-02 2006-12-20 Kazunari Era Projection display and projection display system
NO340256B1 (no) * 2004-04-02 2017-03-27 Kazunari Era Projeksjonsdisplayanordning og projeksjonsframvisningsanordning
EP1734397A4 (en) * 2004-04-02 2011-04-06 Kazunari Era PROJECTION DISPLAY AND PROJECTION DISPLAY SYSTEM
US7945088B2 (en) 2004-09-10 2011-05-17 Kazunari Era Stereoscopic image generation apparatus
KR101463029B1 (ko) * 2008-12-24 2014-11-19 엘지디스플레이 주식회사 3차원 영상 구현을 위한 깊이 데이터 보정 장치
JP2010239177A (ja) * 2009-03-30 2010-10-21 Toppan Printing Co Ltd 画像生成方法
JP2014179995A (ja) * 2009-10-28 2014-09-25 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
US10313660B2 (en) 2009-10-28 2019-06-04 Sony Corporation Image processing apparatus, image processing method, and program
JP2015167362A (ja) * 2009-11-23 2015-09-24 三星電子株式会社Samsung Electronics Co.,Ltd. 3D映像の提供方法、3D映像の変換方法、GUI提供方法及びこれを適用した3Dディスプレイ装置、そして3D映像の提供システム{Methodforproviding3Dimage、methodforconverting3Dimage、GUIprovidingmethodrelatedto3Dimageand3Ddisplayapparatusandsystemforproviding3Dimage}
US8787655B2 (en) 2010-11-12 2014-07-22 Canon Kabushiki Kaisha Image processing apparatus and control method therefor
JP2013070127A (ja) * 2011-09-21 2013-04-18 Sharp Corp 立体画像表示装置
WO2013042392A1 (ja) * 2011-09-21 2013-03-28 シャープ株式会社 立体画像評価装置
JP2013157951A (ja) * 2012-01-31 2013-08-15 Jvc Kenwood Corp 画像処理装置、画像処理方法及び画像処理プログラム
JP2013149300A (ja) * 2013-05-09 2013-08-01 Casio Comput Co Ltd 距離情報補正装置、画像生成装置、距離情報補正方法、及び、プログラム
JP2019121216A (ja) * 2018-01-09 2019-07-22 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
JP7191514B2 (ja) 2018-01-09 2022-12-19 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム

Also Published As

Publication number Publication date
KR20050050094A (ko) 2005-05-27
KR100659206B1 (ko) 2006-12-19
CN1675937A (zh) 2005-09-28
EP1551190A1 (en) 2005-07-06
EP1551190A4 (en) 2008-06-04
JP4061305B2 (ja) 2008-03-19
JPWO2004019621A1 (ja) 2005-12-15
AU2003257611A1 (en) 2004-03-11
US7558420B2 (en) 2009-07-07
CA2496353A1 (en) 2004-03-04
CA2496353C (en) 2011-10-18
EP1551190B1 (en) 2018-08-08
US20050254702A1 (en) 2005-11-17
CN1675937B (zh) 2011-08-24

Similar Documents

Publication Publication Date Title
WO2004019621A1 (ja) 立体視用画像を作成する方法および装置
CN1745589B (zh) 用于立体图像的视频滤波
US6900799B2 (en) Filtering processing on scene in virtual 3-D space
KR101175554B1 (ko) 입체시 화상 생성 장치
EP3158536B1 (en) Method and apparatus for generating a three dimensional image
US9031356B2 (en) Applying perceptually correct 3D film noise
EP1204073A2 (en) Image generation method and apparatus
JP5238887B2 (ja) 多視点画像生成方法および装置
EP1019873A1 (en) Image processing method and apparatus
JPH04504333A (ja) 2次元画像を3次元画像に変換する方法
JP2007533022A (ja) 2.5dグラフックスをレンダリングするためのゴースト・アーチファクト削減
CN111292389B (zh) 一种图像处理的方法和装置
JP2005079704A (ja) 立体映像表示装置及びプログラム
TWI463434B (zh) 將2d影像形成3d影像之影像處理方法
CN115814415A (zh) 动态效果的模型渲染方法及装置、电子设备、存储介质
KR101438447B1 (ko) 3차원 자막 표시 장치 및 그 방법
JP2012142852A (ja) 擬似立体画像生成装置、擬似立体画像生成プログラム及び擬似立体画像表示装置
KR20170069134A (ko) 저전력 모드를 위한 영상 처리 방법 및 장치
JP2005275791A (ja) 画像生成方法、立体視用印刷物、プログラム及び情報記憶媒体
AU8964598A (en) Image processing method and apparatus

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004530576

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 10525033

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2496353

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 20038196018

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 1020057002869

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2003792736

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020057002869

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2003792736

Country of ref document: EP