In generating a virtual endoscopic image, an interior of a lumen is made viewable even when the viewpoint position is changed. A virtual endoscopic image generation means (12) generates a virtual endoscopic image by volume rendering based on three-dimensional data. An opacity curve setting means (13) sets an opacity curve which defines the relationship between pixel values of the three-dimensional data and opacity values. A viewpoint position setting means (14) sets a viewpoint position of a virtual endoscopic image. A movement amount determination means (15) determines a movement amount of the opacity curve with respect to an opacity curve at a reference viewpoint position. When a virtual endoscopic image is generated by the virtual endoscopic image generation means (12), the opacity curve setting means (13) sets an opacity curve obtained by moving the opacity curve by the determined movement amount in the virtual endoscopic image generation means (12).