WO2003103278A1 - 画像処理装置および方法、プログラムおよびプログラム記録媒体、並びにデータ構造およびデータ記録媒体 - Google Patents

画像処理装置および方法、プログラムおよびプログラム記録媒体、並びにデータ構造およびデータ記録媒体 Download PDF

Info

Publication number
WO2003103278A1
WO2003103278A1 PCT/JP2003/006982 JP0306982W WO03103278A1 WO 2003103278 A1 WO2003103278 A1 WO 2003103278A1 JP 0306982 W JP0306982 W JP 0306982W WO 03103278 A1 WO03103278 A1 WO 03103278A1
Authority
WO
WIPO (PCT)
Prior art keywords
image data
pixel
data
image
point
Prior art date
Application number
PCT/JP2003/006982
Other languages
English (en)
French (fr)
Inventor
近藤 哲二郎
田中 健司
芳賀 継彦
Original Assignee
ソニー株式会社
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 ソニー株式会社 filed Critical ソニー株式会社
Priority to US10/485,577 priority Critical patent/US7831086B2/en
Priority to EP03733258A priority patent/EP1511300A4/en
Priority to KR1020047001647A priority patent/KR100967826B1/ko
Publication of WO2003103278A1 publication Critical patent/WO2003103278A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/12Panospheric to cylindrical image transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Definitions

  • Image processing apparatus and method program and program recording medium, and data structure and data recording medium
  • the present invention relates to an image processing apparatus and method, a program and a program recording medium, and a data structure and a data recording medium, for example, an image processing apparatus and method for displaying an image corresponding to a user's viewpoint,
  • the present invention relates to a program, a program recording medium, a data structure, and a data recording medium.
  • a conventional display using, for example, a CRT (Cathod Ray Tube), a liquid crystal panel, or a projector for example, an image captured by a video camera (hereinafter, also simply referred to as a camera as appropriate) is displayed. As shown in Fig. 1, the image was only a view from the camera position as a viewpoint.
  • a CTR Cathod Ray Tube
  • a liquid crystal panel liquid crystal panel
  • a projector for example, an image captured by a video camera (hereinafter, also simply referred to as a camera as appropriate) is displayed.
  • a video camera hereinafter, also simply referred to as a camera as appropriate
  • the image displayed on the display remains at the lens center of the camera (hereinafter referred to as the camera (It is also called the viewpoint), and the image displayed on the display did not change according to the change of the user's viewpoint.
  • the camera It is also called the viewpoint
  • zebra imaging As a method of displaying an image in which the image displayed on the display changes according to the viewpoint of the user, for example, there is a method called zebra imaging.
  • zebra imaging is a holographic method. Since the image displayed by zebra imaging is a hologram, it takes a great deal of computation and time to create it.
  • a CAVE method of the University of Illinois, etc. As another display method of an image in which an image displayed on a display changes according to a user's viewpoint, for example, a CAVE method of the University of Illinois, etc., is used.
  • a VR Virtual Reality
  • IPT Immersive Projection Technology
  • IPD Immersive Projection Display
  • the target image is CG (Computer Graphics), and it is difficult to target a so-called real image picked up by a video camera. Disclosure of the invention
  • the present invention has been made in view of such a situation, and is intended to easily change an actual photographed image according to a user's viewpoint.
  • the first image processing apparatus uses the trajectory of a light ray at the time of capturing the first image data and light ray information that is a pixel value corresponding to the light ray to convert the first image data into a user image. It is characterized by having a conversion means for converting into second image data that can be seen from the viewpoint.
  • the first image processing method of the present invention uses the trajectory of a light ray when capturing the first image data and light ray information, which is a pixel value corresponding to the light ray, to convert the first image data to a user's A conversion step of converting the image data into second image data that can be seen from the viewpoint.
  • the first program of the present invention uses the trajectory of a light ray when capturing the first image data and light ray information that is a pixel value corresponding to the light ray to convert the first image data into a viewpoint of a user.
  • the first program recording medium stores the first image data by using a trajectory of a light ray when the first image data is captured and light ray information that is a pixel value corresponding to the light ray.
  • a program having a conversion step of converting the image data into second image data that can be viewed from the viewpoint of the present invention.
  • the second image processing apparatus converts the image data into a pixel value at an intersection of a light ray incident on the predetermined pixel and a plane perpendicular to the light ray and passing through a predetermined point. It is characterized by comprising a conversion means for converting into intermediate data which is image data in the form of pixel values.
  • the image data is obtained by calculating a pixel value at an intersection between a light ray incident on the predetermined pixel and a plane perpendicular to the light ray and passing through a predetermined point, by calculating the pixel value of the predetermined pixel.
  • the image processing apparatus further comprises a conversion step of converting the image data into intermediate data which is image data having pixel values.
  • a pixel value at an intersection of a light beam incident on the predetermined pixel and a plane perpendicular to the light beam and passing through a predetermined point is defined as a pixel value of the predetermined pixel.
  • the second program recording medium is a computer-readable storage medium storing the image data at a pixel value at an intersection of a light beam incident on the predetermined pixel and a plane perpendicular to the light beam and passing through a predetermined point, It is characterized in that a program having a conversion step of converting into intermediate data which is image data as a value is recorded.
  • an intersection of a light ray incident on a predetermined pixel constituting the original image data and a plane perpendicular to the light ray and passing through a predetermined point is defined as a pixel, and the pixel value of the pixel is determined as a predetermined value.
  • an intersection of a light ray incident on a predetermined pixel constituting the original image data and a plane perpendicular to the light ray and passing through a predetermined point is defined as a pixel, and the pixel value of the pixel is
  • the image data is recorded as a pixel value of a predetermined pixel.
  • a third image processing apparatus includes: an intermediate data output unit that outputs intermediate data of a predetermined format having a pixel value corresponding to a light beam from an object; and output position information of a viewpoint with respect to the object.
  • Viewpoint output means, and intermediate data conversion means for creating an object image from the viewpoint using the intermediate data It is characterized by the following.
  • an intermediate data output step of outputting intermediate data of a predetermined format having a pixel value corresponding to a light ray from an object, and position information of a viewpoint with respect to the object are output.
  • the method is characterized by comprising a viewpoint output step and an intermediate data conversion step of creating an image of an object from the viewpoint using the intermediate data.
  • An output step and an intermediate data conversion step of using the intermediate data to create an image of an object from a viewpoint are provided.
  • the third program recording medium of the present invention outputs an intermediate data output step for outputting intermediate data of a predetermined format having pixel values corresponding to light rays from an object, and viewpoint position information for the object.
  • the program is recorded with a viewpoint output step, and an intermediate data conversion step of creating an object image from the viewpoint using the intermediate data.
  • a trajectory of a light beam when the first image data is captured and light beam information that is a pixel value corresponding to the light beam are stored.
  • the first image data is converted into the second image data from the user's point of view.
  • the image data includes a light beam incident on the predetermined pixel and a plane passing through a predetermined point perpendicular to the light beam. Is converted to intermediate data which is image data in which the pixel value at the intersection with is a pixel value of a predetermined pixel.
  • an intersection of a light ray incident on a predetermined pixel constituting the original image data and a plane perpendicular to the light ray and passing through a predetermined point is defined as a pixel
  • the pixel value of the pixel is set as the pixel value of the predetermined pixel.
  • the image data may be a still image or a moving image. Further, the image data may be, for example, CG if the image data is live-action image data.
  • FIG. 1 is a diagram illustrating a conventional image display method.
  • FIG. 2 is a diagram illustrating a configuration example of an embodiment of an image display device to which the present invention is applied.
  • FIG. 3 is a block diagram illustrating an example of a hardware configuration of the computer 1.
  • FIG. 4A is a diagram illustrating a method of displaying an image by the image display device.
  • FIG. 4B is a diagram illustrating a method of displaying an image by the image display device.
  • FIG. 3 is a diagram illustrating a method of displaying an image by the image display device.
  • FIG. 5 is a block diagram showing a first functional configuration example of a computer as an image processing device.
  • FIG. 6 is a flowchart illustrating image processing performed by the image processing apparatus.
  • FIG. 7 is a block diagram illustrating a configuration example of an image generation device that captures (generates) image data stored in the image database 2.
  • FIG. 8 is a flowchart illustrating an image generation process performed by the image generation device.
  • FIG. 9 is a diagram illustrating the motion-based method.
  • FIG. 10A is a diagram showing an example of motion-based movement.
  • FIG. 10B is a diagram showing an example of motion-based movement.
  • FIG. 11 is a diagram illustrating a turntable method.
  • FIG. 12 is a perspective view showing a configuration example of the camera 41.
  • FIG. 13 is a diagram showing omnidirectional image data.
  • FIG. 14 is a diagram illustrating a hyperboloid forming the light condensing section 52.
  • FIG. 15 is a diagram for explaining the positional relationship between the light collecting unit 52 and the imaging unit 53.
  • FIG. 16 is a diagram showing omnidirectional image data.
  • FIG. 17 is a diagram for explaining extraction from omnidirectional image data.
  • FIG. 18 is a diagram for explaining circumferential distortion.
  • FIG. 19 is a diagram for explaining radial distortion.
  • FIG. 20 is a diagram for explaining a method of removing distortion in the radial direction.
  • FIG. 21 is a diagram for explaining a method of removing distortion in the radial direction.
  • FIG. 22A is a diagram for explaining conversion of omnidirectional image data for removing distortion in the radial direction.
  • FIG. 22B is a diagram for explaining conversion of omnidirectional image data for removing radial distortion.
  • FIG. 23 is a diagram for explaining how to obtain a pixel value at a conversion target point.
  • FIG. 24 is a diagram illustrating a conversion principle for converting original image data into image data for presentation as viewed from a user.
  • FIG. 25 is a diagram illustrating a conversion principle for converting original image data into image data for presentation viewed from the user.
  • FIG. 26 is a diagram for explaining a method of converting original image data into intermediate data.
  • FIG. 27 is a flowchart illustrating image data conversion processing for converting original image data into intermediate data.
  • FIG. 28 is a diagram illustrating image data conversion processing for converting original image data into intermediate data.
  • FIG. 29A is a diagram showing the format of the intermediate data.
  • FIG. 29B is a diagram showing the format of the intermediate data.
  • FIG. 30 is a diagram showing image data as intermediate data.
  • FIG. 31A is a diagram illustrating interpolation of image data as intermediate data.
  • FIG. 31B is a diagram illustrating interpolation of image data as intermediate data.
  • FIG. 32 is a flowchart for explaining pixel value interpolation processing for interpolating image data as intermediate data.
  • FIG. 33 is a block diagram illustrating a configuration example of a class classification adaptive processing device that performs class classification adaptive processing.
  • FIG. 34 is a block diagram illustrating a configuration example of a learning device that learns tap coefficients used in the classification adaptive processing.
  • FIG. 35A is a diagram showing another format of the intermediate data.
  • FIG. 35B is a diagram showing another format of the intermediate data.
  • FIG. 36 is a flowchart illustrating the intermediate data conversion processing for converting the intermediate data into the image data for presentation.
  • FIG. 37 is a view for explaining the intermediate data conversion processing for converting the intermediate data into image data for presentation.
  • FIG. 38 is a block diagram illustrating a second functional configuration example of the computer 1 as an image processing device.
  • FIG. 39A is a diagram illustrating a conversion principle for converting original image data into presentation image data.
  • FIG. 39B is a diagram illustrating a conversion principle for converting original image data into presentation image data.
  • FIG. 40 is a flowchart illustrating image processing by the image processing apparatus.
  • FIG. 41 is a diagram illustrating a method of capturing the original image data stored in the image database 2.
  • FIG. 42 is a diagram illustrating a state in which the original image data is being captured while the camera is moving.
  • FIG. 43 is a diagram showing intermediate data composed of strip images.
  • FIG. 44 is a diagram illustrating an example of the original image data.
  • FIG. 45A is a diagram showing an example of image data as intermediate data.
  • FIG. 45B is a diagram showing an example of image data as intermediate data.
  • FIG. 45C is a diagram showing an example of image data as intermediate data.
  • FIG. 45D is a diagram showing an example of image data as intermediate data.
  • FIG. 45E is a diagram showing an example of image data as intermediate data.
  • FIG. 46 is a flowchart illustrating image data conversion processing for converting original image data into intermediate data.
  • FIG. 47 is a view for explaining image data conversion processing for converting original image data into intermediate data.
  • FIG. 48A shows the format of the intermediate data.
  • FIG. 48B is a diagram showing the format of the intermediate data.
  • FIG. 49 is a flowchart for explaining pixel value interpolation processing for interpolating image data as intermediate data.
  • FIG. 50 is a flowchart illustrating an intermediate data conversion process for converting intermediate data into presentation image data.
  • FIG. 51 is a diagram illustrating an intermediate data conversion process of converting intermediate data into image data for presentation.
  • FIG. 52 is a block diagram illustrating a third functional configuration example of the computer 1 as an image processing device.
  • FIG. 53 is a diagram for explaining a method for obtaining the imaging conditions.
  • FIG. 54 is a flowchart illustrating an imaging condition calculation process for estimating an imaging condition.
  • FIG. 2 shows a configuration example of an embodiment of an image display device to which the present invention is applied.
  • the c computer 1 is, for example, a workstation, and original image data stored in an image database 2 will be described later. Convert to intermediate data, intermediate database Store it in 3. Further, the computer 1 controls the receiver 4 and the transceiver 5 as position sensors, and detects the position (and, if necessary, the posture) of the user based on the output of the receiver 4. Further, the computer 1 sets the position of the user as the position of the viewpoint of the user, and converts the intermediate data stored in the intermediate database 3 into image data viewed from the viewpoint of the user (hereinafter referred to as image data for presentation as appropriate). ). Then, the computer 1 supplies the image data for presentation to the display 6 for display.
  • the image database 2 stores original image data as actual image data captured by an imaging device such as a camera, as described later.
  • the intermediate database 3 stores intermediate data obtained by converting the original image data supplied from the computer 1.
  • the receiver 4 is mounted on a user, detects a magnetic field generated by the transmitter 5, and supplies the intensity of the magnetic field to the computer 1.
  • the transmitter 5 generates a magnetic field under the control of the computer 1. That is, in the embodiment of FIG. 2, the receiver 4 and the transmitter 5 constitute a magnetic field sensor as a position sensor, and the receiver 4 measures the intensity of the magnetic field generated by the transmitter, thereby obtaining the receiver. The position 4 and thus the position of the user are detected.
  • the receiver 4 is mounted on, for example, the head of the user.
  • the receiver 4 can be mounted on the tie pin or the frame of the glasses.
  • the magnetic field sensor as a position sensor, for example, a three-dimensional position sensor manufactured by Polhemus can be used.
  • a mechanical link type position measuring means for example, a three-dimensional digitizer
  • the position sensor for example, a unit that can input a change in the position of the user, such as a joystick or a trackball, can be employed.
  • the position sensor needs to be a means for detecting the actual position of the user.
  • a means that can input the position of a virtual user may be used.
  • the display 6 is composed of, for example, a CRT or a liquid crystal panel, and displays presentation image data supplied from the computer 1.
  • FIG. 3 illustrates a hardware configuration example of the computer 1 in FIG.
  • the computer 1 is installed with a program for executing a series of processes described later.
  • the program can be recorded in advance on a hard disk 15 or ROM 13 as a recording medium built in the computer 1.
  • the program may be stored on a removable recording medium 21 such as a flexible disk, CD-ROM (Compact Disc Read Only Memory), MO (Magneto Optical) disk, DVD (Digital Versatile Disc), magnetic disk, or semiconductor memory. It can be stored (recorded) temporarily or permanently.
  • a removable recording medium 21 can be provided as so-called package software.
  • the program can be installed on the computer 1 from the removable recording medium 21 as described above, or can be wirelessly transferred from the download site to the computer 1 via an artificial satellite for digital satellite broadcasting.
  • the data is transferred to the computer 1 by wire, and the computer 1 receives the transferred program in the communication unit 18 and incorporates it into the computer 1 It can be installed on the hard disk 15 to be installed.
  • a network such as a LAN (Local Area Network) or the Internet
  • the computer 1 has a CPU (Central Processing Unit) 12 built therein.
  • An input / output interface 20 is connected to the CPU 12 via a bus 11, and the CPU 12 is connected to the CPU 12 via a keyboard, a mouse, a microphone, and the like by the user via the input / output interface 20.
  • the program stored in the read-only memory (R0M) 13 is correspondingly input.
  • the CPU 12 may execute a program stored on the hard disk 15, a program transferred from a satellite or a network, received by the communication unit 18 and installed on the hard disk 15, or a program stored in the hard disk 15.
  • the program read from the attached removable recording medium 21 and installed in the hard disk 15 is loaded into a RAM (Random Access Memory) 14 and executed. Accordingly, the CPU 12 performs the processing according to the flowchart described later or the processing performed by the configuration of the block diagram described later. Then, the CPU 12 outputs the processing result as necessary, for example, from an output unit 16 composed of a speaker or the like via an input / output interface 20 or a communication unit 18. From the computer, and further, record it on the hard disk 15.
  • RAM Random Access Memory
  • the input / output interface 20 is connected to the image database 2, the intermediate database 3, the receiver 4, the transmitter 5, and the display 6. Then, the CPU 12 reads the original image data stored in the image database 2 via the input / output interface 20 and converts it into intermediate data. Further, the CPU 12 stores the intermediate data in the intermediate database 3 via the input / output interface 20. The CPU 12 controls the transmitter 5 via the input / output interface 20 and receives the output of the receiver 4 to detect the position of the user. Further, the CPU 12 sets the position of the detected user as the user's viewpoint, and converts the intermediate data stored in the intermediate database 3 into the image data for presentation in accordance with the viewpoint of the user. Convert. Further, the CPU 12 supplies the display image data 3 ⁇ 4 via the input / output interface 20 to the display 6 for display.
  • processing steps for describing a program for causing the computer 1 to perform various types of processing need not necessarily be performed in a time-series manner in the order described as a flowchart described below. However, it also includes processes that are executed in parallel or individually (for example, parallel processing or object-based processing). Further, the program may be processed by one computer, or may be processed in a distributed manner by a plurality of computers. Further, the program may be transferred to a remote computer via a network and executed.
  • the user when the user observes a certain subject, the user can move the viewpoint, and the user can observe the subject viewed from the viewpoint after the movement. Specifically, in the real world, as the user moves his / her viewpoint, the visible and invisible parts of the subject change.
  • the presentation image data displayed on the display 6 is changed in the real world according to the viewpoint.
  • the subject that appears in the visual of the subject is displayed. That is, in the image display device of FIG. 2, as shown in FIG. 4C, when the user moves the viewpoint, the presentation image data when the user views the subject from the viewpoint is displayed. I'm sorry.
  • the image display device of FIG. 2 when the user moves the viewpoint, for example, the presentation image data in which the part of the subject that cannot be seen from the viewpoint before the movement is visible is displayed. That is, when the user moves his / her viewpoint so as to look into the subject displayed in the image data for presentation on the display 6, it is similar to the case where the user looks in the real world when he / she views the subject from the viewpoint after the movement.
  • the image data for presentation that is, the image data for presentation in which the part of the subject that the user has looked into is displayed. From this, the image display device of FIG. 2 can be called a “television television” (multi-viewpoint image display television).
  • FIG. 5 illustrates an example of a functional configuration of an image processing apparatus that performs the same processing as that realized by the computer 1 of FIG. 3 executing a program.
  • the image processing apparatus that performs the same processing as the processing realized by (the CPU 12 of) the computer 1 executing the program includes a data conversion unit 30 and a sensor control unit 33.
  • the data conversion unit 30 is composed of an image data conversion unit 31 and an intermediate data conversion unit 32, and includes a trajectory of a light ray when capturing the original image data stored in the image database 2 and a pixel corresponding to the light ray. Using the light ray information as a value, the original image data is converted into presentation image data supplied from the sensor control unit 33 and viewed from the user's viewpoint, and supplied to the display 6 for display.
  • the data converter 31 reads the original image data from the image database 2 and geometrically converts it into intermediate data. Further, the data converter 31 supplies the intermediate data to the intermediate database 3 for storage.
  • the intermediate data conversion unit 32 converts the intermediate data into image data for presentation based on the user's viewpoint supplied from the sensor control unit 33, that is, reconstructs the image data from the user's viewpoint And supplies it to the display 6 for display.
  • the sensor control unit 33 detects the user's viewpoint by controlling the receiver 4 and the transmitter 5 as position sensors, and supplies the viewpoint to the intermediate data conversion unit 32. That is, the sensor control unit 33 generates a magnetic field by controlling the transmitter 5. Further, the sensor control unit 33 detects the position of the user based on the detection result of the magnetic field generated by the transmitter 5 supplied from the receiver 4, sets the position as the user's viewpoint, The data is supplied to the data converter 32.
  • the image processing by the image processing device (combiner) 1 in FIG. 5 will be described.
  • step S1 the data conversion unit 31 reads the original image data from the image database 2 and converts it into intermediate data. Further, in step S1, the data conversion unit 31 supplies the intermediate data to the intermediate database 3 for storage, and proceeds to step S2.
  • step S2 the sensor control unit 33 receives the position of the user from the output of the receiver 4.
  • the position of the user is set, and the position of the user is set to the viewpoint of the user, and is supplied to the intermediate data conversion unit 32.
  • step S3 the intermediate data conversion unit 32 converts the intermediate data into presentation image data based on the user's viewpoint supplied from the sensor control unit 33, and proceeds to step S4. .
  • step S4 the intermediate data conversion unit 32 supplies the image data for presentation to the display 6 for display, and proceeds to step S5.
  • step S5 for example, the CPU 12 (FIG. 3) determines whether or not the user has operated the input unit 17 (FIG. 3) so as to end the image processing. If it is determined in step S5 that the input unit 17 has not been operated so as to end the image processing, the process returns to step S2, and the same processing is repeated.
  • step S5 If it is determined in step S5 that the input unit 17 has been operated so as to end the image processing, the processing ends.
  • step S Step 1 can be skipped.
  • FIG. 7 shows an example of a configuration of an image generating apparatus that generates (imaging) original image data to be stored in the image database 2.
  • the camera 41 is constituted by, for example, a so-called omnidirectional camera, and captures omnidirectional image data (omnidirectional image data) including a subject under the control of the controller 47, and a buffer. 4 Feed to 2.
  • the buffer 42 temporarily stores the omnidirectional image data supplied from the camera 41.
  • the omnidirectional image conversion section 43 reads the omnidirectional image data stored in the buffer 42, converts the read omnidirectional image data into original image data expressed in latitude and longitude, and supplies the original image data to the buffer 44.
  • the buffer 44 temporarily stores the original image data supplied from the omnidirectional image converter 43.
  • the drive mechanism 45 moves the subject to be imaged by the camera 41 under the control of the drive mechanism control section 46.
  • the viewpoint (optical center) 1S of the camera 41 with respect to the subject is relatively changed to a plurality of positions.
  • the drive mechanism control section 46 drives the drive mechanism under the control of the controller 47.
  • the controller 47 controls the imaging timing of the camera 41, the driving speed and the driving direction of the driving mechanism 45 by the driving mechanism control unit 46, and the like. Further, the controller 47 stores information indicating the imaging timing (imaging time) of the camera 41 and the position of the subject moved by the drive mechanism 45 (including the posture of the subject as necessary). , Mux (multiplexer) 4-8.
  • the multiplexer 48 adds information output by the controller 47 for each frame of the original image data stored in the buffer 44 to the frame, and supplies the frame to the image database 2 for storage.
  • the controller 47 controls the camera 41 and the drive mechanism control unit 46 so as to move the subject to a predetermined position and take an image of the subject, and adjusts the predetermined position and the imaging timing of the subject.
  • the information to be represented is supplied to muX48.
  • the controller 47 sets, for example, a three-dimensional coordinate system (hereinafter, appropriately referred to as an imaging coordinate system) in the real world in advance, and sets the coordinates of the subject in the imaging coordinate system as the subject.
  • Output as position information (hereinafter referred to as position information as appropriate).
  • the controller 47 sets a certain posture of the subject (for example, a posture at the time of starting imaging of the subject) as a reference posture, and outputs an angle representing a change of the subject from the reference posture in the position information.
  • the controller 47 includes, in the position information, coordinates indicating the position of the camera 41 (for example, the position of the lens center) in the coordinate system at the time of imaging, and information indicating the optical axis direction (the direction of the line of sight). Output.
  • the position of the lens center (optical center) and the optical axis direction of the camera 41 are It is fixed without any change, but the position of the lens center and the optical axis direction of the camera 41 are set in the controller 47 in advance.
  • step S11 the drive mechanism control unit 46 changes the position of the subject by controlling the drive mechanism 45 in accordance with the control of the controller 47, and proceeds to step S12.
  • step S12 an image of the subject is taken in accordance with the control of the camera 41 and the controller 47, and the omnidirectional image data obtained as a result is supplied to the buffer 42 for storage.
  • step S13 the omnidirectional image converter 43 reads the omnidirectional image data stored in the buffer 42, converts the omnidirectional image data into the original image data expressed in latitude and longitude, and outputs the converted data to the Supply.
  • step S14 the mux 48 adds the information supplied from the controller 47 to the frame of the original image data stored in the buffer 44, and supplies the information to the image database 2 for storage. Let it.
  • step S15 the controller 47 determines whether or not the object has been moved to all the preset positions. If it is determined that the subject has not yet moved to all positions, the subject is moved to a position that has not been moved, and imaging is performed. In addition to controlling the camera 41 and the drive mechanism control unit 46, the muX 48 is supplied with information indicating the moving position of the subject and the imaging timing of the subject, and the like. Then, the process returns to step S11, and thereafter, the same processing is repeated.
  • step S15 the subject is moved to all the preset positions. If it is determined that the object has been moved, that is, if the image of the subject has been taken at all the preset positions, the processing ends.
  • the imaging is performed while moving the subject. In this case, it is necessary to control the position of the subject with high accuracy.
  • Examples of such a moving method of the subject include a motion-based method and a turntable method.
  • a motion base is used as the drive mechanism 45 as shown in FIG. Then, the subject is placed on the motion base as the drive mechanism 45. For example, the motion base is moved up, down, left, and right (toward the force camera 41) so that the subject moves in parallel.
  • FIG. 10B shows an actual motion-based trajectory.
  • the number displayed after TC: together with the motion-based trajectory indicates the time code of the image captured by the camera 41. Therefore, in FIG. 10B, since the motion-based trajectory and the time code are associated with each other, the correspondence between the position (posture) of the subject and the frame of the image data of the subject at that position is shown. Can be recognized.
  • the trajectory of the light beam and light beam information that is a pixel value corresponding to the light beam can be obtained.
  • the pixel value corresponding to the light beam from the subject can be obtained from the image data output by the camera 41, and the trajectory of the light beam from the subject can be obtained from the force camera 41 and the position of the subject.
  • the drive mechanism 45 A table (trolley) is used. Then, the subject is placed on the turntable as the drive mechanism 45, and the turntable is rotated at a constant angular velocity while moving upward or downward at a very low speed.
  • the subject is moved to capture image data obtained by viewing the subject from each of a plurality of viewpoints.
  • the camera is not moved.
  • moving 41 it is also possible to capture image data obtained by viewing the subject from a plurality of viewpoints.
  • a method other than the above may be used as long as omnidirectional image data of the subject can be acquired.
  • a single camera 41 is used to move a subject, so that image data of the subject viewed from each of a plurality of viewpoints is captured.
  • this method for example, by capturing an image of a subject using a plurality of cameras arranged at different positions, it is also possible to capture image data obtained by viewing the subject from a plurality of viewpoints.
  • an omnidirectional camera is employed as the camera 41.
  • the omnidirectional camera captures an image and the omnidirectional image converter 43 converts the omnidirectional image data. Will be described.
  • FIG. 12 shows a configuration example of an optical system of an omnidirectional camera as the camera 41 of FIG.
  • the camera 41 is configured by being supported by a condensing unit 52 force S and a support 51 disposed above the imaging unit 53. It is designed to be able to image in the direction of 360 degrees around 52.
  • the support 51 is made of a transparent material having a low reflectance, such as glass, so that incident light is orthogonal to the glass surface so as to minimize refraction of light on the glass surface. It is a spherical surface centered on the focal point.
  • the condensing unit 52 is formed of, for example, a hyperboloid-shaped mirror (hyperboloid mirror), and reflects ambient light incident through the support body 51 in the direction of the imaging unit 53.
  • the imaging unit 53 is configured by, for example, a photoelectric conversion element such as a CCD (Charge Coupled Device), and converts light incident thereon into image data as an electric signal.
  • the image data obtained by the imaging unit 53 is supplied as an output of the camera 41 to the buffer 42 of FIG.
  • FIG. 12 shows an example of omnidirectional image data captured by the camera 41 of FIG.
  • the omnidirectional image data is divided by the circumferences F1 and F2 of two circles centered on the center point C1.
  • the radius of the circumference F1 is larger than that of the circumference F2.
  • the omnidirectional image data includes a region R 1 inside the large circle F 1 and outside the small circle F 2, a region R 2 outside the large circle F 1, and a small circle R 2
  • the area surrounded by (the inner area) is composed of R3.
  • image data corresponding to the light from the surroundings reflected by the light-collecting unit 52 is captured.
  • the outer portion of the light collector 52 is imaged.
  • the imaging section 53 itself is imaged.
  • a plurality of buildings are imaged in the region R1, but the upper part of the building is imaged in a direction close to the circumference F1 and a direction close to the circumference F2. Then, the lower part of the building is imaged.
  • the light condensing part 52 is formed by a part of a hyperboloid, and is formed by cutting the hyperboloid with a surface perpendicular to the axis of the hyperboloid, to a convex surface of a convex leading portion of the hyperboloid, and a mirror surface. Is formed.
  • the condensing section 52 can use a bilobal hyperboloid, which is one of the hyperboloids.
  • the hyperboloid HI in the region of Z> 0 is used.
  • the Z axis is also referred to as the central axis or simply the axis of the hyperbola, as appropriate.
  • the bilobal hyperboloids H 1 and H 2 are represented by Expression (1).
  • the constants a and b are constants that define the shapes of the hyperboloids H 1 and H 2. That is, the constant b represents the distance from the origin O to the intersection of the hyperboloid H I (H 2) and the Z axis.
  • the constant a represents the radius of the circle drawn by the intersection of the plane passing through the intersection and parallel to the XY plane and the asymptotic plane A 1 of the hyperboloid H I (H 2).
  • the constant c is a constant that defines the position of the focal point of the hyperboloids H 1 and H 2.
  • the condensing unit 52 is composed of the hyperboloid H 1 as described in FIG.
  • the imaging unit 53 has the center axis (optical axis) of the lens coincident with the Z axis, and the lens center (the lens center of the camera 41). Are arranged to match.
  • the omnidirectional image data output by the imaging unit 53 is as shown in FIG. 13 described above.
  • the omnidirectional image data as shown in FIG. Is defined as the origin O, and the X-axis is defined from left to right, and the y-axis is defined from top to bottom.
  • the omnidirectional image converter 43 in FIG. The pixel value to be converted and the pixel value forming the region R3 represented by the equation (4) are converted into a value (for example, 0) that cannot be generally taken as a pixel value.
  • the conversion of the pixel value requires the coordinates (X., Y.) of the center point C 1 and the radii r F1 and r F2 , and these information are obtained from the camera 41 in the buffer.
  • the data is supplied to an omnidirectional image conversion unit 43 via 42.
  • the exposure time, aperture, and zoom are fixed.
  • the omnidirectional image data which is the image data of the region R1 shown in FIGS. 13 and 16 includes a part of the omnidirectional image data such as a portion where a desired subject is displayed. In some cases, only the minute is required. In this case, it is necessary to cut out the necessary part from the omnidirectional image data.
  • This exclusion is performed by the omnidirectional image conversion unit 43. That is, as shown in FIG. 17, the omnidirectional image converter 43 converts the two radial lines L cl and L c2 in the region R 11 1 including the desired subject and passing through the center point C 1.
  • the image data of the substantially fan-shaped region R 11 1 which is surrounded and surrounded by two circles F cl and F c2 centered on the center point C 1 is cut out.
  • the omnidirectional image data becomes narrower as it approaches the center point C1, and conversely, becomes wider as it moves away from the center point C1. It has such distortion.
  • Such image data having distortion is processed by the image processing apparatus in FIG. In doing so, it is necessary to convert it to a distortion-free one.
  • the distortion of the above-described omnidirectional image data output by the camera 41 should be considered separately in the circumferential direction of the circle passing through the center point C1 and in the radial direction. Can be.
  • the scale is constant on the circumference of a circle centered on the center point C1 in the omnidirectional image data shown in Figs. 13 and 16. Therefore, there is no distortion.
  • FIG. 18 shows the hyperboloid H1 as the light converging section 52 viewed from the Z-axis direction.
  • a ray r is incident from a point P (X, ⁇ , Z) on the subject toward the Z-axis so as to form an angle 0 with the X-axis (XZ plane).
  • This ray r is reflected by the hyperboloid HI and reaches a point p (x, y) on the light receiving surface (image plane) (virtual screen) A3 of the imaging unit 53 shown in FIG. I do.
  • the point p (x, y) forms the same angle ⁇ with the X axis (XZ plane) as the ray r makes with the X axis.
  • the rays r and r' have different positions on the light receiving surface A3, but only at the same distance from the Z axis. Light is received at a distant point.
  • each of a plurality of light rays having the same elevation angle with respect to the Z axis is a point on the light receiving surface A3 at the same distance from the Z axis, and the light ray and the X axis come together with the X axis. Is received at a point that forms the same angle as.
  • a plurality of light beams having the same elevation angle with respect to the Z axis and the same angle with the X axis are incident on the light receiving surface A 3 on the circumference around the Z axis at equal intervals.
  • no distortion occurs in the circumferential direction of a circle centered on the center point C1, which is the intersection of the light receiving surface A3 and the Z axis.
  • the scale becomes smaller as the distance from the center point C1 decreases, and the distance from the center point C1 decreases. Since the scale becomes large, the omnidirectional image data has radial distortion.
  • FIG. 19 shows a hyperboloid H1 as the light converging section 52 viewed from the X-axis direction.
  • the light ray rl incident toward the focal point f1 at an elevation angle of 0 degree with respect to the Z axis is reflected by the hyperboloid HI, proceeds toward the focal point f2, and receives the light receiving surface of the imaging unit 53 ( Image plane) Received at A3.
  • the elevation angle with respect to the Z axis means an angle formed by a plane passing through the focal point i l on the Z axis and parallel to the ⁇ plane and a light ray incident toward the focal point f 1.
  • the light receiving surface A3 of the imaging section 53 is located in the origin O direction away from the focal point f2 by f along the Z axis, where f is the focal length of the camera 41.
  • the ray r 2 which is incident on the focal point f 1 at an elevation angle A d degrees with respect to the Z axis, is The light is reflected by HI, travels toward the focal point f2, and is received by the light receiving surface A3.
  • a ray r3 entering the focal point f1 at an elevation angle 2 Ad degrees with respect to the Z axis is reflected by the hyperboloid HI, travels toward the focal point ⁇ 2, and is received by the light receiving surface A3.
  • Light rays r 4, r 5, and r 6 whose elevation angles increase by Ad degrees are similarly received by the light receiving surface A 3.
  • the intervals between the points at which the light rays r1 to r6 whose elevation angles differ by ⁇ d degrees are received by the light receiving surface A3 are not evenly spaced as shown in the enlarged view of FIG.
  • the distance between points closer to the Z axis becomes narrower (the distance between points away from the Z axis becomes wider).
  • the distance between rays with a large elevation angle becomes narrower (the distance between rays with a small elevation angle becomes wider).
  • the radial distortion is included in the omnidirectional image data. Occurs.
  • This light beam r is reflected on the hyperboloid H1 as the light condensing section 52, proceeds toward the focal point f2, and is received on the light receiving surface A3, as in the case described with reference to FIG.
  • the angle between the light beam r toward the focal point f 2 and the plane passing through the focal point f 2 and parallel to the XY plane is defined as ⁇ degrees.
  • the coordinates of a point (light receiving point) p at which the light ray r is received by the light receiving surface A 3 are represented by (x, y), and Let R be the distance between p (X, y) and the Z axis.
  • the angle H in FIG. 20 can be expressed by the following equation by obtaining the coordinates of the point where the ray r is reflected on the hyperboloid H1 expressed by the equation (1).
  • Equation (5) From the force, ta ⁇ can be obtained by the following equation.
  • equation (9) is obtained.
  • equation (12) is obtained.
  • the angle ⁇ can be obtained by the following equation.
  • the angle ⁇ is obtained by the equation (15), and the equation (17) is calculated using the angle ⁇ .
  • the force of the ray r incident on the focal point f1 The distance R of the point p (X, y) received on the light receiving surface A3 from the Z axis can be calculated.
  • a predetermined range of the elevation angle with respect to the Z axis (for example, 0 to 80 degrees) is divided into equal angles Ad, and light rays incident at each elevation angle Ad, 2 Ad, 3 d,.
  • Ad elevation angle
  • Ad elevation angle
  • Ad elevation angle
  • the omnidirectional image data conversion for removing the distortion is performed by the omnidirectional image converter 43 shown in FIG.
  • the omnidirectional image conversion unit 43 together with the omnidirectional image data having the above-described radial distortion from the camera 41 via the buffer 42,
  • the radius r F1 of the circle of the circumference F 1 and the radius r F2 of the circle of the circumference F 2 are received.
  • the omnidirectional image converter 43 calculates the circumference F 1 of the circle having the radius r F1 centered on the center point C 1 and the circumference F 2 of the circle having the radius r F2 centered on the center point C 1. in surrounded by regions R 1, centered on the center point C 1, above R pl, R p2, and ⁇ ⁇ 3 ⁇ ⁇ 'draw a plurality of concentric circles whose radius. Further, the omnidirectional image conversion unit 43 draws a plurality of straight lines passing through the center point C1, equally dividing the circumference of the plurality of concentric circles. Thereby, the omnidirectional image conversion unit 43 obtains a large number of intersections formed by a plurality of concentric circles and a plurality of straight lines in the region R1.
  • conversion target points the plurality of intersections formed by the above-described plurality of concentric circles and the plurality of straight lines.
  • the omnidirectional image conversion unit 43 arranges a large number of conversion target points existing in the region Rl1 such that adjacent points are at equal intervals as shown in FIG. 22B.
  • the omnidirectional image converters 43 are arranged at regular intervals corresponding to the arcs F11, F12, F13, F14, F15, and F16 in FIG. 22A.
  • the conversion target point P 11 which is the intersection of the arc F 14 and the straight line 5
  • the omnidirectional image data shows the outside view of the sphere reflected on the sphere. Therefore, for example, if the sphere surrounding the camera 41 is regarded as the earth, the image data obtained by the omnidirectional image converter 43 has vertical and horizontal axes corresponding to the latitude and longitude of the earth, respectively. It is what you do. Therefore, in the present embodiment, the omnidirectional image data output from the omnidirectional image converter 43 and from which the distortion has been removed is referred to as latitude-longitude representation image data. By the way, as described above, the omnidirectional image converter 43 converts (changes) the position of the conversion target point to convert the image data (omnidirectional image data) having the radial distortion into the distortion.
  • the conversion target point is, as described above, the intersection of the circle centered on the center point C1 and the straight line passing through the center point C1. is there. Therefore, the conversion target point does not always coincide with the pixel center of the pixels constituting the light receiving surface A 3 (FIGS. 19 and 20) of the imaging section 53 (FIG. 12), but rather generally coincides with the pixel center. Often not.
  • the omnidirectional image conversion unit 43 converts the pixel at the conversion target point before converting the position of the conversion target point. You need to find the value.
  • the omnidirectional image conversion unit 43 obtains the pixel value at the conversion target point, for example, as follows.
  • the omnidirectional image conversion unit 43 can be obtained by, for example, the following equation: the pixel value S s, the pixel value of the conversion target point p 1 1.
  • S a, S b, S c, S d represents the pixel PI, P 2, P 3, P 4 each pixel values.
  • hi and / 3 are values in the range of 0 to 1 corresponding to the position of the conversion target point p11.
  • the condensing unit 52 is configured by a hyperboloidal mirror.
  • a spherical mirror may be used for the condensing unit 52. It is.
  • an omnidirectional camera capable of capturing omnidirectional image data is employed as the camera 41, but other cameras, such as a video camera equipped with a fisheye lens, may be used as the camera 41. It is also possible to employ a camera or a general (normal) lens video camera.
  • the optical axis of the video camera is orthogonal If the center of gravity is a rectangular plane on the optical axis and the plane between the lens center of the video camera and the subject is a virtual screen, which is a virtual screen, each point on the subject Image data is formed on the virtual screen in which light rays entering the lens center from are captured. At that time, the light rays incident on the virtual screen are ideally not converted at all, so that the virtual screen, which is a two-dimensional plane, reflects the real-world situation, which is a three-dimensional space, as it were, It is projected on.
  • an omnidirectional camera or a video camera equipped with a fisheye lens can perform omnidirectional or wide-angle imaging, but the rays incident on the virtual screen undergo a so-called non-linear transformation.
  • an omnidirectional camera as shown in Figure 19, light rays are reflected by a hyperboloid mirror (a hyperboloid HI), and the virtual screen shows the distorted form of the real world situation.
  • the formed omnidirectional image data is formed.
  • the omnidirectional image converter 43 in FIG. 7 converts such distorted omnidirectional image data into image data in the same latitude and longitude representation as when captured by a general lens camera.
  • the image data in the latitude and longitude is captured by a camera with a general lens
  • the image data in the latitude and longitude includes all the images centered on the optical axis of the omnidirectional camera. Since the longitude direction is displayed, the virtual screen for a general lens camera has an infinite length in the horizontal direction (longitudinal direction).
  • the omnidirectional camera ideally captures the latitude direction from 0 to 190 degrees (in Fig. 19, the direction from any point below the XY plane to the origin). Therefore, if image data expressed in latitude and longitude is taken with a general lens camera, the virtual screen has an infinite length in the downward direction (negative latitude direction). It will be.
  • image data represented by latitude and longitude obtained by converting omnidirectional image data captured by an omnidirectional camera does not require all of the image data to be displayed on the image display device of FIG. That is, an image is displayed on the image display device of FIG. To do this, it is basically sufficient if there is a certain range of image data including the part where the subject of interest is shown in the image data expressed in latitude and longitude.
  • the image data in the range reflected on the virtual screen is cut out from the image data expressed in latitude and longitude, and the cut-out image data is processed. Shall be performed.
  • this cutout can be performed, for example, by the omnidirectional image conversion unit 43 in FIG.
  • the force camera 41 is assumed to be a general lens camera, and means the optical axis and the lens center of the general lens camera. And Therefore, as described above, with respect to the image data cut out from the image data in the latitude and longitude representation, assuming that the image data is captured by a camera with a general lens, the optical axis and lens of the camera are used.
  • the center is the optical axis of the camera 41 and the center of the lens.
  • the image data stored in the image database 2 is converted by the data conversion unit 30 so that, as described with reference to FIGS.
  • Image data viewed from the user's viewpoint that is, image data displaying a subject that can be seen by the user in the real world, is displayed on the display 6.
  • the data conversion unit 30 obtains the image data in which the subject that can be seen by the user in the real world is displayed based on the following principle.
  • the image database 2 stores the original image data of the latitude and longitude representation, which is output from the image generation device of FIG. 7 and is captured from a plurality of viewpoints (the viewpoints of the camera 41). This means that, as shown in FIG. 24, image data obtained by imaging a subject is stored in the image database 2 from a plurality of points on a certain curved surface ⁇ .
  • a viewpoint P is set at a position on the curved surface ⁇ on the opposite side of the subject, and the viewpoint P Consider an image that is visible when the subject is viewed from the camera.
  • the viewpoint P is set at a position where a straight line connecting the viewpoint P and an arbitrary point on the subject intersects the curved surface ⁇ .
  • image data obtained by capturing an object from an arbitrary point on the curved surface ⁇ is stored in the image database 2 and that the user In the space (medium) to be observed, the light beam goes straight and does not attenuate.
  • the trajectory of the light beam when the subject is viewed from the viewpoint P (the trajectory of the light beam entering the viewpoint P from the subject) can be represented by a straight line connecting the viewpoint P and each point on the subject. Since this ray always intersects with the curved surface ⁇ , the pixel value corresponding to the ray on the locus coincident with the ray (the same ray information as the ray information when the subject is viewed from the subject P) 1
  • the image database 2 always exists.
  • the pixel value corresponding to the ray going from the point R i on the subject to the viewpoint P corresponds to the ray going from the point R i on the subject to the point Q i on the curved surface ⁇ .
  • the pixel value corresponding to the pixel value corresponding to the light beam going from this point to the point Q i is stored in the image database 2.
  • the pixel value when the point R i on the object is viewed from the viewpoint P can be obtained from the image data captured using the point Q i on the curved surface ⁇ as the viewpoint.
  • the pixel value when looking at another point on the object from the viewpoint P can be obtained from the image data captured using the point on the curved surface ⁇ as the viewpoint. If there is image data captured from an arbitrary point as a viewpoint, the image data By selecting a pixel value corresponding to a ray having the same ray information as the ray information connecting the viewpoint P and the subject from the pixel values of the pixels constituting the data, image data obtained by viewing the subject from the viewpoint P is obtained. Will be done.
  • the shape of the curved surface ⁇ shown in FIG. 24 is not particularly limited, and any shape can be adopted. Therefore, the curved surface ⁇ may be a flat surface as shown in FIG.
  • the surface ⁇ may be an open surface or a closed surface. However, when the surface ⁇ is an open surface, the viewpoint P must be located at a position where a straight line connecting the viewpoint P and an arbitrary point on the object intersects the surface ⁇ as described above. There is.
  • the image data of the subject is obtained from an arbitrary point on the curved surface ⁇ as a viewpoint, but the viewpoint at the time of imaging the subject is a point not on the curved surface ⁇ . It may be. That is, for example, assuming that the curved surface ⁇ is a closed surface surrounding the object, in order to reconstruct an image viewed from an arbitrary position outside the closed surface, in principle, an arbitrary position on the closed surface It is sufficient that the ray information in all directions exists at the point of, and the ray information may be an image captured from a point on the closed surface as a viewpoint, or a point other than a point on the closed surface. It may be an image captured with the viewpoint as a viewpoint. This is the same even if the surface ⁇ is an open surface.
  • the data conversion unit 30 in FIG. 5 converts the ray information heading for the user's viewpoint out of the ray information passing through the predetermined curved surface ⁇ when the original image data stored in the image database 2 is imaged.
  • the original image data is converted into the presentation image data by reconstructing the presentation image data (image data viewed from the user's viewpoint). That is, the data conversion unit 30 in FIG.
  • An imaginary screen (virtual screen) is set between the user's viewpoint and the subject, and light rays having the same trajectory as a straight line connecting the user's viewpoint and the pixels of the virtual screen are detected.
  • the data conversion unit 30 sets the pixel value corresponding to the detected light beam as the pixel value of the pixel of the virtual screen, and performs the above processing for all the pixel values on the virtual screen, thereby obtaining the virtual screen.
  • the image data (image data for presentation) viewed from the user's viewpoint is reconstructed.
  • the viewpoint is placed on the closed surface.
  • the image information for presentation can be reconstructed using the ray information of the ray passing through a point on the closed curved surface that matches the viewpoint as it is.
  • the point at which the line connecting the viewpoint and the pixel on the virtual screen set for the viewpoint intersects the closed surface is defined as the point on all pixels on the virtual screen.
  • the CPU 12 constituting the computer 1 FIG. 3
  • the data conversion unit 30 converts the original image data stored in the image database 2 into an image of a predetermined format consisting of pixel values corresponding to the light rays incident on the pixels in the image data conversion unit 31.
  • the intermediate image data is converted into intermediate data, and the intermediate data converter 32 converts the intermediate data into image data for presentation from the user's viewpoint, thereby realizing the image data for presentation. It can be displayed in time.
  • the image data conversion unit 31 enters a predetermined pixel constituting the original image data.
  • Image data in which the pixel value at the intersection of the light beam and a plane perpendicular to the light beam and passing through a predetermined point is defined as the pixel value of a predetermined pixel of the original image data is generated as intermediate data.
  • the image data conversion unit 31 determines whether a spherical surface is a closed surface as the curved surface ⁇ . If a spherical surface is a closed surface as the curved surface ⁇ , and paying attention to a ray in a certain direction at a certain point Q on the spherical surface, the image data conversion unit 31 Then, on the plane ⁇ passing through the origin and passing through the origin and passing through the target ray on the plane ⁇ orthogonal to the target ray, a pixel ⁇ ⁇ is determined as a pixel, and the pixel value is set as the target ray. Is set to the pixel value corresponding to.
  • pixels and their pixel values are set on the plane in the same manner for light rays in the same direction at points other than the point Q on the spherical surface.
  • Forms image data consisting of pixel values corresponding to light rays in the same direction.
  • a vector obtained by projecting the vector V onto the xy plane in the three-dimensional coordinate system is represented as a vector v ′, and the angle ⁇ ⁇ between the vector V and the V ′ is represented by a latitude.
  • the angle ⁇ at which the X-axis and the vector V 'come together is referred to as longitude.
  • the direction of vector V is defined by latitude ⁇ and longitude ⁇ .
  • Image data consisting of pixel values at positions corresponding to light rays in the same direction as the vector V is formed on the above-mentioned plane ⁇ , but the image data formed on this plane ⁇ is This is image data when viewing infinity in the direction as a viewpoint.
  • the data conversion unit 31 composes similar image data on a plane orthogonal to the vector V in the direction defined by the latitude ⁇ and longitude ⁇ of each value and passing through the origin, and outputs it as intermediate data .
  • the image data conversion unit 31 of FIG. 5 performs the image data conversion processing performed in step S1 of FIG. 6, that is, converts the original image data into intermediate data.
  • the process of converting to is described.
  • the image data conversion unit 31 reads from the viewpoint of the camera 41 when capturing the original image data stored in the image database 2 (hereinafter, also referred to as an imaging point as appropriate). , Featured imaging point P. Select the one to be used.
  • the camera 41 is fixed, and the original image data is captured while moving the subject. This is relatively performed by fixing the subject. This is equivalent to capturing the original image data while moving the camera 41. That is, the original image data is obtained by imaging the subject while changing the viewpoint (imaging point) of the camera 41. In step c21 where many imaging points exist, the number of the imaging points is large. From among them, an arbitrary imaging point that has not yet been set as the target imaging point is selected as the target imaging point Pc .
  • the image database 2 includes, as described above, each frame of the original image data, information indicating the position of the subject when the original image data was captured, the position of the camera 41, and the optical axis direction.
  • the data conversion unit 31 determines, for example, the position of the camera 41 when the position (including the posture) of the subject in the coordinate system at the time of imaging is fixed for the original image data of each frame.
  • the imaging point of interest P is determined from the imaging points that have not yet been taken as the attention imaging point. Select as
  • step S22 the image data conversion unit 31 sets a virtual screen for the target imaging point Pc , and selects a pixel on the virtual screen that has not yet been selected as the target pixel. , it is selected as the pixel of interest P s.
  • the image data conversion unit 31 moves the target imaging point Pc away from the target imaging point by a predetermined distance L in the optical axis direction of the camera 41. Then, a rectangular plane orthogonal to the optical axis of the camera 41 is set as a virtual screen. Then, the image data conversion unit 3 1, among the pixels on the virtual disk Lean, for example, in a raster scan order, the picture element that has not been set the pixel of interest is selected as the target pixel P s.
  • the optical axis direction of the camera 41 at the target imaging point is recognized from the information stored in the image database 2.
  • the number of pixels in horizontal and vertical virtual screen coincides respectively horizontal and vertical number of pixels of a frame of original image data captured from the target imaging point P s, the virtual SCREEN, target image-captured considered to original image data captured from the point P s is displayed.
  • Step S 2 2 of the processed the process proceeds to Step S 2 3, the image data conversion unit 3 1, and starting from the pixel of interest P s, obtains a base-vector V to the target image-captured Bointo P c as an end point, step S Proceed to 2 4.
  • the vector V is a vector in the Xz plane in the coordinate system at the time of imaging, and has a direction of an angle ⁇ from the Xy plane in the z-axis direction. It is connected with. That is, in the embodiment of FIG. 28, the vector V has a latitude of 0 and a longitude of 0 degrees.
  • the optical axis of the camera 41 at the target imaging point Pc passes through the origin of the coordinate system at the time of imaging.
  • the optical axis of the camera 41 is not necessarily It is not necessary to pass through the origin of the coordinate system at the time of imaging.
  • FIG. 28 a closed spherical surface around the origin is shown as the curved surface ⁇ surrounding the subject.
  • step S24 the image data conversion unit 31 obtains a plane ⁇ orthogonal to the vector V and passing through the origin, for example, as a predetermined point on the coordinate system at the time of imaging, and proceeds to step S25.
  • the plane ⁇ does not necessarily need to pass through the origin.
  • step S25 the image data conversion unit 31 obtains the latitude ⁇ and longitude ⁇ of the vector V obtained in step S23, that is, the latitude 0, which is the angle between the vector V and the xy plane. , And the longitude ⁇ , which is the angle between the vector V and the Xz plane, is determined, and the flow advances to step S26.
  • the latitude 0 and longitude ⁇ of the vector V are the flatness obtained in step S24. It can also be described as the latitude 0 and longitude ⁇ in the normal direction of the surface. Therefore, the plane ⁇ passing through the origin as a predetermined point can be specified by the latitude 0 and the longitude ⁇ , and the plane ⁇ specified by the latitude ⁇ and the longitude ⁇ is hereinafter referred to as the plane I Also described as ( ⁇ , ⁇ ).
  • the positive and negative sides of the ⁇ axis are positive or negative, respectively.
  • the positive side and the negative side of the y-axis are positive or negative, respectively.
  • step S 26 the image data conversion unit 3 1, as shown in FIG. 28, obtains a straight line L p connecting the attention IMAGING point P c and the target pixel P s. Further, in step S26, the image data conversion unit 31 obtains the intersection ⁇ of the straight line Lp and the plane ⁇ (I ( ⁇ , ⁇ )) obtained in step S24, and proceeds to step S27. advances, the point [rho chi, coordinates (x. of the upper flat surface alpha, determining the y J.
  • the coordinates (x a , y J) of the point P x on the plane ⁇ can be obtained as follows.
  • the X coordinate X ⁇ and the y coordinate y ⁇ of the point P x are calculated as v x 'OP s (or v x ⁇ OP 0 ) and v y ⁇ OP s (or v y ⁇ OPJ, respectively).
  • 'and' denote the inner product
  • OP s (OP c ) is the starting point of the coordinate system at the time of imaging
  • the pixel of interest P s (the imaging point P c ) is the end point. Represents the vector to perform.
  • the optical axis of the camera 41 from the target imaging point ⁇ is the origin of the coordinate system at the time of imaging. If the point does not pass, for example, the coordinates of the point ⁇ ⁇ ( ⁇ ⁇ , y J must be offset by the coordinates of the intersection of the optical axis and the plane ⁇ on the two-dimensional coordinate system on the plane ⁇ That is, as described above, when the coordinates (x a , y J) of the point P x on the plane ⁇ are obtained, the coordinates ( ⁇ ⁇ , y J of the point P x are represented by the target imaging point P c From the point of intersection between the optical axis of the camera 41 and the plane ⁇ , the light rays in the same direction passing through the imaging points at different points where the optical axis intersects the plane ⁇ are placed on the same plane.
  • a two-dimensional coordinate system in which the origin is located at a different position is defined.
  • the origin of the two-dimensional coordinate system defined on the same plane ⁇ is defined as a predetermined point, for example, imaging Camera 4 from the target imaging point ⁇ to fix to the origin of the time coordinate system If the optical axis 1 does not pass through the origin of the coordinate system at the time of imaging, the image data conversion unit 31 determines in step S27 that the two-dimensional point on the plane ⁇ at the intersection of the optical axis and the plane c by the amount of the coordinate system of coordinates, offsets the coordinates of the point [rho chi.
  • the image data conversion unit 3 1, the coordinates of a point [rho chi obtained in the manner described above, ( ⁇ ⁇ ', y " ') together represent the, camera from the target imaging point P. 4 If the coordinates of the intersection of the optical axis of 1 and the plane ⁇ in the two-dimensional coordinate system on the plane ⁇ are expressed as ( ⁇ êt 0 , y ⁇ 0 ), the coordinates (X, y) and ( ⁇ «., y ⁇ 0 ) and the coordinates ( ⁇ ⁇ '+ X ⁇ 0 , y ⁇ ' + yo 0 ) are finally obtained as the coordinates (x a , y J) of the point P x on the plane ⁇ .
  • step S 28 the image data conversion unit 3 1, the pixel value of the pixel of interest P s of the pixels constituting the original image data on the virtual screen, the pixel position of the point [rho chi on the plane ⁇ Pixel value.
  • step S 28 the image data conversion unit 3 1, the pixel value I (0 pixel position point P on the plane alpha, ⁇ ) ( ⁇ ⁇ , y J is set to the pixel value of the pixel of interest P s .
  • the pixel of interest P s is orthogonally projected on a plane I (0, ⁇ ) orthogonal to the vector V,
  • the pixel value of the pixel at the point ( (x a , y J) on the projected plane I ( ⁇ , ⁇ )
  • the pixel value of the target pixel P s is set as I ( ⁇ , ⁇ ) (x ⁇ , y J.
  • the pixel P x of the target pixel P s that is orthogonally projected on the plane I ( ⁇ ′ ⁇ ) is set.
  • Pixel value I ( ⁇ ,) (x a , y J 1S is intermediate data.
  • step S29 the image data conversion unit 31 determines whether or not all pixels (constituting the original image data) on the virtual screen set for the target imaging point P c have been set as target pixels. Is determined, and it is determined that there is a pixel that has not yet been set as the target pixel, the process returns to step S22, and the same processing is repeated. If it is determined in step S29 that all pixels on the virtual screen have been set as the pixel of interest, the process proceeds to step S30, where the image data conversion unit 31 transmits the original image data stored in the image database 2. It is determined whether or not the imaging points of all the frames of have been taken as the imaging points of interest.
  • step S30 if it is determined that among the imaging points of each frame of the original image data stored in the image database 2, there is still one that is not set as the target imaging point, the process returns to step S21, and The same processing is repeated.
  • step S30 If it is determined in step S30 that all the imaging points of each frame of the original image data stored in the image database 2 have been determined to be the attention imaging point, the process ends.
  • the image data conversion processing ideally, on the plane I ( ⁇ , ⁇ ) defined by the latitude 0 and longitude ⁇ of each value, the infinity in the direction specified by the latitude 0 and longitude ⁇ Image data when the subject is viewed from the camera is generated, and the image data is supplied to and stored in the intermediate database 3 as intermediate data.
  • FIG. 29A and FIG. 29B schematically show formats of intermediate data generated by the image data conversion processing of FIG.
  • the intermediate data generated by the image data conversion process in Fig. 27 is image data that reflects the subject viewed from infinity in the direction defined by its latitude ⁇ and longitude ⁇ on plane I ( ⁇ ,). And therefore exists for each value of latitude ⁇ ⁇ and longitude ⁇ Therefore, as shown in Fig. 29A, it can be represented by a table separated by the values of latitude ⁇ and longitude ⁇ (hereinafter referred to as a latitude and longitude table as appropriate).
  • the latitude ⁇ is in one-degree steps in the range of ⁇ 90 degrees to 90 degrees
  • the longitude ⁇ is in one-degree steps in the range of ⁇ 180 to 179 degrees.
  • the image data when the subject is viewed from infinity in the direction defined by each latitude 0 and each longitude ⁇ is registered in each cell of the latitude / longitude table. It has been done.
  • the number of steps of latitude ⁇ and longitude ⁇ is not particularly limited. Further, the step width of latitude 0 and longitude ⁇ may be constant or may be variable.
  • latitude 0 and longitude ⁇ can take only integer values
  • the calculation of the latitude ⁇ and longitude ⁇ ⁇ ⁇ ⁇ in the image data conversion processing of FIG. 27 is performed. , For example, rounded up, rounded down, or rounded.
  • Each square in the latitude and longitude table in Fig. 29A has image data when the subject is viewed from infinity in the direction defined by the latitude ⁇ and longitude ⁇ corresponding to the square, that is, the plane I ( ⁇ , ⁇ ), the pixel value of the pixel of the original image data that is orthogonally projected on the plane I ( ⁇ , ⁇ ) is defined for each X coordinate X ⁇ and each y coordinate y ⁇ of the two-dimensional coordinate system defined on the plane I ( ⁇ , ⁇ ). It is registered. That is, as shown in FIG. 29B, for example, as shown in FIG. 29B, each cell of the latitude / longitude table of FIG.
  • 29 ⁇ has the X coordinate X ⁇ of the two-dimensional coordinate system defined on the plane I ( ⁇ , ⁇ ).
  • a table demarcated by the value of the y-coordinate y ⁇ (hereinafter referred to as a pixel value table as appropriate) is registered, and the grid of the pixel value table has the X coordinate X ⁇ corresponding to the grid.
  • the pixel value p (x «, y J of the pixel of the original image data orthogonally projected on the point specified by the y coordinate yford is registered.
  • FIG. 2 9 B X l and yi are pixel plane I ( ⁇ , ⁇ ) of the original image data points are orthogonally projected on the minimum X-coordinate and y-coordinate, represents respectively.
  • X 2 and y 2 represent the maximum X and y coordinates, respectively, of the point at which the pixels of the original image data are orthogonally projected on the plane I ( ⁇ , ⁇ ).
  • the x-coordinate and the y-coordinate are in increments of one, but the increments are not particularly limited, as are the increments of latitude 0 and longitude ⁇ .
  • FIG. 30 shows a schematic diagram of image data when the subject is viewed from infinity, which is registered in each cell of the latitude and longitude table in FIG. 29A.
  • the subject is a basket containing fruits.
  • Image data registered at each cell in the latitude and longitude table in Fig. 29A when viewed from infinity has the same properties as image data itself captured by a camera located at infinity. Therefore, the same image processing (eg, edge emphasis or noise removal) is performed on the image data captured by the camera using its properties (eg, correlation). Can be applied.
  • edge emphasis or noise removal e.g., edge emphasis or noise removal
  • the image data composed of the pixel values in the pixel value table (FIG. 29B) registered in each cell of the latitude / longitude table of FIG. 29A is represented by latitude 0 and longitude ⁇ corresponding to the cell. Since it is composed of the pixel values of the pixels of the original image data orthogonally projected on the specified plane I ( ⁇ , ⁇ ), there is no pixel value depending on the original image data stored in the image database 2. There are cases.
  • the range of pixels of the original image data on the plane I is the orthogonal projection (hereinafter referred to as the effective range), as shown in FIG. 29 B, X coordinate X l to x 2 in a range of y coordinates are defined by yi to y 2. Then, the pixel value in this range is registered in the pixel value table.
  • the pixels of the original image data are not necessarily orthogonally projected, and there may be cases where the pixels of the original image data to be orthogonally projected do not exist.
  • the image data of the effective range that is, the pixel value table corresponding to the plane I ( ⁇ , ⁇ )
  • the image data composed of the pixel values in (FIG. 29B) is, for example, as shown in FIG. 31A, the pixel values of some of the pixels are missing.
  • the pixel values are missing in a stripe pattern shown in black.
  • the pixel value tape area (the image composed of the pixel values registered in), in which the pixel values shown in Fig. 31 (1) are missing, is converted to the form shown in Fig. 31B. It can be converted to a pixel value table with no missing pixel values.
  • the pixel value interpolation processing for the pixel value table can be performed, for example, as follows.
  • the missing pixel value I (6, ⁇ ) (x a , y ⁇ ) becomes the pixel value I ( ⁇ ', ⁇ ') ( It can be interpolated by x a and yj.
  • for example, is 0 ⁇ 1 ⁇ 0 ⁇ 2 when longitude takes only integer values.
  • the pixel value interpolation processing as described above can be performed, for example, by the image data conversion unit 31 after the image data conversion processing in FIG. 27 is completed.
  • step S41 an initial value is set to a variable 0 representing a latitude and a variable ⁇ representing a longitude in an image data conversion unit 31 and a plane I ( ⁇ , ⁇ ) is a variable X that represents the X coordinate of. And a variable y representing the y coordinate.
  • a variable 0 representing a latitude
  • a variable ⁇ representing a longitude
  • a plane I ( ⁇ , ⁇ ) is a variable X that represents the X coordinate of.
  • a variable y representing the y coordinate.
  • step S42 the image data conversion unit 31 transmits the intermediate data I ( ⁇ , ) ( x ⁇ ( y J Determines whether the pixel value is set.
  • a pixel value is set in the intermediate data I ( ⁇ , ⁇ ) (x a , y J, for example, before performing the image data conversion processing in FIG. 27.
  • a value that cannot be taken as a pixel value is set as an initial value in an array variable I ( ⁇ , ⁇ ) (x a , y J), and the value is set to I (0, ⁇ ) (x a , There is a way to do this depending on whether it is set to y a ).
  • Step S 4 2 intermediate data I ( ⁇ , ⁇ ) (x a, y a) , if it is determined that the pixel values are set, i.e., if the pixel value is not missing, the scan Tetsupu Skip S43 and S44 and go to step S45.
  • step S42 If it is determined in step S42 that the pixel value is not set in the intermediate data I (0, ⁇ ) (x a , y ⁇ ), that is, if the pixel value is missing, Proceeding to step S43, the image data conversion unit 31 determines the latitude ⁇ in the range of the distance ⁇ ′ ⁇ + ⁇ 0 and the longitude in the range of ⁇ ⁇ ′ ⁇ + ⁇ ⁇ . 'plane I ( ⁇ ,, ⁇ that will be defined in') phi point on (chi alpha, in the y J, the pixel value is to explore shall have been set (search).
  • ⁇ and ⁇ are small positive integer values.
  • step S44 the image data conversion unit 31 determines the intermediate data I ( ⁇ ′, ⁇ ′) (x a , y J values (x a , y J) in which the pixel values searched in step S 43 are set. the pixel value), missing the pixel value is intermediate data I ( ⁇ , ⁇ ) (X a, and set to y J, the flow proceeds to step S 45.
  • step S43 the latitude 0 in the range of ⁇ — ⁇
  • the image data conversion unit 31 outputs, for example, the absolute value of the latitude difference I 0 _ ⁇ , I and the longitude Choose the absolute value of the difference I ⁇ — ⁇ 'I with the smallest sum of squares, and select the selected I (0', ⁇ ') ( ⁇ ⁇ ) y J Is set to the intermediate data I (0, ⁇ ) (x «, y J. That is, data on the plane I (0 ',') close to the plane I ( ⁇ , ⁇ ) is missing Set to pixel value.
  • step S43 the plane I defined by the latitude ⁇ ′ in the range of ⁇ — ⁇ 0 00 + ⁇ 0 and the longitude ⁇ in the range of ⁇ — ⁇ ⁇ ⁇ ⁇ + ⁇ ⁇
  • step S44 the image data conversion unit 31 , I ( ⁇ , ⁇ ) from the points where the pixel values are set, search for the point (x «, y J which is closest to the point, and replace the pixel value set at that point with the point ( Set to x a and y J.
  • the pixel values are interpolated at points (xicide, y J) on the plane I (0, ⁇ ) where the pixel values are not set. And the pixel value at the point at which the pixel value was interpolated can further cause the pixel value at another point to be interpolated.
  • the interpolation flag indicating that the interpolation has been performed is added, and the pixel value at the point where the interpolation flag is added is not used for the interpolation (excluding the search target in step S43). ) There is a need.
  • step S 45 determines the image data conversion unit 3 1, the plane I ( ⁇ , ⁇ ) the variable y a which represents the y coordinate on is equality in y 2 is at its maximum value.
  • step S 46 determines the image data conversion unit 3 1 is to increment the y-coordinate y a by 1 Then, the process returns to step S42, and the same processing is repeated thereafter.
  • step S 45 the y-coordinate y a is, if it is determined to be equal to the maximum value y 2, the process proceeds to step S 47, the image data conversion unit 3 1, the y-coordinate y a, the minimum value of its Is reset to yi , and the process proceeds to step S48.
  • step S 48 it determines the image data conversion unit 3 1, the plane I (theta,) variables x a representative of the X coordinate on is equality in x 2 is at its maximum value.
  • step S48 the X coordinate x. Is not equal to the maximum value x 2 .
  • the process proceeds to step S 4 9, the image data conversion unit 3 1, the X-coordinate X Q and incremented by 1, the process returns to step S 4 2, and repeats similar processing.
  • step S 4 8 X coordinate chi alpha is, if it is determined to be equal to the maximum value X 2, the process proceeds to step S 5 0, the image data conversion unit 3 1, the X-coordinate chi alpha, As a Reset to the minimum value Xl and go to step S51.
  • step S51 the image data conversion unit 31 determines whether the variable representing the longitude is equal to the maximum value of 179 degrees. If it is determined in step S51 that the longitude ⁇ is not equal to the maximum value of 179 degrees, the process proceeds to step S52, where the image data conversion unit 31 increments the longitude ⁇ by 1. Then, returning to step S42, the same processing is repeated thereafter.
  • step S51 If it is determined in step S51 that the longitude is equal to the maximum value of 179 degrees, the process proceeds to step S53, where the image data conversion unit 31 calculates the longitude ⁇ by its minimum value. Yes-Reset to 180 degrees and go to step S54.
  • step S54 the image data conversion unit 31 determines whether or not the variable 0 representing the latitude is equal to its maximum value of 90 degrees. When it is determined in step S54 that the latitude and the maximum value are not equal to 90 degrees, the process proceeds to step S55, where the image data conversion unit 31 increments the contribution by one, and Returning to step S42, the same processing is repeated thereafter.
  • step S54 If it is determined in step S54 that the value is equal to 90 degrees, which is the maximum value of the latitude 0 force, the processing ends.
  • the pixel value interpolation processing is performed by the image data conversion unit 31.
  • the pixel value interpolation processing may be performed in other ways, for example, after the image data conversion processing in FIG. 27 is completed. It is also possible to have the data conversion section 32 (FIG. 5) perform the processing.
  • the interpolation is performed using the pixel values set at other points as the pixel values of the points where the pixel values are not set, so that the plane I Assuming that the true value of the image data formed on (0, ⁇ ) exists Then, the image data obtained by the pixel value interpolation processing basically does not match the true value.
  • the class classification adaptive processing includes a class classification processing and an adaptive processing.
  • the class classification processing classifies the data into classes based on their properties, and performs an adaptive processing for each class.
  • a description will be given of an example of the adaptive processing in which a low-quality image (hereinafter, appropriately referred to as a low-quality image) is converted into a high-quality image (hereinafter, appropriately referred to as a high-quality image).
  • a low-quality image hereinafter, appropriately referred to as a low-quality image
  • a high-quality image hereinafter, appropriately referred to as a high-quality image
  • the image data obtained by the pixel interpolation processing of FIG. 32 can be considered as a low-quality image having a lower image quality than the true value, and the true value is obtained by the pixel interpolation processing of FIG. It can be considered as a high quality image having higher quality than the image data obtained.
  • a certain high-quality image is used as teacher data, and a low-quality image obtained by deteriorating the image quality of the high-quality image is used as student data.
  • the prediction value E [y] of a pixel value y of that high definition pixel a set of several pixel values chi chi 2 low-quality pixel> ... ', predetermined tap coefficients ww 2, the ⁇ ⁇ ⁇
  • the predicted value E [y] can be expressed by the following equation.
  • the tap coefficient Wj for obtaining the predicted value E [y] close to the pixel value y of the high-quality pixel can be obtained by minimizing the square error of Eq. (24).
  • Equation (24) if the squared error of Equation (24) is differentiated by the tap coefficient Wj to be 0, that is, the tap coefficient Wj that satisfies the following equation is the predicted value E [y] that is close to the pixel value y of the high-quality pixel Is the optimum value.
  • V ⁇ Xi2Yi
  • Equation (30) Each normal equation in equation (28) equivalent to equation (30) should be obtained by preparing a certain number of sets of student data and teacher data yi. The same number as the number J of the tap coefficients Wj can be obtained. Therefore, solving equation (30) for the vector W (however, to solve equation (30), The matrix A in 30) needs to be regular), and the optimum tap coefficient Wj can be obtained. In solving equation (30), it is possible to use, for example, a sweeping method (Gauss-Jordan elimination method).
  • the adaptive processing is to obtain the predicted value E [y].
  • the adaptive processing is different from simple interpolation in that components included in high-quality images are not included in low-quality images, but are reproduced. That is, in the adaptive processing, as far as the equation (19) is viewed, for example, it looks the same as a simple interpolation using a so-called interpolation filter, but the tap coefficient w corresponding to the tap coefficient of the interpolation filter is Since it is obtained by learning using the data y, so to speak, it is possible to reproduce the components contained in the high-quality image. From this, it can be said that the adaptive processing has a so-called image creation action.
  • FIG. 33 shows a configuration example of a class classification adaptive processing device that performs the above-described class classification adaptive processing.
  • the classification adaptive processing device is built in, for example, the image data conversion unit 31 or the intermediate data conversion unit 32 shown in FIG. 5 and targets the intermediate data subjected to the pixel value interpolation processing shown in FIG. To perform the classification adaptation process.
  • the classification adaptive processing device is provided separately from the image data conversion unit 31 and the intermediate data conversion unit 32 in FIG. 5, and performs the pixel value interpolation processing in FIG. 32 stored in the intermediate database 3. Classification adaptation processing can be performed on the intermediate data that has been used.
  • the buffer 61 is supplied with intermediate data subjected to pixel value interpolation processing (hereinafter, appropriately referred to as interpolated intermediate data) as low-quality image data, and the buffer 61 is provided with low-quality image data supplied there.
  • the image data is temporarily stored.
  • the prediction tap extracting unit 62 sequentially sets pixels of high-quality image data (high-quality pixels) as true values of the intermediate data, which are to be obtained by the product-sum calculation unit 66 described later, as attention pixels. Then, the pixels (low-quality pixels) of the low-quality image data used for predicting the target pixel are extracted from the buffer 61 and used as prediction taps.
  • the prediction tap extracting unit 62 reads out, for example, some of the low image quality pixels located close to the position corresponding to the target pixel from the buffer 61 as prediction taps.
  • the prediction tap extracting unit 62 obtains the prediction tap for the pixel of interest
  • the prediction tap for the target pixel is supplied to the product-sum operation unit 66.
  • the prediction tap extracting unit 62 for example, in the plane I ( ⁇ ,) of the intermediate data as low-quality image data corresponding to the plane of the pixel of interest, a low-level pixel located closer to the position corresponding to the pixel of interest Some of the image quality pixels can be extracted as prediction taps. Further, the prediction tap extracting unit 62 sets a low level at a position close to the position corresponding to the pixel of interest on the plane I ( ⁇ ,, ⁇ ′) where the latitude ⁇ or the longitude ⁇ is slightly shifted from the plane I (6,). Some of the image quality pixels can also be extracted as prediction taps.
  • the class tap extracting unit 63 extracts, from the buffer 61, a low image quality pixel used for class classification for classifying the pixel of interest into any of several classes, and sets it as a class tap. .
  • the prediction tap obtained by the prediction tap extraction unit 62 and the class tap obtained by the class tap extraction unit 63 have the same tap structure. I do.
  • the prediction tap and the class tap can have independent (separate) tap structures.
  • the class tap for the pixel of interest obtained in the class tap extraction unit 63 is supplied to the class classification unit 64.
  • the class classification unit 64 classifies the pixel of interest based on the class tap from the class tap extraction unit 63, and outputs a class code corresponding to the class obtained as a result.
  • ADRC Adaptive Dynamic Range Coding
  • the pixel values of the pixels constituting the class tap are subjected to ADRC processing, and the class of the pixel of interest is determined according to the ADRC code obtained as a result.
  • Configure class tap based on Pixel is requantized to K bits. That is, the pixel value of each pixel forming the class taps, the minimum value ⁇ is subtracted, the subtraction value Ru is divided by DR / 2 K (quantized). Then, a bit sequence obtained by arranging the pixel values of the K-bit pixels constituting the class tap in a predetermined order is output as an ADRC code.
  • the pixel values of the pixels constituting the class tap are, after the minimum value MIN is subtracted, the maximum value MAX and the minimum value MIN.
  • the pixel value of each pixel is set to 1 bit (binarized). Then, a bit string in which the 1-bit pixel values are arranged in a predetermined order is output as an ADRC code.
  • the class classification unit 64 can output the pattern of the level distribution (pixel value distribution) of the pixels constituting the class tap as a class code as it is, but in this case, the class tap is If it is composed of N pixels and K bits are assigned to each pixel, the number of class codes output by the classifying unit 64 is ( 2N ) ⁇ , and This is a huge number exponentially proportional to the number of bits K.
  • the class classification section 64 it is preferable to perform the class classification after compressing the information amount of the class tap by the above-described ADRC processing, vector quantization, or the like.
  • the class code output by the class classification unit 64 is given to the coefficient storage unit 65 as an address.
  • the coefficient storage unit 65 stores tap coefficients obtained by performing a learning process in a learning device described later, and tap coefficients stored in an address corresponding to the class code output by the class classification unit 64.
  • the, c product-sum operation unit 6 6 for outputting the product-sum operation unit 6 6 acquires the prediction taps prediction tap extracting portion 6 2 outputs, and the tap coefficients output by the coefficient storage unit 6 5, the prediction
  • the linear prediction operation (product-sum operation) shown in equation (19) is performed using the tap and the tap coefficient, and the operation result is output as the pixel value of the high-quality pixel serving as the pixel of interest.
  • FIG. 34 illustrates a configuration example of an embodiment of a learning device that performs a learning process of a tap coefficient stored in the coefficient storage unit 65 of FIG. 33.
  • the teacher data memory 71 is supplied with learning data used for learning.
  • high-quality image data as a true value of the intermediate data is used as the learning data. That is, for example, by performing image data conversion processing of FIG. 27 on image data captured from a number of viewpoints, intermediate data with no missing pixel values is generated, and this is used as learning data.
  • the teacher data memory 71 stores the high-quality image data supplied thereto as learning data, as teacher data serving as a learning teacher. Then, the student data generating unit 72 generates student data to be a student for learning from the teacher data stored in the teacher data memory 71.
  • the student data generation unit 72 deletes the pixel value of the image data as the teacher data stored in the teacher data memory 71, and adds the pixel value of FIG. Perform interpolation processing. Then, the student data generation unit 72 supplies the low-quality image data obtained by the pixel value interpolation processing to the student data memory 73 as student data, and stores it.
  • the prediction tap extracting unit 74 When student data is obtained for the teacher data stored in the teacher data memory 71 and stored in the student data memory 73, the prediction tap extracting unit 74 outputs the teacher data stored in the teacher data memory 71. Are sequentially set as a target pixel, and further, student data used for predicting the target pixel is extracted from the student data memory 73, whereby the prediction formed by the prediction tap extracting unit 62 shown in FIG. Construct a prediction tap with the same tap structure as the tap.
  • the prediction tap obtained by the prediction tap extraction unit 74 is supplied to the normal equation adding unit 77.
  • the class tap extracting unit 75 extracts the student data used for the class classification of the pixel of interest from the student data memory 73, thereby obtaining a class having the same structure as that of the class tap extracting unit 63 in FIG. Configure the taps and add them to the class Supply.
  • the class classifying unit 76 When the class tap for the pixel of interest is supplied from the class tap extracting unit 75, the class classifying unit 76 performs the same class classification as the class classifying unit 6 4 in FIG. 33 using the class tap.
  • the class code representing the class of the pixel of interest is supplied to the normal equation adding section 77.
  • the normal equation addition unit 77 reads out the teacher data as the pixel of interest from the teacher data memory 71, and outputs the student data constituting the prediction tap from the prediction tap extraction unit 74 and the teacher data as the pixel of interest.
  • the target addition is performed for each class supplied from the class classification section 76.
  • the normal equation adding unit 77 uses the prediction tap (student data) for each class corresponding to the class code supplied from the class classification unit 76, and calculates each component in the matrix A of the equation (29). Multiplication of student data (x in X i J and calculation equivalent to summation ( ⁇ ) are performed.
  • the normal equation addition unit 77 also uses the prediction tap (student data) and the pixel of interest (teacher data) for each class corresponding to the class code supplied from the class classification unit 76, and calculates the expression (2 9)
  • the multiplication (x in yi) of the student data and the teacher data, which are the components in the vector V, and the operation corresponding to the summation ( ⁇ ) are performed.
  • the normal equation addition unit 77 performs the above addition using all the teacher data stored in the teacher data memory 71 as the pixel of interest, and thereby, for each class, the expression (30) Make a normal equation.
  • the tap coefficient determination unit 78 obtains a tap coefficient for each class by solving the normal equation generated for each class in the normal equation addition unit 77, and the tap coefficient corresponding to each class is stored in the coefficient memory 79. Supply to the address.
  • the coefficient memory 79 stores the tap coefficient for each class supplied from the tap coefficient determination unit 78.
  • the format of the intermediate data in Figs. 29A and 29B is the original image data.
  • the intermediate data may be in the format shown in FIGS. 35A and 35B, for example.
  • the intermediate data is represented by a latitude / longitude table (FIG. 29A) separated by the values of latitude 0 and longitude ⁇ .
  • the pixel values of the pixels of the original image data orthogonally projected on the plane I (0,) defined by the latitude 0 and the longitude ⁇ ⁇ corresponding to the square correspond to the plane I ( theta, phi) pixel value table located and the X-coordinate chi alpha of 2-dimensional coordinate system defined for each y-coordinate y a on are registered.
  • the format of the intermediate data shown in FIGS. 35A and 35B is such that the points on a plane perpendicular to the direction of the ray of light incident on the pixels constituting the original image data are perpendicular to that plane. For each direction, the pixel value corresponding to the light ray in that direction is shown.
  • the intermediate data is placed on the plane I ( ⁇ , ⁇ ) on which the pixel values of the pixels of the original image data are orthogonally projected, as shown in FIG. 35A.
  • a table demarcated by the value of the coordinate y ⁇ hereinafter referred to as a coordinate table as appropriate).
  • each cell in the coordinate table The pixel value of the original image data orthogonally projected to the point defined by the X coordinate ⁇ ⁇ and the y coordinate y ⁇ is defined by the latitude ⁇ and the latitude ⁇ that define the plane I ( ⁇ ,) on which the pixel value is orthogonally projected.
  • the tape positions (each of which is also referred to as a pixel value table, as appropriate) registered for each longitude ⁇ are registered.
  • the pixels of the original image data in which the latitude ⁇ and longitude ⁇ are orthogonally projected to the point of the same coordinate on the plane of each value, in one grid of the coordinate table Since the values are arranged, the pixel value interpolation processing of FIG. 32 is more advantageous than the formats of FIG. 29A and FIG. 29B. That is, the pixel value interpolation process in FIG.
  • FIG. 32 is a plan I (theta, phi) a point on (x ", the pixel values in the y J I ( ⁇ , ⁇ ) ( ⁇ ⁇ , if yj is missing , plane I latitude or the longitude is slightly shifted (0 ', ⁇ ') on the point (chi alpha, pixel value at a point of the same monodentate target and y J I (0 ', ⁇ ') ( ⁇ ⁇ , yj, the missing pixel value I ( ⁇ , ⁇ ) ( ⁇ ⁇ 1 yj is interpolated.
  • the pixel value interpolation processing is performed in the latitude and longitude table (FIG. 29A) where the plane I ( ⁇ , ⁇ Pixel value I ( ⁇ ,, ⁇ ') (x Hughes, y J must be read from the cell corresponding to plane I ( ⁇ ', ⁇ '), which is different from the cell corresponding to There is.
  • the intermediate data conversion unit 32 in FIG. 5 performs the intermediate data conversion processing performed in step S3 in FIG.
  • the processing for converting the image data into the viewed image data (presentation image data) will be described.
  • the intermediate data conversion unit 32 receives the user's viewpoint P set in step S2 in FIG. For, as shown in FIG. 3 7, from the viewpoint P e of the Interview monodentate, toward the viewing direction, positioned at a predetermined distance L, and rectangular plane perpendicular to the user's gaze, virtual Set as screen.
  • the image data described in FIG. In the data conversion processing it is assumed that the processing is performed using a coordinate system at the time of imaging having a point (for example, a center of gravity) of the subject as an origin.
  • a three-dimensional coordinate system for displaying an image according to the user's viewpoint on the display 6 (FIG. 2) is assumed.
  • this three-dimensional coordinate system is referred to as a coordinate system at the time of display, and its origin is taken, for example, at the center point of the display screen of the display 6 (the intersection of the diagonal lines of the display screen).
  • the user's line of sight goes from the viewpoint P e to, for example, the origin of the display-time coordinate system.
  • step S 6 intermediate data conversion section 3 2, among the pixels on the virtual screen set for the user's viewpoint P c, the pixels that have not yet ⁇ as the target pixel, as the pixel of interest P s select.
  • Step S 6 2 post-processing the process proceeds to Step S 6 3, intermediate data conversion section 3 2, and starting from the pixel of interest P s, obtains a vector V to a view point P c of the user and the end point, stearyl-up Proceed to S64.
  • the vector V is a vector in the Xz plane in the display coordinate system, and has a direction of an angle ⁇ from the Xy plane in the z-axis direction. It has become a thing. That is, in the embodiment shown in FIG. 37, the vector V is a vector in which the latitude is 0 and the longitude is 0 degrees.
  • line-of-sight direction of the user as described above, but has assumed through the origin of the display when the coordinate system from the user's viewpoint P e, the line-of-sight direction of the user, It does not necessarily need to pass through the origin of the display coordinate system. That is, the gaze direction of the user can be detected by some method.
  • FIG. 37 shows a closed spherical surface as the curved surface ⁇ surrounding the subject, as in the case of FIG.
  • step S64 the intermediate data conversion unit 32 obtains a plane ⁇ orthogonal to the vector V and passing through the origin as a predetermined point on the display coordinate system, and proceeds to step S65.
  • the plane ⁇ does not necessarily need to pass through the origin.
  • step S65 the intermediate data conversion unit 32 obtains the latitude 0 and the longitude ⁇ of the vector V obtained in step S63, that is, the latitude ⁇ ⁇ , which is the angle between the vector V and the Xy plane, , And the longitude ⁇ , which is the angle between the vector V and the Xz plane, is determined, and the flow advances to step S66.
  • the latitude ⁇ and the longitude ⁇ of the vector V are also the latitude ⁇ and the longitude ⁇ in the normal direction of the plane ⁇ obtained in step S64. Therefore, the plane ⁇ passing through the origin as a predetermined point can be specified by its latitude 0 and longitude ⁇ , and the plane ⁇ specified by the latitude ⁇ and longitude ⁇ is determined in the same way as in the image data conversion processing.
  • the plane I ( ⁇ , ⁇ ) is also described as appropriate.
  • step S 6 6 the intermediate data converter 3 2, as shown in FIG. 3 7, obtains a straight line L p connecting the pixel of interest P s and the user's viewpoint P e. Further, in step S66, the intermediate data conversion unit 32 adds the straight line L p and the plane ⁇ (I
  • step S 6 the point [rho chi, coordinates in the two-dimensional coordinate system on the plane alpha (chi alpha, determining the y J.
  • the coordinates (x a , y J) of the point P x on the plane ⁇ can be obtained in the same manner as in step S 27 in FIG.
  • step S 6 8 the intermediate data converter 3 2, as the pixel value of the pixel of interest P s on the virtual screen, and sets the pixel value of the pixel position of the point P x on the plane alpha. That is, the planar alpha is, the plane I ( ⁇ , ⁇ ) specified by latitude 6 and longitude ⁇ are the coordinates of the point [rho chi on plane alpha is, ( ⁇ ⁇ , y ⁇ ) If it is, the intermediate data converted The unit 32 reads the pixel value I ( ⁇ , ⁇ ) (x a , y j) from the intermediate database, and uses the pixel value (0, ⁇ ) (x «, y J as the pixel value of the target pixel P s. set.
  • step S69 the intermediate data conversion unit 32 displays the user's viewpoint P Nurse It is determined whether or not all pixels on the virtual screen set for have been set as the target pixel. If it is determined that there is a pixel that has not been set as the target pixel yet, the process returns to step S62, and the same applies to The process is repeated.
  • step S69 If it is determined in step S69 that all pixels on the virtual screen have been set as the pixel of interest, that is, image data (presentation image data) viewed from the user's viewpoint is displayed on the virtual screen. If formed, the process ends.
  • the presentation image data obtained as described above is displayed on the display 6 in step S4 in FIG. 6 described above.
  • the display 6 displays image data when the subject is viewed from the viewpoint of the user.
  • the original image data is converted into presentation image data that can be viewed from the user's viewpoint using the trajectory of the light beam when the original image data was captured and the light beam information that is the pixel value corresponding to the light beam.
  • the display 6 displays an image similar to the user's vision when the user is observing the subject in the real world.
  • the display 6 displays the left side of the subject displayed before the user moved the viewpoint.
  • An image showing the side or right side is displayed.
  • the subject displayed before the user moves the viewpoint on the display 6 becomes larger or smaller. Image is displayed.
  • the user can enjoy a feeling as if the object as the subject is actually present at the place.
  • image processing of FIG. 6 is performed by using, as original image data, image data of outer space or image data of a micro structure such as a molecule. By doing so, structures that are not normally visible Can be provided in an intuitive manner.
  • the original image data is converted into intermediate data obtained by observing the subject from various directions at infinity. Presentation image data can be easily generated.
  • the intermediate data is generated independently for another subject, and the images of the different subjects are combined in the process of generating the presentation image data in the intermediate data conversion process in Fig. 36. It is also possible to do so.
  • edit such as deleting part of the intermediate data or adding image data such as other intermediate data to a part of the intermediate data. It is possible to do.
  • the image to be processed in the image processing apparatus 1 of FIG. 5 is not limited to a real image.
  • the position of the user is detected, the viewpoint of the user is set at that position (assuming that the viewpoint of the user is present), and the intermediate data conversion processing shown in FIG. 36 is performed.
  • the user's viewpoint can be virtually set at an arbitrary position in the image processing apparatus 1 of FIG.
  • a setting is made such that the user sequentially moves on the circumference of a circle of a predetermined radius drawn on a predetermined plane, with the origin of the display coordinate system as a center. It is mentioned.
  • the display 6 displays an image as if the image was taken while panning around the subject.
  • the user's viewpoint can be set to move in one direction, for example, on a straight line passing through the origin of the display-time coordinate system.
  • the display 6 displays an image as if the image was taken while approaching or moving away from the subject.
  • a still object is imaged by the camera 41 while moving the object by a motion-based method or a turntable method, so that the object imaged from many viewpoints is obtained.
  • the original image data of The image processing device 1 can also perform processing on an image of a moving subject. This is because, for example, image data of a moving subject is simultaneously captured from a plurality of viewpoints by a plurality of cameras, and the image data of each frame captured by each of the plurality of cameras is framed. This can be realized by generating intermediate data for each frame, and generating the image data for presentation using the intermediate data of the frame for each frame at the time of display. However, a method other than this method may be used.
  • FIG. 38 shows another example of a functional configuration of the image processing apparatus realized by the computer 1 of FIG. 3 executing a program.
  • parts corresponding to the case in FIG. 5 are denoted by the same reference numerals, and the description thereof will be appropriately omitted below. That is, the image processing apparatus 1 of FIG. 38 has substantially the same configuration as that of FIG. 5 except that a reproduction frame management unit 34 is newly provided.
  • the image database 2 stores image data captured while moving the camera linearly. That is, the image database 2 stores, for example, movie scenes captured by moving the camera at a constant linear velocity, image data captured by the camera from the window of a car or train running at a constant speed, and the like. It is remembered.
  • a playback frame management unit 34 is provided to manage the frames of the image data displayed on the display 6. That is, the reproduction frame management unit 34 receives the number of frames (or fields) of the original image data converted into the intermediate data from the image data conversion unit 31, and displays the presentation image data to be displayed on the display 6. Is instructed to the intermediate data converter 32.
  • the image data stored in the image database 2 may be equivalently obtained by moving the camera linearly and taking an image. While fixing the camera, moving the subject linearly It may be obtained by imaging.
  • the original image data stored in the image database 2 is converted from the image data viewed from the user's viewpoint (presentation image data) according to the same principle as in the embodiment of FIG. ) Is converted to.
  • the original image data stored in the image database 2 is an image obtained by fixing the camera to, for example, a train that moves linearly at a constant speed, that is, moving the viewpoint of the camera in the direction in which the train travels. Therefore, the original image data includes pixel values corresponding to light rays in each direction of the earth's longitude, as shown in FIG. 39A.
  • FIG. 39A shows light rays in three directions # 1 to # 3.
  • image data when a subject is viewed from a certain viewpoint is composed of pixel values corresponding to light rays from the subject toward the viewpoint. Therefore, assuming that the light beam goes straight and does not attenuate, the image data for presentation, which is the image data when the subject is viewed from a certain point on a straight line parallel to the trajectory of the train, is shown in Fig. 39B As shown in Fig. 39, image data consisting of pixel values corresponding to light rays heading from the object to the viewpoint should be reconstructed from original image data containing pixel values corresponding to light rays in each direction shown in Fig. 39A. Can be obtained at
  • the original image data is converted into image data (presentation image data) viewed from the user's viewpoint on a straight line parallel to the running trajectory of the train according to the principle described above. .
  • the original image data stored in the image database 2 is obtained by moving the viewpoint of the camera in the direction in which the train runs, and is thus obtained by the image processing device 1 in FIG.
  • the presentation image data is limited to data that can be configured from light beam information when the above-described original image data is captured. That is, the presentation image data obtained by the image processing device 1 in FIG. 38 does not reflect (cannot reflect) the movement of the user's viewpoint in a direction perpendicular to the plane on which the train runs.
  • step S81 the data conversion unit 31 reads the original image data from the image data base 2 and converts it into intermediate data. Further, in step S81, the data conversion unit 31 supplies the intermediate data to the intermediate database 3 for storage, and proceeds to step S82.
  • step S82 the image data conversion unit 31 supplies the number of frames F num of the original image data converted into the intermediate data in step S81 to the playback frame management unit 34 , and the playback frame management unit 34 Gets the number of frames F num .
  • step S83 the playback frame management unit 34 initializes a variable n representing the frame to be played back to, for example, 1, and converts the intermediate data conversion into frame information representing the frame to be processed. Supply to part 32 and proceed to step S84.
  • step S84 the sensor control unit 33 detects the position of the user from the output of the receiver 4 (FIG. 2), sets the position of the user to the viewpoint of the user, and sets the intermediate data conversion unit. 3 Feed to 2.
  • step S85 the intermediate data conversion unit 32 recognizes that the processing target is the n-th frame based on the frame information supplied from the reproduction frame management unit 34, and further performs sensor control. Based on the user's viewpoint supplied from the unit 33, the intermediate data is converted into presentation image data of the n-th frame to be processed, and the process proceeds to step S86.
  • step S86 the intermediate data conversion unit 32 supplies the display image data of the n-th frame to the display 6 for display, and proceeds to step S87.
  • step S87 the reproduction frame management unit 34 determines whether the variable n is equal to the total number of frames F num of the original image data. If it is determined in step S87 that the variable n is not equal to the total number of frames F nura , the process proceeds to step S88 , and, for example, the input unit 1 7 ( The CPU 12 (Fig. 3) determines whether the operation of Fig. 3) has been performed. If it is determined in step S88 that the input unit 17 has not been operated so as to end the image processing, Proceeding to step S89, the reproduction frame management section 34 increments the variable n by 1 and supplies the corresponding frame information to the intermediate data conversion section 32. Then, returning to step S84, the same processing is repeated thereafter.
  • step S87 the variable n is determined to be equal to the total number of frames F num , or in step S88, the input unit 17 is operated to end the image processing. If it is determined, the process ends.
  • the original image data stored in the image database 2 is, for example, captured by a camera fixed to a train window of a train performing a substantially constant-speed linear motion as shown in FIG.
  • the camera captures a near view (for example, an object such as a tree relatively close to the camera) and a distant view (for example, a scene such as the sky far from the camera). I have.
  • the direction perpendicular to the running direction of the train is defined as the base line, and the counterclockwise direction is defined with respect to the base line.
  • Angle ⁇ The force camera is fixed so that the direction tilted only becomes the optical axis direction.
  • declination The angle formed with respect to the base line in the counterclockwise direction from the lens center of the camera fixed to the train on the plane on which the train travels is hereinafter referred to as declination as appropriate. This declination corresponds to the longitude described above.
  • the train moves linearly on a plane, so if the plane is considered to be a plane on the equator of the earth, the viewpoint of the camera fixed to the train is Do not move, only move in longitude direction. Therefore, the original image data captured by such a camera is basically the same as the latitude and longitude described above. In other words, you only need to pay attention to longitude, and you can ignore latitude.
  • Fig. 41 there are a plurality of objects (eg, trees) on the right side of the train running direction, and the plurality of objects are present along the running direction of the train. are doing. Therefore, in the embodiment shown in FIG. 41, a plurality of objects as objects exist at positions equidistant from the traveling locus of the train.
  • objects eg, trees
  • V is the speed of the subject on the base line passing through the optical center of the camera as viewed from the camera.
  • the speed of the subject in the direction of the angle (deviation) ⁇ from the base line as viewed from the camera is V. It can be represented by c os.
  • the subject displayed on the right moves faster than the subject displayed on the left.
  • the image data By cutting out and arranging pixels in a row in the direction of the declination ⁇ i from the image data of each frame captured by the camera, the image data viewed from infinity in the direction of the declination When the image data is generated, the image data may have no pixels for the interval corresponding to the movement distance of the camera during one frame.
  • the length of the intermediate data shown in Fig. 43 in the column direction is determined by the number of rows of pixels (the number of pixels in the column direction) of the frame of the image data captured by the camera.
  • the length in the row direction depends on the number of frames of image data captured by the camera.
  • the image data converter 31 in the data converter 30 of FIG. 38 generates the intermediate data as viewed from infinity in the direction of each argument as described above.
  • the image data captured by the camera fixed to the train is, for example, a landscape with trees moving from left to right on the screen, as shown in Fig. 44
  • intermediate data as shown in FIGS. 45A to 45E is generated.
  • FIGS. 45A to 45E show intermediate data as image data viewed from infinity in four directions # 1 to # 4 as shown in FIG. 45A. That is, FIGS. 45B to 45E show intermediate data which are image data viewed from infinity in directions # 1 to # 4 in FIG. 45A.
  • the image data conversion unit 31 in FIG. 38 performs the image data conversion processing performed in step S81 in FIG. A process for converting data into intermediate data will be described.
  • step S101 the image data conversion unit 31 sets an initial value, for example, 1 to a variable Fnum for counting the number of frames of the original image data stored in the image database 2. Then, the process proceeds to step S102.
  • step S102 a point of interest Pc is selected from the viewpoint (imaging point) of the camera when the original image data stored in the image database 2 was imaged.
  • the original image data stored in the image database 2 is transmitted by a camera fixed to a train that moves linearly at a constant speed, as described in FIG. 41 and FIG.
  • Step S 1 0 2 from among the plurality of imaging points, imaging Bointo when the original image data of the F frame captured by the camera is selected as the target image-captured Bointo P e.
  • FIG. 38 shows the imaging points for each of the three frames of the (n ⁇ 1) th frame, the nth frame, and the (n + 1) th frame.
  • the image database 2 contains not only the original image data captured by the camera fixed to the train but also the image generated by the image generation device of FIG.
  • the imaging point of the camera fixed to the train in the imaging coordinate system which is a three-dimensional coordinate system preset in the real world, is also stored.
  • step S 1 0 2 the image data conversion unit 3 1, from the image database 2, the imaging point of the image data of the F num frame, reads as noted imaging point P e.
  • the X-axis is taken in the left direction
  • the y-axis is taken in the upward direction
  • the z-axis is taken in the near side perpendicular to the paper, as the coordinate system at the time of imaging.
  • step S103 the image data conversion unit 31 sets a virtual screen for the target imaging point Pc , and sets the virtual pixel on the virtual screen as a column of interest in the vertical direction.
  • An unselected pixel column is selected as the column of interest. That is, the image data conversion unit 3 1, as shown in FIG. 4 7, the target image-capturing point P c, from the target image-captured point P c, toward the optical axis direction of the camera, a predetermined distance L position Then, a rectangular plane orthogonal to the optical axis of the camera fixed to the train is set as a virtual screen. Then, the image data conversion unit 31 selects, from the pixels on the virtual screen, for example, in the order from left to right, a pixel column that has not yet been selected as the column of interest as the column of interest.
  • the optical axis of the camera coincides with the baseline, that is, the optical axis of the camera is oriented at 0 degrees from the baseline, but the optical axis of the camera is arbitrary from the baseline. Declination of 0. It is possible to take in the direction of.
  • the direction of the optical axis of the camera is the angle of deviation from the baseline ⁇ . May be in any direction, but its declination ⁇ .
  • the number of times is assumed to be recognized in advance by the data conversion unit 30.
  • the image data conversion unit 31 assigns, for example, the pixel in the top row of the pixels forming the column of interest to the pixel of interest. selected as P s.
  • the pixel of interest P s is not limited to the pixel in the top row of the pixels forming the column of interest, and any pixel in any row can be selected as the pixel of interest.
  • the process proceeds to step S 105, the image data conversion unit 3 1, attention imaging point P. , And a vector V having the target pixel P s as the end point is obtained, and the flow advances to step S 106.
  • step S 106 the image data conversion unit 3 1, as shown in FIG. 4 7, perpendicular to the solid torr V obtained by stearyl-up S 105, passes through the predetermined point P f on the image capture coordinate system The plane ⁇ is obtained, and the process proceeds to step S107.
  • step S107 the image data conversion unit 31 obtains the argument ⁇ of the vector V obtained in step S105 with respect to the base line, and proceeds to step S108. That is, if it is the case, it is necessary to find the latitude and longitude of the vector V as in the case of the embodiment of FIG. Here, as described above, since the original image data is captured by a camera that moves only in the longitude direction, the latitude can be ignored, and it is sufficient to consider only the longitude. Therefore, in step S107, a declination ⁇ with respect to the base line, which corresponds to the vector V, is obtained.
  • the argument ⁇ of the vector V can also be referred to as the argument ⁇ of the normal to the plane ⁇ obtained in step S106.
  • the direction of the normal line of the plane ct is specified by latitude and longitude, but here, as described above, the latitude can be ignored (the latitude can be any fixed value). . Therefore, the plane ⁇ passing through the predetermined point P f can be specified by the argument ⁇ corresponding to the longitude of the normal, and the plane ⁇ specified by the argument ⁇ is hereinafter referred to as the plane I Also described as ( ⁇ ).
  • step S 1 08 the image data conversion unit 3 1, as shown in FIG. 4 7, obtains a straight line L p connecting the pixel of interest P s of interest imaging point. Further, in step S 1 08, the image data converter 3 1 obtains a straight line L p, the intersection [rho chi of the plane determined in step S 106 ⁇ (I ( ⁇ ) ), the process proceeds to step S 10 9, of that point [rho chi, coordinates in the upper plane ⁇ (x ", determine the y J.
  • step SI09 for example, on the plane I ( ⁇ ), for example, a predetermined point P f that always passes through the plane I ( ⁇ ) is set as the origin, and the X axis and the z axis of the imaging coordinate system are A two-dimensional coordinate system is defined in which the axes obtained by mapping on the plane I ( ⁇ ) are the X axis and the y axis, respectively, and the coordinates (x a , y J of the point P x in the two-dimensional coordinate system are defined as Note that the two-dimensional coordinate system defined on the plane I ( ⁇ ) is not limited to the one described above.
  • step S 110 the image data conversion unit 31 projects the column of interest of the original image data of the F num-th frame on the virtual screen onto the plane I ( ⁇ ). That is, the pixel value of the pixel at the position of the point P x on the plane I ( ⁇ ) is represented by the coordinates of the plane I ( ⁇ ) and the point P x on the plane I ( ⁇ ) (x a , y J And I ⁇ )
  • the image data converter 31 converts the F ⁇ frame on the virtual screen the pixel value of the pixel on the first row in the target column of the original image data, the pixel value I on the plane I ( ⁇ ) ( ⁇ ) ( x a, y a), the pixel value of the pixel of the second row in the pixel column of interest To the pixel value I ( ⁇ ) (x a , y a + l) on the plane I ( ⁇ ), and the pixel value of the pixel in the Nth row in the column of interest to the plane I ( ⁇ ).
  • the pixel values I above ( ⁇ ) (x a, y a + (N- 1)) are set, respectively.
  • step S111 the image data conversion unit 31 determines whether or not all the pixel columns of the original image data on the virtual screen set for the target imaging point Pe are set as the target columns, If it is determined that there is a pixel column that is not the target column yet, the process returns to step S103, and the same processing is repeated.
  • step S111 If it is determined in step S111 that all the pixel columns on the virtual screen have been set as the column of interest, the process proceeds to step S112 , where the image data conversion unit 31 proceeds to the next of the F nura frame. It is determined whether or not the original image data of the frame exists by referring to the image database 2. In step S 1 1 2, if the original image data of the next frame of the F num frame is determined to exist, processing proceeds to stearyl-up S 1 1 3, the image data conversion unit 3 1, the variable F ⁇ 1 Only increment Return to step SI 02, and repeat the same processing thereafter.
  • step S 1 1 if the original image Deda of the next frame of the F num frame is determined not to exist, that is, the image data of all frames stored in the image database 2, the deviation angle When the intermediate data as the image data orthogonally projected on the plane I ( ⁇ ) of ⁇ is obtained, the processing ends.
  • the intermediate data obtained by the above-described image data conversion processing is supplied from the image data conversion unit 31 to the intermediate database 3 and stored therein.
  • the number of frames F ⁇ of the original image data finally obtained in the image data conversion processing of FIG. is supplied to the frame management unit 34.
  • FIGS. 48A and 48B schematically show the format of the intermediate data generated by the image data conversion processing of FIG.
  • the intermediate data generated by the image data conversion processing in Fig. 46 is the image data when the subject is viewed from infinity in the direction specified by the declination ⁇ on the plane I. Since it exists for each declination ⁇ , it can be expressed as a table demarcated by the value of declination ⁇ as shown in Fig. 48A (hereinafter referred to as declination table as appropriate).
  • the image data conversion processing of FIG. 46 is basically the same as the processing of ignoring the latitude in the image data conversion processing of FIG. 27, and the resulting intermediate data is the image data of FIG.
  • the latitude in the latitude and longitude table in Fig. 29A obtained by the conversion process is ignored.
  • the declination table of FIG. 48A obtained by the image data conversion processing of FIG. 46 has no axis in the latitudinal direction in the latitude and longitude table of FIG. There is only an axis.
  • the declination ⁇ is defined by each declination ⁇ for each plane I ( ⁇ ) in which the declination ⁇ ⁇ changes from the minimum value ⁇ in to the maximum value c ax in increments of 1 degree.
  • the image data when the subject is viewed from infinity in the direction of movement is registered in each square of the declination table.
  • the number of increments of the declination ⁇ and the width of the increment are shown in Fig. 29A
  • the minimum value ⁇ min and maximum value ⁇ ⁇ of the argument ⁇ in the argument table depend on the argument of the optical axis of the camera fixed to the train and the horizontal angle of view of the camera.
  • Fig. 48 Each square in the declination table shown in Fig. 8A has image data when the subject is viewed from infinity in the direction defined by the declination ⁇ corresponding to the square, i.e., the plane I ( ⁇ ). The pixel values of the pixels of the projected original image data (ignoring the latitude)
  • a table (pixel value table) delimited by the value of y ⁇ is registered, and a point defined by the X coordinate ⁇ ⁇ and the y coordinate y ⁇ corresponding to the cell in the cell of the pixel value table is registered.
  • the pixel values P (x a , y J) of the pixels of the original image data projected on are registered.
  • the pixel value interpolation process can be performed as in the case of the image processing device 1 of FIG. 38.
  • the pixel value interpolation processing to be performed will be described.
  • the pixel value interpolation processing may be performed by the image data conversion unit 31 or the intermediate data conversion unit 32, as in the case of FIG.
  • the pixel value interpolation processing will be described as being performed by the image data conversion unit 31.
  • step S121 the image data conversion unit 31 sets a variable representing the argument as an initial value, for example, the minimum value ⁇ i >
  • a variable X that sets min and represents the X coordinate of the plane I ( ⁇ ).
  • Step S 1 2 2 the image data conversion unit 3 1, intermediate data I ( ⁇ ) (x a, yi) , the whether the pixel value is set, 3 2 Sutetsu flop S The determination is made in the same manner as in the case of 42.
  • the target for determining whether or not the pixel value has been set in step S122 (hereinafter, appropriately referred to as the pixel value determination target) is the intermediate data I ( ⁇ ) ( x ", was a Y l), i.e., the plane I ([Phi) on the coordinates (chi alpha, although the pixel of y, as a pixel value determination target, y-coordinate y a is, from its minimum value yi top it can be employed pixel of any value in the range of Daine y 2.
  • the intermediate data obtained by the image data conversion processing described with reference to FIGS. 46 and 47 is represented by coordinates (x a , y) to (x., Y 2 ) on the plane I ( ⁇ ).
  • the pixel value of the original image data is set in the column at once. Therefore, if the pixel value is not set for a certain pixel in the column represented by the coordinates (x a , y t ) to (x a , y 2 ) on the plane I ( ⁇ ), that column This means that the pixel direct is not set for the other pixels, so the pixel direct judgment target is the y coordinate y. But it is possible to employ any value of the pixel of the range of the maximum value y 2 from the minimum value yi.
  • Step S 1 2 intermediate data I) (x a, in yi), when it is determined that the pixel value is Se Tsu bets, that is, if the pixel value is not missing, Sutetsu flop S 1 2 Skip 3 and S 1 2 4 and go to step S 1 2 5.
  • Step S 1 2 intermediate data I ( ⁇ ) (x 0) to Y l), if it is determined that the pixel value is not set, i.e., if the pixel value is missing, the step S Proceeding to 1 2 3, the image data conversion unit 3 1 calculates a point ( ⁇ ⁇ ,) on the plane I ( ⁇ ') defined by the argument ⁇ ′ in the range of ⁇ - ⁇ ⁇ ' Search (search) for a pixel value set in y 1 ).
  • for example, a small positive integer value is adopted as in the case of FIG.
  • Step S 1 2 4 the image data converter 3 1 was searched in Step S 1 2 3, intermediate data I ([Phi,) the pixel value is set (x a, V l) of each pixel column values I ( ⁇ ') ( ⁇ ⁇ , yi) to I ( ⁇ ') ( ⁇ ⁇ , y 2) to the intermediate data I ([phi) is missing pixel values are (chi «, yj Pixel value I ( ⁇ )
  • Step S 1 2 The number of pixels in the vertical direction of the frame of the original image data, N pixels as described above Then y 2 is represented by y! + (N- 1).
  • step S 1 2 ⁇ - ⁇ ⁇ Ku phi plane I defined by the 'Ku [psi + ⁇ argument [Phi ranging [psi' ([Phi ') on the point (chi alpha, in the y)
  • the image data conversion unit 31 selects, for example, the absolute value of phi, select the one I smallest, the selected I ( ⁇ ') ( ⁇ ⁇ , Yl) each pixel column values of I ( ⁇ ') ( ⁇ ⁇ , ⁇ ) to I ( ⁇ ,) ( ⁇ 0) y 2), each pixel value I ( ⁇ ) ( ⁇ ⁇ , 'y 1) ⁇ Itaru (a, to Tsu to y 2).
  • Step S 1 2 ⁇ - ⁇ ⁇ Ku phi plane defined by the 'Ku [psi + ⁇ argument [Phi ranging ⁇ ' I ( ⁇ ') on the point ( ⁇ ⁇ , y t) in the
  • the image data conversion unit 31 determines whether the pixel value on the plane I ( ⁇ ) has been set. from within, the coordinates (x ", Y l) searching the closest pixel, a pixel value of each pixel column of the pixel, Kakue pixel value I ( ⁇ ) ( ⁇ ⁇ , ⁇ ⁇ ) to (chi alpha , y 2 ).
  • the pixel value is interpolated at a point (x a , y J) on the plane I () where no pixel value is set. Therefore, as the processing proceeds, the pixel value at the point where the pixel value is interpolated may further cause the pixel value at another point to be interpolated. For example, as in the case of FIG. 32, an interpolation flag indicating that the interpolation has been performed is added to the point where the pixel value is interpolated, and the pixel value at the point where the interpolation flag is added is It is necessary not to use it for interpolation (it is excluded from the search in step S123).
  • Step S 1 2 determines the image data conversion unit 3 1, the variable chi alpha representing the X-coordinate on the plane I (phi), the equality to x 2 is at its maximum value.
  • Step S 1 2 5 X-coordinate chi alpha is, if it is not equal to the maximum value chi 2, the process proceeds to Step S 1 2 6, the image data conversion unit 3 1, the X-coordinate chi alpha only 1 ink The process returns to step S122, and the same processing is repeated thereafter.
  • Step S 1 2 X-coordinate chi alpha is, if it is determined to be equal to the maximum value chi 2, the process proceeds to Step S 1 2 7, the image data conversion unit 3 1, X coordinate chi. Is reset to its minimum value, and the process proceeds to step S128.
  • step S1208 the image data conversion unit 31 determines whether the variable representing the argument is equal to its maximum value ⁇ ax . If it is determined in step S128 that the argument ⁇ is not equal to the maximum value ⁇ , the process proceeds to step S129, and the image data conversion unit 31 increments the argument 1 by one degree, Returning to step S122, the same processing is repeated thereafter.
  • step S128 If it is determined in step S128 that the argument ⁇ is equal to the maximum value ⁇ , the process ends.
  • the pixel values I ( ⁇ ) ( ⁇ ⁇ , yi ) to I ( ⁇ ) ( ⁇ ⁇ , y 2 ) is missing, the pixel value is set, and the pixel value I ( ⁇ ,) (x a , yi ) of the same column in another plane I ( ⁇ ') with a closer argument Or I ( ⁇ ') ( ⁇ ⁇ , y By 2), the missing pixel values I ( ⁇ ) ( ⁇ ⁇ , y,) to I ( ⁇ ) ( ⁇ ⁇ > y 2) is interpolated.
  • classification adaptive processing and other image processing can be performed on the intermediate data obtained by the pixel value interpolation processing in FIG. 49.
  • the intermediate data conversion unit 32 of FIG. 38 performs the intermediate data conversion process performed in step S85 of FIG. A description will be given of a process of converting the image data into image data (presentation image data) of the nth frame viewed from the user's viewpoint.
  • the display coordinates (3D coordinate system) for displaying an image corresponding to the user's viewpoint are displayed on the display 6 (Fig. 2).
  • a system is assumed.
  • the display coordinate system for example, the imaging coordinate system used when converting the original image data stored in the image database 2 into the intermediate data can be adopted as it is.
  • step S 1 4 intermediate data conversion section 3 2, as shown in FIG. 5 1, in the display time of the coordinate system, the imaging point P c of the n-th frame, the user's viewpoint P c 'Is set.
  • Step S141 the user's viewpoint Pc 'is set based on the imaging point Pc of the frame to be reproduced.
  • the intermediate data conversion unit 32 is supplied with the user's viewpoint in the real world from the sensor control unit 33.
  • the intermediate data conversion unit 32 uses the predetermined position in the real world as a reference position of the user's viewpoint, and indicates the movement of the user's viewpoint from the sensor control unit 33 from the reference position. Ask for information.
  • the reference position of the user's viewpoint a general position at which the user views the image displayed on the display 6, that is, for example, an arbitrary point in the front direction of the display 6 may be used. it can.
  • Intermediate data conversion unit 3 2 and obtain the moving information, as shown in FIG. 5 1, the display time of the coordinate system, from the imaging point P e of the n-th frame, the point moved by the movement information, an imaging point P . Is set as the user's viewpoint P c ′.
  • the latitude direction is invalid as in the case of the image data conversion processing in FIG. Therefore, in the intermediate data conversion processing of FIG. 50, for example, as shown in FIG. 51, a display coordinate system having the same X axis, y axis, and z axis as the imaging coordinate system of FIG. If it is assumed, components in the y-axis direction and z-axis direction that affect the latitude direction in the travel information are invalidated (for example, treated as 0). This means that even if the user moves in the y-axis direction or z-axis direction of the coordinate system at the time of display, the user's viewpoint is not recognized to have moved.
  • the movement components in the z-axis and y-axis directions may be treated as valid). That is, in this case, in order to recognize that the user's viewpoint has moved, it is necessary to move the user at least in the X-axis direction of the coordinate system at the time of display.
  • the X-axis direction in the coordinate system at the time of display matches the moving direction of the camera (the running direction of the train to which the camera is fixed).
  • the intermediate data conversion unit 32 sets the user's viewpoint P c ′ with respect to the imaging point P e in the display-time coordinate system as described above, and proceeds to step S144. As shown in FIG. The intersection Pk between the optical axis of the camera at and the subject displayed in the n-th frame is determined.
  • the intermediate data conversion unit 32 recognizes the distance D in advance. It is assumed that Further, the deflection angle of the optical axis of the contact Keru camera imaging point P e [Phi. It is also assumed that the intermediate data conversion unit 32 recognizes this in advance. In this case, the optical axis of the camera in the imaging point P e, the intersection P k of the object displayed in the n-th frame, the imaging point P c, the distance D, and the imaging Bointo P. Deflection ⁇ of the optical axis of the camera at.
  • step S 1 43 the intermediate data converter 3 2, O urchin shown in FIG. 5 1, 'as well as a start point, vector V to the end point of intersection P k' viewpoint p c of users seeking Proceed to step S144.
  • step S 144 the intermediate data converter 3 2 'to, vector V' user viewpoint P c as line-of-sight direction in the direction of from the vector v 'perpendicular to, the user's viewpoint P c'
  • the virtual screen is set at a position separated by the distance L, and the process proceeds to step S145.
  • step S145 the intermediate data conversion unit 32 determines a pixel column that has not been selected as the column of interest yet among the columns of pixels in the vertical direction on the virtual screen set for the user's viewpoint P c ′. Select as
  • step S 145 the process proceeds to step S 146, where the intermediate data conversion unit 32, for example, determines the pixels forming the column of interest as in step S 104 of FIG. If you select the pixels in the top row of as a pixel of interest P s.
  • the pixel of interest P s is not limited to the pixel in the top row of the pixels forming the column of interest, and any pixel in any row can be selected as the pixel of interest.
  • step S 147 the intermediate data conversion unit 32 sets the user's viewpoint P c ′ as a starting point, as shown in FIG.
  • the target pixel P s seeking base-vector V to an end point the process proceeds to step S 1 48.
  • step S148 the intermediate data conversion unit 32 intersects the vector V obtained in step S147 at right angles to the vector V obtained in step S147, as shown in FIG. Then, a plane ⁇ passing through the predetermined point P f is obtained, and the process proceeds to step S149.
  • step S 149 the intermediate data conversion unit 32 determines the declination of the vector V obtained in step S 147 with respect to the base line, that is, the deviation of the normal of the plane ⁇ obtained in step S 148 with respect to the base line. Obtain the angle ⁇ , and proceed to step S150.
  • step S 1 50 the intermediate data converter 32, as shown in FIG. 5 1, obtaining the straight line L p connecting the pixel of interest P s and user's viewpoint P c '. Further, in step S150, the intermediate data converter 32 calculates the straight line Lp and the plane ⁇ obtained in step S151, that is, the declination of the normal with respect to the base line in step S148. obtain the intersection [rho plane and I (phi) which are at the, the process proceeds to step S 1 5 1, of that point [rho chi, coordinates on the plane I () ( ⁇ ⁇ , seek y J.
  • step S 1 52 the intermediate data converter 32, as each pixel straight of the pixels of the pixel column of interest of the virtual screen, and sets the pixel values in a column of points P x on the plane I ([Phi) .
  • the intermediate data conversion unit 32 calculates the pixel value of the pixel of the first row in the column of interest on the virtual screen as the plane I ( ⁇ ) On the plane I ( ⁇ ) as the pixel value of the pixel on the second row in the column of interest.
  • step S153 the intermediate data conversion unit 32 determines whether or not all pixel columns (vertical pixel arrangement) on the virtual screen set for the user's viewpoint P c 'are columns of interest. determine whether, yet, when not selected as a target sequence but it is determined that the Ru pixel column there, returns to the step S 145, following, c the same process is repeated, in step S 1 5 3, virtual screen on Focus on all pixel columns of If it is determined to be a column, that is, if image data (presentation image data) of the n-th frame viewed from the user's viewpoint is formed on the virtual screen, the process ends.
  • the presentation image data of the n-th frame obtained as described above is displayed on the display 6 in step S86 in FIG. 40 described above.
  • the display 6 displays image data when the subject is viewed from the viewpoint of the user.
  • Image data according to the user's viewpoint can be generated. That is, when the user moves the viewpoint, an image similar to the user's vision when the user observes the subject in the real world can be displayed on the display 6.
  • the image data conversion processing described in FIG. 46 and the intermediate data conversion processing described in FIG. At least, the distance between the subject and the track of the train where the camera that captures the original image data is fixed (the distance between the camera and the subject along the direction perpendicular to the camera movement direction) ) D and declination of the optical axis of the camera at the imaging point P c (direction of the optical axis) ⁇ .
  • the imaging point Pc of each frame is required.
  • the imaging point Pc of each frame may be determined as the imaging point of a certain frame.
  • the imaging points of other frames can be obtained from the speed at which the camera moves linearly at a constant speed (moving speed of the camera). Therefore, here, the moving speed of the camera is used as the imaging condition instead of the imaging point of each frame.
  • the above-described imaging conditions which are at least necessary to convert the original image data into the presentation image data from the user's viewpoint, are hereinafter referred to as minimum imaging conditions as appropriate.
  • the minimum imaging condition may be obtained by a sensor or the like when the original image data is captured. If the minimum imaging condition is known in advance, the image processing apparatus 1 in FIG. 38 can convert the original image data into presentation image data viewed from the user's viewpoint, as described above.
  • the minimum imaging conditions must first be obtained to convert the original image data into presentation image data viewed from the user's viewpoint.
  • the computer 1 shown in FIG. 3 obtains the minimum imaging condition from the original image data in addition to the program for converting the original image data stored in the image database 2 into image data for presentation viewed from the user's viewpoint.
  • a program for performing image processing can also be stored.
  • FIG. 52 shows an example of a functional configuration of an image processing apparatus that is realized by the computer 1 of FIG. 3 executing a program for performing image processing for obtaining a minimum imaging condition.
  • the computer 1 as an image processing device includes an imaging condition calculation unit 91.
  • the imaging condition calculation unit 91 reads out the original image data captured by the camera fixed to the train moving at a constant speed linearly from the image database 2, and obtains the imaging conditions including the minimum imaging condition from the original image data. Then, it is supplied to the image database 2 and stored.
  • the imaging condition calculation unit 91 obtains the moving distance of the subject displayed in the original image data on the virtual screen of the camera fixed to the train that moves linearly at a constant speed, and calculates the moving distance from the viewpoint (imaging point) of the camera.
  • Distance to virtual screen viewpoint / virtual screen
  • the imaging conditions including the minimum imaging conditions are obtained using the distance between the object and the moving distance of the subject on the virtual screen.
  • D is the distance between the travel trajectory of the train to which the camera is fixed and the object of interest as the object of interest (the moving direction of the power camera between the camera and the object of interest).
  • D represents the distance along the direction perpendicular to the camera
  • h represents the distance between the camera and the object of interest along the direction in which the camera moves.
  • L represents the distance from the camera's viewpoint to the virtual screen
  • Represents the deflection angle of the optical axis of the camera.
  • Ad represents the distance that the object of interest moves per unit time with respect to the camera (moving distance of the camera), that is, the moving speed of the camera
  • ⁇ ⁇ represents the original image on the virtual screen of the camera. It represents the moving distance per unit time of the subject of interest displayed in the data, that is, the moving speed of the subject of interest on the virtual screen.
  • the declination ⁇ in the direction of the subject of interest from the viewpoint of the camera can be expressed by the following equation using the distance D and h.
  • tan -1
  • the moving distance ⁇ ⁇ of the subject of interest on the virtual screen can be expressed, for example, by the following equation.
  • equation (34) is expressed as follows.
  • Equation (3 8) can be transformed into equation (39) by using the relationship of equation (36).
  • equation (39) is represented by equation (44).
  • Equation (44) the unknown variables are ⁇ (!, D, h, ⁇ .
  • ⁇ ⁇ is the moving distance of the subject of interest displayed on the virtual screen.
  • L represents the distance from the camera's viewpoint to the virtual screen, and represents an arbitrary distance from the camera. You can set a value.
  • the four unknown variables ⁇ d, D, h, ⁇ 0 in the equation (44) are, in principle, calculated as follows for the four pixels on the virtual screen. Using the distance L from the camera's viewpoint to the virtual screen, it can be estimated from Equation (44).
  • the imaging conditions Ad, D, h, and ⁇ are set as described above. Is required.
  • step S 161 the imaging condition calculation unit 91 extracts four or more frames to be subjected to the imaging condition calculation processing from the frames stored in the image database 2, And proceed to step S162.
  • step S162 the imaging condition calculation section 91 sets the distance L from the imaging point to the screen at the time of capturing the original image data to a predetermined value, and proceeds to step S166.
  • step S166 the imaging condition calculation unit 91 determines a pixel at the same position from each frame of four or more frames of the original image data selected as the processing target frame in step S1661, and sets the imaging condition.
  • the pixel is selected as a calculation target pixel used for calculation.
  • the calculation target pixel is set as the pixel at the same position in each frame set as the processing target frame, as shown in FIG. 53, along the moving direction of the camera between the camera and the object of interest. This is to make the distance h constant.
  • step S164 the imaging condition calculation unit 91 selects and selects one of the pixels to be calculated that has not been set as the pixel of interest yet, and proceeds to step S165. .
  • step S165 the imaging condition calculation section 91 detects the motion vector of the target pixel, and proceeds to step S166.
  • the imaging condition calculation unit 91 obtains the moving distance ⁇ X of the pixel of interest from the motion vector of the pixel of interest, and proceeds to step S167.
  • step S167 the imaging condition calculation unit 91 determines whether or not all of the calculation target pixels have been set as the target pixels and the movement distance ⁇ has been obtained, and if there is a calculation target pixel that has not yet been set as the target pixel. If it is determined, the process returns to step S164, and the same processing is repeated thereafter.
  • step S167 If it is determined in step S167 that all of the calculation target pixels have been set as the target pixel, the process proceeds to step S168, where the imaging condition calculation unit 91 sets the four or more pixels that have been set as the calculation target pixels.
  • the imaging conditions Ad, D, h, ⁇ are obtained from Equation (44). Is obtained, stored in the image database 2, and the processing is terminated.
  • step S167 the moving distance ⁇ ⁇ calculated for each of the four or more pixels to be calculated and the distance L from the imaging point to the screen when the original image data was captured are expressed by the following formula ( 44) that satisfy d, D, h, and ⁇ . Is calculated.
  • the calculation method for example, Ad, D, h, phi 0 sequentially changing the respective values, and the like check whether satisfies the formula (44) (verification) for ways.
  • the virtual The moving distance ⁇ X of the subject displayed in the original image data on the screen is obtained, and the distance L from the viewpoint when the original image data is captured in the force camera to the virtual screen, and the moving distance ⁇ are obtained by: Imaging conditions A d, D, h, ⁇ . Is obtained, imaging conditions can be easily obtained from original image data obtained by performing imaging while moving the camera.
  • the original image data can be converted into presentation image data viewed from the user's viewpoint.
  • the above-described various processes are performed by causing the computer 1 to execute a program.
  • the above-described various processes may also be performed by dedicated hardware. It is possible.
  • a camera using a telecentric lens can capture an omnidirectional image of the object, thereby acquiring data corresponding to intermediate data.
  • intermediate data can be easily obtained because complicated conversion work is not required.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Image Processing (AREA)
  • Studio Circuits (AREA)

Abstract

画像を、容易に、ユーザの視点に応じて変化させる。曲面Ω上の任意の点を視点として、被写体を撮像した原画像データが記憶されている。視点Pと被写体上のある点Riとを結ぶ直線Liに注目し、その直線Liと曲面Ωとの交点をQiと表すと、視点Pから被写体を見た場合、その被写体上の点Riから視点Pに向かう光線に対応する画素値は、被写体上の点Riから曲面Ω上の点Qiに向かう光線に対応する画素値に一致し、この点Riから点Qiに向かう光線に対応する画素値は、原画像データに存在する。即ち、視点Pから、被写体上の点Riを見たときの画素値は、曲面Ω上の点Qiを視点として撮像された原画像データから得ることができる。本発明は、例えば、ユーザの視点に対応した画像を得る画像処理装置に適用できる。

Description

明細書
画像処理装置および方法、 プログラムおよびプログラム記録媒体、 並びにデータ 構造およびデータ記録媒体 技術分野
本発明は、 画像処理装置および方法、 プログラムおよびプログラム記録媒体、 並びにデータ構造およびデータ記録媒体に関し、 例えば、 ユーザの視点に対応し た画像を表示することができるようにする画像処理装置および方法、 プログラム およびプログラム記録媒体、 並びにデータ構造およびデータ記録媒体に関する。 背景技術
従来の、 例えば、 C R T (Cathod Ray Tube)や液晶パネル、 プロジェクタなど を利用したディスプレイにおいては、 例えば、 ビデオカメラ (以下、 適宜、 単に、 カメラともいう) で撮像された画像が表示されるが、 その画像は、 図 1に示すよ うに、 カメラの位置を視点として見たものにすぎなかった。
従って、 ユーザが、 例えば、 頭部を移動して、 ディスプレイに表示された画像 を見るときの視点を変えても、 ディスプレイに表示される画像は、 カメラのレン ズ中心 (以下、 適宜、 カメラの視点ともいう) から見た画像のままであり、 ユー ザの視点の変化に応じて、 ディスプレイに表示される画像が変化することはなか つた。
そこで、 ディスプレイに表示される画像が、 ユーザの視点に応じて変化する画 像の表示方法として、 例えば、 zebra imagingと呼ばれる方法がある。
しかしながら、 zebra imagingは、 ホログラフィを利用した方法である。 zebr a imagingで表示される画像はホログラムであるため、 その作成に多大の演算量 と時間を要する。
また、 ディスプレイに表示される画像が、 ユーザの視点に応じて変化する画像 の他の表示方法としては、 例えば、 イリノイ大学の CAVE 方式などに代表される、 IPT (Immers ive Proj ection Technology) (没入型投射技術) または IPD (Immersi ve Project ion Display) (没入型投射ディスプレイ) を用いた VR (Virtual Real ity)システムがある。
し力、しながら、 かかる V Rシステムでは、 対象とする画像が CG (Computer Gra phics)であり、 ビデオカメラで撮像された、 いわゆる実写の画像を対象とするこ とは困難である。 発明の開示
本発明は、 このような状況に鑑みてなされたものであり、 実写の画像であって も、 容易に、 ユーザの視点に応じて変化させることができるようにするものであ る。
本発明の第 1の画像処理装置は、 第 1の画像データを撮像したときの光線の軌 跡とその光線に対応する画素値である光線情報を用いて、 第 1の画像データを、 ユーザの視点から見える第 2の画像データに変換する変換手段を備えることを特 徴とする。
本発明の第 1の画像処理方法は、 第 1の画像データを撮像したときの光線の軌 跡とその光線に対応する画素値である光線情報を用いて、 第 1の画像データを、 ユーザの視点から見える第 2の画像データに変換する変換ステップを備えること を特徴とする。
本発明の第 1のプログラムは、 第 1の画像データを撮像したときの光線の軌跡 とその光線に対応する画素値である光線情報を用いて、 第 1の画像データを、 ュ 一ザの視点から見える第 2の画像データに変換する変換ステップを備えることを 特徴とする。
本発明の第 1のプログラム記録媒体は、 第 1の画像データを撮像したときの光 線の軌跡とその光線に対応する画素値である光線情報を用いて、 第 1の画像デー タを、 ユーザの視点から見える第 2の画像データに変換する変換ステップを備え るプログラムが記録されていることを特徴とする。 本発明の第 2の画像処理装置は、 画像データを、 その所定の画素に入射した光 線と、 その光線と垂直な、 所定の点を通る平面との交点における画素値を、 所定 の画素の画素値とした画像データである中間データに変換する変換手段を備える ことを特徴とする。
本発明の第 2の画像処理方法は、 画像データを、 その所定の画素に入射した光 線と、 その光線と垂直な、 所定の点を通る平面との交点における画素値を、 所定 の画素の画素値とした画像データである中間デ一タに変換する変換ステップを備 えることを特徴とする。
本発明の第 2のプログラムは、 画像データを、 その所定の画素に入射した光線 と、 その光線と垂直な、 所定の点を通る平面との交点における画素値を、 所定の 画素の画素値とした画像データである中間データに変換する変換ステップを備え ることを特徴とする。
本発明の第 2のプログラム記録媒体は、 画像データを、 その所定の画素に入射 した光線と、 その光線と垂直な、 所定の点を通る平面との交点における画素値を、 所定の画素の画素値とした画像データである中間データに変換する変換ステップ を備えるプログラムが記録されていることを特徴とする。
本発明のデータ構造は、 原画像データを構成する所定の画素に入射した光線と、 その光線と垂直な、 所定の点を通る平面との交点を、 画素とし、 その画素の画素 値が、 所定の画素の画素値とされていることを特徴とする。
本発明のデータ記録媒体は、 原画像データを構成する所定の画素に入射した光 線と、 その光線と垂直な、 所定の点を通る平面との交点を、 画素とし、 その画素 の画素値が、 所定の画素の画素値とされている画像データが記録されていること を特徴とする。
本発明の第 3の画像処理装置は、 オブジェク トからの光線に対応する画素値を 有する所定のフォーマッ トの中間データを出力する中間データ出力手段と、 ォブ ジェク トに対する視点の位置情報が出力される視点出力手段と、 中間データを用 いて、 視点からのォブジヱク トの画像を作成する中間データ変換手段とを備える ことを特徴とする。
本発明の第 3の画像処理方法は、 オブジェク トからの光線に対応する画素値を 有する所定のフォーマッ トの中間データを出力する中間データ出力ステップと、 オブジェク 卜に対する視点の位置情報が出力される視点出力ステップと、 中間デ ータを用いて、 視点からのオブジェク トの画像を作成する中間データ変換ステツ プとを備えることを特徴とする。
本発明の第 3のプログラムは、 オブジェク トからの光線に対応する画素値を有 する所定のフォーマツトの中間データを出力する中間データ出力ステップと、 ォ ブジェク トに対する視点の位置情報が出力される視点出力ステップと、 中間デー タを用いて、 視点からのオブジェク トの画像を作成する中間データ変換ステップ とを備えることを特徴とする。
本発明の第 3のプログラム記録媒体は、 オブジェク トからの光線に対応する画 素値を有する所定のフォーマットの中間データを出力する中間データ出カステツ プと、 オブジェク トに対する視点の位置情報が出力される視点出力ステップと、 中間データを用いて、 視点からのオブジェク トの画像を作成する中間データ変換 ステップとを備えるプログラムが記録されていることを特徴とする。
本発明の第 1の画像処理装置および画像処理方法、 並びにプログラムおよびプ ログラム記録媒体においては、 第 1の画像データを撮像したときの光線の軌跡と その光線に対応する画素値である光線情報を用いて、 第 1の画像データが、 ユー ザの視点から える第 2の画像データに変換される。
本発明の第 2の画像処理装置および画像処理方法、 並びにプログラムおよびプ ログラム記録媒体においては、 画像データが、 その所定の画素に入射した光線と、 その光線と垂直な、 所定の点を通る平面との交点における画素値を、 所定の画素 の画素値とした画像データである中間データに変換される。
本発明のデータ構造およびデータ記録媒体においては、 原画像データを構成す る所定の画素に入射した光線と、 その光線と垂直な、 所定の点を通る平面との交 点が、 画素とされ、 その画素の画素値が、 所定の画素の画素値とされている。 本発明の第 3の画像処理装置および画像処理方法、 並びにプログラムおよびプ ログラム記録媒体においては、 オブジェク トからの光線に対応する画素値を有す る所定のフォーマツ トの中間データが出力されるとともに、 オブジェク トに対す る視点の位置情報が出力され、 中間データを用いて、 視点からのオブジェク トの 画像が作成される。
ここで、 画像データは、 静止画であっても良いし、 動画であっても良い。 さら に、 画像データは、 例えば、 実写の画像データであると、 C Gであるとを問わな レ、。 図面の簡単な説明
図 1は、 従来の画像の表示方法を説明する図である。
図 2は、 本発明を適用した画像表示装置の一実施の形態の構成例を示す図であ る。
図 3は、 コンピュータ 1のハードウエア構成例を示すブロック図である。 図 4 Aは、 画像表示装置による画像の表示方法を説明する図である。
図 4 Bは、 画像表示装置による画像の表示方法を説明する図である。
図 4。は、 画像表示装置による画像の表示方法を説明する図である。
図 5は、 画像処理装置としてのコンピュータの第 1の機能的構成例を示すプロ ック図である。
図 6は、 画像処理装置による画像処理を説明するフローチャートである。 図 7は、 画像データベース 2に記憶される画像データを撮像 (生成) する画像 生成装置の構成例を示すプロック図である。
図 8は、 画像生成装置による画像生成処理を説明するフローチャートである。 図 9は、 モーションベース方式を説明する図である。
図 1 0 Aは、 モーションベースの移動例を示す図である。
図 1 0 Bは、 モーションベースの移動例を示す図である。
図 1 1は、 ターンテーブル方式を説明する図である。 図 1 2は、 カメラ 4 1の構成例を示す斜視図である。
図 1 3は、 全方位画像データを示す図である。
図 1 4は、 集光部 5 2を構成する双曲面を説明する図である。
図 1 5は、 集光部 5 2と撮像部 5 3との位置関係を説明するための図である。 図 1 6は、 全方位画像データを示す図である。
図 1 7は、 全方位画像データからの切り出しを説明するための図である。 図 1 8は、 円周方向の歪みを説明するための図である。
図 1 9は、 半径方向の歪みを説明するための図である。
図 2 0は、 半径方向の歪みを除去する方法を説明するための図である。
図 2 1は、 半径方向の歪みを除去する方法を説明するための図である。
図 2 2 Aは、 半径方向の歪みを除去する全方位画像データの変換を説明するた めの図である。
図 2 2 Bは、 半径方向の歪みを除去する全方位画像データの変換を説明するた めの図である。
図 2 3は、 変換対象点における画素値の求め方を説明するための図である。 図 2 4は、 原画像データを、 ユーザから見た提示用画像データに変換する変換 原理を説明する図である。
図 2 5は、 原画像データを、 ユーザから見た提示用画像データに変換する変換 原理を説明する図である。
図 2 6は、 原画像データを中間データに変換する方法を説明する図である。 図 2 7は、 原画像データを中間データに変換する画像データ変換処理を説明す るフローチヤ一トである。
図 2 8は、 原画像データを中間データに変換する画像データ変換処理を説明す る図である。
図 2 9 Aは、 中間データのフォーマッ トを示す図である。
図 2 9 Bは、 中間データのフォーマツトを示す図である。
図 3 0は、 中間データとしての画像データを示す図である。 図 3 1 Aは、 中間データとしての画像データの補間を説明する図である。 図 3 1 Bは、 中間データとしての画像データの補間を説明する図である。 図 3 2は、 中間データとしての画像データを補間する画素値補間処理を説明す るフローチヤ一トである。
図 3 3は、 クラス分類適応処理を行うクラス分類適応処理装置の構成例を示す プロック図である。
図 3 4は、 クラス分類適応処理に用いられるタップ係数を学習する学習装置の 構成例を示すプロック図である。
図 3 5 Aは、 中間データの他のフォーマツトを示す図である。
図 3 5 Bは、 中間データの他のフォーマットを示す図である。
図 3 6は、 中間データを提示用画像データに変換する中間データ変換処理を説 明するフローチヤ一トである。
図 3 7は、 中間データを提示用画像データに変換する中間データ変換処理を説 明する図である。
図 3 8は、 画像処理装置としてのコンピュータ 1の第 2の機能的構成例を示す ブロック図である。
図 3 9 Aは、 原画像データを提示用画像データに変換する変換原理を説明する 図である。
図 3 9 Bは、 原画像データを提示用画像データに変換する変換原理を説明する 図である。
図 4 0は、 画像処理装置による画像処理を説明するフローチヤ一トである。 図 4 1は、 画像データベース 2に記憶された原画像データの撮像方法を説明す る図である。
図 4 2は、 カメラが移動しながら原画像データの撮像が行われている様子を示 す図である。
図 4 3は、 短冊画像により構成される中間データを示す図である。
図 4 4は、 原画像データの例を示す図である。 図 4 5 Aは、 中間データとしての画像データの例を示す図である。
図 4 5 Bは、 中間データとしての画像データの例を示す図である。
図 4 5 Cは、 中間データとしての画像データの例を示す図である。
図 4 5 Dは、 中間データとしての画像データの例を示す図である。
図 4 5 Eは、 中間データとしての画像データの例を示す図である。
図 4 6は、 原画像データを中間データに変換する画像データ変換処理を説明す るフローチヤ一トである。
図 4 7は、 原画像データを中間データに変換する画像データ変換処理を説明す る図である。
図 4 8 Aは、 中間データのフォーマットを示す図である。
図 4 8 Bは、 中間データのフォーマツトを示す図である。
図 4 9は、 中間データとしての画像データを補間する画素値補間処理を説明す るフローチヤ一トである。
図 5 0は、 中間データを提示用画像データに変換する中間データ変換処理を説 明するフローチャートである。
図 5 1は、 中間データを提示用画像データに変換する中間データ変換処理を説 明する図である。
図 5 2は、 画像処理装置としてのコンピュータ 1の第 3の機能的構成例を示す ブロック図である。
図 5 3は、 撮像条件を求める方法を説明する図である。
図 5 4は、 撮像条件を推定する撮像条件演算処理を説明するフローチャートで ある。 発明を実施するための最良の形態
図 2は、 本発明を適用した画像表示装置の一実施の形態の構成例を示している c コンピュータ 1は、 例えば、 ワークステーションであり、 画像データベース 2 に記憶された原画像データを、 後述する中間データに変換し、 中間データベース 3に記憶させる。 また、 コンピュータ 1は、 位置センサとしてのレシーバ 4およ びトランシーバ 5を制御し、 レシーバ 4の出力に基づいて、 ユーザの位置 (さら には、 必要に応じて姿勢) を検出する。 さらに、 コンピュータ 1は、 ユーザの位 置を、 ユーザの視点の位置として設定し、 中間データベース 3に記憶された中間 データを、 そのユーザの視点から見た画像データ (以下、 適宜、 提示用画像デー タという) に変換する。 そして、 コンピュータ 1は、 提示用画像データを、 ディ スプレイ 6に供給して表示させる。
画像データベース 2は、 後述するように、 カメラ等の撮像装置で撮像された実 写の画像データとしての原画像データを記憶している。 中間データベース 3は、 コンピュータ 1から供給される、 原画像データを変換した中間データを記憶する。 レシーバ 4は、 ユーザに装着されており、 トランスミッタ 5が発生する磁界を 検知し、 その磁界の強度を、 コンピュータ 1に供給する。 トランスミッタ 5は、 コンピュータ 1の制御にしたがい、 磁界を発生する。 即ち、 図 2の実施の形態で は、 レシーバ 4およびトランスミッタ 5は、 位置センサとしての磁界センサを構 成しており、 レシーバ 4が、 トランスミッタが発生する磁界の強度を計測するこ とにより、 レシーバ 4の位置、 ひいては、 ユーザの位置が検出されるようになつ ている。
ここで、 レシーバ 4は、 例えば、 ユーザの頭部に装着される。 また、 ユーザが、 例えば、 ネクタイピンを着用していたり、 または眼鏡をかけている場合には、 レ シーバ 4は、 そのネクタイピンや眼鏡のフレームに装着することができる。
なお、 位置センサである磁界センサとしては、 例えば、 ポヒマス(Polhemus)社 の 3次元位置センサなどを採用することができる。
また、 位置センサとしては、 磁界センサの他、 例えば、 機械リンク式の位置計 測手段 (例えば、 3次元ディジタイザなど) を採用することが可能である。 さら に、 位置センサとしては、 例えば、 ジョイスティックやトラックボールなどの、 ユーザの位置の変化を入力することのできる手段を採用することも可能である。 即ち、 ここでは、 位置センサは、 実際のユーザの位置を検知する手段である必要 はなく、 仮想的なユーザの位置を入力することができる手段であってもよい。 ディスプレイ 6は、 例えば、 C R Tや液晶パネルなどで構成され、 コンビユー タ 1から供給される提示用画像データを表示する。 なお、 ディスプレイ 6として は、 C R Tや液晶パネル以外に、 例えば、 プロジェクタや HM D (Head Mount Di splay)、 その他の画像を表示することのできる手段を採用することが可能である。 次に、 図 3は、 図 1のコンピュータ 1のハードウェア構成例を示している。 コンピュータ 1には、 後述する一連の処理を実行するプログラムがインス トー ノレされている。
プログラムは、 コンピュータ 1に内蔵されている記録媒体としてのハードディ スク 1 5や R O M 1 3に予め記録しておくことができる。
あるいはまた、 プログラムは、 フレキシブルディスク、 CD- ROM (Compact Disc Read Only Memory) , MO (Magneto Optical)ディスク, DVD (Digital Versat i l e Di sc)、 磁気ディスク、 半導体メモリなどのリムーバブル記録媒体 2 1に、 一時的 あるいは永続的に格納 (記録) しておくことができる。 このようなリムーバブル 記録媒体 2 1は、 いわゆるパッケージソフトウェアとして提供することができる。 なお、 プログラムは、 上述したようなリムーバブル記録媒体 2 1からコンビュ ータ 1にインス トールする他、 ダウンロードサイ トから、 ディジタル衛星放送用 の人工衛星を介して、 コンピュータ 1に無線で転送したり、 LAN (Local Area Net work) , インターネッ トといったネッ トワークを介して、 コンピュータ 1に有線 で転送し、 コンピュータ 1では、 そのようにして転举されてくるプログラムを、 通信部 1 8で受信し、 内蔵するハードディスク 1 5にインストールすることがで さる。
コンピュータ 1は、 CPU (Central Process ing Unit) 1 2を内蔵している。 CPU 1 2には、 バス 1 1を介して、 入出力インタフェース 2 0が接続されており、 CP U 1 2は、 入出力インタフェース 2 0を介して、 ユーザによって、 キーボードや、 マウス、 マイク等で構成される入力部 1 7が操作等されることにより指令が入力 されると、 それにしたがって、 R0M (Read On ly Memory) 1 3に格納されているプ ログラムを実行する。 あるいは、 また、 CPU 1 2は、 ハードディスク 1 5に格納 されているプログラム、 衛星若しくはネッ トワークから転送され、 通信部 1 8で 受信されてハードディスク 1 5にィンストールされたプログラム、 またはドライ プ 1 9に装着されたリムーバブル記録媒体 2 1から読み出されてハードディスク 1 5にインストーノレされたプログラムを、 RAM (Random Access Memory) 1 4に口 ードして実行する。 これにより、 CPU 1 2は、 後述するフローチャートにしたが つた処理、 あるいは後述するブロック図の構成により行われる処理を行う。 そし て、 CPU 1 2は、 その処理結果を、 必要に応じて、 例えば、 入出力インタフエ一 ス 2 0を介して、 スピーカ等で構成される出力部 1 6から出力、 あるいは、 通信 部 1 8から送信、 さらには、 ハードディスク 1 5に記録等させる。
なお、 図 3の実施の形態では、 入出力インタフェース 2 0に、 画像データべ一 ス 2、 中間データベース 3、 レシーバ 4、 トランスミッタ 5、 およびディスプレ ィ 6が接続されている。 そして、 CPU 1 2は、 画像データベース 2に記憶された 原画像データを、 入出力インタフェース 2 0を介して読み出し、 中間データに変 換する。 さらに、 CPU 1 2は、 その中間データを、 入出力インタフェース 2 0を 介して、 中間データベース 3に記憶させる。 また、 CPU 1 2は、 入出力インタフ エース 2 0を介して、 トランスミッタ 5を制御するとともに、 レシーバ 4の出力 を受信し、 ユーザの位置を検出する。 さらに、 CPU 1 2は、 検出したユーザの位 置を、 ユーザの視点として設定し、 そのユーザの視点に対応して、 中間データべ ース 3に記憶された中間データを、 提示用画像データに変換する。 また、 CPU 1 2は、 提示用画像データ ¾、 入出力インタフェース 2 0を介して、 ディスプレイ 6に供給して表示させる。
ここで、 本明細書において、 コンピュータ 1に各種の処理を行わせるためのプ ログラムを記述する処理ステップは、 必ずしも後述するフローチヤ一トとして記 載された順序に沿って時系列に処理する必要はなく、 並列的あるいは個別に実行 される処理 (例えば、 並列処理あるいはオブジェク トによる処理) も含むもので ある。 また、 プログラムは、 1のコンピュータにより処理されるものであっても良い し、 複数のコンピュータによって分散処理されるものであっても良い。 さらに、 プログラムは、 ネッ トワークを介した遠方のコンピュータに転送されて実行され るものであっても良い。
以上のような図 3のコンピュータ 1をベースとして構成される図 2の画像表示 装置では、 例えば、 図 4 Aに示すように、 現実世界において、 ユーザが、 ある被 写体を観察する場合と同様の提示用画像データが表示される。
即ち、 現実世界において、 ユーザが、 ある被写体を観察する場合には、 ユーザ 力 その視点を移動すると、 ユーザは、 その移動後の視点から見た被写体を観察 することができる。 具体的には、 現実世界では、 ユーザが、 その視点を移動する ことによって、 被写体の見える部分と見えない部分が変化する。
図 2の画像表示装置においても、 図 4 Bに示すように、 ユーザが、 その視点を 移動した場合、 その視点に応じて、 ディスプレイ 6に表示される提示用画像デー タが、 現実世界においてユーザの視覚に映る被写体が表示されたものとなるよう になっている。 即ち、 図 2の画像表示装置においては、 図 4 Cに示すように、 ュ 一ザが視点を移動した場合に、 その視点から被写体を見た場合の提示用画像デー タが表示されるようになつている。
従って、 図 2の画像表示装置では、 ユーザが視点を移動すると、 例えば、 移動 前の視点からでは見えなかった被写体の部分が見える状態となった提示用画像デ ータが表示される。 即ち、 ユーザが、 ディスプレイ 6における提示用画像データ に表示された被写体をのぞき込むように、 視点を移動すると、 現実世界において、 その移動後の視点から被写体を ¾た場合に視覚に映るのと同様の提示用画像デー タ、 つまり、 ユーザが司見き込んだ被写体の部分が見える状態となった提示用画像 データが表示される。 このことから、 図 2の画像表示装置は、 いわば、 「のぞけ るテレビ(Televi sion)」 (多視点画像表示テレビ) ということができる。
次に、 図 5は、 図 3のコンピュータ 1がプログラムを実行することにより実現 される処理と同じ処理を行う画像処理装置の機能的構成例を示している。 コンピュータ 1 (の CPU 1 2 ) がプログラムを実行することにより実現される 処理と同じ処理を行う画像処理装置は、 データ変換部 3 0およびセンサ制御部 3 3で構成される。
データ変換部 3 0は、 画像データ変換部 3 1と中間データ変換部 3 2から構成 され、 画像データベース 2に記憶された原画像データを撮像したときの光線の軌 跡とその光線に対応する画素値である光線情報を用いて、 その原画像データを、 センサ制御部 3 3から供給されるユーザの視点から見える提示用画像データに変 換し、 ディスプレイ 6に供給して表示させる。
即ち、 データ変換部 3 1は、 画像データベース 2から原画像データを読み出し、 中間データに幾何変換する。 さらに、 データ変換部 3 1は、 中間データを、 中間 データベース 3に供給して記憶させる。
中間データ変換部 3 2は、 センサ制御部 3 3から供給されるユーザの視点に基 づいて、 中間データを、 提示用画像データに変換し、 即ち、 ユーザの視点から見 た画像データを再構成し、 ディスプレイ 6に供給して表示させる。
センサ制御部 3 3は、 位置センサとしてのレシーバ 4およびトランスミッタ 5 を制御することにより、 ユーザの視点を検出し、 中間データ変換部 3 2に供給す る。 即ち、 センサ制御部 3 3は、 トランスミッタ 5を制御することにより、 磁界 を発生させる。 さらに、 センサ制御部 3 3は、 レシーバ 4から供給される、 トラ ンスミッタ 5が発生する磁界の検出結果に基づいて、 ユーザの位置を検出して、 その位置を、 ユーザの視点として設定し、 中間データ変換部 3 2に供給する。 次に、 図 6のフローチャートを参照して、 図 5の画像処理装置 (コンビユー タ) 1による画像処理について説明する。
まず最初に、 ステップ S 1において、 データ変換部 3 1は、 画像データベース 2から原画像データを読み出し、 中間データに変換する。 さらに、 ステップ S 1 では、 データ変換部 3 1は、 中間データを、 中間データベース 3に供給して記憶 させ、 ステップ S 2に進む。
ステップ S 2では、 センサ制御部 3 3が、 レシーバ 4の出力から、 ユーザの位 置を検出し、 さらに、 そのユーザの位置を、 ユーザの視点に設定して、 中間デー タ変換部 3 2に供給する。
そして、 ステップ S 3に進み、 中間データ変換部 3 2は、 センサ制御部 3 3か ら供給されるユーザの視点に基づいて、 中間データを、 提示用画像データに変換 し、 ステップ S 4に進む。
ステップ S 4では、 中間データ変換部 3 2は、 提示用画像データを、 ディスプ レイ 6に供給して表示させ、 ステップ S 5に進む。
ステップ S 5では、 例えば、 ユーザが、 画像処理を終了するように、 入力部 1 7 (図 3 ) を操作したかどうかを、 CPU 1 2 (図 3 ) が判定する。 ステップ S 5 において、 画像処理を終了するように、 入力部 1 7が操作されていないと判定さ れた場合、 ステップ S 2に戻り、 以下、 同様の処理が繰り返される。
また、 ステップ S 5において、 画像処理を終了するように、 入力部 1 7が操作 されたと判定された場合、 処理を終了する。
' なお、 図 6の画像処理が、 過去に実行され、 画像データベース 2に記憶されて いる原画像データを変換した中間データが、 中間データベース 3に、 既に記憶さ れている場合には、 ステップ S 1の処理は、 スキップすることができる。
次に、 図 7は、 画像データベース 2に記憶させる原画像データを生成 (撮像) する画像生成装置の構成例を示している。
カメラ 4 1は、 図 7の実施の形態では、 例えば、 いわゆる全方位カメラで構成 され、 被写体を含む全方位の画像データ (全方位画像データ) を、 コントローラ 4 7の制御にしたがって撮像し、 バッファ 4 2に供給する。
バッファ 4 2は、 カメラ 4 1から供給される全方位画像データを一時記憶する。 全方位画像変換部 4 3は、 バッファ 4 2に記憶された全方位画像データを読み 出し、 後述する緯度経度表現の原画像データに変換して、 バッファ 4 4に供給す る。
バッファ 4 4は、 全方位画像変換部 4 3から供給される原画像データを一時記 憶する。 駆動機構 4 5は、 駆動機構制御部 4 6の制御にしたがい、 カメラ 4 1で撮像す る撮像対象となっている被写体を移動する。 ここで、 駆動機構 4 5によって被写 体が移動されることにより、 相対的に、 被写体に対するカメラ 4 1の視点 (光学 中心) 1S 複数の位置に変えられる。
駆動機構制御部 4 6は、 コントローラ 4 7の制御にしたがい、 駆動機構を駆動 する。
コントローラ 4 7は、 カメラ 4 1の撮像タイミングや、 駆動機構制御部 4 6に よる駆動機構 4 5の駆動速度および駆動方向などを制御する。 さらに、 コント口 ーラ 4 7は、 カメラ 4 1の撮像タイミング (撮像時刻) や、 駆動機構 4 5により 移動される被写体の位置 (必要に応じて、 被写体の姿勢を含む) を表す情報など を、 m u x (マルチプレクサ) 4 8に供給する。
マルチプレクサ 4 8は、 バッファ 4 4に記憶された原画像データの各フレーム に、 そのフレームについてコントローラ 4 7が出力する情報を付加し、 画像デー タベース 2に供給して記憶させる。
次に、 図 8のフローチャートを参照して、 図 7の画像生成装置による画像生成 処理について説明する。
まず最初に、 コントローラ 4 7は、 被写体を所定の位置に移動させ、 その撮像 を行うように、 カメラ 4 1および駆動機構制御部 4 6を制御するとともに、 その 所定の位置と被写体の撮像タイミングを表す情報を、 m u X 4 8に供給する。 ここで、 コントローラ 4 7は、 例えば、 現実世界に、 3次元座標系 (以下、 適 宜、 撮像時座標系という) をあらかじめ設定し、 その撮像時座標系における被写 体の座標を、 被写体の位置を表す情報 (以下、 適宜、 位置情報という) として出 力する。 また、 コントローラ 4 7は、 被写体のある姿勢 (例えば、 被写体の撮像 開始時の姿勢) を基準姿勢として、 その基準姿勢からの被写体の変化を表す角度 も、 位置情報に含めて出力する。 さらに、 コントローラ 4 7は、 撮像時座標系に おける、 カメラ 4 1の位置 (例えば、 レンズ中心の位置) を表す座標と、 その光 軸方向 (視線の方向) を表す情報も、 位置情報に含めて出力する。 なお、 後述する図 9で説明するモーションベース方式や、 図 1 1で説明するタ ーンテーブル方式によって、 被写体を動かす場合には、 カメラ 4 1のレンズ中心 (光学中心) の位置および光軸方向は、 変化せず、 固定となるが、 このカメラ 4 1のレンズ中心の位置および光軸方向は、 コントローラ 4 7にあらかじめ設定さ れているものとする。
また、 上述の被写体の座標や姿勢は、 実際には、 被写体を移動させる駆動機構 4 5の状態から把握される。 ここで、 駆動機構 4 5の状態は、 駆動機構 4 5を、 駆動機構制御部 4 6を介して制御するコントローラ 4 7によって認識される。 ステップ S 1 1において、 駆動機構制御部 4 6は、 コントローラ 4 7の制御に したがい、 駆動機構 4 5を制御することにより、 被写体の位置を変化させ、 ステ ップ S 1 2に進む。 ステップ S 1 2では、 カメラ 4 1力 S、 コントローラ 4 7の制 御にしたがい、 被写体を撮像し、 その結果得られる全方位画像データを、 バッフ ァ 4 2に供給して記憶させる。
そして、 ステップ S 1 3に進み、 全方位画像変換部 4 3は、 バッファ 4 2に記 憶された全方位画像データを読み出し、 緯度経度表現の原画像データに変換して、 ノ ッファ 4 4に供給する。 その後、 ステップ S 1 4に進み、 m u x 4 8は、 ノ ッ ファ 4 4に記憶された原画像データのフレームに、 コントローラ 4 7から供給さ れる情報を付加し、 画像データベース 2に供給して記憶させる。
ステップ S 1 4の処理後は、 ステップ S 1 5に進み、 コントローラ 4 7は、 被 写体を、 あらかじめ設定したすべての位置に移動したかどうカゝ (さらには、 必要 に応じて、 あらかじめ設定したすべての姿勢をとらせたかどう力) を判定し、 ま だ、 すべての位置に移動していないと判定した場合、 被写体を、 まだ移動させて いない位置に移動させ、 その撮像を行うように、 カメラ 4 1および駆動機構制御 部 4 6を制御するとともに、 被写体の移動位置と被写体の撮像タイミングを表す 情報その他を、 m u X 4 8に供給する。 そして、 ステップ S 1 1に戻り、 以下、 同様の処理が繰り返される。
また、 ステップ S 1 5において、 被写体を、 あらかじめ設定したすべての位置 に移動したと判定された場合、 即ち、 あらかじめ設定したすべての位置において、 被写体の撮像が行われた場合、 処理を終了する。
次に、 図 7の画像生成装置において、 被写体の全方位画像を撮像する際に被写 体を移動させる場合の被写体の移動方式について説明する。
図 7の画像生成装置では、 被写体を移動させながら、 その撮像が行われるが、 この場合、 その被写体の位置を精度良く制御する必要がある。 そのような被写体 の移動方式としては、 例えば、 モーションベース方式やターンテーブル方式があ る。
モーションベース方式では、 図 9に示すように、 駆動機構 4 5として、 モーシ ヨンベースが用いられる。 そして、 駆動機構 4 5としてのモーションベース上に 被写体を載せ、 例えば、 被写体が併進運動するように、 モーションベースが (力 メラ 4 1に向かって) 上下左右に移動される。
即ち、 モーションベース方式では、 駆動機構 4 5としてのモーションベースを、 例えば、 図 1 0 Aに示すように、 上下方向に移動しながら、 徐々に、 左から右方 向に移動する。 ここで、 図 1 0 Bは、 実際のモーションベースの軌跡を表してい る。 なお、 図 1 0 Bにおいて、 モーションベースの軌跡とともに、 TC :の後に続 けて表示してある数字は、 カメラ 4 1で撮像された画像のタイムコードを表す。 従って、 図 1 0 Bでは、 モーションベースの軌跡とタイムコードとが対応付けら れているので、 被写体の位置 (姿勢) と、 その位置にある被写体を撮像した画像 データのフレームとの対応関係を認識することができる。
図 9のモーションベース方式によれば、 被写体とカメラ 4 1との間に想定する ことができる開曲面としての、 例えば平面上の複数の点を視点として被写体を撮 像したときの、 被写体からの光線の軌跡とその光線に対応する画素値である光線 情報を得ることができる。 なお、 被写体からの光線に対応する画素値は、 カメラ 4 1が出力する画像データから得ることができ、 被写体からの光線の軌跡は、 力 メラ 4 1と被写体の位置から得ることができる。
ターンテーブル方式では、 図 1 1に示すように、 駆動機構 4 5として、 ターン テーブル (台車) が用いられる。 そして、 駆動機構 4 5としてのターンテーブル 上に被写体を載せ、 ターンテーブルを非常に低速で上または下方向に移動させな がら一定の角速度で回転させる。
図 1 1のターンテーブル方式によれば、 被写体を囲む開曲面として円柱を想定 すると、 想定された円柱の側面上の複数の点を視点として被写体を撮像したとき の光線情報を得ることができる。
なお、 図 7の画像生成装置においては、 被写体を移動させることにより、 その 被写体を複数の視点それぞれから見た画像データの撮像を行うようにしたが、 被 写体を移動させるのではなく、 カメラ 4 1を移動させることにより、 被写体を複 数の視点それぞれから見た画像データの撮像を行うようにすることも可能である。 被写体の全方位画像データを取得できれば、 上記以外の方法でも良い。
また、 図 7の画像生成装置においては、 1台のカメラ 4 1を用い、 被写体を移 動させることによって、 被写体を複数の視点それぞれから見た画像データの撮像 を行うようにした。 この方法以外にも、 例えば、 異なる位置に配置した複数台の カメラを用いて被写体を撮像することにより、 被写体を複数の視点それぞれから 見た画像データの撮像を行うことも可能である。
次に、 図 7の画像生成装置では、 カメラ 4 1として、 全方位カメラが採用され ているが、 この全方位カメラによる画像の撮像と、 全方位画像変換部 4 3による 全方位画像データの変換について説明する。
図 1 2は、 図 7のカメラ 4 1としての全方位カメラの光学系の構成例を示して いる。
図 1 2の実施の形態では、 カメラ 4 1は、 集光部 5 2力 S、 撮像部 5 3の上部に 配置された支持体 5 1によって支持されることによって構成されており、 集光部 5 2の周囲 3 6 0度の方向を撮像することができるようになつている。
支持体 5 1は、 ガラスなどの反射率の低い透明材料からなり、 ガラス面での光 の屈折を最小化するために、 入射光がガラス面と直交するように、 集光部 5 2の 後述する焦点を中心とした球面になっている。 集光部 5 2は、 例えば、 双曲面形状のミラー (双曲面ミラー) で構成され、 支 持体 5 1を介して入射する周囲の光を、 撮像部 5 3の方向に反射する。
撮像部 5 3は、 例えば、 C C D (Charge Coupled Device)等の光電変換素子で 構成され、 そこに入射する光を電気信号としての画像データに変換する。 この撮 像部 5 3で得られる画像データが、 カメラ 4 1の出力として、 図 7のバッファ 4 2に供給される。
ここで、 図 1 2に示した全方位カメラの構成や集光の原理については、 例えば、 「移動ロボッ ト用全方位視覚センサの開発」 、 自動化技術第 2 9巻第 6号 ( 1 9 9 7年) (以下、 適宜、 文献 1という) に開示されているため、 ここでは、 簡単 に説明する。 - 図 1 3は、 図 1 2のカメラ 4 1によって撮像された全方位画像データの例を示 している。
全方位画像データは、 中心点 C 1を中心とする 2つの円の円周 F 1と F 2によ つて区分される。 なお、 図 1 3では、 円周 F 1の方が、 円周 F 2よりも半径が大 きいものとなっている。
即ち、 全方位画像データは、 大きい円周 F 1の内側で、 かつ小さい円周 F 2の 外側になっている領域 R 1、 大きい円周 F 1の外側の領域 R 2、 小さい円周 R 2 に囲まれた領域 (内側の領域) R 3から構成される。 ·
以上の 3つの領域 R 1乃至 R 3のうち、 領域 R 1においては、 集光部 5 2で反 射された、 周囲からの光に対応する画像データが撮像されており、 領域 R 2にお いては、 集光部 5 2の外側の部分が撮像されている。 また、 領域 R 3には、 撮像 部 5 3自身が撮像されている。
さらに、 図 1 3の実施の形態では、 領域 R 1には、 複数の建物が撮像されてい るが、 円周 F 1に近い方向に、 建物の上部が撮像され、 円周 F 2に近い方向に、 建物の下部が撮像されている。
次に、 図 1 4を参照して、 図 1 2の集光部 5 2を構成する双曲面について説明 する。 集光部 5 2は、 双曲面の一部により構成されており、 双曲面の軸に対する垂直 面により、 双曲面を切断して得られた双曲面の凸型先頭部の凸状面に、 鏡面を形 成したものとなっている。
集光部 5 2には、 双曲面の 1つである二葉双曲面を用いることができ、 二葉双 曲面は、 図 14に示すように、 双曲線を軸 (図 1 4では、 Z軸) 回りに回転して 得られる曲面であり、 Z > 0の領域に存在する下に凸の双曲面 H 1と、 Zく 0の 領域に存在する上に凸の双曲面 H 2から構成される。
集光部 5 2には、 二葉の双曲面 H 1と H 2のうち、 Z〉 0の領域にある双曲面 H Iを利用する。 なお、 以下、 適宜、 Z軸を、 双曲線の中心軸または単に軸とも いう。
図 1 4に示した X, Υ, Zの 3次元直交座標系において、 二葉双曲面 H 1 と H 2は、 式 ( 1) で示される。
,つ一 I
a2 b2
• · · (1) ここで、 式 ( 1 ) において、 定数 a と bは、 双曲面 H 1および H 2の形状を定 義する定数である。 即ち、 定数 bは、 原点 Oから、 双曲面 H I (H 2) と Z軸と の交点までの距離を表す。 また、 定数 aは、 その交点を通る、 XY平面と平行な 平面と、 双曲面 H I (H 2) の漸近面 A 1との交線が描く円の半径を表す。 さらに、 式 ( 1) において、 定数 cは、 双曲面 H 1および H 2の焦点の位置を 定義する定数である。 即ち、 Z軸上の + cの位置 (0, 0, + c) 、 双曲面 H 2の焦点 f 1となり、 Z軸上の一 cの位置 (0, 0, — c) 力 双曲面 H 1の焦 点 f 2となる。
なお、 定数 a , b cは、 次式で示される関係を有する。
Figure imgf000022_0001
• · · (2) 集光部 5 2が、 図 4で説明したような双曲面 H 1で構成されるとした場合、 撮像部 5 3は、 図 1 5に示すように、 そのレンズの中心軸 (光軸) が Z軸に一致 し、 かつ、 レンズ中心 (カメラ 4 1のレンズ中心) 力 双曲面 H Iの焦点 f 2に 一致するように配置される。
次に、 撮像部 53が出力する全方位画像データは、 上述の図 13に示したよう なものとなるが、 いま、 この全方位画像データについて、 図 1 6に示すように、 その左上の点を原点 Oとするとともに、 左から右方向に X軸をとり、 上から下方 向に y軸をとつた 2次元直交座標系を定義する。
この場合、 円周 F 1の円および円周 F 2の円の中心点 C 1の座標を (X。 、 Y0 ) とするとともに、 円周 F 1の円の半径を rF1とし、 円周 F 2の円の半径 を rF2とすると、 円周 F 1の外側の領域 R 2を構成する点 (x, y ) は、 式
(3) により表され、 円周 F 2の内側の領域 R 3を構成する点 (X , y) は、 式
(4) により表される。
(x-Xo)2+(y-Yo)2>rn2
• · · (3)
(x-Xo)2+(y-Yo)2<rF2 2
• · · (4) 図 7の全方位画像変換部 43は、 全方位画像データを緯度経度表現の原画像デ ータに変換する前に、 式 (3) で表される領域 R 2を構成する画素値と、 式 (4) で表される領域 R 3を構成する画素値を、 画素値としては一般に取り得な い値 (例えば、 0) に変換する。
ここで、 この画素値の変換にあたっては、 中心点 C 1の座標 (X。, Y。) 、 並 びに半径 rF1および rF2が必要となるが、 これらの情報は、 カメラ 4 1からバッ ファ 42を介して、 全方位画像変換部 43に供給されるようになっている。 なお、 ここでは、 説明を簡単にするため、 露出時間や、 絞り、 ズームは、 固定 であるとする。
また、 図 1 3や図 1 6に示した領域 R 1の画像データである全方位画像データ については、 所望の被写体が表示されている部分等の、 全方位画像データの一部 分だけが必要な場合があり、 この場合、 全方位画像データから、 その必要な部分 を切り出す必要があるが、 この切り出しは、 全方位画像変換部 43において行わ れるようになっている。 即ち、 全方位画像変換部 43は、 図 1 7に示すように、 所望の被写体を含む領域 R 1 1であって、 中心点 C 1を通る半径方向の 2つの直 線 Lclと Lc2に囲まれ、 かつ中心点 C 1を中心とする 2つの円の円周 Fclと Fc2 に囲まれる略扇形の領域 R 1 1の画像データを切り出す。
次に、 全方位画像データは、 図 1 3や図 1 6に示したように、 中心点 C 1に近 づくほど狭まったものとなり、 逆に、 中心点 C 1から遠ざかるほど広がったもの となるような歪みを有する。 このことは、 全方位画像変換部 43が全方位画像デ ータから切り出す略扇形の画像データについても同様であり、 このようは歪みの ある画像データは、 図 5の画像処理装置において処理等するにあたって、 歪みの ないものに変換する必要がある。
全方位カメラであるカメラ 4 1が出力する、 上述のような全方位画像データの 歪みは、 中心点 C 1を通る円の円周方向の歪みと、 半径方向の歪みとに分けて考 えることができる。
そこで、 まず円周方向の歪みを考えてみると、 図 1 3や図 1 6の全方位画像デ ータの、 中心点 C 1を中心とするある円の円周上においては、 スケールが一定で あり、 従って、 歪みはない。
即ち、 図 1 8は、 Z軸方向から見た集光部 52としての双曲面 H 1を示してい る。
図 1 8では、 被写体上のある点 P (X, Υ, Z) から、 Z軸に向かい、 X軸 (XZ平面) と角度 0をつくるように、 光線 rが入射している。 この光線 rは、 双曲面 H Iで反射され、 後述する図 1 9に図示してある撮像部 53の受光面 (画 像面) (仮想スクリーン) A 3上の点 p (x, y ) に到達する。 そして、 この場 合、 点 p (x, y) は、 X軸 (XZ平面) との間で、 光線 rが X軸との間でつく るのと同一の角度 Θをつくる。
また、 Z軸に向かい、 X軸と角度 θ ' をつくるように入射する光線 r ' を考え た場合、 この光線 r ' も、 双曲面 H Iで反射され、 受光面 (画像面) A 3上の点 P ' ( χ ' , y ' ) に到達する。 そして、 この場合も、 点 p ' ( x, , y ' ) は、 X軸との間で、 光線 r ' が X軸との間でつくるのと同一の角度 0 ' をつくる。 また、 光線 r と r ' の、 Z軸に対する仰角 (後述する) が同一であれば、 光線 rおよび r ' は、 受光面 A 3上の、 位置は異なるが、 Z軸から同一の距離 だ け離れた点で受光される。
以上から、 Z軸に対する仰角が同一の複数の光線それぞれは、 受光面 A 3上の、 Z軸から同一の距離にある点であって、 X軸との間で、 光線と X軸とがっくるの と同一の角度をつくる点で受光される。
従って、 Z軸に対する仰角が同一で、 X軸との角度が等角度の複数の光線は、 受光面 A 3の、 Z軸を中心とする円周上に、 等間隔で入射することになるから、 全方位画像データにおいて、 受光面 A 3と Z軸との交点にあたる中心点 C 1を中 心とする円の円周方向には、 歪みは生じない。
一方、 図 1 3や図 1 6の全方位画像データの、 中心点 C 1を通る半径方向の直 線上においては、 中心点 C 1に近づくほど、 スケールが小さくなり、 中心点 C 1 から離れるほど、 スケールが大きくなることから、 全方位画像データは、 半径方 向の歪みを有する。
即ち、 図 1 9は、 X軸方向から見た集光部 5 2としての双曲面 H 1を示してい る。
図 1 9において、 Z軸に対して仰角 0度で、 焦点 f 1に向かって入射する光線 r lは、 双曲面 H Iで反射され、 焦点 f 2に向かっていき、 撮像部 5 3の受光面 (画像面) A 3で受光される。
ここで、 Z軸に対する仰角とは、 Z軸上の焦点 i lを通り、 Χ Υ面に平行な面 と、 焦点 f 1に向かって入射する光線とがっくる角度を意味する。 また、 撮像部 5 3の受光面 A 3は、 カメラ 4 1の焦点距離を f とすると、 焦点 f 2から、 Z軸 に沿って、 f だけ離れた原点 O方向に位置する。
Z軸に対して仰角 A d度で、 焦点 f 1に向かって入射する光線 r 2は、 双曲面 H Iで反射され、 焦点 f 2に向かっていき、 受光面 A 3で受光される。 Z軸に対 して仰角 2 A d度で、 焦点 f 1に向かって入射する光線 r 3は、 双曲面 H Iで反 射され、 焦点 ί 2に向かっていき、 受光面 A 3で受光される。 仰角が A d度ずつ 大きくなる光線 r 4 , r 5 , r 6も、 同様にして、 受光面 A 3で受光される。 このように、 仰角が△ d度ずつ異なる光線 r 1乃至 r 6それぞれが、 受光面 A 3で受光される点どうしの間隔は、 図 1 9の拡大図に示すように、 等間隔にはな らず、 Z軸に近い点どうしの間隔ほど狭くなる (Z軸から離れた点どう しの間隔 ほど広くなる) 。 即ち、 仰角が大きい光線どうしの間隔ほど狭くなる (仰角が小 さい光線どうしの間隔ほど広くなる) 。
そして、 仰角が等角度の光線について、 受光面 A 3上で受光される点どうしの 間隔が、 上述のように、 等間隔にならないことから、 全方位画像データには、 半 径方向の歪みが生じる。
従って、 全方位画像データの半径方向の歪みを除去するには、 仰角が等角度の 光線の、 受光面 A 3上での受光点どうしの間隔が、 等間隔になるようにすれば良 い。
そこで、 いま、 図 2 0に示すように、 被写体上のある点 P ( X , Υ , Z ) から、 焦点 f 1に向かって、 仰角 α度で入射する光線 rを考える。
この光線 rは、 図 1 9で説明した場合と同様に、 集光部 5 2としての双曲面 H 1で反射され、 焦点 f 2に向かっていき、 受光面 A 3で受光される。
この場合において、 焦点 f 2に向かう光線 r力 焦点 f 2を通り、 X Y平面に 平行な平面とつくる角度を γ度とする。 さらに、 X軸と Υ軸とで定義される 2次 元直交座標系において、 光線 rが受光面 A 3で受光された点 (受光点) pの座標 を (x, y ) で表し、 その点 p ( X , y ) と Z軸との距離を Rと表す。
図 2 0における角度ひは、 式 (1 ) で表される双曲面 H 1において、 光線 rが 反射される点の座標を求めることにより、 次式で表すことができる。
(b2+c2) s i nr -2bc
=tan
(b2-c2) cos (5) 式 ( 5) 力 ら、 t a ηひは、 次式で求めることができる。
(b2+c2)sinr-2bc
tanひ =
(b2-c2) cos
(6) ここで、 c o s γを、 次式のようにおく。
cos γ =Χ
(7) 式 (6) に、 式 (7) を代入すると、 次式が求められる,
Kb2— c2) tan } ·
Figure imgf000027_0001
(8) 式 (8) を変形して、 式 (9) が得られる。
(D2— Gつ tanひ 2bc
X+
b2+c2 b2+ = Vi-x2
(9) 一方、 Aと Bを、 それぞれ式 ( 1 0) と (1 1 ) に示すように定義する。
(b2-c2) tanひ
A=
b2 + C2
( 1 0)
2bc
B=
b2+c2
- - - ( 1 1 ) 式 (9) に、 式 (1 0) および (1 1 ) を代入することにより、 式 (1 2) が 求められる。
AX+B=V1-X2
• · · ( 1 2) 式 ( 1 2) は、 次のような、 Xについての 2次方程式とすることができる。 (A2+1)X2+2ABX+B2-1=0
(1 3 式 (1 3) の 2次方程式を解く と、 次式が得られる。
Figure imgf000028_0001
■ · ■ (14) 従って、 式 (7) より、 角度 γは、 次式によって求めることができる。
r=cos_1 (X)
• · · (1 5) 但し、 式 (1 5) において、 Xは、 式 (14) で定義されるものであり、 また. 式 ( 1 4) 中の Aと Bは、 それぞれ、 式 ( 1 0) と ( 1 1) で定義されるもので ある。
また、 図 20の点 pの座標から、 角度 γは、 次式で求めることができる。
Figure imgf000028_0002
• · · (1 6) 一方、 図 20における Z軸と点 p ( X , y) との距離 Rは、 f (x2+ y2) で 表されるから、 式 ( 1 6) は、 次式のように変形することができる。
Figure imgf000028_0003
• · · (1 7) 以上から、 式 (1 5) によって、 角度 γを求め、 その角度 γを用いて、 式 (1 7) を計算することにより、 Ζ軸に対して仰角ひ度で、 焦点 f 1に向かって入射 する光線 r力 受光面 A 3において受光される点 p ( X , y) の Z軸からの距離 Rを算出することができる。
従って、 Z軸に対する仰角の所定の範囲 (例えば、 0度乃至 80度など) を等 角度 Adに分割し、 各仰角 Ad, 2 Ad, 3 d, · · · で入射する光線が、 受 光面 A 3上で受光される各点 p 1, p 2, p 3 ■ ■ ' について、 Z軸からの距離 Rpl> Rp2, Ρρ3 · · ' を求めておき、 隣接する点どう しの距離の差 I Rpl_Rp2 I , | Rp2— Pp3 | , ■ · ·力 一定値になるように、 カメラ 4 1が出力する全 方位画像データを変換することにより、 その半径方向の歪みを除去した全方位画 像データを得ることができることになる。
なお、 この歪み除去のための全方位画像データの変換は、 図 7の全方位画像変 換部 4 3が行う。
即ち、 全方位画像変換部 43は、 図 2 1に示すように、 カメラ 4 1から、 バッ ファ 4 2を介して、 上述した半径方向の歪みがある全方位画像データとともに、 中心点 C l、 円周 F 1の円の半径 rF1、 および円周 F 2の円の半径 rF2を受信す る。
そして、 全方位画像変換部 43は、 中心点 C 1を中心とする半径 rF1の円の円 周 F 1 と、 中心点 C 1を中心とする半径 rF2の円の円周 F 2とで囲まれる領域 R 1内において、 中心点 C 1を中心とする、 上述の Rpl, Rp2, Ρρ3 · · ' を半径と する複数の同心円を描く。 さらに、 全方位画像変換部 43は、 その複数の同心円 の円周を等分する、 中心点 C 1を通る複数の直線を描く。 これにより、 全方位画 像変換部 43は、 領域 R 1において、 複数の同心円と、 複数の直線とで形成され る多数の交点を得る。
ここで、 上述の複数の同心円と、 複数の直線とで形成される多数の交点を、 以 下、 適宜、 変換対象点という。
上述したことから、 変換対象点を、 その隣接するものどうしが等間隔になるよ うに配置することで、 歪みのある全方位画像データを、 その歪みを除去した画像 データに変換することができる。
そこで、 いま、 図 2 1における、 図 1 7に示したのと同一の略扇形の領域 R 1 1の画像データを、 歪みのないものに変換することを考える。
この領域 R l 1内には、 図 22 Αに示すように、 中心点 C 1を中心とする複数 の同心円の円弧 F 1 1 , F 1 2 , F 1 3 , F 14 , F 1 5 , F 1 6それぞれと、 中心点 C 1を通る複数の直線 L 1, L 2 , L 3 , L 4 , L 5 , L 6それぞれとの 交点である多数の変換対象点が存在する。
全方位画像変換部 4 3は、 領域 R l 1内に存在する多数の変換対象点を、 図 2 2 Bに示すように、 隣接するものどう しが等間隔になるように配置する。
即ち、 全方位画像変換部 4 3は、 図 2 2 Aの円弧 F 1 1, F 1 2 , F 1 3 , F 1 4, F 1 5 , F 1 6それぞれに対応する、 等間隔に配置された横方向の直線 L 2 1, L 2 2 , L 2 3 , L 2 4 , L 2 5 , L 2 6と、 図 2 2 Aの直線 L 1, L 2 , L 3 , L 4, L 5 , L 6それぞれに対応する、 等間隔に配置された縦方向の直線 L 1 1 , L 1 2 , L 1 3 , L 1 4 , L 1 5 , L 1 6を想定し、 その横方向の直線 L 2 1乃至 L 2 6それぞれと、 縦方向の直線 L 1 1乃至 L 1 6それぞれとの交点 上に、 対応する変換対象点を変換する (割り当てる) 。
これにより、 例えば、 図 2 2 Aにおいて、 円弧 F 1 4と、 直線し 5との交点で ある変換対象点 P 1 1は、 図 2 2 Bの、 円弧 F 1 4に対応する直線 L 2 4と、 直 線し 5に対応する直線 L 1 5との交点 p 1 2に変換される。
なお、 カメラ 4 1を囲む、 表面が鏡の球を考えると、 全方位画像データには、 その球面上に映る、 球の外側の景色が表示される。 従って、 例えば、 いま、 その カメラ 4 1を囲む球を地球に見立てると、 全方位画像変換部 4 3において得られ る画像データは、 その縦軸と横軸が、 それぞれ地球の緯度と経度に対応するもの となっている。 そこで、 本実施の形態では、 全方位画像変換部 4 3が出力する、 歪みが除去された全方位画像データを、 緯度経度表現の画像データと呼んでいる。 ところで、 全方位画像変換部 4 3は、 上述のように、 変換対象点の位置を変換 (変更) することによって、 半径方向の歪みを有する画像データ (全方位画像デ ータ) を、 その歪みを除去した画像データ (緯度経度表現の画像データ) に変換 するが、 変換対象点は、 上述したように、 中心点 C 1を中心とする円と、 中心点 C 1を通る直線との交点である。 従って、 変換対象点は、 撮像部 5 3 (図 1 2 ) の受光面 A 3 (図 1 9、 図 2 0 ) を構成する画素の画素中心に一致するとは限ら ず、 むしろ、 一般には、 一致しないことが多い。 このように、 変換対象点は、 画素中心からずれているのが一般的であるから、 全方位画像変換部 4 3において、 変換対象点の位置を変換する前に、 その変換対 象点における画素値を求める必要がある。
そこで、 全方位画像変換部 43は、 変換対象点における画素値を、 例えば、 次 のようにして求めるようになつている。
即ち、 いま、 図 22 Aおよび図 22 Bの変換対象点 p 1 1力 S、 図 23に示すよ うに、 受光面 A 3上の隣接する 2 X 2の 4画素 P 1, P 2 , P 3, P 4それぞれ の画素中心 CP1, CP2, CP3, CP4を頂点とする長方形 (正方形) の範囲内にある とする。 なお、 図 23の実施の形態においては、 上下、 または左右方向に隣接す る画素中心どうしの距離が 1であるとしてある。
そして、 変換対象点 P 1 1力 画素中心 CP1よりも距離ひだけ右方向の、 距離 /3だけ下方向の点である場合、 全方位画像変換部 43は、 例えば、 次式で求めら れる画素値 Ssを、 変換対象点 p 1 1の画素値とする。
Figure imgf000031_0001
· · · (1 8) 但し、 式 (1 8) において、 Sa, Sb, Sc, Sdは、 画素 P I , P 2 , P 3, P 4それぞれの画素値を表す。 また、 式 (1 8) において、 ひおよび /3は、 0以 上 1以下の範囲の値で、 変換対象点 p 1 1の位置に対応するものである。
なお、 図 1 2の実施の形態では、 集光部 5 2を双曲面ミラーで構成するように したが、 集光部 5 2には、 その他、 例えば、 球面ミラーなどを採用することも可 能である。
また、 図 7の実施の形態では、 カメラ 4 1として、 全方位画像データを撮像す ることができる全方位カメラを採用したが、 カメラ 4 1としては、 その他、 例え ば、 魚眼レンズを装着したビデオカメラや、 一般的な (通常の) レンズのビデオ カメラなどを採用することも可能である。
ここで、 一般的なレンズのビデオカメラでは、 そのビデオカメラの光軸と直交 し、 その重心が光軸上にある長方形の平面であって、 かつビデオカメラのレンズ 中心と被写体との間にある平面を、 仮想的なスクリーンである仮想スクリーンと すれば、 被写体上の各点からレンズ中心に入射する光線が仮想スクリーン上に形 成する画像データが撮像される。 そして、 その際、 仮想スクリーンに入射する光 線は、 理想的には、 何らの変換もされないから、 2次元平面である仮想スクリー ンには、 3次元空間である現実世界の状況が、 いわば忠実に映し出される。 しかしながら、 全方位カメラや魚眼レンズを装着したビデオカメラでは、 全方 位や広角の撮像が可能であるが、 仮想スク リーンに入射する光線が、 いわば非線 形な変換を受けるため、 即ち、 例えば、 全方位カメラについて言えば、 図 1 9に 示したように、 光線が、 双曲面ミラー (を表す双曲面 H I ) で反射されるため、 仮想スクリーンには、 現実世界の状況が歪んだ形で映し出された全方位画像デー タが形成される。
そのため、 図 7の全方位画像変換部 4 3では、 そのような歪んだ全方位画像デ ータが、 一般的なレンズのカメラで撮像した場合と同様の緯度経度表現の画像デ ータに変換されるが、 いま、 この緯度経度表現の画像データを、 一般的なレンズ のカメラで撮像したものとすると、 この緯度経度表現の画像データには、 全方位 カメラの光軸を中心とするすべての経度方向が表示されているから、 一般的なレ ンズのカメラについての仮想スク リーンは、 左右方向 (経度方向) に無限の長さ を有するものとなる。
また、 全方位カメラでは、 緯度方向については、 理想的には、 0度から一 9 0 度の方向 (図 1 9において、 X Y平面から下側の任意の点から原点に向かう方 向) が撮像されるから、 緯度経度表現の画像データを、 一般的なレンズのカメラ で撮像したものとした場合には、 その仮想スク リーンは、 下方向 (マイナスの緯 度方向) に無限の長さを有するものとなる。
ところで、 全方位カメラにおいて撮像された全方位画像データを変換した緯度 経度表現の画像データは、 図 2の画像表示装置において画像を表示するにあたつ て、 そのすベてを必要としない。 即ち、 図 2の画像表示装置において画像を表示 するにあたっては、 緯度経度表現の画像データのうち、 注目している被写体が映 つている部分を含むある程度の範囲の画像データがあれば、 基本的には、 十分で ある。
そこで、 以下においては、 一般的なレンズのカメラで被写体を撮像した場合に、 その仮想スクリーンに映る範囲の画像データを、 緯度経度表現の画像データから 切り出し、 その切り出された画像データを対象に処理が行われるものとする。 こ こで、 この切り出しは、 例えば、 図 7の全方位画像変換部 4 3に行わせることが 可能である。
さらに、 以下においては、 カメラ 4 1の光軸やレンズ中心というときには、 力 メラ 4 1が一般的なレンズのカメラであるとして、 その一般的なレンズのカメラ の光軸やレンズ中心を意味するものとする。 従って、 上述したように、 緯度経度 表現の画像データから切り出された画像データについては、 その画像データを、 一般的なレンズのカメラで撮像したと仮定した場合の、 そのカメラの光軸やレン ズ中心が、 カメラ 4 1の光軸やレンズ中心となる。
次に、 図 5の画像処理装置によれば、 データ変換部 3 0において、 画像データ ベース 2に記憶された画像データが変換されることにより、 図 4 A乃至図 4じで 説明したように、 ユーザの視点から見た画像データ、 即ち、 現実世界においてュ 一ザが見ることのできる被写体が表示された画像データが、 ディスプレイ 6に表 示される。
このように、 データ変換部 3 0において、 現実世界においてユーザが見ること のできる被写体が表示された画像データが得られるのは、 次の原理による。
即ち、 画像データベース 2には、 図 7の画像生成装置が出力する、 複数の視点 (カメラ 4 1の視点) から撮像された緯度経度表現の原画像データが記憶されて いる。 このことは、 図 2 4に示すように、 ある曲面 Ω上の複数の点を視点として、 被写体を撮像した画像データが、 画像データベース 2に記憶されていると見るこ とができる。
いま、 曲面 Ωの、 被写体と反対側のある位置に視点 Pを設定し、 その視点 Pか ら被写体を見た場合の視覚に映る画像を考えてみる。
なお、 視点 Pは、 その視点 Pと、 被写体上の任意の点とを結ぶ直線が、 曲面 Ω と交わる位置にとるものとする。
また、 ここでは、 説明を簡単にするために、 曲面 Ω上の任意の点を視点として、 被写体を撮像した画像データが、 画像データベース 2に記憶されているものとす るとともに、 ユーザが被写体を観測しょうとする空間 (媒質) 内において、 光線 は直進し、 減衰しないものとする。
視点 Pから被写体を見たときの光線の軌跡 (被写体から視点 Pに入射する光線 の軌跡) は、 視点 Pと被写体上の各点とを結ぶ直線によって表現することができ る。 この光線は、 必ず、 曲面 Ωと交わるから、 その光線と一致する軌跡の光線に 対応する画素値 (被写体 Pから被写体を見た場合の光線情報と同一の光線情報) 1 画像データベース 2には、 必ず存在する。
即ち、 いま、 視点 Pと被写体上のある点 R iとを結ぶ直線 1^に注目し、 その直 線 と曲面 Ωとの交点を と表す。 いまの場合、 曲面 Ω上の任意の点を視点と して、 被写体を撮像した画像データが、 画像データベース 2に記憶されているか ら、 点 Q iを視点として被写体を撮像した画像データは、 画像データべ一ス 2に 記憶されている。 さらに、 いまの場合、 光線は直進し、 かつ減衰しないから、 被 写体上の点 R iから、 曲面 Ω上の点 に入射する光線と、 視点 Pに入射する光線 とは、 同一である。 従って、 視点 Pから被写体を見た場合、 その被写体上の点 R iから視点 Pに向かう光線に対応する画素値は、 被写体上の点 R iから曲面 Ω上の 点 Q iに向かう光線に対応する画素値に一致し、 この点 から点 Q iに向かう光 線に対応する画素値は、 画像データベース 2に記憶されている。
以上から、 視点 Pから、 被写体上の点 R iを見たときの画素値は、 曲面 Ω上の 点 Q iを視点として撮像された画像データから得ることができる。
視点 Pから、 被写体上の他の点を見たときの画素値も、 同様に、 曲面 Ω上の点 を視点として撮像された画像データから得ることができるから、 結果として、 曲 面 Ω上の任意の点を視点として撮像された画像データが存在すれば、 その画像デ ータを構成する画素の画素値から、 視点 Pと被写体とを結ぶ光線情報と同一の光 線情報の光線に対応する画素値を選択することにより、 視点 Pから被写体を見た 画像データが得られることになる。
ここで、 図 2 4に示した曲面 Ωの形状は、 特に限定されるものではなく、 任意 の形状のものを採用することができる。 従って、 曲面 Ωは、 図 2 5に示すように、 平面であってもかまわない。
また、 曲面 Ωは、 開曲面であっても、 閉曲面であってもかまわない。 但し、 曲 面 Ωが開曲面である場合には、 視点 Pは、 上述したように、 その視点 Pと、 被写 体上の任意の点とを結ぶ直線が、 曲面 Ωと交わる位置にとる必要がある。
さらに、 曲面 Ωが、 被写体を囲む閉曲面である場合には、 上述した原理から、 次のことが言える。
即ち、 被写体を囲む閉曲面上のすべての点において、 すべての方向の光線の光 線情報 (光線の軌跡とその光線に対応する画素値) が得られている場合には、 そ の閉曲面の外側の任意の位置から見た画像を再構成することができる。
なお、 上述の場合には、 曲面 Ω上の任意の点を視点として、 被写体を撮像した 画像データが得られているものとしたが、 被写体を撮像するときの視点は、 曲面 Ω上にない点であってもかまわない。 即ち、 例えば、 曲面 Ωが、 被写体を囲む閉 曲面であるとした場合、 その閉曲面の外側の任意の位置から見た画像を再構成す るには、 原理的には、 閉曲面上の任意の点において、 すべての方向の光線情報が 存在すればよく、 その光線情報は、 閉曲面上の点を視点として撮像された画像の ものであっても、 また、 閉曲面上の点以外の点を視点として撮像された画像のも のであっても良い。 このことは、 曲面 Ωが開曲面であっても同様である。
図 5のデータ変換部 3 0は、 以上のように、 画像データベース 2に記憶された 原画像データを撮像したときの、 所定の曲面 Ωを通る光線情報のうち、 ユーザの 視点に向かう光線情報を用いて、 提示用画像データ (ユーザの視点から見た画像 データ) を再構成することにより、 原画像データを提示用画像データに変換する。 即ち、 図 5のデータ変換部 3 0は、 ユーザの視点から見た画像が表示される仮 想的なスクリーン (仮想スク リーン) を、 ユーザの視点と被写体との間に設定し、 ユーザの視点と、 仮想スクリーンの画素とを結ぶ直線と同一軌跡の光線を検出す る。 さらに、 データ変換部 3 0は、 検出した光線に対応する画素値を、 仮想スク リーンの画素の画素値とし、 以上の処理を、 仮想スクリーン上のすべての画素値 について行うことにより、 仮想スク リーン上に、 ユーザの視点から見た画像デー タ (提示用画像データ) を再構成する。
従って、 例えば、 いま、 被写体を囲む閉曲面の外側の任意の位置を視点とした 提示用画像データを再構成するとした場合には、 その閉曲面上のすべての点にお ける、 すべての方向の光線情報があれば良い。 なお、 理論上は、 閉曲面上の点も、 その点における方向も無限に存在するから、 実際には、 閉曲面上の点も、 その点 における方向も有限個に制限されることになる。
ところで、 閉曲面上のすべての点における、 すべての方向の光線情報を用いて、 その閉曲面の外側の任意の位置を視点とした提示用画像データを再構成する場合、 視点が閉曲面上にある場合には、 その視点と一致する閉曲面上の点を通る光線の 光線情報を、 そのまま用いて、 提示用画像データを再構成することができる。
しかしながら、 視点が閉曲面上にない場合には、 その視点と、 その視点につい て設定された仮想スクリーン上の画素とを結ぶ直線が、 閉曲面と交わる点を、 仮 想スクリーン上のすべての画素について求める必要があり、 この場合、 例えば、 画像処理装置と してのコンピュータ 1 (図 3 ) を構成する CPU 1 2の性能等によ つては、 提示用画像データを実時間で表示するのが困難となることがある。
そこで、 データ変換部 3 0は、 画像データ変換部 3 1において、 画像データべ ース 2に記憶された原画像データを、 その画素に入射した光線に対応する画素値 からなる所定のフォーマツトの画像データである中間データに変換しておき、 中 間データ変換部 3 2において、 その中間データを、 ユーザの視点から見た提示用 画像データに変換するようにすることで、 提示用画像データを実時間で表示する ことを可能としている。
即ち、 画像データ変換部 3 1は、 原画像データを構成する所定の画素に入射し た光線と、 その光線と垂直な、 所定の点を通る平面との交点における画素値を、 原画像データの所定の画素の画素値とした画像データを、 中間データとして生成 する。
従って、 曲面 Ωとして、 例えば、 図 2 6に示すように、 閉曲面としての球面を 考え、 その球面上のある点 Qにおける、 ある方向の光線に注目した場合、 画像デ ータ変換部 3 1では、 その注目光線について、 所定の点としての、 例えば、 原点 を通り、 注目光線と直交する平面 α上において、 注目光線が通る点 Ρ χが画素と され、 さらに、 その画素値が、 注目光線に対応する画素値に設定される。 画像デ ータ変換部 3 1では、 球面上の点 Q以外の点における、 同一方向の光線について も同様にして、 平面ひ上に画素とその画素値が設定され、 これにより、 平面ひ上 には、 同一方向の光線に対応する画素値からなる画像データが形成される。
ここで、 いま、 図 2 6において、 球面の中心を原点とする 3次元座標系を考え るとともに、 球面上の点 Qにおける、 ある方向の光線と同一方向の、 原点を通る ベタ トルを、 ベタ トル Vと表す。 さらに、 ベタ トル Vを、 3次元座標系における X y平面に射影して得られるべク トルを、 べク トノレ v ' と表すとともに、 べク ト ノレ Vと V ' がっくる角度 Θを緯度と、 X軸とベク トノレ V ' がっくる角度 φを経度 と、 それぞれいうものとする。 ベク トル Vの向きは、 この緯度 Θと経度 φで規定 される。
上述した平面 αには、 ベタ トル Vと同一方向の光線に対応する位置の画素値か らなる画像データが形成されるが、 この平面 α上に形成される画像データは、 ベ ク トル Vの方向の無限遠を視点として見た場合の画像データとなる。
データ変換部 3 1は、 各値の緯度 Θ と経度 φによって規定される向きのべク ト ル Vと直交し、 原点を通る平面について、 同様の画像データを構成し、 中間デー タとして出力する。
次に、 図 2 7のフローチャートと、 図 2 8を参照して、 図 5の画像データ変換 部 3 1が、 図 6のステップ S 1で行う画像データ変換処理、 即ち、 原画像データ を中間データに変換する処理について説明する。 まず最初に、 ステップ S 2 1において、 画像データ変換部 3 1は、 画像データ ベース 2に記憶された原画像データを撮像したときのカメラ 4 1の視点 (以下、 適宜、 撮像ポイントともいう) から、 注目撮像ポイント P。とするものを選択す る。
即ち、 図 7で説明した画像生成装置においては、 カメラ 4 1を固定し、 被写体 を移動しながら、 原画像データの撮像が行われるが、 これは、 相対的には、 被写 体を固定し、 カメラ 4 1を移動しながら、 原画像データの撮像が行われているこ とと等価である。 即ち、 原画像データは、 カメラ 4 1の視点 (撮像ポイント) を 変えながら、 被写体の撮像を行ったものであり、 多数の撮像ポイントが存在する c ステップ S 2 1では、 その多数の撮像ポイントの中から、 まだ注目撮像ポイント としていない任意の撮像ボイントが、 注目撮像ポイント P cとして選択される。 ここで、 画像データベース 2には、 上述したように、 原画像データの各フレー ムとともに、 その原画像データを撮像したときの、 被写体の位置、 並びにカメラ 4 1の位置および光軸方向を表す情報も記憶される。 データ変換部 3 1は、 これ らの情報に基づき、 各フレームの原画像データについて、 例えば、 撮像時座標系 における、 被写体の位置 (姿勢を含む) を固定した場合のカメラ 4 1の位置とし ての撮像ポイントを求め、 その中から、 まだ注目撮像ポイントとしていない撮像 ポイントを、 注目撮像ポイント P。として選択する。
その後、 ステップ S 2 2に進み、 画像データ変換部 3 1は、 注目撮像ポイント P cについて、 仮想スク リーンを設定し、 仮想スク リーン上の画素のうち、 まだ 注目画素として選択していない画素を、 注目画素 P sとして選択する。
即ち、 画像データ変換部 3 1は、 図 2 8に示すように、 注目撮像ポイント P c について、 その注目撮像ポイントから、 カメラ 4 1の光軸方向に向かって、 所定 の距離 Lだけ離れた位置に、 カメラ 4 1の光軸と直交する長方形状の平面を、 仮 想スク リーンと して設定する。 そして、 画像データ変換部 3 1は、 仮想スク リー ン上の画素のうち、 例えば、 ラスタスキャン順で、 まだ注目画素としていない画 素を、 注目画素 P sとして選択する。 ここで、 画像データ変換部 3 1では、 注目撮像ポイントにおけるカメラ 4 1の 光軸方向は、 画像データベース 2に記憶されている情報から認識される。
また、 仮想スク リーンの横と縦の画素数は、 注目撮像ポイント P sから撮像さ れた原画像データのフレームの横と縦の画素数にそれぞれ一致し、 仮想スクリー ン上には、 注目撮像ポイント P sから撮像された原画像データが表示されている ものと考える。
ステップ S 2 2の処理後は、 ステップ S 2 3に進み、 画像データ変換部 3 1は、 注目画素 P sを始点とし、 注目撮像ボイント P cを終点とするべク トル Vを求め、 ステップ S 2 4に進む。
ここで、 図 2 8の実施の形態では、 ベク トル Vは、 撮像時座標系において、 X z平面内のべク トルであって、 X y平面から z軸方向に角度 Θの方向を有するも のとなつている。 即ち、 図 2 8の実施の形態では、 ベク トル Vは、 緯度が 0で、 経度が 0度の方向のべク トルになっている。
また、 図 2 8の実施の形態では、 注目撮像ポイント P cにおけるカメラ 4 1の 光軸が、 撮像時座標系の原点を通るものとなっているが、 カメラ 4 1の光軸は、 必ずしも、 撮像時座標系の原点を通る必要はない。
さらに、 図 2 8では、 被写体を囲む曲面 Ωとして、 閉曲面である、 原点を中心 とする球面を示してある。
ステップ S 2 4では、 画像データ変換部 3 1は、 ベク トル Vと直交し、 撮像時 座標系上の所定の点としての、 例えば原点を通る平面 αを求め、 ステップ S 2 5 に進む。
ここで、 平面 αは、 必ずしも、 原点を通るものである必要はない。
ステップ S 2 5では、 画像データ変換部 3 1は、 ステップ S 2 3で求めたベタ トル Vの緯度 Θおよび経度 φを求め、 即ち、 ベク トル Vと X y平面とがっくる角 度である緯度 0、 およびベク トル Vと X z平面とがっくる角度である経度 φを求 め、 ステップ S 2 6に進む。
ここで、 ベク トル Vの緯度 0および経度 φは、 ステップ S 2 4で求められた平 面ひの法線方向の緯度 0および経度 Φということもできる。 従って、 所定の点と しての原点を通る平面 αは、 その緯度 0と経度 φによって特定することができる ので、 この緯度 Θ と経度 φによって特定される平面 αを、 以下、 適宜、 平面 I (θ , φ) とも記述する。
なお、 緯度 0の符号については、 ζ軸の正側と負側を、 それぞれ正または負と する。 また、 経度 Φの符号についても、 y軸の正側と負側を、 それぞれ正または 負とする。
ステップ S 26では、 画像データ変換部 3 1は、 図 28に示すように、 注目撮 像ポイント Pcと注目画素 Psとを結ぶ直線 Lpを求める。 さらに、 ステップ S 2 6では、 画像データ変換部 3 1は、 直線 Lpと、 ステップ S 24で求めた平面 α ( I ( θ , φ) ) との交点 Ρ,を求め、 ステップ S 2 7に進み、 その点 Ρχの、 平 面 α上における座標 (x。, y J を求める。
ここで、 平面 α上における点 Pxの座標 (xa, y J は、 次のようにして求め ることができる。
即ち、 いま、 平面 α上に、 2次元座標系を考え、 その X軸方向と y軸方向の、 撮像時座標系における単位べク トルを、 それぞれ V ,と v yと表す。
この場合、 点 Pxの X座標 X αと y座標 y αは、 それぞれ、 vx ' OPs (または vx · O P0) と、 vy■ OPs (または vy · OPJ を計算することによって求める ことができる。 伹し、 'は、 内積を表し、 OPs (OPc) は、 撮像時座標系の原 点を始点と し、 注目画素 Ps (注目撮像ポイント Pc) を終点とするベク トルを表 す。
なお、 単位べク トノレ vxは、 例えば、 式 νχ · ν = 0を満たし、 かつ式 νχ · Ζν =0を満たす、 長さが 1のべク トルである。 また、 単位べク トノレ vyは、 例えば、 式 vy■ V = 0を満たし、 かつ式 vy · νχ= 0を満たす、 長さが 1のべク トルであ る。 但し、 べク トル Ζνは、 撮像時座標系における ζ軸方向の単位べク トル (= (0, 0, 1) ) を表す。
ここで、 注目撮像ポイント Ρ„からのカメラ 4 1の光軸が、 撮像時座標系の原 点を通らない場合は、 例えば、 その光軸と平面 αとの交点の、 平面 α上の 2次元 座標系の座標の分だけ、 点 Ρχの座標 (χα, y J をオフセッ トする必要がある。 即ち、 上述のようにして、 平面 α上における点 Pxの座標 (x a, y J を求め た場合、 その点 Pxの座標 (χ α, y J は、 注目撮像ポイント Pcからのカメラ 41の光軸と平面 αとの交点を原点とするものであり、 このため、 光軸が平面 α と交わる点が異なる撮像ボイントを通る同一方向の光線については、 同一平面ひ 上に、 原点が異なる位置にある 2次元座標系が定義されてしまうことになる。 そこで、 ここでは、 同一平面 α上に定義される 2次元座標系の原点を、 所定の 点としての、 例えば、 撮像時座標系の原点に固定するため、 注目撮像ポイント Ρ 。からのカメラ 4 1の光軸が、 撮像時座標系の原点を通らない場合は、 画像デー タ変換部 3 1は、 ステップ S 2 7において、 その光軸と平面 c との交点の、 平面 α上の 2次元座標系の座標の分だけ、 点 Ρχの座標をオフセットする。
具体的には、 画像データ変換部 3 1は、 上述したようにして求められた点 Ρχ の座標を、 (χ α' , y„' ) と表すとともに、 注目撮像ポイント P。からのカメ ラ 4 1の光軸と平面 αとの交点の、 平面 α上の 2次元座標系の座標を、 (χ„0, y α0) と表すと、 座標 (Xノ , y ) と (χ «。, y α0) とを加算した座標 (χ α ' + X α0, y α ' + y o0) を、 平面 α上における点 Pxの座標 (x a , y J とし て、 最終的に求める。
その後、 ステップ S 28に進み、 画像データ変換部 3 1は、 仮想スクリーン上 の原画像データを構成する画素のうちの注目画素 Psの画素値を、 平面 α上の点 Ρχの位置の画素の画素値とする。 即ち、 いま、 平面 α上の点 Ρχの位置の画素の 画素値を、 平面 c を表す I ( θ , φ) と、 平面 α上の点 Pxの座標を表す (χ α, y J とによって、 I (Θ, φ) (x a, y J と表すこととすると、 ステップ S 28において、 画像データ変換部 3 1は、 平面 α上の点 P の位置の画素の画素 値 I (0, φ) (χ α, y J に、 注目画素 Psの画素値を設定する。 これにより、 注目画素 Psは、 ベク トル Vと直交する平面 I (0, φ ) に正射影され、 その正 射影された平面 I ( θ , φ) の点 (= ( x a, y J ) の位置の画素の画素値 I (θ , φ) (x α, y J として、 注目画素 Psの画素値が設定される。 ここで、 この注目画素 Psを平面 I (Θ ' φ) に正射影した画素 Pxの画素値 I (θ , ) (x a, y J 1S 中間データである。
そして、 ステップ S 2 9に進み、 画像データ変換部 3 1は、 注目撮像ポイント Pcに対して設定された仮想スクリーン上の (原画像データを構成する) すべて の画素を注目画素としたかどうかを判定し、 まだ、 注目画素としていないものが あると判定した場合、 ステップ S 22に戻り、 以下、 同様の処理が繰り返される。 また、 ステップ S 29において、 仮想スクリーン上のすべての画素を注目画素 としたと判定された場合、 ステップ S 30に進み、 画像データ変換部 3 1は、 画 像データベース 2に記憶された原画像データのすべてのフレームの撮像ボイント を、 注目撮像ポイントとしたかどうかを判定する。
ステップ S 30において、 画像データベース 2に記憶された原画像データの各 のフレームの撮像ポイントのうち、 まだ、 注目撮像ポイントとしていないものが あると判定された場合、 ステップ S 2 1に戻り、 以下、 同様の処理が繰り返され る。
また、 ステップ S 30において、 画像データベース 2に記憶された原画像デー タの各のフレームの撮像ボイントすべてを、 注目撮像ボイントとしたと判定され た場合、 処理を終了する。
以上の画像データ変換処理により、 理想的には、 各値の緯度 0と経度 ψで定義 される平面 I (θ , φ) 上に、 その緯度 0と経度 φで規定される方向の無限遠か ら被写体を見た場合の画像データが生成され、 この画像データが、 中間データと して、 中間データベース 3に供給されて記憶される。
図 2 9 Aおよび図 29 Bは、 図 27の画像データ変換処理により生成される中 間データのフォーマツ トを模式的に表している。
図 2 7の画像データ変換処理によって生成される中間データは、 平面 I (θ , ) 上に、 その緯度 Θ と経度 φで規定される方向の無限遠から見た被写体を映し た画像データとなっており、 従って、 各値の緯度 Θおよび経度 Φごとに存在する ので、 図 2 9 Aに示すような、 緯度 Θ と経度 φの値で区切られるテーブル (以下、 適宜、 緯度経度テ一ブルという) で表現することができる。
ここで、 図 2 9 Aの実施の形態では、 緯度 Θが— 9 0度から 9 0度の範囲の 1 度刻みで、 経度 φがー 1 8 0乃至 1 7 9度の範囲の 1度刻みで、 それぞれ変化す る平面 I ( θ , φ ) ごとに、 各緯度 0 と各経度 φで規定される方向の無限遠から 被写体を見た場合の画像データが、 緯度経度テーブルの各マス目に登録されてい る。 なお、 緯度 Θや経度 φを、 何度刻みとするかは、 特に限定されるものではな レ、。 また、 緯度 0や経度 ψの刻み幅は、 一定であっても良いし、 可変であっても 良い。 さらに、 上述のように、 緯度 0 と経度 φが整数値のみを取り得る場合には、 図 2 7の画像データ変換処理において緯度 Θと経度 ψを求める演算を行うにあた り、 小数点以下は、 例えば、 切り上げ、 切り捨て、 または四捨五入される。
図 2 9 Aの緯度経度テーブルの各マス目には、 そのマス目に対応する緯度 Θと 経度 Φで規定される方向の無限遠から被写体を見た場合の画像データ、 即ち、 平 面 I ( θ, φ ) 上に正射影された原画像データの画素の画素値が、 その平面 I ( θ , φ ) 上に定義された 2次元座標系の各 X座標 X αと各 y座標 y αごとに登 録されている。 即ち、 図 2 9 Αの緯度経度テーブルの各マス目には、 例えば、 図 2 9 Bに示すように、 平面 I ( θ, ψ ) 上に定義された 2次元座標系の X座標 X αと y座標 y αの値で区切られたテーブル (以下、 適宜、 画素値テーブルとい う) が登録されており、 その画素値テーブルのマス目には、 そのマス目に対応す る X座標 X αと y座標 y„で規定される点に正射影された原画像データの画素の 画素値 p ( x « , y J が登録されている。
なお、 図 2 9 Bにおいて、 X ly iは、 原画像データの画素を平面 I ( Θ , Φ ) 上に正射影した点の、 最小の X座標と y座標を、 それぞれ表す。 また、 x 2 と y 2は、 原画像データの画素を平面 I ( θ , ψ ) 上に正射影した点の、 最大の X座標と y座標を、 それぞれ表す。 さらに、 図 2 9 Bでは、 x座標および y座標 が 1刻みになっているが、 この刻み幅も、 緯度 0および経度 φの刻み幅と同様に、 特に限定されるものではない。 ここで、 図 30に、 図 29 Aの緯度経度テーブルの各マス目に登録されている、 無限遠から被写体を見た場合の画像データの模式図を示す。 なお、 図 30の実施 の形態においては、 被写体が、 果物が入っている籠になっている。
図 29 Aの緯度経度テーブルの各マス目に登録されている、 無限遠から見た場 合の画像データは、 無限遠に位置するカメラで撮影された画像データそのものと 同様の性質を有しており、 従って、 カメラで撮影された画像データに対して、 そ の性質 (例えば、 相関性など) を利用して施される画像処理 (例えば、 エッジ強 調やノイズ除去など) と同一の画像処理を施すことができる。
ところで、 図 29 Aの緯度経度テーブルの各マス目に登録されている画素値テ 一ブル (図 29 B) における画素値からなる画像データは、 そのマス目に対応す る緯度 0と経度 Φで規定される平面 I (θ , φ) 上に正射影された原画像データ の画素の画素値から構成されるため、 画像データベース 2に記憶される原画像デ ータによっては、 画素値が存在しない場合がある。
即ち、 平面 I ( θ , φ) 上に原画像データの画素が正射影される範囲 (以下、 適宜、 有効範囲という) は、 図 29 Bに示したように、 X座標が X l乃至 x 2で、 y座標が yi乃至 y 2で規定される範囲である。 そして、 この範囲における画素値 ヽ 画素値テーブルに登録されている。 しかしながら、 平面 I (θ , φ) のすベ ての点 (例えば、 X座標が Xl乃至 X 2の範囲の整数値で、 y座標が y i乃至 y 2の 範囲の整数値で、 それぞれ表されるすべての点) に、 原画像データの画素が正射 影されるとは限らず、 正射影される原画像データの画素が存在しない場合があり 得る。
従って、 平面 I (θ, ) の有効範囲内の画素において、 画素値が存在しない 場合があり、 この場合、 その有効範囲の画像データ、 即ち、 平面 I (θ , φ) に 対応する画素値テーブル (図 29 B) における画素値からなる画像データは、 例 えば、 図 3 1 Aに示すように、 その一部の画素の画素値が欠落したものとなる。 ここで、 図 3 1 Aの実施の形態においては、 黒色で示す縞模様状に、 画素値が 欠落している。 このように、 平面 I ( 0 , Φ) の有効範囲、 つまり画素値テーブルに、 画素値 の欠落が生じている場合には、 その画素値を補間する画素値補間処理を行う。 こ の画素値補間処理により、 図 3 1 Αに示した画素値が欠落している画素値テープ ノレ (に登録された画素値で構成される画像) を、 図 3 1 Bに示すような、 画素値 の欠落のない画素値テーブルに変換することができる。
画素値テーブルについての画素値補間処理は、 例えば、 次のようにして行うこ とが可能である。
即ち、 例えば、 いま、 平面 I ( θ , φ) の有効範囲のある点 (x a, y J に おける画素値 I (θ, ) (x„, y J が欠落している場合において、 緯度ま たは経度が僅かにずれた平面 I ( Θ, , φ ' ) の有効範囲の、 点 (x。, y J と同一座標の点における画素値 I (θ ' , φ ' ) (x„, y j が存在するとき には、 欠落している画素値 I ( 6 , φ) (x a, y α) は、 平面 I ( 0 ' , φ ' ) 上の画素値 I ( θ ' , φ ' ) (x a, y j で補間することができる。
なお、 θ , は、 例えば、 経度が整数値のみをとる場合には、 0 ± 1ゃ0 ± 2な どとする。
以上のような画素値補間処理は、 図 2 7の画像データ変換処理が終了した後、 例えば、 画像データ変換部 3 1に行わせることができる。
そこで、 図 3 2のフローチャートを参照して、 画像データ変換部 3 1が行う画 素値補間処理について説明する。 なお、 ここでは、 説明を簡単にするために、 緯 度 Θ、 経度 φ、 平面 I ( θ , φ) の有効範囲の X座標 X „、 y座標 y aは、 いず れも整数値のみをとるものとする。
画素値補間処理では、 まず最初に、 ステップ S 4 1において、 画像データ変換 部 3 1力 緯度を表す変数 0 と、 経度を表す変数 φに、 初期値をセットするとと もに、 平面 I ( θ , φ) の X座標を表す変数 X。と、 y座標を表す変数 y。に、 初期値をセッ トする。 例えば初期値として、 0に一 9 0度、 ψに一 1 8 0度、 X aX l、 y aに y をそれぞれセットする。
そして、 ステップ S 4 2に進み、 画像データ変換部 3 1は、 中間データ I (θ , ) (x α( y J に、 画素値がセッ トされているかどうかを判定する。
ここで、 中間データ I (Θ, φ) (x a, y J に、 画素値がセットされてい るかどうかの判定は、 例えば、 図 27の画像データ変換処理を行う前に、 中間デ ータとしての配列変数 I (θ , φ) (xa, y J に、 画素値としては取り得な い値を、 初期値として設定しておき、 その値が、 I (0 , ψ) (x a, y a) に セットされているかどうかによって行う方法がある。
ステップ S 4 2において、 中間データ I (θ , φ) (x a, ya) に、 画素値 がセッ トされていると判定された場合、 即ち、 画素値が欠落していない場合、 ス テツプ S 43および S 44をスキップして、 ステップ S 45に進む。
また、 ステップ S 42において、 中間データ I (0 , φ) (xa, y α) に、 画素値がセッ トされていないと判定された場合、 即ち、 画素値が欠落している場 合、 ステップ S 43に進み、 画像データ変換部 3 1は、 Θ—厶 Θく θ ' < θ +Δ 0の範囲の緯度 θ, と、 φ—厶 φく φ ' く ^ +△ φの範囲の経度 φ ' で規定され る平面 I (θ, , φ ' ) 上の点 (χα, y J の中で、 画素値がセッ トされてい るものを探索 (検索) する。
ここで、 ΔΘと Δφとしては、 例えば、 いずれも、 小さい正の整数値が採用さ れる。
その後、 ステップ S 44に進み、 画像データ変換部 3 1は、 ステップ S 43で 探索された画素値がセッ トされている中間データ I (θ ' , φ ' ) (x a, y J の値 (画素値) を、 欠落している画素値である中間データ I (θ , φ) ( X a, y J にセッ トして、 ステップ S 45に進む。
ここで、 ステップ S 4 3において、 θ— θぐ Θ ' く の範囲の緯度 0
, と、 φ— φく φ ' く φ +△0の範囲の経度 ψ, で規定される平面 I (θ, , φ ' ) 上の点 (χ α, y J の中で、 画素値がセッ トされているものが複数見つ かった場合には、 ステップ S 44では、 画像データ変換部 3 1は、 その中から、 例えば、 緯度の差の絶対値 I 0 _ Θ, Iと、 経度の差の絶対値 I φ— φ ' Iの自 乗和が最も小さいものを選択し、 その選択した I (0 ' , φ ' ) (χ α) y J の値を、 中間データ I (0, Φ) (x «, y J にセッ トする。 つまり、 平面 I (θ , φ) に近い平面 I (0 ' , ' ) 上のデータを欠落している画素の値にセ ッ トする。
また、 ステップ S 43において、 Θ—Δ Θく 0 ' く 0 +△ 0の範囲の緯度 Θ ' と、 φ— Δφく ψ ' く ψ +△ φの範囲の経度 φ, で規定される平面 I (θ, , φ ' ) 上の点 (χα, y J の中で、 画素値がセッ トされているものが見つからな かった場合には、 ステップ S 44では、 画像データ変換部 3 1は、 I ( θ , φ) 上の画素値がセットされている点の中から、 点 (x «, y J と最も近い点を検 索し、 その点にセットされている画素値を、 点 (x a, y J にセッ トする。
なお、 画素値補間処理では、 平面 I (0, φ) 上の、 画素値がセッ トされてい ない点 (x„, y J に、 画素値が補間されるから、 その処理が進行していく と、 画素値が補間された点における画素値によって、 さらに、 他の点における画素値 が補間されることが生じうる。 これを防止するためには、 画素値の補間がされた 点に、 例えば、 補間がされたことを表す補間フラグを付加するようにし、 補間フ ラグが付加されている点における画素値は、 補間に用いないようにする (ステツ プ S 4 3における探索の対象外とする) 必要がある。
ステップ S 45では、 画像データ変換部 3 1が、 平面 I ( θ , φ) 上の y座標 を表す変数 y aが、 その最大値である y2に等しいかどうかを判定する。 ステツ プ S 4 5において、 y座標 yaが、 最大値 y 2に等しくないと判定された場合、 ステップ S 46に進み、 画像データ変換部 3 1は、 y座標 y aを 1だけインクリ メントして、 ステップ S 42に戻り、 以下、 同様の処理を繰り返す。
また、 ステップ S 45において、 y座標 yaが、 最大値 y2に等しいと判定さ れた場合、 ステップ S 47に進み、 画像データ変換部 3 1は、 y座標 yaを、 そ の最小値である y iにリセッ トして、 ステップ S 48に進む。
ステップ S 48では、 画像データ変換部 3 1が、 平面 I (θ , ) 上の X座標 を表す変数 x aが、 その最大値である x2に等しいかどうかを判定する。 ステツ プ S 48において、 X座標 x。が、 最大値 x2に等しくないと判定された場合、 ステップ S 4 9に進み、 画像データ変換部 3 1は、 X座標 X Qを 1だけインクリ メントして、 ステップ S 4 2に戻り、 以下、 同様の処理を繰り返す。
また、 ステップ S 4 8において、 X座標 χ αが、 最大値 X 2に等しいと判定さ れた場合、 ステップ S 5 0に進み、 画像データ変換部 3 1は、 X座標 χ αを、 そ の最小値である X lにリセットして、 ステップ S 5 1に進む。
ステップ S 5 1では、 画像データ変換部 3 1は、 経度を表す変数 が、 その最 大値である 1 7 9度に等しいかどうかを判定する。 ステップ S 5 1において、 経 度 φが、 最大値である 1 7 9度に等しくないと判定された場合、 ステップ S 5 2 に進み、 画像データ変換部 3 1は、 経度 φを 1だけインクリメントして、 ステツ プ S 4 2に戻り、 以下、 同様の処理を繰り返す。
また、 ステップ S 5 1において、 経度 が、 最大値である 1 7 9度に等しいと 判定された場合、 ステップ S 5 3に進み、 画像データ変換部 3 1は、 経度 φを、 その最小値である— 1 8 0度にリセットし、 ステップ S 5 4に進む。
ステップ S 5 4では、 画像データ変換部 3 1は、 緯度を表す変数 0が、 その最 大値である 9 0度に等しいかどうかを判定する。 ステップ S 5 4において、 緯度 & ヽ 最大値である 9 0度に等しくないと判定された場合、 ステップ S 5 5に進 み、 画像データ変換部 3 1は、 献 Θを 1だけィンクリメントして、 ステップ S 4 2に戻り、 以下、 同様の処理を繰り返す。
また、 ステップ S 5 4において、 緯度 0力 最大値である 9 0度に等しいと判 定された場合、 処理を終了する。
なお、 ここでは、 画素値補間処理を、 画像データ変換部 3 1に行わせるように したが、 画素値補間処理は、 その他、 例えば、 図 2 7の画像データ変換処理が終 了した後に、 中間データ変換部 3 2 (図 5 ) に行わせるようにすることも可能で ある。
ところで、 図 3 2の画素値補間処理では、 他の点にセッ トされている画素値を、 画素値がセットされていない点の画素値として、 そのまま用いて補間が行われる ことから、 平面 I ( 0, Φ ) 上に形成される画像データの真値が存在すると仮定 すると、 画素値補間処理によって得られる画像データは、 基本的に、 真値に一致 しない。
しかしながら、 真値に一致しないまでも、 真値に、 より近い画像データが得ら れるのが望ましい。
そこで、 図 3 2の画素補間処理によって得られる画像データを、 真値に、 より 近い画像データに変換する方法として、 例えば、 本件出願人が先に提案している クラス分類適応処理がある。
クラス分類適応処理は、 クラス分類処理と適応処理とからなり、 クラス分類処 理によって、 データが、 その性質に基づいてクラス分けされ、 各クラスごとに適 応処理が施される。
ここで、 適応処理について、 低画質の画像 (以下、 適宜、 低画質画像という) を、 高画質の画像 (以下、 適宜、 高画質画像という) に変換する場合を例に説明 する。
なお、 図 3 2の画素補間処理によって得られる画像データは、 真値と比較して 低画質な低画質画像と考えることができ、 真値は、 図 3 2の画素補間処理によつ て得られる画像データと比較して高画質な高画質画像と考えることができる。 適応処理では、 低画質画像を構成する画素 (以下、 適宜、 低画質画素という) と、 所定のタップ係数との線形結合により、 その低画質画像の画質を向上させた 高画質画像の画素の予測値を求めることで、 その低画質画像の画質を高く した画 像が得られる。
具体的には、 例えば、 いま、 ある高画質画像を教師データとするとともに、 そ の高画質画像の画質を劣化させた低画質画像を生徒データとして、 高画質画像を 構成する画素 (以下、 適宜、 高画質画素という) の画素値 yの予測値 E [ y ] を、 幾つかの低画質画素の画素値 χ χ 2 > · · 'の集合と、 所定のタップ係数 w w2, · · ·の線形結合により規定される線形 1次結合モデルにより求めること を考える。 この場合、 予測値 E [ y ] は、 次式で表すことができる。
E[y] =wixi +W2X2+ · · · • · · (1 9) 式 ( 1 9) を一般化するために、 タップ係数 Wjの集合でなる行列 W、 生徒デ ータ X ijの集合でなる行列 X、 および予測値 E [Y j] の集合でなる行列 Y' を. 次式のように定義する。
Figure imgf000050_0001
Wi E[yi],
w= W2 E[y2]
, Y'=
Wj . E [yi] .
• · · (20) この場合、 次のような観測方程式が成立する。
XVI=Y'
• · · (2 1) ここで、 行列 Xの成分 Xijは、 i件目の生徒データの集合 ( i件目の教師デー タ y iの予測に用いる生徒データの集合) の中の j番目の生徒データを意味し、 行列 Wの成分 Wjは、 生徒データの集合の中の j番目の生徒データとの積が演算 されるタップ係数を表す。 また、 y iは、 i件目の教師データを表し、 従って、 E [y は、 i件目の教師データの予測値を表す。 なお、 式 ( 1 9) の左辺に おける yは、 行列 Yの成分 yiのサフィックス iを省略したものであり、 また、 式 (1 9) の右辺における Xい x2, · · · も、 行列 Xの成分 のサフィック ス iを省略したものである。
式 (2 1) の観測方程式に最小自乗法を適用して、 高画質画素の画素値 yに近 い予測値 E [y] を求めることを考える。 そこで、 まず、 教師データとなる高画 質画素の真の画素値 yの集合でなる行列 Y、 および高画質画素の画素値 yに対す る予測値 E [y] の残差 eの集合でなる行列 Eを、 次式で定義する。 ■
Figure imgf000051_0001
• · · (2 2) この場合、 式 (2 1) から、 次のような残差方程式が成立する。
XW=Y+E
• · · (23) 最小自乗法では、 高画質画素の画素値 yに近い予測値 E [y] を求めるための タップ係数 Wjを評価する尺度として、 例えば、 次式で表される自乗誤差が採用 される。
Figure imgf000051_0002
• · · (24) 高画質画素の画素値 yに近い予測値 E [y ] を求めるためのタップ係数 Wjは, 式 (24) の自乗誤差を最小にすることで求めることができる。
従って、 式 (24) の自乗誤差をタップ係数 Wjで微分したものが 0になる場 合、 即ち、 次式を満たすタップ係数 Wjが、 高画質画素の画素値 yに近い予測値 E [y ] を求めるため最適値ということになる。
Figure imgf000051_0003
• · · (2 5) そこで、 まず、 式 (2 3) を、 タップ係数 Wjで微分することにより、 次式が 成立する。
Figure imgf000051_0004
(26) 式 (25) および (26) より、 式 (27) が得られる,
Figure imgf000052_0001
• · · (2 7) さらに、 式 (23) の残差方程式における生徒データ X ij、 タップ係数 Wj、 教 師データ y i、 および残差 (誤差) e iの関係を考慮すると、 式 (27) から、 次 のような正規方程式を得ることができる。
(
(
Figure imgf000052_0002
(
Figure imgf000052_0003
• · · (28) なお、 いま、 べク トル Wを、 式 (20) で示したように定義するとともに、 行 列 (共分散行列) Aおよびベク トル Vを、 次式で定義する。
I I I
∑XMXi1 ∑XMXi2 ··· ∑XilXiJ
i=l i=1 i=1
I I I
A= ∑Xi2Xi1 ∑Xi2Xi2 ■■■ ∑Xi2XiJ
i=1 i=1 i=1
I I I
∑XiJXi1 ∑XiJXi2 '… ∑XiJXiJ
i=1 i=1 i=l
I
∑Χ«ΐΥί
i=1
I
V = ∑Xi2Yi
i=1
I
∑XiJYi
i=1
• · · (2 9) この場合、 式 (2 8) に示した正規方程式は、 次式で表される。
AW=v
• · · (3 0) 式 (3 0) と等価な式 (2 8) における各正規方程式は、 生徒データ およ び教師データ y iのセッ トを、 ある程度の数だけ用意することで、 求めるべきタ ップ係数 Wjの数 J と同じ数だけたてることができ、 従って、 式 (3 0) を、 ベ ク トル Wについて解くことで (但し、 式 (3 0) を解くには、 式 (3 0) におけ る行列 Aが正則である必要がある) 、 最適なタップ係数 Wjを求めることができ る。 なお、 式 (3 0) を解くにあたっては、 例えば、 掃き出し法 (Gauss- Jordan の消去法) などを用いることが可能である。
以上のように、 生徒データと教師データを用いて、 最適なタップ係数 Wjを求 める学習をしておき、 さらに、 そのタップ係数 Wjを用い、 式 (1 9) により、 教師データ yに近い予測値 E [y ] を求めるのが適応処理である。 なお、 適応処理は、 低画質画像には含まれていないが、 高画質画像に含まれる 成分が再現される点で、 単なる補間とは異なる。 即ち、 適応処理では、 式 ( 1 9 ) だけを見る限りは、 例えば、 いわゆる補間フィルタを用いての単なる補間と 同一に見えるが、 その補間フィルタのタップ係数に相当するタップ係数 wが、 教 師データ yを用いての、 いわば学習により求められるため、 高画質画像に含まれ る成分を再現することができる。 このことから、 適応処理は、 いわば画像の創造 作用がある処理ということができる。
次に、 図 3 3は、 上述のようなクラス分類適応処理を行うクラス分類適応処理 装置の構成例を示している。
なお、 クラス分類適応処理装置は、 例えば、 図 5の画像データ変換部 3 1また は中間データ変換部 3 2に内蔵させ、 図 3 2の画素値補間処理が施された中間デ ータを対象に、 クラス分類適応処理を行わせるようにすることができる。 また、 クラス分類適応処理装置は、 図 5の画像データ変換部 3 1および中間データ変換 部 3 2とは別に設け、 中間データベース 3に記憶された、 図 3 2の画素値補間処 理が施された中間データを対象に、 クラス分類適応処理を行わせるようにするこ とができる。
バッファ 6 1には、 低画質画像データとしての、 画素値補間処理が施された中 間データ (以下、 適宜、 補間中間データという) が供給され、 バッファ 6 1は、 そこに供給される低画質画像データを一時記憶する。
予測タップ抽出部 6 2は、 後述する積和演算部 6 6において求めようとする、 中間データの真値としての高画質画像データの画素 (高画質画素) を、 順次、 注 目画素とし、 さらに、 その注目画素を予測するのに用いる低画質画像データの画 素 (低画質画素) を、 バッファ 6 1から抽出し、 予測タップとする。
即ち、 予測タップ抽出部 6 2は、 例えば、 注目画素に対応する位置に対して近 い位置にある低画質画素の幾つかを、 予測タップとして、 バッファ 6 1から読み 出す。
そして、 予測タップ抽出部 6 2は、 注目画素について、 予測タップを得ると、 その注目画素についての予測タップを、 積和演算部 6 6に供給する。
ここで、 予測タップ抽出部 6 2では、 例えば、 注目画素の平面に対応する低画 質画像データとしての中間データの平面 I ( θ, ) において、 注目画素に対応 する位置から近い位置にある低画質画素の幾つかを、 予測タップとして抽出する ことができる。 さらに、 予測タップ抽出部 6 2では、 平面 I ( 6, ) から緯度 Θまたは経度 Φが僅かにずれた平面 I ( θ , , φ ' ) において、 注目画素に対応 する位置から近い位置にある低画質画素の幾つかも、 予測タップとして抽出する ことが可能である。
一方、 クラスタップ抽出部 6 3は、 注目画素を、 幾つかのクラスのうちのいず れかに分類するためのクラス分類に用いる低画質画素を、 バッファ 6 1から抽出 し、 クラスタップとする。
なお、 ここでは、 説明を簡単にするために、 例えば、 予測タップ抽出部 6 2で 得られる予測タップと、 クラスタップ抽出部 6 3で得られるクラスタップとは、 同一のタップ構造を有するものとする。 但し、 予測タップとクラスタップとは、 独立 (別) のタップ構造を有するものとすることが可能である。
クラスタップ抽出部 6 3において得られる、 注目画素についてのクラスタップ は、 クラス分類部 6 4に供給される。 クラス分類部 6 4は、 クラスタップ抽出部 6 3からのクラスタップに基づき、 注目画素をクラス分類し、 その結果得られる クラスに対応するクラスコードを出力する。
ここで、 クラス分類を行う方法としては、 例えば、 ADRC (Adaptive Dynamic Ra nge Coding)等を採用することができる。
ADRCを用いる方法では、 クラスタップを構成する画素の画素値が、 ADRC処理 され、 その結果得られる ADRCコードにしたがって、 注目画素のクラスが決定さ れる。
なお、 Kビッ ト ADRCにおいては、 例えば、 クラスタップを構成する画素値の 最大値 MAXと最小値 MINが検出され、 DR=MAX-MINを、 集合の局所的なダイナミ ックレンジとし、 このダイナミックレンジ DRに基づいて、 クラスタップを構成 する画素が Kビッ トに再量子化される。 即ち、 クラスタップを構成する各画素の 画素値から、 最小値 ΜΙΝが減算され、 その減算値が DR/2Kで除算 (量子化) され る。 そして、 以上のようにして得られる、 クラスタップを構成する K ビッ トの各 画素の画素値を、 所定の順番で並べたビッ ト列が、 ADRC コードとして出力され る。 従って、 クラスタップが、 例えば、 1ビット ADRC処理された場合には、 そ のクラスタップを構成する各画素の画素値は、 最小値 MINが減算された後に、 最 大値 MAXと最小値 MINとの平均値で除算され、 これにより、 各画素の画素値が 1 ビットとされる (2値化される) 。 そして、 その 1 ビッ トの画素値を所定の順番 で並べたビッ ト列が、 ADRCコードとして出力される。
なお、 クラス分類部 6 4には、 例えば、 クラスタップを構成する画素のレベル 分布 (画素値分布) のパターンを、 そのままクラスコードとして出力させること も可能であるが、 この場合、 クラスタップが、 N個の画素で構成され、 各画素に、 Kビッ トが割り当てられているとすると、 クラス分類部 6 4が出力するクラスコ ードの場合の数は、 (2 N) κ通りとなり、 画素のビッ ト数 Kに指数的に比例した 膨大な数となる。
従って、 クラス分類部 6 4においては、 クラスタップの情報量を、 上述の ADR C処理や、 あるいはベク トル量子化等によって圧縮してから、 クラス分類を行う のが好ましい。
クラス分類部 6 4が出力するクラスコードは、 係数記憶部 6 5に、 アドレスと して与えられる。
係数記憶部 6 5は、 後述する学習装置において学習処理が行われることにより 得られるタップ係数を記憶しており、 クラス分類部 6 4が出力するクラスコード に対応するァドレスに記憶されているタップ係数を、 積和演算部 6 6に出力する c 積和演算部 6 6は、 予測タップ抽出部 6 2が出力する予測タップと、 係数記憶 部 6 5が出力するタップ係数とを取得し、 その予測タップとタップ係数とを用い て、 式 (1 9 ) に示した線形予測演算 (積和演算) を行い、 その演算結果を、 注 目画素となっている高画質画素の画素値として出力する。 次に、 図 3 4は、 図 3 3の係数記憶部 6 5に記憶させるタップ係数の学習処理 を行う学習装置の一実施の形態の構成例を示している。
教師データメモリ 7 1には、 学習に用いられる学習用データが供給される。 こ こで、 学習用データとしては、 中間データの真値としての高画質画像データが用 いられる。 即ち、 例えば、 多数の視点から撮像した画像データを対象に、 図 2 7 の画像データ変換処理を行うことで、 画素値の欠落のない中間データを生成し、 これが、 学習用データとして用いられる。
教師データメモリ 7 1は、 そこに供給される、 学習用データとしての高画質画 像データを、 学習の教師となる教師データとして記憶する。 そして、 生徒データ 生成部 7 2は、 教師データメモリ 7 1に記憶された教師データから、 学習の生徒 となる生徒データを生成する。
即ち、 生徒データ生成部 7 2は、 教師データメモリ 7 1に記憶された教師デー タとしての画像データの画素値を欠落させ、 その画素値を欠落させた画像データ に、 図 3 2の画素値補間処理を施す。 そして、 生徒データ生成部 7 2は、 その画 素値補間処理によって得られる低画質の画像データを、 生徒データとして、 生徒 データメモリ 7 3に供給して記憶させる。
教師データメモリ 7 1に記憶された教師データについて、 生徒データが求めら れ、 生徒データメモリ 7 3に記憶されると、 予測タップ抽出部 7 4は、 教師デー タメモリ 7 1に記憶された教師データを、 順次、 注目画素とし、 さらに、 その注 目画素を予測するのに用いる生徒データを、 生徒データメモリ 7 3から抽出し、 これにより、 図 3 3の予測タップ抽出部 6 2が構成する予測タップと同一のタッ プ構造の予測タップを構成する。
以上のようにして、 予測タップ抽出部 7 4で得られた予測タップは、 正規方程 式加算部 7 7に供給される。
一方、 クラスタップ抽出部 7 5は、 注目画素のクラス分類に用いる生徒データ を、 生徒データメモリ 7 3から抽出し、 これにより、 図 3 3のクラスタップ抽出 部 6 3における場合と同一構造のクラスタップを構成して、 クラス分類部 7 6に 供給する。
クラス分類部 7 6は、 クラスタップ抽出部 7 5から、 注目画素についてのクラ スタップが供給されると、 そのクラスタップを用い、 図 3 3のクラス分類部 6 4 と同一のクラス分類を行い、 注目画素のクラスを表すクラスコードを、 正規方程 式加算部 7 7に供給する。
正規方程式加算部 7 7は、 教師データメモリ 7 1から、 注目画素となっている 教師データを読み出し、 予測タップ抽出部 7 4からの予測タップを構成する生徒 データ、 および注目画素としての教師データを対象とした足し込みを、 クラス分 類部 7 6から供給されるクラスごとに行う。
即ち、 正規方程式加算部 7 7は、 クラス分類部 7 6から供給されるクラスコー ドに対応するクラスごとに、 予測タップ (生徒データ) を用い、 式 (2 9 ) の行 列 Aにおける各コンポーネントとなっている、 生徒データどうしの乗算 (x i n X i J と、 サメーシヨン (∑) に相当する演算を行う。
さらに、 正規方程式加算部 7 7は、 やはり、 クラス分類部 7 6から供給される クラスコードに対応するクラスごとに、 予測タップ (生徒データ) および注目画 素 (教師データ) を用い、 式 (2 9 ) のベク トル Vにおける各コンポーネントと なっている、 生徒データと教師データの乗算 (x in y i) と、 サメーシヨン (∑) に相当する演算を行う。
正規方程式加算部 7 7は、 以上の足し込みを、 教師データメモリ 7 1に記憶さ れた教師データすベてを注目画素として行い、 これにより、 各クラスについて、 式 (3 0 ) に示した正規方程式をたてる。
その後、 タップ係数決定部 7 8は、 正規方程式加算部 7 7においてクラスごと に生成された正規方程式を解くことにより、 クラスごとに、 タップ係数を求め、 係数メモリ 7 9の、 各クラスに対応するア ドレスに供給する。 これにより、 係数 メモリ 7 9では、 タップ係数決定部 7 8から供給されるクラスごとのタップ係数 が記憶される。
なお、 図 2 9 Aおよび図 2 9 Bの中間データのフォーマッ トは、 原画像データ を構成する画素に入射した光線の各方向 (緯度 0 と経度 Ψによって特定される各 方向) について、 その方向に垂直な平面の各点ごとに、 その点に入射する、 平面 と垂直な方向の光線に対応する画素値を表したものであるが、 中間データは、 そ の他、 例えば、 図 3 5 Aおよび図 3 5 Bに示すフォーマッ トとすることも可能で ある。
即ち、 図 2 9 Aおよび図 2 9 Bのフォーマッ トでは、 中間データが、 緯度 0と 経度 Φの値で区切られる緯度経度テーブル (図 2 9 A ) で表現され、 さらに、 そ の緯度経度テーブルの各マス目には、 そのマス目に対応する緯度 0 と経度 ψで規 定される平面 I ( 0 , ) 上に正射影された原画像データの画素の画素値が、 そ の平面 I ( θ, φ ) 上に定義された 2次元座標系の各 X座標 χ αと各 y座標 y a ごとに配置された画素値テーブルが登録されている。
これに対して、 図 3 5 Aおよび図 3 5 Bの中間データのフォーマッ トは、 原画 像データを構成する画素に入射した光線の方向と垂直な平面の各点について、 そ の平面と垂直な方向ごとに、 その方向の光線に対応する画素値を表したものとな つている。
即ち、 図 3 5 Aおよび図 3 5 Bのフォーマットでは、 中間データが、 図 3 5 A に示すように、 原画像データの画素の画素値が正射影される平面 I ( θ , φ ) 上 に定義された 2次元座標系の X座標 。と 座標 y αの値で区切られたテーブル (以下、 適宜、 座標テーブルという) で表現され、 さらに、 その座標テーブルの 各マス目には、 図 3 5 Βに示すように、 そのマス目に対応する X座標 χ αと y座 標 y αで規定される点に正射影された原画像データの画素値が、 画素値が正射影 される平面 I ( θ , ) を規定する各緯度 Θ と各経度 ψごとに配置されたテープ ノレ (このテーブルも、 以下、 適宜、 画素値テーブルという) が登録される。
図 3 5 Αおよび図 3 5 Bのフォーマッ トでは、 座標テーブルの 1つのマス目に、 緯度 Θ と経度 ψが各値の平面における、 同一座標の点に正射影された原画像デー タの画素値が配置されるため、 図 3 2の画素値補間処理を行う場合に、 図 2 9 A および図 2 9 Bのフォーマツ トよりも有利である。 即ち、 図 32の画素値補間処理では、 平面 I (θ, φ) 上のある点 (x„, y J における画素値 I (θ , φ) (χ α, yj が欠落している場合には、 緯度ま たは経度が僅かにずれた平面 I (0 ' , φ ' ) 上の、 点 (χα, y J と同一座 標の点における画素値 I (0 ' , φ ' ) (χα, y j によって、 欠落している 画素値 I ( θ , φ) (χα1 yj が補間される。
従って、 図 2 9 Aおよび図 29 Bのフォーマッ トの中間データでは、 画素値補 間処理を行うのに、 緯度経度テーブル (図 29A) において、 画素値の欠落があ る平面 I (θ , φ) に対応するマス目とは別のマス目である、 平面 I (Θ ' , φ ' ) に対応するマス目から、 画素値 I (θ , , φ ' ) (x„, y J を読み出す 必要がある。
これに対して、 図 3 5 Aおよび図 3 5 Bのフォーマツトの中間データでは、 座 標テーブル (図 3 5A) において、 各緯度 0と各経度 φの平面 I (θ, φ) 上に おける同一座標 (x„, y J の点における画素値が、 1つのマス目に登録され ているから、 画素値補間処理を行うにあたっては、 画素値の欠落がある平面 I (θ , ) 上の点 (x a, y„) に対応するマス目と同一のマス目から、 画素値 I (θ ' , φ' ) (x a, y J を読み出すことができる。 即ち、 この場合、 座 標テーブル (図 3 5A) において、 画素値の欠落がある平面 I (θ, ) 上の点 (x„, y„) に対応するマス目と別のマス目にアクセスする必要がない。
次に、 図 36のフローチャートと、 図 3 7を参照して、 図 5の中間データ変換 部 32が、 図 6のステップ S 3で行う中間データ変換処理、 即ち、 中間データを、 ユーザの視点から見た画像データ (提示用画像データ) に変換する処理について 説明する。
まず最初に、 ステップ S 6 1において、 中間データ変換部 3 2は、 図 6のステ ップ S 2で設定されたユーザの視点 P。について、 図 3 7に示すように、 そのュ 一ザの視点 Peから、 その視線方向に向かって、 所定の距離 Lだけ離れた位置に、 ユーザの視線と直交する長方形状の平面を、 仮想スクリーンとして設定する。 ここで、 本実施の形態では、 説明を簡単にするため、 図 27で説明した画像デ ータ変換処理では、 被写体のある点 (例えば、 重心など) を原点とする撮像時座 標系を用いて処理が行われるものとする。
さらに、 中間データ変換処理では、 ディスプレイ 6 (図 2 ) に、 ユーザの視点 に応じた画像を表示するための 3次元座標系が想定される。 いま、 この 3次元座 標系を、 表示時座標系というものとし、 その原点は、 例えば、 ディスプレイ 6の 表示画面の中心点 (表示画面の対角線の交点) にとられるものとする。 そして、 ユーザの視線は、 視点 P eから、 例えば、 表示時座標系の原点に向かうものであ るとする。
その後、 ステップ S 6 2に進み、 中間データ変換部 3 2は、 ユーザの視点 P c について設定した仮想スクリーン上の画素のうち、 まだ注目画素として犟択して いない画素を、 注目画素 P sとして選択する。
ステップ S 6 2の処理後は、 ステップ S 6 3に進み、 中間データ変換部 3 2は、 注目画素 P sを始点とし、 ユーザの視点 P cを終点とするベク トル Vを求め、 ステ ップ S 6 4に進む。
ここで、 図 3 7の実施の形態では、 べク トノレ Vは、 表示時座標系において、 X z平面内のべク トルであって、 X y平面から z軸方向に角度 Θの方向を有するも のとなつている。 即ち、 図 3 7の実施の形態では、 ベク トノレ Vは、 緯度が 0で、 経度が 0度の方向のベタ トルになっている。
また、 図 3 7の実施の形態では、 ユーザの視線方向が、 上述したように、 ユー ザの視点 P eから表示時座標系の原点を通るものとなっているが、 ユーザの視線 方向は、 必ずしも、 表示時座標系の原点を通る必要はない。 即ち、 ユーザの視線 方向は、 何らかの方法で検出するようにすることができる。
さらに、 図 3 7では、 図 2 8における場合と同様に、 被写体を囲む曲面 Ωとし て、 閉曲面である球面を示してある。
ステップ S 6 4では、 中間データ変換部 3 2は、 ベク トル Vと直交し、 表示時 座標系上の所定の点としての原点を通る平面 αを求め、 ステップ S 6 5に進む。 ここで、 平面 αは、 必ずしも、 原点を通るものである必要はない。 ステップ S 6 5では、 中間データ変換部 3 2は、 ステップ S 6 3で求めたベタ トル Vの緯度 0および経度 φを求め、 即ち、 ベタ トル Vと X y平面とがっくる角 度である緯度 Θ、 およびべク トル Vと X z平面とがっくる角度である経度 ψを求 め、 ステップ S 6 6に進む。
ここで、 ベク トル Vの緯度 Θおよび経度 φは、 ステップ S 6 4で求められた平 面 αの法線方向の緯度 Θおよび経度 φでもある。 従って、 所定の点としての原点 を通る平面 αは、 その緯度 0 と経度 φによって特定することができるので、 この 緯度 Θ と経度 φによって特定される平面 αを、 画像データ変換処理における場合 と同様に、 以下、 適宜、 平面 I ( θ , φ) とも記述する。
ステップ S 6 6では、 中間データ変換部 3 2は、 図 3 7に示すように、 ユーザ の視点 Peと注目画素 Psとを結ぶ直線 Lpを求める。 さらに、 ステップ S 6 6で は、 中間データ変換部 3 2は、 直線 Lpと、 ステップ S 6 4で求めた平面 α ( I
( θ , φ) ) との交点 Ρχを求め、 ステップ S 6 7に進み、 その点 Ρχの、 平面 α 上の 2次元座標系における座標 (χ α, y J を求める。
ここで、 平面 α上における点 Pxの座標 (x a, y J は、 図 2 7のステップ S 2 7における場合と同様にして求めることができる。
なお、 ユーザの視点 Pcからの視線方向が、 表示時座標系の原点を通らない場 合は、 例えば、 図 2 7のステップ S 2 7で説明した場合と同様に、 その視線方向 の直線と平面 αとの交点の、 平面 α上の 2次元座標系の座標の分だけ、 点 Ρχの 座標 (χ α, y J をオフセッ トする必要がある。
その後、 ステップ S 6 8に進み、 中間データ変換部 3 2は、 仮想スクリーン上 の注目画素 Psの画素値として、 平面 α上の点 Pxの位置の画素の画素値をセット する。 即ち、 平面 αが、 緯度 6と経度 ψで特定される平面 I ( θ , φ) であり、 平面 α上の点 Ρχの座標が、 (χ α, y α) である場合、 中間データ変換部 3 2は、 中間データベースから、 画素値 I (θ , φ) (x a, y j を読み出し、 その画 素値 (0 , φ) (x «, y J を、 注目画素 Psの画素値としてセッ トする。
そして、 ステップ S 6 9に進み、 中間データ変換部 3 2は、 ユーザの視点 P„ に対して設定された仮想スクリーン上のすべての画素を注目画素としたかどう力 を判定し、 まだ、 注目画素としていないものがあると判定した場合、 ステップ S 6 2に戻り、 以下、 同様の処理が繰り返される。
また、 ステップ S 6 9において、 仮想スクリーン上のすべての画素を注目画素 としたと判定された場合、 即ち、 仮想スク リーン上に、 ユーザの視点から見た画 像データ (提示用画像データ) が形成された場合、 処理を終了する。
以上のようにして得られた提示用画像データは、 上述した図 6のステップ S 4 において、 ディスプレイ 6に表示される。
従って、 ディスプレイ 6には、 ユーザの視点から被写体を見た場合の画像デー タが表示されることになる。
以上のように、 原画像データを撮像したときの光線の軌跡とその光線に対応す る画素値である光線情報を用いて、 原画像データを、 ユーザの視点から見える提 示用画像データに変換するようにしたので、 実写の画像であっても、 容易に、 ュ 一ザの視点に応じて変化させることができる。 即ち、 ユーザが、 その視点を動か すことにより、 ディスプレイ 6には、 ユーザが現実世界において被写体を観察し ている場合にユーザの視覚に映るのと同様の画像が表示される。
具体的には、 例えば、 ユーザが、 ディスプレイ 6に向かって、 左または右方向 に視点を移動した場合には、 ディスプレイ 6には、 ユーザが視点を動かす前に表 示されていた被写体の左側面側または右側面側が見える画像が表示される。 また、 例えば、 ユーザが、 ディスプレイ 6に対して近づく方向または遠ざかる方向に視 点を移動した場合には、 ディスプレイ 6には、 ユーザが視点を動かす前に表示さ れていた被写体が大きくまたは小さくなった画像が表示される。
その結果、 ユーザは、 被写体としての物体が、 実際に、 その場にあるかのよう な感覚を享受することができる。
また、 図 5の画像処理装置 1によれば、 例えば、 宇宙空間の画像データや、 分 子などのミクロの構造の画像データなどを、 原画像データとして、 図 6の画像処 理を行うようにすることにより、 通常は視認することができない構造を、 ユーザ が直感的に把握することができるインタフェースの提供が可能となる。
さらに、 図 5の画像処理装置 1では、 原画像データを、 被写体を無限遠の各方 向から観察した中間データに変換しておくようにしたので、 その中間データから、 ユーザの視点に応じた提示用画像データを、 容易に生成することができる。
なお、 中間データは、 別の被写体について、 独立に生成しておき、 図 3 6の中 間データ変換処理において、 提示用画像データを生成する過程で、 その別々の被 写体の画像を合成するようにすることも可能である。
また、 中間データについては、 図 3 6の中間データ変換処理の対象とする前に、 その一部を削除したり、 その一部に、 他の中間データ等の画像データを追加する 等の編集を行うことが可能である。
さらに、 図 5の画像処理装置 1において処理の対象とする画像は、 実写の画像 に限定されるものではない。
また、 上述の場合には、 ユーザの位置を検出し、 その位置に、 ユーザの視点を 設定して (ユーザの視点があるものとして) 、 図 3 6の中間データ変換処理を行 うようにしたが、 ユーザの視点は、 図 5の画像処理装置 1において、 仮想的に任 意の位置に設定することが可能である。
仮想的なユーザの視点の設定方法としては、 例えば、 表示時座標系の原点を中 心とする、 所定の平面上に描かれる所定の半径の円の円周上を、 順次移動するよ うに設定することが挙げられる。 この場合、 ディスプレイ 6には、 被写体の周囲 をパン(pan)しながら撮像を行ったかのような画像が表示されることになる。
また、 ユーザの視点は、 例えば、 表示時座標系の原点を通る直線上を、 一方向 に移動するように設定することが可能である。 この場合、 ディスプレイ 6には、 被写体に近づきながら、 または被写体から遠ざかりながら撮像を行ったかのよう な画像が表示されることになる。
さらに、 上述の場合には、 静止している被写体を、 その被写体をモーショ ンべ —ス方式やターンテーブル方式で動かしながら、 カメラ 4 1で撮像することによ り、 多数の視点から撮像した被写体の原画像データを得るようにしたが、 図 5の 画像処理装置 1では、 動きのある被写体の画像を対象に処理を行うことも可能で ある。 これは、 例えば、 複数のカメラによって、 複数の視点から、 動いている被 写体の画像データを同時に撮像するとともに、 その複数のカメラそれぞれによつ て撮像された各フレームの画像データについて、 フレームごとに、 中間データを 生成し、 さらに、 表示時にも、 フレームごとに、 そのフレームの中間データを用 いて、 提示用画像データを生成することで実現することができる。 但し、 この方 法以外の方法でも良い。
次に、 図 3 8は、 図 3のコンピュータ 1がプログラムを実行することにより実 現される画像処理装置の他の機能的構成例を示している。 なお、 図中、 図 5にお ける場合と対応する部分については、 同一の符号を付してあり、 以下では、 その 説明は、 適宜省略する。 即ち、 図 3 8の画像処理装置 1は、 再生フレーム管理部 3 4が新たに設けられている他は、 図 5における場合とほぼ同様に構成されてい る。
伹し、 図 3 8の実施の形態においては、 画像データベース 2には、 カメラを、 直線的に移動しながら撮像された画像データが記憶されている。 即ち、 画像デー タベース 2には、 例えば、 カメラを等速直線運動させながら撮像を行った映画の シーンや、 一定速度で走行する自動車や列車の車窓からカメラによる撮像を行つ た画像データなどが記憶されている。
このため、 図 3 8の実施の形態では、 ディスプレイ 6に表示される画像データ のフレームを管理するため、 再生フレーム管理部 3 4が設けられている。 即ち、 再生フレーム管理部 3 4は、 中間データに変換された原画像データのフレーム (またはフィールド) 数を、 画像データ変換部 3 1から受信し、 また、 ディスプ レイ 6に表示させる提示用画像データのフレームを、 中間データ変換部 3 2に指 示する。
ここで、 図 3 8の実施の形態において、 画像データベース 2に記憶されている 画像データは、 等価的に、 カメラを、 直線的に移動しながら撮像されたものであ れば良く、 従って、 例えば、 カメラを固定して、 被写体を直線的に移動しながら 撮像を行うことにより得られたものであっても良い。
図 3 8の画像処理装置 1においても、 図 5の実施の形態における場合と同様の 原理によって、 画像データベース 2に記憶された原画像データが、 ユーザの視点 から見た画像データ (提示用画像データ) に変換される。
即ち、 画像データベース 2に記憶された原画像データは、 カメラを、 例えば、 等速直線運動する列車に固定して撮像したもの、 即ち、 列車が走行する方向に、 カメラの視点を移動しながら撮像したものであり、 従って、 原画像データは、 図 3 9 Aに示すように、 地球の経度の各方向の光線に対応する画素値を含む。 ここ で、 図 3 9 Aでは、 3つの方向 # 1乃至 # 3の光線を示している。
一方、 ある視点から被写体を見た場合の画像データは、 被写体から視点に向か う光線に対応する画素値で構成される。 従って、 いま、 光線は直進し、 かつ減衰 しないものとすると、 列車が走行する軌跡と平行な直線上のある視点から被写体 を見た場合の画像データである提示用画像データは、 図 3 9 Bに示すように、 被 写体から視点に向かう光線に対応する画素値でなる画像データを、 図 3 9 Aに示 した各方向の光線に対応する画素値を含む原画像データから再構成することで得 ることができる。
図 3 8の画像処理装置 1では、 上述の原理にしたがい、 原画像データが、 列車 の走行軌跡と平行な直線上のユーザの視点から見た画像データ (提示用画像デー タ) に変換される。
なお、 ここでは、 画像データベース 2に記憶された原画像データは、 列車が走 行する方向に、 カメラの視点を移動しながら撮像したものであるため、 図 3 8の 画像処理装置 1において得られる提示用画像データは、 上述のような原画像デー タが撮像されたときの光線情報から構成することができるものに限られる。 即ち、 図 3 8の画像処理装置 1において得られる提示用画像データには、 列車が走行す る平面と垂直な方向へのユーザの視点の移動は反映されない (反映することがで きない) 。
次に、 図 4 0のフローチャートを参照して、 図 3 8の画像処理装置 (コンビュ ータ) 1による画像処理について説明する。
まず最初に、 ステップ S 8 1において、 データ変換部 3 1は、 画像データべ一 ス 2から原画像データを読み出し、 中間データに変換する。 さらに、 ステップ S 8 1では、 データ変換部 3 1は、 中間データを、 中間データベース 3に供給して 記憶させ、 ステップ S 8 2に進む。
ステップ S 8 2では、 画像データ変換部 3 1は、 ステップ S 8 1において中間 データに変換した原画像データのフレーム数 F numを、 再生フレーム管理部 3 4 に供給し、 再生フレーム管理部 3 4は、 そのフレーム数 F numを取得する。
そして、 ステップ S 8 3に進み、 再生フレーム管理部 3 4は、 再生対象のフレ ームを表す変数 nを、 例えば、 1に初期化し、 処理対象のフレームを表すフレー ム情報として、 中間データ変換部 3 2に供給して、 ステップ S 8 4に進む。
ステップ S 8 4では、 センサ制御部 3 3が、 レシーバ 4 (図 2 ) の出力から、 ユーザの位置を検出し、 さらに、 そのユーザの位置を、 ユーザの視点に設定して、 中間データ変換部 3 2に供給する。
そして、 ステップ S 8 5に進み、 中間データ変換部 3 2は、 再生フレーム管理 部 3 4から供給されるフレーム情報に基づいて、 処理対象が第 nフレームである ことを認識し、 さらに、 センサ制御部 3 3から供給されるユーザの視点に基づい て、 中間データを、 処理対象である第 nフレームの提示用画像データに変換し、 ステップ S 8 6に進む。
ステップ S 8 6では、 中間データ変換部 3 2は、 第 nフレームの提示用画像デ ータを、 ディスプレイ 6に供給して表示させ、 ステップ S 8 7に進む。
ステップ S 8 7では、 再生フレーム管理部 3 4は、 変数 nが、 原画像データの 全フレーム数 F numに等しいかどうかを判定する。 ステップ S 8 7において、 変 数 nが、 全フレーム数 F nuraに等しくないと判定された場合、 ステップ S 8 8に 進み、 例えば、 ユーザが、 画像処理を終了するように、 入力部 1 7 (図 3 ) を操 作したかどうかを、 CPU 1 2 (図 3 ) が判定する。 ステップ S 8 8において、 画 像処理を終了するように、 入力部 1 7が操作されていないと判定された場合、 ス テツプ S 8 9に進み、 再生フレーム管理部 3 4は、 変数 nを 1だけインクリメン トし、 対応するフレーム情報を、 中間データ変換部 3 2に供給する。 そして、 ス テツプ S 8 4に戻り、 以下、 同様の処理が繰り返される。
一方、 ステップ S 8 7において、 変数 nが、 全フレーム数 F numに等しいと判 定されるカ または、 ステップ S 8 8において、 画像処理を終了するように、 入 力部 1 7が操作されたと判定された場合、 処理を終了する。
なお、 図 4 0の画像処理が、 過去に実行され、 これにより、 画像データベース 2に記憶されている原画像データを変換した中間データが、 中間データベース 3 に、 既に記憶されている場合には、 ステップ S 8 1および S 8 2の処理は、 スキ ップすることができる。
次に、 図 3 8の実施の形態でのデータ変換部 3 0 (を構成する画像データ変換 部 3 1および中間データ変換部 3 2 ) の処理について説明する。
なお、 画像データベース 2に記憶された原画像データは、 例えば、 図 4 1に示 すように、 ほぼ等速直線運動をしている列車の車窓に固定されたカメラによって 撮像されたものとする。 図 4 1に示した場合においては、 カメラでは、 近景 (例 えば、 カメラから比較的近くにある樹木などの物体) と遠景 (例えば、 カメラか ら遠くにある空などの景色) が撮像されている。
ここで、 図 4 1においては、 列車が走行する平面 (あるいはその平面と平行な 平面) 上において、 列車の走行方向に対して垂直な方向を基線とし、 その基線に 対して、 反時計回り方向に角度 φ。だけ傾いた方向が光軸方向となるように、 力 メラが固定されている。 なお、 列車が走行する平面上において、 その列車に固定 されたカメラのレンズ中心から反時計回り方向に、 基線に対してつく られる角度 を、 以下、 適宜、 偏角という。 この偏角は、 上述の経度に相当する。
即ち、 ここでは、 列車が、 平面上を、 直線的に移動することとしているため、 その平面を、 地球の赤道上の平面と考えると、 列車に固定されたカメラの視点は、 緯度方向には移動せず、 経度方向にのみ移動する。 従って、 そのようなカメラに よって撮像された原画像データについては、 基本的には、 上述の緯度と経度のう ち、 経度だけに注目すれば良く、 緯度は無視できることになる。
図 4 1では、 列車の走行方向に向かって右側に、 被写体となる複数の物体 (例 えば、 樹木など) があり、 さらに、 その被写体となる複数の物体は、 列車の走行 方向に沿って存在している。 従って、 図 4 1の実施の形態では、 被写体となる複 数の物体は、 列車の走行軌跡に対して等距離の位置に存在している。
この場合、 カメラの光学中心を通る基線上にある被写体の、 カメラから見た速 度を V。と表すこととすると、 その基線から角度 (偏角) φの方向にある被写体 の、 カメラから見た速度は、 V。c o s で表すことができる。
従って、 カメラによって撮像される画像データ、 即ち、 カメラの光軸と垂直な 仮想スクリーン上に表示される画像データにおいては、 右側に表示された被写体 力 左側に表示された被写体よりも高速に移動する。
図 4 1では、 列車が、 図中上方向に走行している。 従って、 その列車の車窓に 固定されたカメラによれば、 例えば、 図 4 2に示すように、 画像データが撮像さ れる。
即ち、 いまの場合、 列車は等速直線運動をしているから、 その列車に固定され ているカメラも等速直線運動をし、 これにより、 カメラでは、 そのレンズ中心が、 列車の走行方向に等間隔で移動しながら、 各フレームの画像データが撮像される。 いま、 カメラで撮像された各フレームの画像データにおいて、 ある偏角 ci^の 方向に注目すると、 その偏角 <^の方向の光線に対応する画素値は、 各フレーム の画像データに存在する。 従って、 各フレームの画像データから、 偏角 の方 向の光線に対応する画素値を集めることで、 その偏角 の方向の無限遠から見 た画像デ一タである中間データを生成することができる。
即ち、 カメラで撮像された各フレームの画像データから、 偏角 の方向にあ る列の画素 (偏角 の方向にある、 垂直方向に並ぶ画素) の並びを切り出し、 各フレームから切り出した 1列の画素の画素値を、 フレーム順に、 右から左方向 に並べることで、 偏角 の方向の無限遠から見た画像データである中間データ を生成することができる。 ところで、 上述のように、 カメラで撮像された各フレームの画像データから、 偏角 Θ iの方向にある列の画素を切り出して並べることにより、 偏角 の方向の 無限遠から見た画像データ (中間データ) を生成すると、 その画像データは、 1 フレームの間にカメラが移動する移動距離に対応する間隔だけ、 画素が存在しな いものとなることがある。
即ち、 1フレームの間にカメラが移動する移動距離が、 1画素の横の長さを越 える場合、 あるフレームの画像データにおける偏角 の方向にある列の画素と、 その次のフレームの画像データにおける偏角(ί^の方向にある画素との間には、 1画素を越える間隔が生じ、 中間データとしての画像データも、 そのような間隔 の空いたものとなる。
そこで、 そのような間隔が生じるのを防止するため、 カメラで撮像された各フ レームの画像データからの画素の切り出しは、 行方向 (水平方向) に、 ある程度 の幅のある形で行うことができる。
即ち、 カメラで撮像された各フレームの画像データからは、 例えば、 図 4 2に 示すように、 ある偏角 から、 微小角度土 δ φの範囲の方向にある複数列の画 素を切り出すようにすることができる。 いま、 この偏角 から、 微小角度土 δ φの範囲の方向にある複数列の画素でなる短冊状の画像を、 偏角 0 iについての 短冊画像というものとすると、 偏角 の方向の無限遠から見た画像データであ る中間データの生成 (再構成) は、 図 4 3に示すように、 カメラで撮像された各 フレームの画像データから、 偏角 についての短冊画像が切り出され、 フレー ム順に、 右から左方向に配置されることで行われる。
なお、 図 4 3に示した中間データの列方向 (垂直方向) の長さは、 カメラで撮 像された画像データのフレームの画素の行数 (列方向の画素数) で決まるが、 そ の行方向 (水平方向) の長さは、 カメラで撮像された画像データのフレーム数に 依存する。
図 3 8のデータ変換部 3 0における画像データ変換部 3 1では、 上述のように して、 各偏角の方向の無限遠から見た中間データが生成される。 即ち、 いま、 列車に固定されたカメラで撮像された画像データが、 例えば、 図 4 4に示すように、 樹木がある風景が、 画面上を左から右方向に移動していくも のである場合には、 例えば、 図 4 5 A乃至図 4 5 Eに示すような中間データが生 成される。
ここで、 図 4 5 A乃至図 4 5 Eは、 図 4 5 Aに示すような 4つの方向 # 1乃至 # 4の無限遠から見た画像データである中間データを示している。 即ち、 図 4 5 B乃至図 4 5 Eは、 図 4 5 Aにおける方向 # 1乃至 # 4の無限遠それぞれから見 た画像データである中間データを示している。
次に、 図 4 6のフローチャートと、 図 4 7を参照して、 図 3 8の画像データ変 換部 3 1が、 図 4 0のステップ S 8 1で行う画像データ変換処理、 即ち、 原画像 データを中間データに変換する処理について説明する。
まず最初に、 ステップ S 1 0 1において、 画像データ変換部 3 1は、 画像デー タベース 2に記憶された原画像データのフレーム数をカウントする変数 F numに、 初期値としての、 例えば 1をセットして、 ステップ S 1 0 2に進む。
ステップ S 1 0 2では、 画像データベース 2に記憶された原画像データを撮像 したときのカメラの視点 (撮像ポイント) から、 注目撮像ポイント P cとするも のを選択する。
即ち、 図 3 8の実施の形態においては、 画像データベース 2に記憶された原画 像データは、 図 4 1および図 4 2で説明したように、 等速直線運動する列車に固 定されたカメラによって撮像されたものであるから、 図 4 7に示すように、 列車 の走行方向に沿った直線上には、 多数の撮像ポイントが存在すする。 ステップ S 1 0 2では、 その多数の撮像ポイントの中から、 第 F フレームの原画像デー タをカメラで撮像したときの撮像ボイントが、 注目撮像ボイント P eとして選択 される。 なお、 図 3 8では、 第 n— 1 フレーム、 第 nフレーム、 および第 n + 1 フレームの 3つのフレームそれぞれについての撮像ポィントを示してある。
ここで、 図 3 8の実施の形態においては、 画像データベース 2には、 列車に固 定されたカメラによって撮像された原画像データの他、 図 7の画像生成装置で撮 像された原画像データにおける場合と同様に、 現実世界にあらかじめ設定された 3次元座標系である撮像時座標系における、 列車に固定されたカメラの撮像ボイ ントも記憶されているものとする。 この場合、 ステップ S 1 0 2において、 画像 データ変換部 3 1は、 画像データベース 2から、 第 F numフレームの画像データ についての撮像ポイントを、 注目撮像ポイント P eとして読み出す。 なお、 図 4 7では、 撮像時座標系として、 左方向に X軸が、 上方向に y軸が、 紙面と垂直な 手前方向に z軸が、 それぞれとられている。
その後、 ステップ S 1 0 3に進み、 画像データ変換部 3 1は、 注目撮像ポイン ト P cについて、 仮想スク リーンを設定し、 仮想スクリーン上の垂直方向の画素 の列のうち、 まだ注目列として選択していない画素列を、 注目列として選択する。 即ち、 画像データ変換部 3 1は、 図 4 7に示すように、 注目撮像ポイント P c について、 その注目撮像ポイント P cから、 カメラの光軸方向に向かって、 所定 の距離 Lだけ離れた位置に、 列車に固定されたカメラの光軸と直交する長方形状 の平面を、 仮想スクリーンとして設定する。 そして、 画像データ変換部 3 1は、 仮想スクリーン上の画素のうち、 例えば、 左から右方向の順番で、 まだ注目列と して選択していない画素列を、 注目列として選択する。
ここで、 図 4 7では、 カメラの光軸と基線が一致しているが、 即ち、 カメラの 光軸が、 基線から 0度の方向になっているが、 カメラの光軸は、 基線から任意の 偏角 0。の方向にとることが可能である。 なお、 カメラの光軸の方向は、 基線か らの偏角 Θ。が何度の方向であっても良いが、 その偏角 Θ。が何度であるかは、 こ こでは、 データ変換部 3 0において、 あらかじめ認識されているものとする。 ステップ S 1 0 3において注目列が選択された後は、 ステップ S 1 0 4に進み、 画像データ変換部 3 1は、 その注目列を構成する画素のうちの、 例えば最上行の 画素を注目画素 P sとして選択する。
ここで、 注目画素 P sは、 注目列を構成する画素のうちの最上行の画素に限定 されるものではなく、 任意の行の画素を、 注目画素として選択することが可能で ある。 ステップ S 1 04において注目画素 Psが選択された後は、 ステップ S 105 に進み、 画像データ変換部 3 1は、 注目撮像ポイント P。を始点とし、 注目画素 Psを終点とするベタ トル Vを求め、 ステップ S 1 06に進む。
ステップ S 106では、 画像データ変換部 3 1は、 図 4 7に示すように、 ステ ップ S 105で求められたベタ トル Vと直交し、 撮像時座標系上の所定の点 Pf を通る平面 αを求め、 ステップ S 10 7に進む。
ステップ S 1 07では、 画像データ変換部 3 1は、 ステップ S 1 05で求めた べク トノレ Vの、 基線に対する偏角 φを求め、 ステップ S 1 08に進む。 即ち、 本 来ならば、 図 2 7の実施の形態における場合と同様に、 ベク トル Vの緯度と経度 を求める必要がある。 ここでは、 上述したように、 経度方向にしか移動しない力 メラによって原画像データが撮像されているので、 緯度は無視することができ、 経度のみを考慮すれば足りる。 そこで、 ステップ S 1 07では、 ベク トル Vの経 度に相当する、 基線に対する偏角 Φが求められる。
ここで、 べク トル Vの偏角 φは、 ステップ S 1 06で求められた平面 αの法線 の偏角 φということもできる。 また、 平面 ctの法線の方向は、 緯度と経度で特定 されるが、 ここでは、 上述したように、 緯度は無視することができる (緯度は、 任意の固定の値とすることができる) 。 従って、 所定の点 Pf を通る平面 αは、 その法線の経度に相当する偏角 φによって特定することができるので、 この偏角 φによって特定される平面 αを、 以下、 適宜、 平面 I (Φ) とも記述する。
なお、 偏角 ψの符号については、 撮像ポイントを中心として、 列車が走行する 平面 (図 47の実施の形態では、 x y平面) 内における、 左回り方向を、 正とす る。
ステップ S 1 08では、 画像データ変換部 3 1は、 図 4 7に示すように、 注目 撮像ポイント と注目画素 Psとを結ぶ直線 Lpを求める。 さらに、 ステップ S 1 08では、 画像データ変換部 3 1は、 直線 Lpと、 ステップ S 106で求めた 平面 α ( I (φ) ) との交点 Ρχを求め、 ステップ S 10 9に進み、 その点 Ρχの、 平面 α上における座標 (x„, y J を求める。 ここで、 ステップ S I 0 9では、 平面 I (φ) 上において、 例えば、 その平面 I (Φ) が必ず通る所定の点 Pfを原点とするとともに、 撮像時座標系の X軸と z軸を平面 I (φ) 上に写像して得られる軸を、 それぞれ X軸と y軸とする 2次 元座標系が定義され、 その 2次元座標系における点 Pxの座標 (x a, y J が求 められる。 なお、 平面 I (φ) 上に定義される 2次元座標系は、 上述したものに 限定されない。
その後、 ステップ S 1 1 0に進み、 画像データ変換部 3 1は、 仮想スクリーン 上の第 Fnumフレームの原画像データの注目列を、 平面 I (φ) 上に射影する。 即ち、 いま、 平面 I (Φ) 上の点 Pxの位置の画素の画素値を、 平面 I (Φ) と、 平面 I (φ) 上の点 Pxの座標を表す (x a, y J とによって、 I ίφ)
α, y J と表すこととするとともに、 注目列が、 N画素で構成されるもの とする。 この場合、 画像データ変換部 3 1は、 仮想スクリーン上の第 F瞧 フ レ ームの原画像データの注目列における第 1行の画素の画素値を、 平面 I (φ) 上 の画素値 I (Φ) (x a, y a) に、 注目列における第 2行の画素の画素値を、 平面 I (φ) 上の画素値 I (Φ) (x a, y a+ l ) に、 · · ·、 注目列におけ る第 N行の画素の画素値を、 平面 I ( φ) 上の画素値 I ( φ) (x a, y a + (N— 1) ) に、 それぞれセットする。
そして、 ステップ S 1 1 1進み、 画像データ変換部 3 1は、 注目撮像ポイント Peに対して設定された仮想スクリーン上の原画像データのすべての画素列を注 目列としたかどうかを判定し、 まだ、 注目列としていないが画素列があると判定 した場合、 ステップ S 1 0 3に戻り、 以下、 同様の処理が繰り返される。
また、 ステップ S 1 1 1において、 仮想スクリーン上のすべての画素列を注目 列としたと判定された場合、 ステップ S 1 1 2に進み、 画像データ変換部 3 1は、 第 Fnuraフレームの次のフレームの原画像データが存在するかどうかを、 画像デ —タベース 2を参照することにより判定する。 ステップ S 1 1 2において、 第 F numフレームの次のフレームの原画像データが存在すると判定された場合、 ステ ップ S 1 1 3に進み、 画像データ変換部 3 1は、 変数 F瞧を 1だけインクリメ ントして、 ステップ S I 0 2に戻り、 以下、 同様の処理を繰り返す。
また、 ステップ S 1 1 2において、 第 F numフレームの次のフレームの原画像 デーダが存在しないと判定された場合、 即ち、 画像データベース 2に記憶された すべてのフレームの画像データを、 各偏角 φの平面 I ( Φ ) に正射影した画像デ ータとしての中間データが得られた場合、 処理を終了する。
なお、 以上の画像データ変換処理により得られた中間データは、 画像データ変 換部 3 1から中間データベース 3に供給されて記憶される。
また、 図 4 6の画像データ変換処理において最終的に得られた原画像データの フレーム数 F瞧は、 図 4 0で説明したように、 ステップ S 8 2において、 画像 データ変換部 3 1から再生フレーム管理部 3 4に供給される。
次に、 図 4 8 Aおよび図 4 8 Bは、 図 4 6の画像データ変換処理により生成さ れる中間データのフォーマツトを模式的に表している。
図 4 6の画像データ変換処理によって生成される中間データは、 平面 I ( 上に、 偏角 Φで規定される方向の無限遠から被写体を見た場合の画像データとな つており、 従って、 各値の偏角 φごとに存在するので、 図 4 8 Aに示すような、 偏角 φの値で区切られるテーブル (以下、 適宜、 偏角テーブルという) で表現す ることができる。
即ち、 図 4 6の画像データ変換処理は、 基本的には、 図 2 7の画像データ変換 処理における緯度を無視した処理と同様であり、 その結果得られる中間データは、 図 2 7の画像データ変換処理によって得られる図 2 9 Aの緯度経度テーブルにお ける緯度を無視したものとなっている。 即ち、 図 4 6の画像データ変換処理によ り得られる図 4 8 Aの偏角テーブルは、 図 2 9 Aの緯度経度テーブルにおける緯 度方向の軸がなく、 経度に相当する偏角方向の軸のみがあるものとなっている。 ここで、 図 4 8 Aの実施の形態では、 偏角 ψが、 最小値 < inから最大値 c ax の範囲の 1度刻みで変化する平面 I ( Φ ) ごとに、 各偏角 φで規定される方向の 無限遠から被写体を見た場合の画像データが、 偏角テーブルの各マス目に登録さ れている。 なお、 偏角 Φを、 何度刻みとするかや、 その刻み幅は、 図 2 9 Aの緯 度経度テーブルにおける場合と同様に特に限定されるものではない。 また、 偏角 テ一ブルにおける偏角 φの最小値 φ minおよび最大値 φ ^は、 列車に固定された カメラの光軸の偏角、 およびそのカメラの水平方向の画角に依存する。
図 4 8 Aの偏角テーブルの各マス目には、 そのマス目に対応する偏角 φで規定 される方向の無限遠から被写体を見た場合の画像データ、 即ち、 平面 I ( Φ ) 上 に (緯度を無視して) 射影された原画像データの画素の画素値が、 その平面 I.
( Φ ) 上に定義された 2次元座標系の各 X座標 X。と各 y座標 y αごとに登録さ れている。 即ち、 図 4 8 Αの偏角テーブルの各マス目には、 例えば、 図 4 8 Bに 示すように、 平面 I ( φ ) 上に定義された 2次元座標系の X座標 X αと y座標 y αの値で区切られたテーブル (画素値テーブル) が登録されており、 その画素値 テーブルのマス目には、 そのマス目に対応する X座標 χ αと y座標 y αで規定さ れる点に射影された原画像データの画素の画素値 P ( x a, y J が登録されて いる。
なお、 図 4 8 Bにおいて、 X ly iは、 図 2 9 Bにおける場合と同様に、 原画 像データの画素を平面 I ( ψ ) 上に正射影した点の、 最小の X座標と y座標を、 それぞれ表す。 また、 χ 2と y 2も、 図 2 9 Bにおける場合と同様に、 原画像デー タの画素を平面 I ( Φ ) 上に正射影した点の、 最大の X座標と y座標を、 それぞ れ表す。
ところで、 上述したように、 列車に固定されたカメラで撮像された各フレーム の原画像データから、 ある偏角 φの方向にある列の画素を、 平面 I ( Φ ) に射影 することにより、 偏角 <ί>の方向の無限遠から見た画像データである中間データを 生成した場合、 その中間データとしての画像データにおいては、 1フレームの間 にカメラが移動する移動距離に対応する間隔だけ、 画素が存在しないものとなる こと、 即ち、 画素値の欠落が生じることがある。
そこで、 図 3 8の画像処理装置 1においても、 図 5の画像処理装置 1における 場合と同様に、 画素値補間処理を行うようにすることができる。
そこで、 図 4 9のフローチャートを参照して、 図 3 8の画像処理装置 1で行わ れる画素値補間処理について説明する。 なお、 この画素値補間処理は、 図 3 2に おける場合と同様に、 画像データ変換部 3 1に行わせても良いし、 中間データ変 換部 3 2に行わせても良い。 ここでは、 例えば、 画像データ変換部 3 1が行うも のとして、 画素値補間処理を説明する。
図 4 9の画素値補間処理では、 まず最初に、 ステップ S 1 2 1において、 画像 データ変換部 3 1が、 偏角を表す変数 に、 初期値としての、 例えば、 その最小 値である <i>minをセッ トするとともに、 平面 I (Φ) の X座標を表す変数 X。に、 初期値としての、 例えば、 その最小値である X lをセッ トする。
そして、 ステップ S 1 2 2に進み、 画像データ変換部 3 1は、 中間データ I (φ) (x ay i) に、 画素値がセッ トされているかどうかを、 図 3 2のステツ プ S 4 2における場合と同様にして判定する。
ここで、 上述の場合には、 ステップ S 1 2 2において画素値がセッ トされてい るかどうかを判定する対象 (以下、 適宜、 画素値判定対象という) を、 中間デー タ I (φ) (x„, Y l) としたが、 即ち、 平面 I ( Φ ) 上の座標 (χ α, y の 画素としたが、 画素値判定対象としては、 y座標 y aが、 その最小値 y iから最 大値 y2の範囲の任意の値の画素を採用することができる。
即ち、 図 4 6および図 4 7で説明した画像データ変換処理によって得られる中 間データにおいては、 平面 I (Φ) 上の座標 (x a, y ,) 乃至 (x。, y2) で表 される列には、 図 4 6のステップ S 1 1 0において、 一度に、 原画像データの画 素値がセッ トされる。 従って、 平面 I (Ψ ) 上の座標 (x a, y t) 乃至 (x a, y2) で表される列における、 ある 1画素に画素値がセッ トされていない場合に は、 その列の他の画素にも画素ィ直がセッ トされていないこととなるから、 画素ィ直 判定対象としては、 y座標 y。が、 その最小値 yiから最大値 y2の範囲の任意の 値の画素を採用することができる。
ステップ S 1 2 2において、 中間データ I ) (x a, y i) に、 画素値がセ ッ トされていると判定された場合、 即ち、 画素値が欠落していない場合、 ステツ プ S 1 2 3および S 1 2 4をスキップして、 ステップ S 1 2 5に進む。 また、 ステップ S 1 2 2において、 中間データ I ( φ ) ( x 0 ) Y l) に、 画素 値がセットされていないと判定された場合、 即ち、 画素値が欠落している場合、 ステップ S 1 2 3に進み、 画像データ変換部 3 1は、 φ -Α φ < φ ' < φ +Δ φ の範囲の偏角 Ψ ' で規定される平面 I ( Φ ' ) 上の点 (χ α , y 1) の中で、 画素 値がセットされているものを探索 (検索) する。
ここで、 Δ φとしては、 例えば、 図 3 2における場合と同様に、 小さい正の整 数値が採用される。
その後、 ステップ S 1 2 4に進み、 画像データ変換部 3 1は、 ステップ S 1 2 3で探索された、 画素値がセットされている中間データ I ( Φ , ) ( x a, V l) の列の各画素値 I ( φ ' ) ( χ αy i) 乃至 I ( φ ' ) ( χ α, y2) を、 欠落し ている画素値である中間データ I ( Φ ) ( χ «, y j の列の各画素値 I ( Φ )
( X „ , Y l) 乃至 (X α, y 2) にセッ トして、 ステップ S 1 2 5に進む。 なお、 原画像データのフレームの垂直方向の画素数が、 上述したように N画素であれば、 y2は、 y !+ (N- 1 ) で表される。
ここで、 ステップ S 1 2 3において、 φ — Δ φく φ ' く ψ +△ ψの範囲の偏角 Φ ' で規定される平面 I ( Φ ' ) 上の点 (χ α, y の中で、 画素値がセットさ れているものが複数見つかった場合には、 ステップ S 1 2 4では、 画像データ変 換部 3 1は、 その中から、 例えば、 偏角の差の絶対値 I φ — φ, Iが最も小さい ものを選択し、 その選択した I ( φ ' ) ( χ α, Yl) の列の各画素値 I ( Φ ' ) ( χ α, Υι) 乃至 I ( φ, ) ( χ 0 ) y2) を、 各画素値 I ( Φ ) ( χ α, ' y 1) 乃 至 ( a , y 2) に ッ する。
また、 ステップ S 1 2 3において、 φ —^ φく φ ' く ψ +△ ψの範囲の偏角 Φ ' で規定される平面 I ( Φ ' ) 上の点 (χ α, y t) の中で、 画素値がセットされ ているものが見つからなかった場合には、 ステップ S 1 2 4では、 画像データ変 換部 3 1は、 平面 I ( φ ) 上の画素値がセットされている画素の中から、 座標 ( x „, Y l) と最も近い画素を検索し、 その画素の列の各画素の画素値を、 各画 素値 I ( φ ) ( χ α, Υ ι) 乃至 (χ α, y2) にセッ トする。 なお、 図 4 9の画素値補間処理でも、 図 3 2における場合と同様に、 平面 I ( ) 上の、 画素値がセットされていない点 (x a, y J に、 画素値が補間さ れるから、 その処理が進行していくと、 画素値が補間された点における画素値に よって、 さらに、 他の点における画素値が補間されることが生じうる。 これを防 止するためには、 例えば、 図 3 2における場合と同様に、 画素値の補間がされた 点に、 補間がされたことを表す補間フラグを付加するようにし、 補間フラグが付 加されている点における画素値は、 補間に用いないようにする (ステップ S 1 2 3における探索の対象外とする) 必要がある。
ステップ S 1 2 5では、 画像データ変換部 3 1が、 平面 I (φ) 上の X座標を 表す変数 χ αが、 その最大値である x2に等しいかどうかを判定する。 ステップ S 1 2 5において、 X座標 χ αが、 最大値 χ 2に等しくないと判定された場合、 ステップ S 1 2 6に進み、 画像データ変換部 3 1は、 X座標 χ αを 1だけインク リメントして、 ステップ S 1 2 2に戻り、 以下、 同様の処理を繰り返す。
また、 ステップ S 1 2 5において、 X座標 χ αが、 最大値 χ2に等しいと判定 された場合、 ステップ S 1 2 7に進み、 画像データ変換部 3 1は、 X座標 χ。を、 その最小値である にリセッ トして、 ステップ S 1 2 8に進む。
ステップ S 1 2 8では、 画像データ変換部 3 1は、 偏角を表す変数 が、 その 最大値である < axに等しいかどうかを判定する。 ステップ S 1 28において、 偏角 Ψ力 最大値 φ に等しくないと判定された場合、 ステップ S 1 2 9に進 み、 画像データ変換部 3 1は、 偏角 ψを 1度だけインクリメントして、 ステップ S 1 2 2に戻り、 以下、 同様の処理を繰り返す。
また、 ステップ S 1 2 8において、 偏角 φが、 最大値 φ Χに等しいと判定さ れた場合、 処理を終了する。
図 4 9の画素値補間処理においても、 図 3 2における場合と同様に、 平面 I ( ) のある列の画素値 I (φ) (χ αy i) 乃至 I (φ) (χ α, y 2) が欠落 している場合には、 画素値がセッ トされている、 偏角がより近い他の平面 I (φ ' ) における同一列の画素値 I (Φ , ) (x ay i) 乃至 I (< ' ) (χ α, y 2) によって、 その欠落している画素値 I ( φ ) ( χ α , y ,) 乃至 I ( Φ ) ( χ α > y 2) が補間される。
なお、 図 4 9の画素値補間処理によれば、 図 4 2で説明したように、 各フレー ムの原画像データから、 同一の偏角方向についての短冊画像を切り出し、 その短 冊画像を、 フレーム順に、 右から左方向に配置して得られるのと同一の中間デー タが得られる。 従って、 画像データ変換部 3 1において、 図 4 2で説明したよう に、 短冊画像によって中間データを生成する場合には、 画素値の欠落は生じない から、 図 4 9の画素値補間処理は、 行う必要がない。
また、 図 4 9の画素値補間処理によって得られた中間データに対しては、 上述 したクラス分類適応処理、 その他の画像処理を施すことが可能である。
さらに、 中間データのフォーマットとしては、 図 4 8 Aおよび図 4 8 Bで説明 したフォーマツ 卜の他、 図 3 5 Aおよび図 3 5 Bにおける場合と同様のフォーマ ットを採用することが可能である。
次に、 図 5 0のフローチャートと、 図 5 1を参照して、 図 3 8の中間データ変 換部 3 2が、 図 4 0のステップ S 8 5で行う中間データ変換処理、 即ち、 中間デ —タを、 ユーザの視点から見た第 nフレームの画像データ (提示用画像データ) に変換する処理について説明する。
図 5 0の中間データ変換処理においても、 図 3 6における場合と同様に、 ディ スプレイ 6 (図 2 ) に、 ユーザの視点に応じた画像を表示するための 3次元座標 系としての表示時座標系が想定される。 なお、 表示時座標系としては、 例えば、 画像データベース 2に記憶された原画像データを中間データに変換するときに用 いられた撮像時座標系を、 そのまま採用することができる。
そして、 まず最初に、 ステップ S 1 4 1において、 中間データ変換部 3 2は、 図 5 1に示すように、 表示時座標系における、 第 nフレームの撮像ポイント P c について、 ユーザの視点 P c' を設定する。
即ち、 図 5 0の中間データ変換処理では、 いま処理対象となっているフレーム の撮像ボイント P cを基準として処理が行われるようになっており、 そのため、 ステップ S 1 4 1では、 いま再生対象となっているフレームの撮像ポイント P c を基準として、 ユーザの視点 P c' が設定される。
具体的には、 中間データ変換部 3 2には、 センサ制御部 3 3から、 現実世界に おけるユーザの視点が供給される。 中間データ変換部 3 2は、 現実世界における 所定の位置を、 ユーザの視点の基準位置として、 センサ制御部 3 3からのユーザ の視点が、 基準位置からどれだけ移動した位置にあるかを表す移動情報を求める。 ここで、 ユーザの視点の基準位置としては、 ユーザが、 ディスプレイ 6に表示さ れた画像を視聴する一般的な位置、 即ち、 例えば、 ディスプレイ 6の正面方向上 の任意の点を採用することができる。
中間データ変換部 3 2は、 移動情報を求めると、 図 5 1に示すように、 表示時 座標系において、 第 nフレームの撮像ポイント P eから、 その移動情報だけ移動 した点を、 撮像ポイント P。についてのユーザの視点 P c ' として設定する。
なお、 図 5 0の中間データ変換処理においても、 図 4 6の画像データ変換処理 における場合と同様に、 緯度方向は無効とされる。 従って、 図 5 0の中間データ 変換処理において、 例えば、 図 5 1に示すように、 図 4 7の撮像時座標系と同様 の X軸、 y軸、 および z軸をとつた表示時座標系が想定されているとすると、 移 動情報における、 緯度方向に影響する y軸方向および z軸方向の成分は無効とさ れる (例えば 0と扱われる) 。 このことは、 ユーザが、 表示時座標系の y軸方向 または z軸方向に移動しても、 ユーザの視点が移動したとは認められないことを 意味する。 これは、 ユーザの視点移動に対応するデータが作成されていないため である (作成されているならば、 z軸、 y軸方向の移動成分は、 有効と扱われて も良い) 。 即ち、 この場合、 ユーザの視点が移動したと認められるには、 ユーザ 力 少なく とも、 表示時座標系の X軸方向に移動する必要がある。 ここで、 本実 施の形態では、 表示時座標系 (撮像時座標系も同様) における X軸方向は、 カメ ラの移動方向 (カメラが固定された列車の走行方向) に一致している。
中間データ変換部 3 2は、 以上のようにして、 表示時座標系における、 撮像ポ イント P eについてのユーザの視点 P c' を設定すると、 ステップ S 1 4 2に進み、 図 5 1に示すように、 撮像ボイント P。におけるカメラの光軸と、 第 nフレーム に表示されている被写体との交点 Pkを求める。
なお、 ここでは、 説明を簡単にするために、 カメラが固定された列車の走行軌 跡と被写体との間の距離 Dは、 一定であるとし、 さらに、 中間データ変換部 32 において、 あらかじめ認識されているものとする。 また、 撮像ポイント Peにお けるカメラの光軸の偏角 Φ。も、 中間データ変換部 32において、 あらかじめ認 識されているものとする。 この場合、 撮像ポイント Peにおけるカメラの光軸と、 第 nフレームに表示されている被写体との交点 Pkは、 撮像ポイント Pc、 距離 D、 および撮像ボイント P。におけるカメラの光軸の偏角 φ。から求めることができる。 その後、 ステップ S 1 43に進み、 中間データ変換部 3 2は、 図 5 1に示すよ うに、 ユーザの視点 pc' を始点とするとともに、 交点 Pkを終点とするベク トル V ' を求め、 ステップ S 144に進む。 ステップ S 144では、 中間データ変換 部 3 2は、 ユーザの視点 Pc' に対して、 ベク トル V ' の方向を視線方向として、 そのベク トル v ' と直交し、 ユーザの視点 Pc' から距離 Lだけ離れた位置に仮 想スクリーンを設定し、 ステップ S 145に進む。
ステップ S 145では、 中間データ変換部 32は、 ユーザの視点 Pc' につい て設定した仮想スクリーン上の垂直方向の画素の列のうち、 まだ注目列として選 択していない画素列を、 注目列として選択する。
ステップ S 1 45において注目列が選択された後は、 ステップ S 146に進み、 中間データ変換部 3 2は、 例えば、 図 46のステップ S 1 04における場合と同 様に、 注目列を構成する画素のうちの最上行の画素を注目画素 Psとして選択す る。
ここで、 注目画素 Psは、 注目列を構成する画素のうちの最上行の画素に限定 されるものではなく、 任意の行の画素を、 注目画素として選択することが可能で ある。
ステップ S 1 46において注目列が選択された後は、 ステップ S 14 7に進み、 中間データ変換部 3 2は、 図 5 1に示すように、 ユーザの視点 Pc' を始点とし、 注目画素 Psを終点とするべク トル Vを求め、 ステップ S 1 48に進む。
ステップ S 1 48では、 中間データ変換部 32は、 図 5 1に示すように、 ステ ップ S 147で求められたべク トル Vと直交し、 撮像時座標系と同一の表示時座 標系上の所定の点 Pf を通る平面 αを求め、 ステップ S 149に進む。
ステップ S 1 49では、 中間データ変換部 32は、 ステップ S 1 47で求めた ベタ トル Vの、 基線に対する偏角め、 即ち、 ステップ S 1 48で求めた平面 αの 法線の、 基線に対する偏角 Φを求め、 ステップ S 1 50に進む。
ステップ S 1 50では、 中間データ変換部 32は、 図 5 1に示すように、 ユー ザの視点 Pc' と注目画素 Psとを結ぶ直線 Lpを求める。 さらに、 ステップ S 1 50では、 中間データ変換部 3 2は、 直線 Lpと、 ステップ S 1 5 1で求めた平 面 α、 即ち、 法線の、 基線に対する偏角が、 ステップ S 148で求められた で ある平面 I (φ) との交点 Ρ を求め、 ステップ S 1 5 1に進み、 その点 Ρχの、 平面 I ( ) 上における座標 (χα, y J を求める。
その後、 ステップ S 1 52に進み、 中間データ変換部 32は、 仮想スク リーン の注目列の画素の各画素ィ直として、 平面 I (Φ) 上の点 Pxの列における各画素 値をセットする。
即ち、 仮想スク リーン上の注目列が、 N画素で構成されるものとすると、 中間 データ変換部 3 2は、 仮想スクリーン上の注目列における第 1行の画素の画素値 として、 平面 I (Φ) 上の画素値 I ( ) (x„, y J を、 注目列における第 2行の画素の画素値として、 平面 I (Φ) 上の画素値 I (Ψ) (x K, y„ +
1) を、 · · ·、 注目列における第 N行の画素の画素値として、 平面 I (φ) 上 の画素値 I (φ) (x„, y a+ (N- 1 ) ) を、 それぞれセットする。
そして、 ステップ S 1 53進み、 中間データ変換部 32は、 ユーザの視点 Pc ' に対して設定された仮想スクリーン上のすべての画素列 (垂直方向の画素の並 び) を注目列としたかどうかを判定し、 まだ、 注目列としていないが画素列があ ると判定した場合、 ステップ S 145に戻り、 以下、 同様の処理が繰り返される c また、 ステップ S 1 5 3において、 仮想スク リーン上のすべての画素列を注目 列としたと判定された場合、 即ち、 仮想スク リーン上に、 ユーザの視点から見た 第 nフレームの画像データ (提示用画像データ) が形成された場合、 処理を終了 する。
以上のようにして得られた第 nフレームの提示用画像データは、 上述した図 4 0のステップ S 8 6において、 ディスプレイ 6に表示される。
従って、 ディスプレイ 6には、 ユーザの視点から被写体を見た場合の画像デー タが表示されることになる。
以上のように、 図 3 8の画像処理装置 1によれば、 カメラをほぼ等速直線運動 させながら撮像された原画像データから、 図 5の画像処理装置 1における場合と 同様に、 容易に、 ユーザの視点に応じた画像データを生成することができる。 即 ち、 ユーザが、 その視点を動かした場合に、 ユーザが現実世界において被写体を 観察している場合にユーザの視覚に映るのと同様の画像を、 ディスプレイ 6に表 示することができる。
ところで、 図 3 8の画像処理装置 1において、 原画像データを、 ユーザの視点 から見た提示用画像データに変換するには、 その原画像データがカメラによって 撮像されたときの種々の撮像条件が必要となる。
ここで、 原画像データを、 ユーザの視点から見た提示用画像データに変換する には、 図 4 6で説明した画像データ変換処理、 および図 5 0で説明した中間デー タ変換処理から、 撮像条件として、 少なく とも、 原画像データを撮像するカメラ が固定された列車の走行軌跡と被写体との間の距離 (カメラと被写体との間の、 カメラの移動方向と垂直な方向に沿っての距離) Dや、 撮像ポイント P cにおけ るカメラの光軸の偏角 (光軸の方向) Φ。、 各フレームの撮像ポイント P cが必要 である。
但し、 本実施の形態では、 列車、 ひいては、 その列車に固定されているカメラ は、 等速直線運動するものとしているため、 各フレームの撮像ポイント P cは、 あるフレームの撮像ポイントが分かっていれば、 他のフレームの撮像ポイントは、 カメラが等速直線運動する速さ (カメラの移動速度) から求めることができる。 そこで、 ここでは、 各フレームの撮像ポイントの代わりに、 カメラの移動速度を、 撮像条件とすることとする。
また、 原画像データを、 ユーザの視点から見た提示用画像データに変換するた めに少なく とも必要な、 上述の撮像条件を、 以下、 適宜、 最低撮像条件という。 最低撮像条件は、 原画像データの撮像時にセンサ等により取得すればよい。 最低撮像条件が、 あらかじめ分かっている場合には、 図 3 8の画像処理装置 1 において、 上述したように、 原画像データを、 ユーザの視点から見た提示用画像 データに変換することができる。
一方、 最低撮像条件が分かっていない場合、 原画像データを、 ユーザの視点か ら見た提示用画像データに変換するには、 まず、 最低撮像条件を求める必要があ る。
そこで、 図 3のコンピュータ 1には、 画像データベース 2に記憶された原画像 データを、 ユーザの視点から見た提示用画像データに変換するプログラムの他、 その原画像データから、 最低撮像条件を求める画像処理を行うプログラムも記憶 させることができる。
図 5 2は、 図 3のコンピュータ 1が、 最低撮像条件を求める画像処理を行うプ 口グラムを実行することにより実現される画像処理装置の機能的構成例を示して いる。
図 5 2の実施の形態では、 画像処理装置としてのコンピュータ 1は、 撮像条件 演算部 9 1から構成されている。
撮像条件演算部 9 1は、 画像データベース 2から、 等速直線運動する列車に固 定されたカメラによって撮像された原画像データを読み出し、 その原画像データ から、 最低撮像条件を含む撮像条件を求め、 画像データベース 2に供給して記憶 させる。
即ち、 撮像条件演算部 9 1は、 等速直線運動する列車に固定されたカメラの仮 想スクリーン上における原画像データに表示された被写体の移動距離を求め、 力 メラの視点 (撮像ポイント) から仮想スクリーンまでの距離 (視点 /仮想スクリ ーン間距離) と、 仮想スクリーン上の被写体の移動距離とを用いて、 最低撮像条 件を含む撮像条件を求める。
次に、 図 5 3を参照して、 撮像条件演算部 9 1による撮像条件の算出方法につ いて説明する。
なお、 図 5 3において、 Dは、 カメラが固定された列車の走行軌跡と、 注目し ている被写体である注目被写体との間の距離 (カメラと注目被写体との間の、 力 メラの移動方向と垂直な方向に沿っての距離) Dを表し、 hは、 カメラと注目被 写体との間の、 カメラの移動方向に沿っての距離を表す。 また、 Lは、 カメラの 視点から仮想スク リーンまでの距離を表し、 Φ。は、 カメラの光軸の偏角を表す。 さらに、 A dは、 注目被写体が、 カメラに対して単位時間あたりに移動する距離 (カメラの移動距離) 、 即ち、 カメラの移動速度を表し、 Δ χは、 カメラの仮想 スク リーン上における原画像データに表示された注目被写体の単位時間あたりの 移動距離、 即ち、 注目被写体の仮想スクリーン上の移動速度を表す。
この場合、 カメラの視点から注目被写体の方向の偏角 Φは、 距離 Dと hとを用 いて、 次式で表すことができる。 φ =tan -1
• · · ( 3 1 ) また、 仮想スクリーン上での注目被写体の移動距離 Δ χは、.例えば、 次式で表 すことができる。
厶 x=L (tan ( ø+— φο) -tan ( ø—— 0o) )
• · · ( 3 2 ) 但し、 式 (3 2 ) において、 +と -は、 例えば、 次式で与えられるものとす る。 ' h-
0+=tan一 1
D
Ad
h- " 2
0-=tan"
D
(3 3 式 (3 2) に、 式 (3 3) を代入すると、 次式が得られる,
Figure imgf000087_0001
■ · · (34) 一方、 変数 tの関数 f (t) を、 その変数 tで微分した関数 (導関数) f ( t ) は、 次式で表される。 f (t+At)-f (t)
:,(t)
At
(3 5 式 (3 5) を変形すると、 次式が得られる。
厶 tf'(t) =f (t+At)-f (t)
• · · (3 6) そこで、 いま、 変数 h/Dの関数 ί (h/D) を、 例えば、 次式のように定義 する。 h -i h
-^-J =tan (tan -Φοノ
(3 7 式 (3 7) の関数 f (h/D) を用いて、 式 (34) を表すと、 次式のよう なる。
Figure imgf000087_0002
(3 8) 式 (38) は、 式 (36) の関係を用いることによって、 式 (39) のよう 変形することができる。
Ax Adr, h \
し D ' Dノ
• · · (39) 一方、 変数 tの関数 g l (t) を引数とする関数 g2 (g l ( t) ) を、 変数 で 微分すると、 次式のようになる。 dgi (g2 (t) ) dgi (g2(t)) dg2 (t)
dt " dg2(t) dt
• · · (40) また、 関数 t a n (t) と、 関数 t a 1 (t) の微分は、 それぞれ、 式 (4 1 ) と (42) で表される。
(tan t) '
coszt
• · ■ (41)
(tan— 1t)
1+t2
• · · (42) 式 (40) 乃至 (42) から、 式 (37) の関数 f (h/D) の導関数 f , (h/D) は、 次式で表される。
h、― 1 χ 1
0S2itan—l — 00) 1+( )2
• · · (43 式 (43) から、 式 (39) は、 式 (44) で表される。
Figure imgf000088_0001
• ■ · (44 式 (4 4 ) において、 未知の変数は、 △(!, D , h , φ。である。 また、 式 ( 4 4 ) において、 Δ χは、 仮想スクリーン上に表示された注目被写体の移動距 離を表し、 仮想スクリーン上の注目被写体を表示している画素から計算すること ができる。 さらに、 式 (4 4 ) において、 Lは、 カメラの視点から仮想スクリー ンまでの距離を表し、 任意の値を設定することができる。
従って、 式 (4 4 ) における 4つの未知の変数△ d , D , h , φ 0は、 原理的 には、 仮想スクリーン上の 4つの画素について、 その移動距離を求めれば、 その 移動距離と、 カメラの視点から仮想スクリーンまでの距離 Lを用い、 式 (4 4 ) から推定することができる。
ここで、 図 5 3で説明した方法によれば、 カメラと被写体との間の、 カメラの 移動方向と垂直な方向に沿っての距離 D、 撮像ポイント P cにおけるカメラの光 軸の偏角 Φ。、 およびカメラの移動速度 A d、 即ち、 最低撮像条件の他、 カメラ と注目被写体との間の、 カメラの移動方向に沿っての距離 hも含む撮像条件が求 められる。
図 5 2の撮像条件演算部 9 1では、 上述したようにして、 撮像条件 A d, D , h , φ。が求められる。
そこで、 図 5 4のフローチャートを参照して、 図 5 2の撮像条件演算部 9 1が 行う処理 (撮像条件を推定する撮像条件演算処理) について説明する。
まず最初に、 ステップ S 1 6 1において、 撮像条件演算部 9 1は、 画像データ ベース 2に記憶されたフレームの中から、 撮像条件演算処理の対象とする 4フレ ーム以上を、 処理対象フレームとして選択し、 ステップ S 1 6 2に進む。
ステップ S 1 6 2では、 撮像条件演算部 9 1は、 原画像データを撮像したとき の撮像ポイントからスクリーンまでの距離 Lを、 所定の値に設定し、 ステップ S 1 6 3に進む。
ステップ S 1 6 3では、 撮像条件演算部 9 1は、 ステップ S 1 6 1で処理対象 フレームとして選択された 4フレーム以上の原画像データの各フレームから、 同 一位置の画素を、 撮像条件を演算するのに用いる演算対象画素として選択する。 ここで、 演算対象画素を、 処理対象フレームとされた各フレームの同一位置の 画素とするのは、 図 5 3に示した、 カメラと注目被写体との間の、 カメラの移動 方向に沿っての距離 hを一定値にするためである。
その後、 ステップ S 1 64に進み、 撮像条件演算部 9 1は、 演算対象画素の中 から、 まだ注目画素としていないもののうちの 1つを注目画素して選択し、 ステ ップ S 16 5に進む。
ステップ S 1 65では、 撮像条件演算部 9 1は、 注目画素の動きベク トルを検 出し、 ステップ S 1 6 6に進む。 ステップ S 1 66では、 撮像条件演算部 9 1は、 注目画素の動きベク トルから、 注目画素の移動距離△ Xを求め、 ステップ S 1 6 7に進む。
ステップ S 1 6 7では、 撮像条件演算部 9 1は、 すべての演算対象画素を注目 画素として、 その移動距離 Δχを求めたかどうかを判定し、 まだ、 注目画素とし ていない演算対象画素があると判定した場合、 ステップ S 1 64に戻り、 以下、 同様の処理を繰り返す。
また、 ステップ S 1 6 7において、 すべての演算対象画素を注目画素としたと 判定された場合、 ステップ S 1 68に、 進み、 撮像条件演算部 9 1は、 演算対象 画素とされた 4以上の画素それぞれについて求められた移動距離 Δχと、 原画像 データを撮像したときの撮像ポイン卜からスクリーンまでの距離 Lとを用い、 式 (44) から、 撮像条件 Ad, D, h, φ。を求め、 画像データベース 2に記憶 させ、 処理を終了する。
なお、 ステップ S 1 6 7では、 演算対象画素とされた 4以上の画素それぞれに ついて求められた移動距離 Δχと、 原画像データを撮像したときの撮像ポイント からスクリーンまでの距離 Lについて、 式 (44) を満たす厶 d, D, h , φ。 が演算されることとなる。 その演算方法としては、 例えば、 Ad, D, h, φ0 それぞれの値を順次変更し、 式 (44) を満たすかどうかを検査 (検算) する方 法などがある。
以上のように、 カメラを移動しながら撮像が行われたときの、 カメラの仮想ス クリーン上における原画像データに表示された被写体の移動距離△ Xを求め、 力 メラにおいて原画像データが撮像されたときの視点から仮想スクリーンまでの距 離 Lと、 移動距離△とを用いて、 撮像条件 A d , D , h , φ。を求めるようにし たので、 カメラを移動しながら撮像を行うことにより得られた原画像データから、 撮像条件を、 容易に求めることができる。
さらに、 その撮像条件を用いて、 原画像データを、 ユーザの視点から見た提示 用画像データに変換することが可能となる。
なお、 本実施の形態では、 コンピュータ 1にプログラムを実行させることによ り、 上述した各種の処理を行わせるようにしたが、 上述の各種の処理は、 その他、 専用のハードウエアにより行うことも可能である。
また、 画像データの取得については、 テレセントリ ック(te lecentri c)系 レンズを使用したカメラで、 オブジェク トの全方位画像を撮像することで、 中間データに相当するデータを取得することができる。 この場合、 複雑な変 換作業が不要になるため、 簡単に中間データを取得できる。
産業上の利用可能性
以上の如く、 本発明によれば、 例えば、 実写の画像であっても、 容易に、 ユー ザの視点に応じて変化させることが可能となる。

Claims

請求の範囲
1 . 第 1の画像データを第 2の画像データに変換する画像処理装置であって、 所定の位置に、 ユーザの視点を設定する設定手段と、
前記第 1の画像データを撮像したときの光線の軌跡とその光線に対応する画素 値である光線情報を用いて、 前記第 1の画像データを、 前記ユーザの視点から見 える前記第 2の画像データに変換する変換手段と
を備えることを特徴とする画像処理装置。
2 . 前記設定手段は、 ユーザの位置を検出し、 その位置に、 前記ユーザの視点 を設定する
ことを特徴とする請求の範囲第 1項に記載の画像処理装置。
3 . 第 1の画像データは、 所定の被写体を、 複数の視点から撮像した画像デー タである
ことを特徴とする請求の範囲第 1項に記載の画像処理装置。
4 . 前記第 1の画像データは、 その第 1の画像データを撮像する撮像装置を直 線的に移動しながら撮像されたものである
ことを特徴とする請求の範囲第 1項に記載の画像処理装置。
5 . 前記変換手段は、 前記第 1の画像データを撮像したときの、 所定の曲面を 通る光線情報のうち、 前記ユーザの視点から前記所定の曲面に向かう光線情報と 同一の光線情報を用いて、 前記第 1の画像データを前記第 2の画像データに変換 する
ことを特徴とする請求の範囲第 1項に記載の画像処理装置。
6 . 前記所定の曲面は、 開曲面、 または所定の被写体を囲む閉曲面である ことを特徴とする請求の範囲第 5項に記載の画像処理装置。
7 . 前記変換手段は、 前記第 1の画像データを構成する画素に入射した光線に 対応する画素値からなる所定フォーマットの画像データである中間データを、 前 記第 2の画像データに変換する中間データ変換手段を有する
ことを特徴とする請求の範囲第 1項に記載の画像処理装置。
8 . 前記中間データは、 前記第 1の画像データを構成する所定の画素に入射し た光線と、 その光線と垂直な、 所定の点を通る平面との交点における画素値を、 前記所定の画素の画素値とした画像データである
ことを特徴とする請求の範囲第 7項に記載の画像処理装置。
9 . 前記中間データは、 前記第 1の画像データを構成する画素に入射した光線 の各方向について、 その方向に垂直な平面の各点ごとに、 その点に入射する前記 平面と垂直な方向の前記光線に対応する画素値が表された画像データである ことを特徴とする請求の範囲第 7項に記載の画像処理装置。
1 0 . 前記中間データは、 前記第 1の画像データを構成する画素に入射した光 線の方向と垂直な平面の各点について、 その平面と垂直な方向ごとに、 その方向 の前記光線に対応する画素値が表された画像データである
ことを特徴とする請求の範囲第 7項に記載の画像処理装置。
1 1 . 前記中間データ変換手段は、 前記中間データにおける、 前記ユーザの視 点と所定の仮想的なスクリーンである仮想スクリーン上の各画素とを結ぶ直線と 一致する前記光線に対応する画素値を、 前記仮想スクリーン上の画素の画素値と し、 前記仮想スク リーン上の画素値でなる画像データを、 前記第 2の画像データ とする
ことを特徴とする請求の範囲第 7項に記載の画像処理装置。
1 2 . 前記変換手段は、 前記第 1の画像データを、 前記中間データに変換する 第 1の画像データ変換手段をさらに有し、
前記中間データ変換手段は、 前記第 1の画像データ変換手段が出力する前記中 間データを、 前記第 2の画像データに変換する
ことを特徴とする請求の範囲第 7項に記載の画像処理装置。
1 3 . 前記第 1の画像データ変換手段は、 前記第 1の画像データを、 その所定 の画素に入射した光線と、 その光線と垂直な、 所定の点を通る平面との交点にお ける画素値を、 前記所定の画素の画素値とした画像データである前記中間データ に変換する ことを特徴とする請求の範囲第 1 2項に記載の画像処理装置。
1 4 . 前記第 1の画像データ変換手段は、 前記第 1の画像データを、 その画素 に入射した光線の各方向について、 その方向に垂直な平面の各点ごとに、 その点 に入射する前記平面と垂直な方向の光線に対応する画素値が表された画像データ である前記中間データに変換する
ことを特徴とする請求の範囲第 1 2項に記載の画像処理装置。
1 5 . 前記第 1の画像データ変換手段は、 前記第 1の画像データを、 その画素 に入射した光線の方向と垂直な平面の各点について、 その平面と垂直な方向ごと に、 その方向の光線に対応する画素値が表された画像データである前記中間デー タに変換する
ことを特徴とする請求の範囲第 1 2項に記載の画像処理装置。
1 6 . 前記第 1の画像データ変換手段は、 前記第 1の画像データを撮像した視 点と所定の仮想的なスクリーンである仮想スクリーン上の前記第 1の画像データ の各画素とを結ぶ直線と一致する前記光線に対応する画素値を、 その光線と、 そ の光線に垂直な、 所定の点を通る平面との交点の画素値とし、 その平面上の交点 における画素値でなる画像データを、 前記中間データとす ό
ことを特徴とする請求の範囲第 1 2項に記載の画像処理装置。
1 7 . 前記中間データは、 前記第 1の画像データを構成する所定の画素に入射 した光線と、 その光線と垂直な、 所定の点を通る平面との交点における画素値を、 前記所定の画素の画素値とした画像データであり、
前記所定の点を通る平面上の、 前記光線との交点以外の点における画素値を補 間する補間手段をさらに備える
ことを特徴とする請求の範囲第 7項に記載の画像処理装置。
1 8 . 前記補間手段は、 前記所定の点を通る他の平面上の、 前記他の平面に垂 直な光線との交点における画素値によって、 前記所定の点を通る平面上の、 前記 光線との交点以外の点における画素値を補間する
ことを特徴とする請求の範囲第 1 7項に記載の画像処理装置。
1 9 . 前記中間データは、 オブジェク トからの光線がほぼ平行になる程度に遠 い位置から見た前記オブジェク トの画像データと、 前記光線の方向とを有する ことを特徴とする請求の範囲第 7項に記載の画像処理装置。
2 0 . 前記第 2の画像データを表示する表示手段をさらに備える
ことを特徴とする請求の範囲第 1項に記載の画像処理装置。
2 1 . 第 1の画像データを第 2の画像データに変換する画像処理方法であって、 所定の位置に、 ユーザの視点を設定する設定ステップと、
前記第 1の画像データを撮像したときの光線の軌跡とその光線に対応する画素 値である光線情報を用いて、 前記第 1の画像データを、 前記ユーザの視点から見 える前記第 2の画像データに変換する変換ステツプと
を備えることを特徴とする画像処理方法。
2 2 . 前記設定ステップにおいて、 ユーザの位置を検出し、 その位置に、 前記 ユーザの視点を設定する
ことを特徴とする請求の範囲第 2 1項に記載の画像処理方法。
2 3 . 第 1の画像データは、 所定の被写体を、 複数の視点から撮像した画像デ ータである
ことを特徴とする請求の範囲第 2 1項に記載の画像処理方法。
2 4 . 前記第 1の画像データは、 その第 1の画像データを撮像する撮像装置を 直線的に移動しながら撮像されたものである
ことを特徴とする請求の範囲第 2 1項に記載の画像処理方法。
2 5 . 前記変換ステップにおいて、 前記第 1の画像データを撮像したときの、 所定の曲面を通る光線情報のうち、 前記ユーザの視点から前記所定の曲面に向か う光線情報と同一の光線情報を用いて、 前記第 1の画像データを前記第 2の画像 データに変換する
ことを特徴とする請求の範囲第 2 1項に記載の画像処理方法。
2 6 . 前記所定の曲面は、 開曲面、 または所定の被写体を囲む閉曲面である ことを特徴とする請求の範囲第 2 5項に記載の画像処理方法。
2 7 . 前記変換ステップは、 前記第 1の画像データを構成する画素に入射した 光線に対応する画素値からなる所定フォーマットの画像データである中間データ を、 前記第 2の画像データに変換する中間データ変換ステップを有する
ことを特徴とする請求の範囲第 2 1項に記載の画像処理方法。
2 8 . 前記中間データは、 前記第 1の画像データを構成する所定の画素に入射 した光線と、 その光線と垂直な、 所定の点を通る平面との交点における画素値を、 前記所定の画素の画素値とした画像データである
ことを特徴とする請求の範囲第 2 7項に記載の画像処理方法。
2 9 . 前記中間データは、 前記第 1の画像データを構成する画素に入射した光 線の各方向について、 その方向に垂直な平面の各点ごとに、 その点に入射する前 記平面と垂直な方向の前記光線に対応する画素値が表された画像データである ことを特徴とする請求の範囲第 2 7項に記載の画像処理方法。
3 0 . 前記中間データは、 前記第 1の画像データを構成する画素に入射した光 線の方向と垂直な平面の各点について、 その平面と垂直な方向ごとに、 その方向 の前記光線に対応する画素値が表された画像データである
ことを特徴とする請求の範囲第 2 7項に記載の画像処理方法。
3 1 . 前記中間データ変換ステップにおいて、 前記中間データにおける、 前記 ユーザの視点と所定の仮想的なスクリーンである仮想スクリーン上の各画素とを 結ぶ直線と一致する前記光線に対応する画素値を、 前記仮想スクリーン上の画素 の画素値とし、 前記仮想スク リーン上の画素値でなる画像データを、 前記第 2の 画像データとする
ことを特徴とする請求の範囲第 2 7項に記載の画像処理方法。
3 2 . 前記変換ステップは、 前記第 1の画像データを、 前記中間データに変換 する第 1の画像データ変換ステップをさらに有し、
前記中間データ変換ステップにおいて、 前記第 1の画像データ変換ステップに おいて出力される前記中間データを、 前記第 2の画像データに変換する
ことを特徴とする請求の範囲第 2 7項に記載の画像処理方法。
3 3 . 前記第 1の画像データ変換ステップにおいて、 前記第 1の画像データを、 その所定の画素に入射した光線と、 その光線と垂直な、 所定の点を通る平面との 交点における画素値を、 前記所定の画素の画素値とした画像データである前記中 間データに変換する
ことを特徴とする請求の範囲第 3 2項に記載の画像処理方法。
3 4 . 前記第 1の画像データ変換ステップにおいて、 前記第 1の画像データを、 その画素に入射した光線の各方向について、 その方向に垂直な平面の各点ごとに、 その点に入射する前記平面と垂直な方向の光線に対応する画素値が表された画像 データである前記中間データに変換する
ことを特徴とする請求の範囲第 3 2項に記載の画像処理方法。
3 5 . 前記第 1の画像データ変換ステップにおいて、 前記第 1の画像データを、 その画素に入射した光線の方向と垂直な平面の各点について、 その平面と垂直な 方向ごとに、 その方向の光線に対応する画素値が表された画像データである前記 中間データに変換する
ことを特徴とする請求の範囲第 3 2項に記載の画像処理方法。
3 6 . 前記第 1の画像データ変換ステップにおいて、 前記第 1の画像データを 撮像した視点と所定の仮想的なスク リーンである仮想スクリーン上の前記第 1の 画像データの各画素とを結ぶ直線と一致する前記光線に対応する画素値を、 その 光線と、 その光線に垂直な、 所定の点を通る平面との交点の画素値とし、 その平 面上の交点における画素値でなる画像データを、 前記中間データとする
ことを特徴とする請求の範囲第 3 2項に記載の画像処理方法。
3 7 . 前記中間データは、 前記第 1の画像データを構成する所定の画素に入射 した光線と、 その光線と垂直な、 所定の点を通る平面との交点における画素値を、 前記所定の画素の画素値とした画像データであり、
前記所定の点を通る平面上の、 前記光線との交点以外の点における画素値を補 間する補間ステップをさらに備える
ことを特徴とする請求の範囲第 2 7項に記載の画像処理方法。
3 8 . 前記補間ステップにおいて、 前記所定の点を通る他の平面上の、 前記他 の平面に垂直な光線との交点における画素値によって、 前記所定の点を通る平面 上の、 前記光線との交点以外の点における画素値を補間する
ことを特徴とする請求の範囲第 3 7項に記載の画像処理方法。
3 9 . 前記中間データは、 オブジェク トからの光線がほぼ平行になる程度に遠 い位置から見た前記オブジェク トの画像データと、 前記光線の方向とを有する ことを特徴とする請求の範囲第 2 7項に記載の画像処理方法。
4 0 . 前記第 2の画像データを表示する表示ステップをさらに備える
ことを特徴とする請求の範囲第 2 1項に記載の画像処理方法。
4 1 . 第 1の画像データを第 2の画像データに変換する画像処理を、 コンビュ ータに行わせるプログラムであって、
所定の位置に、 ユーザの視点を設定する設定ステップと、
前記第 1の画像データを撮像したときの光線の軌跡とその光線に対応する画素 値である光線情報を用いて、 前記第 1の画像データを、 前記ユーザの視点から見 える前記第 2の画像データに変換する変換ステップと
を備えることを特徴とするプログラム。
4 2 . 第 1の画像データを第 2の画像データに変換する画像処理を、 コンビュ ータに行わせるプログラムが記録されているプログラム記録媒体であって、 所定の位置に、 ユーザの視点を設定する設定ステップと、
前記第 1の画像データを撮像したときの光線の軌跡とその光線に対応する画素 値である光線情報を用いて、 前記第 1の画像データを、 前記ユーザの視点から見 える前記第 2の画像データに変換する変換ステップと
を備えるプログラムが記録されている
ことを特徴とするプログラム記録媒体。
4 3 . 画像データを変換する画像処理装置であって、
複数の視点から撮像された前記画像データを取得する取得手段と、
前記画像データを、 その所定の画素に入射した光線と、 その光線と垂直な、 所 定の点を通る平面との交点における画素値を、 前記所定の画素の画素値とした画 像データである中間データに変換する変換手段と
を備えることを特徴とする画像処理装置。
4 4 . 前記変換手段は、 前記画像データを、 その画素に入射した光線の各方向 について、 その方向に垂直な平面の各点ごとに、 その点に入射する前記平面と垂 直な方向の光線に対応する画素値が表された画像データである前記中間データに 変換する
ことを特徴とする請求の範囲第 4 3項に記載の画像処理装置。
4 5 . 前記変換手段は、 前記画像データを、 その画素に入射した光線の方向と 垂直な平面の各点について、 その平面と垂直な方向ごとに、 その方向の光線に対 応する画素値が表された画像データである前記中間データに変換する
ことを特徴とする請求の範囲第 4 3項に記載の画像処理装置。
4 6 . 前記変換手段は、 前記画像データを撮像した視点と所定の仮想的なスク リーンである仮想スクリーン上の前記画像データの各画素とを結ぶ直線と一致す る前記光線に対応する画素値を、 その光線と、 その光線に垂直な、 所定の点を通 る平面との交点の画素値とし、 その平面上の交点における画素値でなる画像デー タを、 前記中間データとする
ことを特徴とする請求の範囲第 4 3項に記載の画像処理装置。
4 7 . 前記中間データは、 前記画像データを構成する所定の画素に入射した光 線と、 その光線と垂直な、 所定の点を通る平面との交点における画素値を、 前記 所定の画素の画素値とした画像データであり、
前記所定の点を通る平面上の、 前記光線との交点以外の点における画素値を補 間する補間手段をさらに備える
ことを特徴とする請求の範囲第 4 3項に記載の画像処理装置。
4 8 . 前記補間手段は、 前記所定の点を通る他の平面上の、 前記他の平面に垂 直な光線との交点における画素値によって、 前記所定の点を通る平面上の、 前記 光線との交点以外の点における画素値を補間する ことを特徴とする請求の範囲第 4 7項に記載の画像処理装置。
4 9 . 前記中間データは、 オブジェク トからの光線がほぼ平行になる程度に遠 い位置から見た前記ォブジェク トの画像データと、 前記光線の方向とを有する ことを特徴とする請求の範囲第 4 3項に記載の画像処理装置。
5 0 . 画像データを変換する画像処理方法であって、
複数の視点から撮像された前記画像データを取得する取得ステップと、 前記画像データを、 その所定の画素に入射した光線と、 その光線と垂直な、 所 定の点を通る平面との交点における画素値を、 前記所定の画素の画素値とした画 像データである中間データに変換する変換ステップと
を備えることを特徴とする画像処理方法。
5 1 . 前記変換ステップにおいて、 前記画像データを、 その画素に入射した光 線の各方向について、 その方向に垂直な平面の各点ごとに、 その点に入射する前 記平面と垂直な方向の光線に対応する画素値が表された画像データである前記中 間データに変換する
ことを特徴とする請求の範囲第 5 0項に記載の画像処理方法。
5 2 . 前記変換ステップにおいて、 前記画像データを、 その画素に入射した光 線の方向と垂直な平面の各点について、 その平面と垂直な方向ごとに、 その方向 の光線に対応する画素値が表された画像データである前記中間データに変換する ことを特徴とする請求の範囲第 5 0項に記載の画像処理方法。
5 3 . 前記変換ステップにおいて、 前記画像データを撮像した視点と所定の仮 想的なスクリーンである仮想スクリーン上の前記画像データの各画素とを結ぶ直 線と一致する前記光線に対応する画素値を、 その光線と、 その光線に垂直な、 所 定の点を通る平面との交点の画素値とし、 その平面上の交点における画素値でな る画像データを、 前記中間データとする
ことを特徴とする請求の範囲第 5 0項に記載の画像処理方法。
5 4 . 前記中間データは、 前記画像データを構成する所定の画素に入射した光 線と、 その光線と垂直な、 所定の点を通る平面との交点における画素値を、 前記 所定の画素の画素値とした画像データであり、
前記所定の点を通る平面上の、 前記光線との交点以外の点における画素値を捕 間する補間ステップをさらに備える
ことを特徴とする請求の範囲第 5 0項に記載の画像処理方法。
5 5 . 前記補間ステップにおいて、 前記所定の点を通る他の平面上の、 前記他 の平面に垂直な光線との交点における画素値によって、 前記所定の点を通る平面 上の、 前記光線との交点以外の点における画素値を補間する
ことを特徴とする請求の範囲第 5 4項に記載の画像処理方法。
5 6 . 前記中間データは、 オブジェク トからの光線がほぼ平行になる程度に遠 い位置から見た前記オブジェク トの画像データと、 前記光線の方向とを有する ことを特徴とする請求の範囲第 5 0項に記載の画像処理方法。
5 7 . 画像データを変換する画像処理を、 コンピュータに行わせるプログラム であって、
複数の視点から撮像された前記画像データを取得する取得ステップと、 前記画像データを、 その所定の画素に入射した光線と、 その光線と垂直な、 所 定の点を通る平面との交点における画素値を、 前記所定の画素の画素値とした画 像データである中間データに変換する変換ステップと
を備えることを特徴とするプログラム。
5 8 . 画像データを変換する画像処理を、 コンピュータに行わせるプログラム が記録されているプログラム記録媒体であって、
複数の視点から撮像された前記画像データを取得する取得ステップと、 前記画像データを、 その所定の画素に入射した光線と、 その光線と垂直な、 所 定の点を通る平面との交点における画素値を、 前記所定の画素の画素値とした画 像データである中間データに変換する変換ステップと
を備えるプログラムが記録されている
ことを特徴とするプログラム記録媒体。
5 9 . 画像データのデータ構造であって、 原画像データを構成する所定の画素に入射した光線と、 その光線と垂直な、 所 定の点を通る平面との交点を、 画素とし、
その画素の画素値が、 前記所定の画素の画素値とされている
ことを特徴とするデータ構造。
6 0 . 前記原画像データを構成する画素に入射した光線の各方向について、 そ の方向に垂直な平面の各点ごとに、 その点に入射する前記平面と垂直な方向の前 記光線に対応する画素値が配置されている ことを特徴とする請求の範囲第 5 9 項に記載のデータ構造。
6 1 . 前記原画像データを構成する画素に入射した光線の方向と垂直な平面の 各点について、 その平面と垂直な方向ごとに、 その方向の前記光線に対応する画 素値が配置されている
ことを特徴とする請求の範囲第 5 9項に記載のデータ構造。
6 2 . 前記所定の点を通る平面上の、 前記光線との交点以外の点における画素 値が補間されている
ことを特徴とする請求の範囲第 5 9項に記載のデータ構造。
6 3 . 前記所定の点を通る他の平面上の、 前記他の平面に垂直な光線との交点 における画素値によって、 前記所定の点を通る平面上の、 前記光線との交点以外 の点における画素値が補間されている
ことを特徴とする請求の範囲第 6 2項に記載のデータ構造。
6 4 . 画像データが記録されているデータ記録媒体であって、
原画像データを構成する所定の画素に入射した光線と、 その光線と垂直な、 所 定の点を通る平面との交点を、 画素とし、
その画素の画素値が、 前記所定の画素の画素値とされている
画像データが記録されている
ことを特徴とするデータ記録媒体。
6 5 . オブジェク トからの光線に対応する画素値を有する所定のフォーマツト の中間データを出力する中間データ出力手段と、 前記オブジェク トに対する視点の位置情報が出力される視点出力手段と、 前記中間データを用いて、 前記視点からの前記オブジェク トの画像を作成する 中間データ変換手段と
を備えることを特徴とする画像処理装置。
6 6 . 前記中間データは、 前記オブジェク トからの光線に対応する画素値と、 前記光線の方向とを対応付けた所定のフォーマッ トのデータである
ことを特徴とする請求の範囲第 6 5項に記載の画像処理装置。
6 7 . 前記中間データは、 前記オブジェク トからの光線の方向と、 前記光線の 方向と垂直であり、 所定の点を通る平面上の各点ごとの位置と、 前記各点に入射 される前記平面と垂直な方向の前記光線に対応する画素値とを対応付けたデータ である
ことを特徴とする請求の範囲第 6 5項に記載の画像処理装置。
6 8 . 前記中間データは、 前記光線の方向について、 前記各点の位置ごとに、 前記画素値が表された画像データである
ことを特徴とする請求の範囲第 6 7項に記載の画像処理装置。
6 9 . 前記中間データは、 前記平面上の各点について、 前記光線の方向ごとに、 前記画素値が表された画像データである
ことを特徴とする請求の範囲第 6 7項に記載の画像処理装置。
7 0 . 前記中間データは、 前記オブジェク トからの光線がほぼ平行になる程度 に遠い位置から見た前記オブジェク トの画像データと、 前記光線の方向とを有す る
ことを特徴とする請求の範囲第 6 5項に記載の画像処理装置。
7 1 . 前記中間データ変換手段は、 前記中間データにおける、 前記視点と所定 の仮想的なスク リーンである仮想スクリーン上の各画素とを結ぶ直線と一致する 前記光線に対応する画素値を、 前記仮想スクリーン上の画素の画素値と し、 前記 仮想スクリーン上の画素値でなる画像データを、 前記視点からの前記オブジェク トの画像とする ことを特徴とする請求の範囲第 6 6項に記載の画像処理装置。
7 2 . 前記所定の点を通る平面上で、 欠落した画素値を補間する補間手段をさ らに備える
ことを特徴とする請求の範囲第 6 7項に記載の画像処理装置。
7 3 . 前記視点からの前記オブジェク トの画像を表示する表示手段をさらに備 える
ことを特徴とする請求の範囲第 6 5項に記載の画像処理装置。
7 4 . ォブジェク トからの光線に対応する画素値を有する所定のフォーマット の中間データを出力する中間データ出力ステップと、
前記ォブジェク トに対する視点の位置情報が出力される視点出力ステップと、 前記中間データを用いて、 前記視点からの前記オブジェク トの画像を作成する 中間データ変換ステップと
を備えることを特徴とする画像処理方法。
7 5 . 前記中間データは、 前記オブジェク トからの光線に対応する画素値と、 前記光線の方向とを対応付けた所定のフォーマツトのデータである
ことを特徴とする請求の範囲第 7 4項に記載の画像処理方法。
7 6 . 前記中間データは、 前記オブジェク トからの光線の方向と、 前記光線の 方向と垂直であり、 所定の点を通る平面上の各点ごとの位置と、 前記各点に入射 される前記平面と垂直な方向の前記光線に対応する画素値とを対応付けたデータ である
ことを特徴とする請求の範囲第 7 4項に記載の画像処理方法。
7 7 . 前記中間データは、 前記光線の方向について、 前記各点の位置ごとに、 前記画素値が表された画像データである
ことを特徴とする請求の範囲第 7 6項に記載の画像処理方法。
7 8 . 前記中間データは、 前記平面上の各点について、 前記光線の方向ごとに、 前記画素値が表された画像データである
ことを特徴とする請求の範囲第 7 6項に記載の画像処理方法。
7 9 . 前記中間データは、 前記オブジェク トからの光線がほぼ平行になる程度 に遠い位置から見た前記オブジェク トの画像データと、 前記光線の方向とを有す る
ことを特徴とする請求の範囲第 7 4項に記載の画像処理方法。
8 0 . 前記中間データ変換ステップにおいて、 前記中間データにおける、 前記 視点と所定の仮想的なスクリーンである仮想スクリーン上の各画素とを結ぶ直線 と一致する前記光線に対応する画素値を、 前記仮想スクリーン上の画素の画素値 とし、 前記仮想スクリーン上の画素値でなる画像データを、 前記視点からの前記 オブジェク トの画像とする
ことを特徴とする請求の範囲第 7 5項に記載の画像処理方法。
8 1 . 前記所定の点を通る平面上で、 欠落した画素値を補間する補間ステップ をさらに備える
ことを特徴とする請求の範囲第 7 6項に記載の画像処理方法。
8 2 . 前記視点からの前記オブジェク トの画像を表示する表示ステップをさら に備える
ことを特徴とする請求の範囲第 7 4項に記載の画像処理方法。
8 3 . コンピュータに実行させるプログラムであって、
オブジェク トからの光線に対応する画素値を有する所定のフォーマツ トの中間 データを出力する中間データ出力ステップと、
前記オブジェク トに対する視点の位置情報が出力される視点出力ステップと、 前記中間データを用いて、 前記視点からの前記オブジェク トの画像を作成する 中間データ変換ステップと
を備えることを特徴とするプログラム。
8 4 . コンピュータに実行させるプログラムが記録されているプログラム記録 媒体であって、
ォブジェク トからの光線に対応する画素値を有する所定のフォーマツ 卜の中間 データを出力する中間データ出力ステップと、 前記ォブジェタ トに対する視点の位置情報が出力される視点出力ステップと、 前記中間データを用いて、 前記視点からの前記オブジェク 卜の画像を作成する 中間データ変換ステップと
を備えるプログラムが記録されている
ことを特徴とするプログラム記録媒体。
PCT/JP2003/006982 2002-06-03 2003-06-03 画像処理装置および方法、プログラムおよびプログラム記録媒体、並びにデータ構造およびデータ記録媒体 WO2003103278A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/485,577 US7831086B2 (en) 2002-06-03 2003-06-03 Image processing device and method, program, program recording medium, data structure, and data recording medium
EP03733258A EP1511300A4 (en) 2002-06-03 2003-06-03 IMAGE PROCESSING DEVICE AND METHOD, PROGRAM, PROGRAM RECORDING MEDIUM, DATA STRUCTURE, AND DATA RECORDING MEDIUM
KR1020047001647A KR100967826B1 (ko) 2002-06-03 2003-06-03 화상처리장치 및 방법, 프로그램 및 프로그램 기록매체,및 데이터구조 및 데이터 기록매체

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002-161838 2002-06-03
JP2002161838A JP4211292B2 (ja) 2002-06-03 2002-06-03 画像処理装置および画像処理方法、プログラム並びにプログラム記録媒体

Publications (1)

Publication Number Publication Date
WO2003103278A1 true WO2003103278A1 (ja) 2003-12-11

Family

ID=29706591

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/006982 WO2003103278A1 (ja) 2002-06-03 2003-06-03 画像処理装置および方法、プログラムおよびプログラム記録媒体、並びにデータ構造およびデータ記録媒体

Country Status (5)

Country Link
US (1) US7831086B2 (ja)
EP (1) EP1511300A4 (ja)
JP (1) JP4211292B2 (ja)
KR (1) KR100967826B1 (ja)
WO (1) WO2003103278A1 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11124207B2 (en) 2014-03-18 2021-09-21 Transportation Ip Holdings, Llc Optical route examination system and method
US20110285842A1 (en) * 2002-06-04 2011-11-24 General Electric Company Mobile device positioning system and method
US10110795B2 (en) 2002-06-04 2018-10-23 General Electric Company Video system and method for data communication
US9875414B2 (en) 2014-04-15 2018-01-23 General Electric Company Route damage prediction system and method
US9919723B2 (en) 2002-06-04 2018-03-20 General Electric Company Aerial camera system and method for determining size parameters of vehicle systems
US9873442B2 (en) 2002-06-04 2018-01-23 General Electric Company Aerial camera system and method for identifying route-related hazards
US20150235094A1 (en) 2014-02-17 2015-08-20 General Electric Company Vehicle imaging system and method
JP4517664B2 (ja) * 2004-02-12 2010-08-04 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US20060190812A1 (en) * 2005-02-22 2006-08-24 Geovector Corporation Imaging systems including hyperlink associations
US7676112B2 (en) * 2006-05-01 2010-03-09 University Corporation For Atmospheric Research Optical device for correcting geostationary satellite imagery for earth curvature effects
JP5291619B2 (ja) * 2006-05-24 2013-09-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 座標系レジストレーション
US8224122B2 (en) * 2006-12-15 2012-07-17 Microsoft Corporation Dynamic viewing of wide angle images
JP4926826B2 (ja) * 2007-05-25 2012-05-09 キヤノン株式会社 情報処理方法および情報処理装置
CN101937563B (zh) * 2009-07-03 2012-05-30 深圳泰山在线科技有限公司 一种目标检测方法和设备及其使用的图像采集装置
JP5569329B2 (ja) * 2010-10-15 2014-08-13 大日本印刷株式会社 会議システム、監視システム、画像処理装置、画像処理方法及び画像処理プログラム等
JP5803184B2 (ja) * 2010-11-19 2015-11-04 株式会社リコー 画像投影装置、メモリアクセス方法
JP2012134885A (ja) * 2010-12-22 2012-07-12 Sony Corp 画像処理装置及び画像処理方法
JP5966256B2 (ja) 2011-05-23 2016-08-10 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US9274595B2 (en) 2011-08-26 2016-03-01 Reincloud Corporation Coherent presentation of multiple reality and interaction models
JP5913934B2 (ja) * 2011-11-30 2016-05-11 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム、および画像処理装置を有する撮像装置
JP5966341B2 (ja) * 2011-12-19 2016-08-10 大日本印刷株式会社 画像処理装置、画像処理方法、画像処理装置用プログラム、画像表示装置
CN104246795B (zh) * 2012-03-01 2019-01-01 Geo半导体有限公司 用于超广角透镜图像的自适应透视修正的方法和系统
US9691241B1 (en) * 2012-03-14 2017-06-27 Google Inc. Orientation of video based on the orientation of a display
US8525088B1 (en) * 2012-03-21 2013-09-03 Rosemont Aerospace, Inc. View-point guided weapon system and target designation method
ITRM20130063U1 (it) * 2013-04-04 2014-10-05 Virtualmind Di Davide Angelelli Sonda per riprese endoscopiche e videoispezioni, denominata realworld360
KR20140147205A (ko) * 2013-06-18 2014-12-30 삼성전자주식회사 휴대 가능한 의료 진단 장치의 주행 경로 제공 방법 및 장치
US9411013B2 (en) * 2014-02-14 2016-08-09 Google, Inc. Instrument for automated testing of displays
FR3018119B1 (fr) * 2014-02-28 2017-07-07 Thales Sa Systeme de visualisation de casque comportant des moyens d'affichage et de gestion de documentation
US9414168B2 (en) * 2014-03-27 2016-08-09 Starkey Laboratories, Inc. Magnetometer in hearing aid
JP5843033B1 (ja) * 2014-05-15 2016-01-13 株式会社リコー 撮像システム、撮像装置、プログラムおよびシステム
WO2016051431A1 (ja) * 2014-09-30 2016-04-07 株式会社ブリリアントサービス 入出力装置、入出力プログラム、および入出力方法
US20160182822A1 (en) * 2014-12-19 2016-06-23 Sony Corporation System, method, and computer program product for determiing a front facing view of and centering an omnidirectional image
CN104469167B (zh) * 2014-12-26 2017-10-13 小米科技有限责任公司 自动对焦方法及装置
KR102399686B1 (ko) * 2015-07-28 2022-05-19 삼성전자주식회사 3d 렌더링 방법 및 장치
US10275928B2 (en) * 2016-04-05 2019-04-30 Qualcomm Incorporated Dual fisheye image stitching for spherical image content
US10102610B2 (en) 2016-04-05 2018-10-16 Qualcomm Incorporated Dual fisheye images stitching for spherical video
CN106023692A (zh) * 2016-05-13 2016-10-12 广东博士早教科技有限公司 一种基于娱乐交互的ar趣味学习系统及方法
DE102016210312A1 (de) * 2016-06-10 2017-12-14 Siemens Healthcare Gmbh Steuerobjekt zur Steuerung eines Transfers von Dual-Energy-CT-Bilddaten an ein Clientgerät
JP7071054B2 (ja) * 2017-01-20 2022-05-18 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
TWI606421B (zh) * 2017-03-13 2017-11-21 國立交通大學 魚眼相機全自動校正方法及其裝置
KR102491939B1 (ko) * 2018-08-24 2023-01-26 삼성전자주식회사 전방향 이미지를 프로세싱하기 위한 방법 및 장치
JP7392341B2 (ja) 2019-09-17 2023-12-06 富士フイルムビジネスイノベーション株式会社 情報処理装置、及び情報処理プログラム
USD959476S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
US11205296B2 (en) * 2019-12-20 2021-12-21 Sap Se 3D data exploration using interactive cuboids
USD959447S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface
USD959477S1 (en) 2019-12-20 2022-08-02 Sap Se Display system or portion thereof with a virtual three-dimensional animated graphical user interface

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200876A (ja) * 1993-12-28 1995-08-04 Matsushita Electric Ind Co Ltd 三次元画像生成方法
JPH07253773A (ja) * 1994-03-16 1995-10-03 Hitachi Ltd 立体型表示装置
JPH0877356A (ja) * 1994-09-09 1996-03-22 Fujitsu Ltd 三次元多眼画像の処理方法及び処理装置
JPH0983865A (ja) * 1995-09-14 1997-03-28 Mitsubishi Electric Corp 画像合成装置
JPH09288735A (ja) * 1996-04-23 1997-11-04 Canon Inc 画像処理装置
JP2000113209A (ja) * 1998-10-01 2000-04-21 Dainippon Screen Mfg Co Ltd 多視点画像生成表示方法、多視点画像生成表示装置、および多視点画像生成表示プログラムを記録した記録媒体
JP2000339497A (ja) * 1999-05-25 2000-12-08 Sony Computer Entertainment Inc 画像生成装置、画像生成方法、エンタテインメント・システム及び記録媒体
JP2001008232A (ja) * 1999-06-25 2001-01-12 Matsushita Electric Ind Co Ltd 全方位映像出力方法と装置

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033834T2 (de) * 1989-07-13 2002-04-25 Canon Kk Für das Kopieren von Daten geeignete Kodierungs- und Dekodierungsvorrichtung
US5185667A (en) * 1991-05-13 1993-02-09 Telerobotics International, Inc. Omniview motionless camera orientation system
AU673571B2 (en) * 1992-11-24 1996-11-14 Frank Data International N.V. A method and device for producing panoramic images, and a method and device for consulting panoramic images
JP3032414B2 (ja) 1993-10-29 2000-04-17 キヤノン株式会社 画像処理方法および画像処理装置
EP0684585B1 (en) * 1994-04-22 2003-02-05 Canon Kabushiki Kaisha Image forming method and apparatus
JPH0896165A (ja) 1994-09-29 1996-04-12 Fujitsu Ltd 画像生成方法及び画像生成装置
JP3164481B2 (ja) * 1994-12-20 2001-05-08 シャープ株式会社 撮像装置
US5703961A (en) * 1994-12-29 1997-12-30 Worldscape L.L.C. Image transformation and synthesis methods
US5793379A (en) * 1995-04-03 1998-08-11 Nvidia Corporation Method and apparatus for scaling images having a plurality of scan lines of pixel data
US5963664A (en) * 1995-06-22 1999-10-05 Sarnoff Corporation Method and system for image combination using a parallax-based technique
JPH0949714A (ja) 1995-08-04 1997-02-18 Canon Inc 3次元形状抽出装置
US6111702A (en) * 1995-11-30 2000-08-29 Lucent Technologies Inc. Panoramic viewing system with offset virtual optical centers
JPH09187038A (ja) 1995-12-27 1997-07-15 Canon Inc 3次元形状抽出装置
US6009188A (en) * 1996-02-16 1999-12-28 Microsoft Corporation Method and system for digital plenoptic imaging
DE69734747T2 (de) * 1996-03-22 2006-07-27 Canon K.K. Verfahren und Gerät zur Bildverarbeitung
AU718453B2 (en) * 1996-07-17 2000-04-13 Sony Corporation Image coding and decoding using mapping coefficients corresponding to class information of pixel blocks
WO1998034195A1 (en) * 1997-01-30 1998-08-06 Yissum Research Development Company Of The Hebrew University Of Jerusalem Generalized panoramic mosaic
US6009190A (en) * 1997-08-01 1999-12-28 Microsoft Corporation Texture map construction method and apparatus for displaying panoramic image mosaics
US5991464A (en) * 1998-04-03 1999-11-23 Odyssey Technologies Method and system for adaptive video image resolution enhancement
US20010015751A1 (en) * 1998-06-16 2001-08-23 Genex Technologies, Inc. Method and apparatus for omnidirectional imaging
US6750860B1 (en) * 1998-12-28 2004-06-15 Microsoft Corporation Rendering with concentric mosaics
JP3054146B1 (ja) * 1999-01-06 2000-06-19 宜昇科技股▲分▼有限公司 パノラマ像装置
JP3420734B2 (ja) * 1999-03-12 2003-06-30 東京都下水道サービス株式会社 管渠内面画像の処理方法
JP2000276613A (ja) 1999-03-29 2000-10-06 Sony Corp 情報処理装置および情報処理方法
JP2000285259A (ja) 1999-03-31 2000-10-13 Toshiba Corp 多視点画像からの任意視点画像再生方法
DE19953063A1 (de) * 1999-11-03 2001-06-07 Univ Magdeburg Tech Verfahren zur dreidimensionalen optischen Vermessung von Objektoberflächen
GB2358980B (en) * 2000-02-07 2004-09-01 British Broadcasting Corp Processing of images for 3D display
US6327325B1 (en) * 2000-02-16 2001-12-04 Ge Medical Systems Global Technology Company, Llc Methods and apparatus for adaptive interpolation reduced view CT scan
JP2002064812A (ja) * 2000-08-17 2002-02-28 Sharp Corp 移動物体追尾装置
US6959120B1 (en) * 2000-10-27 2005-10-25 Microsoft Corporation Rebinning methods and arrangements for use in compressing image-based rendering (IBR) data
US7940299B2 (en) * 2001-08-09 2011-05-10 Technest Holdings, Inc. Method and apparatus for an omni-directional video surveillance system
JP2003141562A (ja) * 2001-10-29 2003-05-16 Sony Corp 非平面画像の画像処理装置及び画像処理方法、記憶媒体、並びにコンピュータ・プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200876A (ja) * 1993-12-28 1995-08-04 Matsushita Electric Ind Co Ltd 三次元画像生成方法
JPH07253773A (ja) * 1994-03-16 1995-10-03 Hitachi Ltd 立体型表示装置
JPH0877356A (ja) * 1994-09-09 1996-03-22 Fujitsu Ltd 三次元多眼画像の処理方法及び処理装置
JPH0983865A (ja) * 1995-09-14 1997-03-28 Mitsubishi Electric Corp 画像合成装置
JPH09288735A (ja) * 1996-04-23 1997-11-04 Canon Inc 画像処理装置
JP2000113209A (ja) * 1998-10-01 2000-04-21 Dainippon Screen Mfg Co Ltd 多視点画像生成表示方法、多視点画像生成表示装置、および多視点画像生成表示プログラムを記録した記録媒体
JP2000339497A (ja) * 1999-05-25 2000-12-08 Sony Computer Entertainment Inc 画像生成装置、画像生成方法、エンタテインメント・システム及び記録媒体
JP2001008232A (ja) * 1999-06-25 2001-01-12 Matsushita Electric Ind Co Ltd 全方位映像出力方法と装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1511300A4 *

Also Published As

Publication number Publication date
EP1511300A4 (en) 2006-01-04
US20050012745A1 (en) 2005-01-20
JP2004015106A (ja) 2004-01-15
US7831086B2 (en) 2010-11-09
JP4211292B2 (ja) 2009-01-21
KR100967826B1 (ko) 2010-07-05
KR20050002796A (ko) 2005-01-10
EP1511300A1 (en) 2005-03-02

Similar Documents

Publication Publication Date Title
WO2003103278A1 (ja) 画像処理装置および方法、プログラムおよびプログラム記録媒体、並びにデータ構造およびデータ記録媒体
CN112771539B (zh) 采用使用神经网络从二维图像预测的三维数据以用于3d建模应用
CN101422035B (zh) 光源推定装置、光源推定系统与光源推定方法以及图像高分辨率化装置与图像高分辨率化方法
JP7236565B2 (ja) 位置姿勢決定方法、装置、電子機器、記憶媒体及びコンピュータプログラム
JP4355535B2 (ja) 360度画像変換処理装置
US20180234669A1 (en) Six-degree of freedom video playback of a single monoscopic 360-degree video
US11756279B1 (en) Techniques for depth of field blur for immersive content production systems
US20180139374A1 (en) Smart and connected object view presentation system and apparatus
JP3922543B2 (ja) 撮像装置、および画像表示装置
US20160021355A1 (en) Preprocessor for Full Parallax Light Field Compression
US20130335535A1 (en) Digital 3d camera using periodic illumination
WO2012153447A1 (ja) 画像処理装置、映像処理方法、プログラム、集積回路
JPH0877356A (ja) 三次元多眼画像の処理方法及び処理装置
JPH11508384A (ja) 球形画像を作成する方法および装置
Ai et al. Deep learning for omnidirectional vision: A survey and new perspectives
US20210225038A1 (en) Visual object history
Gurrieri et al. Acquisition of omnidirectional stereoscopic images and videos of dynamic scenes: a review
US9241141B1 (en) Projection block extraction
US7126603B2 (en) Method and system for creating interactive walkthroughs of real-world environment from set of densely captured images
CN116563459A (zh) 一种文本驱动的沉浸式开放场景神经渲染与混合增强方法
Zoellner et al. Reality Filtering: A Visual Time Machine in Augmented Reality.
WO2021149509A1 (ja) 撮像装置、撮像方法、及び、プログラム
CN113628322A (zh) 图像处理、ar显示与直播方法、设备及存储介质
Somanath et al. Single camera stereo system using prism and mirrors
JP4243931B2 (ja) 画像処理装置および画像処理方法、並びにプログラムおよび記録媒体

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): 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

WWE Wipo information: entry into national phase

Ref document number: 2003733258

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020047001647

Country of ref document: KR

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: 10485577

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2003733258

Country of ref document: EP