WO2013105464A1 - 画像処理装置、画像処理方法、画像処理プログラム、および、画像処理システム - Google Patents

画像処理装置、画像処理方法、画像処理プログラム、および、画像処理システム Download PDF

Info

Publication number
WO2013105464A1
WO2013105464A1 PCT/JP2012/084066 JP2012084066W WO2013105464A1 WO 2013105464 A1 WO2013105464 A1 WO 2013105464A1 JP 2012084066 W JP2012084066 W JP 2012084066W WO 2013105464 A1 WO2013105464 A1 WO 2013105464A1
Authority
WO
WIPO (PCT)
Prior art keywords
plane
image
visual axis
forming
data
Prior art date
Application number
PCT/JP2012/084066
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 独立行政法人海洋研究開発機構
Publication of WO2013105464A1 publication Critical patent/WO2013105464A1/ja
Priority to US14/329,500 priority Critical patent/US20140320494A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing

Definitions

  • the present invention relates to image processing of a three-dimensional image.
  • JP 2000-194878 A Japanese Patent Laid-Open No. 11-66340 JP 2003-263651 A
  • An object of the present invention is to provide an image processing apparatus with low calculation cost.
  • the disclosed technology adopts the following means in order to solve the above problems.
  • the first aspect is On a three-dimensional space, a plane group including a plurality of planes forming a layer in at least one direction is set, and one of the plane groups is set as a reference plane, based on the positional relationship between the visual axis and the reference plane
  • An image processing apparatus includes control means for forming an image.
  • the second aspect further includes: When forming an image of the front side of the hand positioned on the near side on the visual axis between a plurality of planes that overlap in the direction of the visual axis, the rear surface located behind the front of the hand and the front surface of the hand are A first forming means for forming an image based on the opacity of the front surface of the hand in the overlapping portion; For the plane located on the near side from the reference plane on the visual axis, the control unit preferentially gives priority to a plane close to the reference plane, and image processing is performed by the first forming unit between the plurality of planes.
  • Device When forming an image of the front side of the hand positioned on the near side on the visual axis between a plurality of planes that overlap in the direction of the visual axis, the rear surface located behind the front of the hand and the front surface of the hand are A first forming means for forming an image based on the opacity of the front surface of the hand in the overlapping portion; For the plane
  • the third aspect further includes A second display image of the rear side surface of the front surface is formed by omitting a portion overlapping a front surface located on the near side on the visual axis between a plurality of planes overlapping in the visual axis direction.
  • the control means is an image processing apparatus that preferentially gives a plane close to the reference plane to form an image by the second forming means with respect to a plane located rearward from the reference plane on the visual axis.
  • the fourth aspect is The first information processing apparatus A drawing order in which a reference plane is determined from a plane group including a plurality of planes forming a layer in at least one direction, the drawing order of the reference plane is set first, and the drawing order is determined with priority on a plane close to the reference plane A determination means;
  • the plane group, and transmission means for transmitting the drawing order determined by the drawing order determination means,
  • the second information processing device Receiving means for receiving the drawing order determined by the plane group and the drawing order determining means; And a control unit configured to combine an image of each plane of the plane group with a display image based on the direction of the visual axis and the drawing order.
  • the fifth aspect further includes
  • the plane is positioned on the near side on the visual axis in a portion where the image of the plane and the image of the reference plane or the already synthesized display image overlap.
  • the image processing system combines the image of the plane and the image of the reference plane or the already synthesized display image with a new display image based on the opacity of the plane in the portion.
  • the sixth aspect further includes
  • the control unit combines the plane image
  • the plane is positioned on the rear side on the visual axis in a portion where the plane image overlaps the reference plane image or the already combined image.
  • the image of the plane is omitted in the portion, and the image of the plane and the image of the reference plane or the already synthesized display image are synthesized with a new display image.
  • FIG. 1 is a diagram illustrating a configuration example of an image processing apparatus.
  • FIG. 2 is a diagram illustrating an example of an information processing apparatus.
  • FIG. 3 is a diagram illustrating an example of an operation flow of the image processing apparatus.
  • FIG. 4 is a diagram illustrating an example of polygon data.
  • FIG. 5 is a diagram illustrating an example of a slice plane group.
  • FIG. 6 is a diagram illustrating an example (1) of the slice plane and the drawing order.
  • FIG. 7 is a diagram illustrating an example (2) of the slice plane and the drawing order.
  • FIG. 8 is a diagram illustrating an example (3) of the slice plane and the drawing order.
  • FIG. 9 is a diagram illustrating an example of polygon data (slice plane data) generated by the geometry conversion unit.
  • FIG. 1 is a diagram illustrating a configuration example of an image processing apparatus.
  • FIG. 2 is a diagram illustrating an example of an information processing apparatus.
  • FIG. 3 is a diagram illustrating an example of an
  • FIG. 10 is a diagram illustrating an example of Z value data for each pixel (screen coordinate) regarding slice plane data (polygon ID001) calculated by the rendering processing unit.
  • FIG. 11 is a diagram illustrating an example (1) of an operation flow of rendering processing by the rendering processing unit.
  • FIG. 12 is a diagram illustrating an example (2) of the operation flow of the rendering process performed by the rendering processing unit.
  • FIG. 13 is a diagram illustrating an example of image data.
  • FIG. 14 is a diagram illustrating an example (1) of the display result that has been processed by the rendering processing unit.
  • FIG. 15 is a diagram illustrating an example (2) of the display result that has been processed by the rendering processing unit.
  • FIG. 16 is a diagram illustrating an example (3) of the display result that has been processed by the rendering processing unit.
  • FIG. 17 is a diagram illustrating an example of a modified image processing system.
  • An image processing apparatus capable of reliably and efficiently performing rendering processing by controlling the rendering order of images in volume rendering by stacking two-dimensional images having opacity will be described.
  • FIG. 1 is a diagram illustrating a configuration example of an image processing apparatus.
  • the image processing apparatus 100 includes a data creation unit 102, a drawing order determination unit 104, a geometry conversion unit 106, a rendering processing unit 108, and an output unit 110.
  • Each processing unit may be divided into a plurality of processing units and operate. Two or more processing units among the processing units may operate as one processing unit.
  • the data creation unit 102 generates polygon data and texture data from the original data.
  • the original data is, for example, three-dimensional position coordinate data and value data corresponding to each position.
  • the generation source of the original data is not limited.
  • the original data can be obtained from various measuring devices, measuring devices, diagnostic devices, image forming devices, computer simulations, numerical analysis, and the like.
  • the data creation unit 102 may generate display data including polygon data.
  • the polygon data is mainly slice plane group data.
  • the slice plane group data includes a plurality of slice plane data.
  • the data creation unit 102 may create slice plane group data including a plurality of slice plane data without boundaries.
  • the drawing order determination unit 104 determines the drawing order of each slice plane data in the slice plane group data.
  • the geometry conversion unit 106 converts the polygon data created by the data creation unit 102 into numerical data for screen display.
  • the rendering processing unit 108 performs rendering processing based on the numerical data converted by the geometry conversion unit 106 and the drawing order determined by the drawing order determination unit 104, and generates image data for displaying an image on the display device. .
  • the buffer unit 110 stores polygon data generated by the data creation unit 102, viewpoint data, drawing order of slice plane data determined by the drawing order determination unit 104, data used in rendering processing in the rendering processing unit 108, and the like. .
  • the buffer unit 110 can store all data used in the image processing apparatus 100.
  • the buffer unit 110 may be realized by a plurality of storage devices.
  • the display unit 112 displays an image based on the image data processed by the rendering processing unit 108.
  • the display unit 112 may display an image on a display device outside the image processing apparatus 100.
  • the display unit 112 may transmit the image data to an information processing apparatus outside the image processing apparatus 100 and display an image based on the image data on the display unit of the external information processing apparatus.
  • the image processing apparatus 100 is a personal computer (PC, Personal Computer), a server machine, a workstation (WS, Work Station), a PDA (Personal Digital Assistant), a smartphone, a mobile phone, a dedicated or general-purpose computer such as a car navigation system, Or it is realizable using the electronic device carrying a computer.
  • PC Personal Computer
  • server machine a workstation
  • WS Work Station
  • PDA Personal Digital Assistant
  • smartphone a mobile phone
  • a dedicated or general-purpose computer such as a car navigation system, Or it is realizable using the electronic device carrying a computer.
  • Each element constituting the image processing apparatus 100 may be divided and mounted on a server and a client.
  • FIG. 2 is a diagram illustrating an example of an information processing apparatus.
  • the computer that is, the information processing apparatus includes a processor, a main storage device, and an interface device with peripheral devices such as a secondary storage device, a display device, and a communication interface device.
  • the main storage device and the secondary storage device are computer-readable recording media.
  • the information processing apparatus may not include a display device.
  • the processor loads a program stored in the recording medium into the work area of the main storage device and executes the program, and the peripheral device is controlled through the execution of the program, thereby realizing a function meeting a predetermined purpose. Can do.
  • the processor is, for example, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a DSP (Digital Signal Processor).
  • CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • DSP Digital Signal Processor
  • the main storage device includes, for example, RAM (Random Access Memory) and ROM (Read Only Memory).
  • the secondary storage device is, for example, an EPROM (Erasable Programmable ROM) or a hard disk drive (HDD, Hard Disk Drive).
  • the secondary storage device can include a removable medium, that is, a portable recording medium.
  • the removable media is, for example, a USB (Universal Serial Bus) memory or a disk recording medium such as a CD (Compact Disk) or a DVD (Digital Versatile Disk).
  • the display device is a device that displays an image such as a CRT (Cathode Ray Tube) display or an LCD (Liquid Crystal Display).
  • the display device may include a storage device such as a VRAM (Video RAM) or a RAM.
  • the communication interface device (communication I / F device) is, for example, a LAN (Local Area Network) interface board or a wireless communication circuit for wireless communication.
  • LAN Local Area Network
  • Peripheral devices include input devices such as keyboards and pointing devices, output devices such as display devices and printers, in addition to the secondary storage devices and communication interface devices described above.
  • the input device may include a video / image input device such as a camera, and an audio input device such as a microphone.
  • the output device may include an audio output device such as a speaker.
  • the computer that implements the image processing apparatus 100 loads a program stored in the secondary storage device into the main storage device and executes the program, whereby the data creation unit 102, the drawing order determination unit 104, and the geometry conversion unit 106.
  • the functions as the rendering processing unit 108 and the display unit 112 are realized.
  • the buffer unit 110 is provided in a storage area of a storage device in the main storage device, the secondary storage device, and the display device.
  • a series of processing can be executed by hardware, but can also be executed by software.
  • the step of describing the program includes processing executed in parallel or individually even if processing is not necessarily performed in time series, as well as processing performed in time series in the described order.
  • FIG. 3 is a diagram illustrating an example of an operation flow of the image processing apparatus.
  • the data creation unit 102 of the image processing apparatus 100 creates polygon data (slice plane group data) and texture data based on the original data (S101).
  • the original data is acquired from a storage device or a peripheral device of the image processing apparatus 100. Further, the original data may be acquired from an external information processing apparatus or the like via a network.
  • the original data is data that is the source of image data of an image to be displayed.
  • the original data is, for example, three-dimensional position coordinate data and value data corresponding to each position in a three-dimensional region.
  • the three-dimensional coordinates are not limited to the orthogonal coordinate system, and other coordinate systems such as a polar coordinate system and a cylindrical coordinate system may be adopted.
  • the polygon data includes the three-dimensional coordinates of the vertices of the slice plane, normal vectors, and texture coordinates.
  • the polygon data is created as slice plane data.
  • the data creation unit 102 generates a plurality of slice plane data based on the original data.
  • the slice planes of each slice plane data are parallel to each other.
  • a group of slice plane data is also referred to as slice plane group data.
  • a plurality of slice plane group data may be generated.
  • Texture data is data for mapping a texture to a polygon.
  • the texture data includes, for example, information such as values based on the original data, color, and opacity for each coordinate.
  • the correspondence relationship between the value based on the original data, the color, and the opacity may be prepared separately from the texture data and stored in the buffer unit 110 or the like.
  • the slice plane group data has at least three slice planes.
  • the created polygon data, texture data, and the like are stored in the buffer unit 110.
  • FIG. 4 is a diagram showing an example of polygon data.
  • FIG. 4 shows an example of polygon ID001 and polygon ID002 as polygon data.
  • Polygon ID001 and polygon ID002 are quadrilateral polygons each having four vertices.
  • each of the polygon ID 001 and the polygon ID 002 is one slice plane data.
  • Four vertices in one slice plane data exist on the same plane.
  • Four vertices in one slice plane data are polygon vertices included in the slice plane data.
  • Each slice plane data is parallel to each other.
  • each vertex has a three-dimensional coordinate, a normal vector, and a texture coordinate.
  • the normal vector is a normal vector of the slice plane.
  • each vertex does not have to have a normal vector.
  • FIG. 4 an example of texture coordinates when using a three-dimensional texture is shown.
  • the texture coordinates are two-dimensional (Tu, Tv).
  • One slice plane data may be represented by two triangular polygons sharing one side.
  • a triangular polygon has three vertices.
  • normal vectors and texture coordinates are stored together with the vertex coordinates.
  • one normal vector and texture may be defined for a set of polygon vertex coordinates (a set of 3 vertices, 4 vertices, etc.).
  • FIG. 5 is a diagram illustrating an example of a slice plane group.
  • a slice plane group X by a plane orthogonal to the x axis, a slice plane group Y by a plane orthogonal to the y axis, and a slice plane group Z by a plane orthogonal to the z axis are shown.
  • the slice planes in one slice plane group do not intersect each other.
  • the data generation unit 102 generates slice plane group data based on at least one slice plane group according to the assumed viewpoint position and visual axis direction.
  • slice plane group data based on the slice plane group Z by a plane orthogonal to the z-axis in FIG. 5 is generated.
  • the data generation unit 102 may generate slice plane group data using a plurality of planes (slice planes) orthogonal to a direction different from the direction of the spatial axis (x axis, y axis, z axis).
  • the slice surface may be a part of a spherical surface of the sphere, and the slice surface group may be a set of a part of spherical surfaces of concentric spheres having different radii.
  • the drawing order determining unit 104 of the image processing apparatus 100 determines the drawing order of the slice plane data (S102).
  • the drawing order is the order in which slice planes are processed in the rendering process.
  • the drawing order determination unit 104 determines the processing order in the rendering process for a plurality of slice plane data in one slice plane group data.
  • the drawing order is stored in the buffer unit 110.
  • the drawing order determination unit 104 uses one slice plane excluding slice planes at both ends from a plurality of slice planes arranged from one end to the other end in one slice plane group data as a reference plane.
  • the drawing order determination unit 104 determines this reference plane as a slice plane to be processed first.
  • the drawing order determination unit 104 determines the processing order from the reference surface toward the one end in the order closer to the reference surface. Further, the drawing order determination unit 104 determines the processing order from the reference surface toward the other end in the order of the reference surface. In this way, the drawing order determination unit 104 determines the drawing order for each slice plane.
  • the drawing order is determined so as to be processed from the slice plane of the reference plane toward the end slice plane.
  • the drawing order determination unit 104 may determine the drawing order as follows. The drawing order determination unit 104 determines to process the slice plane of the reference plane first as described above. Next, among the plurality of slice planes arranged from one end to the other end, it is determined that the slice plane closest to the reference plane on one end side is to be processed second, and the reference plane on the other end side It is determined that the slice plane closest to is processed third. Thereafter, the processing order up to the slice planes at both ends may be determined such that it is determined that the slice plane second closest to the reference plane on one end side is processed fourth.
  • the drawing order determination unit 104 can determine the slice plane at the center of the slice planes arranged from one end to the other end of the slice plane group data as a reference plane.
  • FIG. 6 is a diagram showing an example (1) of the slice plane and the drawing order.
  • the example of FIG. 6 is a view of the slice plane group viewed from a direction orthogonal to the normal direction of the slice plane.
  • the direction of the visual axis is assumed to be the x-axis direction, the inclination with respect to the x-axis is less than 90 degrees, or the opposite direction.
  • the slice planes are arranged from the slice plane 001 to the slice plane 010 from one end to the other end.
  • the substantially central slice plane 006 is determined as the reference plane (first drawing order).
  • the slice plane 005 to the slice plane 001 are determined from the second drawing order to the sixth drawing order. Furthermore, from the reference plane toward the other end, the slice plane 007 to the slice plane 010 are determined from the seventh drawing order to the tenth drawing order.
  • FIG. 7 is a diagram showing an example (2) of the slice plane and the drawing order.
  • the slice planes are arranged from the slice plane 001 to the slice plane 010, from one end to the other end.
  • the substantially central slice plane 006 is determined as the reference plane (first drawing order).
  • the slice plane 005 closest to the reference plane on one end side is determined as the second drawing order.
  • the slice plane 007 closest to the reference surface on the other end side is determined as the third drawing order.
  • the slice plane 004 that is second closest to the reference plane on one end side is determined as the fourth drawing order. Thereafter, as shown in FIG. 7, the drawing order is determined in the same manner for the other slice planes.
  • FIG. 8 is a diagram showing an example (3) of the slice plane and the drawing order.
  • a slice plane 003 that is not a substantially central slice plane may be determined as the reference plane.
  • the drawing order as in the example of FIG. 8 is effective, for example, when it is assumed that there are many viewpoints on the slice plane 010 side. This is because the opacity of the portion overlapping the front surface from the reference surface is ignored on the surface behind the reference surface as viewed from the viewpoint, but this is not effective when the viewpoint exists on the slice plane 010 side.
  • the surface where transparency is ignored can be reduced.
  • the geometry conversion unit 106 of the image processing apparatus 100 performs geometry conversion (S103).
  • viewpoint data is designated by the user or the like via an input device or the like before the start of geometry conversion.
  • the viewpoint data includes, for example, the coordinates of the viewpoint, the direction of the line of sight (visual axis), the display range, the size of the image, the viewing angle, and the like.
  • the image processing apparatus 100 extracts which slice plane group data is used based on the viewpoint data. For example, the image processing apparatus 100 extracts slice plane group data in which the normal direction of the slice plane and the direction of the visual axis are nearly parallel as slice plane group data to be used.
  • the geometry conversion unit 106 performs geometry conversion on each slice plane data of the determined slice plane group data based on the viewpoint data.
  • the geometry conversion unit 106 converts each slice plane data into a two-dimensional coordinate space on the display screen based on the viewpoint data.
  • the converted polygon data is stored in the buffer unit 110.
  • FIG. 9 is a diagram illustrating an example of polygon data (slice plane data) generated by the geometry conversion unit.
  • the three-dimensional coordinates of each vertex of the polygon data (slice plane data) in FIG. 4 are converted into the screen coordinates (Sx, Sy) of the display screen and the Z value indicating the depth in the display screen.
  • the Z value increases as the distance from the viewpoint increases.
  • the Z value of an arbitrary point A has a positive correlation with the distance between the point A and a plane passing through the viewpoint and having the visual axis as a normal, for example.
  • the rendering processing unit 108 of the image processing apparatus 100 performs rendering processing (S104).
  • the rendering processing unit 108 extracts polygon data (slice plane data) converted by the geometry conversion unit 106. Further, the rendering processing unit 108, for all pixels (coordinate points) within the range surrounded by each vertex in each slice plane of the extracted slice plane data, based on the screen coordinates and the Z value of the vertex of each slice plane. , Z value data is calculated. If the screen coordinates of the pixels are outside the display screen, the pixels outside the display screen need not be calculated. The Z value of each pixel can be calculated by performing an interpolation operation based on the screen coordinates and the Z value of each vertex. The calculated Z value data for each pixel of each slice plane is stored in the buffer unit 110.
  • the rendering processing unit 108 calculates color data and opacity data ( ⁇ value) for each pixel of each slice plane based on the texture coordinates and texture data of the vertices of each slice plane, and buffers them together with the Z value data. You may store in the part 110. FIG. The color data and opacity data stored here may be used in the rendering process described later.
  • FIG. 10 is a diagram illustrating an example of Z value data for each pixel (screen coordinate) regarding slice plane data (polygon ID001) calculated by the rendering processing unit.
  • the Z value is shown for each screen coordinate in the slice plane with polygon ID001.
  • the rendering processing unit 108 generates image data for screen display based on the texture coordinates of each vertex, texture data, the Z value for each screen coordinate for each slice plane as shown in FIG. I do. The rendering process will be described in detail later.
  • the image data is stored in the buffer unit 110.
  • the display unit 112 of the image processing apparatus 100 displays an image based on the image data stored in the buffer unit 110 (S105).
  • the display unit 112 may display an image on a display device outside the image processing apparatus 100.
  • the display unit 112 may transmit the image data to an information processing apparatus outside the image processing apparatus 100 and display an image based on the image data on the display unit of the external information processing apparatus.
  • FIG. 11 and 12 are diagrams illustrating an example of an operation flow of rendering processing by the rendering processing unit. “A”, “B”, and “C” in FIG. 11 are connected to “A”, “B”, and “C” in FIG. 12, respectively.
  • the rendering processing unit 108 reads polygon data (slice surface data) having the first drawing order.
  • the polygon data with the first drawing order is slice plane data of the reference plane.
  • the rendering processing unit 108 reads the Z value of each screen coordinate (pixel) on the reference plane, and calculates the color data of each pixel based on the texture coordinates and texture data of the vertex of the slice plane of the reference plane.
  • the rendering processing unit 108 writes color data and Z value data as image data in the buffer unit 110 for every pixel in the slice plane of the reference plane (S201).
  • step S202 the process is performed for the slice plane having the second rendering order.
  • FIG. 13 is a diagram showing an example of image data.
  • image data of FIG. 13 screen coordinates, color data, and Z values are associated with all pixels in the display screen.
  • the initial color for example, black or other specified color
  • the farthest value as the Z value, or the comparison has not yet been performed.
  • the indicated value is written.
  • the color data and the Z value may be empty.
  • the image data is stored in the buffer unit 110.
  • step S202 the rendering processing unit 108 reads the Z value for one unprocessed pixel on the slice plane being processed (S202).
  • the Z value is calculated in advance for all the pixels.
  • the Z value is used in step S201 or step S202, the Z value of the pixel being processed on the slice surface being processed is calculated. Also good.
  • step S203 the rendering processing unit 108 reads out the pixel data of the image data for the pixel from which the Z value was read out in step S202 (the pixel being processed on the slice plane being processed), and the color data is already stored in the pixel of the image data. It is confirmed whether or not is written (S203).
  • step S205 If color data has not yet been written in the pixel of the image data for the pixel being processed on the slice surface being processed (S203; NO), the process proceeds to step S205.
  • the rendering processing unit 108 determines the Z value of the pixel being processed on the slice plane being processed. And the Z value of the pixel being processed in the image data are compared (S204).
  • step S205 the pixel being processed on the slice surface being processed is positioned in front of the already written color data.
  • step S206 the pixel being processed on the slice surface being processed is positioned behind the already written color data. Therefore, the pixel being processed on the slice plane being processed is not written to the image data. Here, the processing is completed for the pixel being processed on the slice surface being processed.
  • step S205 the rendering processing unit 108 obtains color data and opacity data ( ⁇ value) for the pixel being processed on the slice surface being processed based on the texture coordinates and texture data of the vertex of the slice surface being processed. calculate.
  • the rendering processing unit 108 calculates new color data based on the opacity data, color data, and color data of the pixel being processed of the image data ( ⁇ blending).
  • the rendering processing unit 108 rewrites the Z value and color data of the pixel being processed of the image data with the Z value of the pixel being processed on the slice surface being processed and the calculated new color data (S205).
  • the processing is completed for the pixel being processed on the slice surface being processed.
  • step S206 the rendering processing unit 108 checks whether or not processing has been completed for all pixels in the slice plane being processed (S206). If the processing is completed for all the pixels in the slice plane being processed (S206; YES), the processing proceeds to step S208. Here, the processing is completed for the slice plane being processed.
  • the rendering processing unit 108 sets other unprocessed pixels as pixels being processed, and the processing returns to step S202 (step S202). S207).
  • step S208 the rendering processing unit 108 checks whether or not processing has been completed for all slice planes (S208). If the processing has not yet been completed for all slice planes (S208; NO), the rendering processing unit 108 is processing the pixels in the next slice plane according to the rendering order determined by the rendering order determination unit 104. And
  • the processing in the rendering processing unit 108 ends.
  • the image data at this time becomes image data for screen display.
  • the Z value of each pixel in the image data may be deleted.
  • FIG. 14, FIG. 15, and FIG. 16 are diagrams showing examples of display results that have undergone the processing of the rendering processing unit.
  • the direction from the front surface to the back surface of the drawing is the direction of the visual axis.
  • the slice plane A is a reference plane
  • the slice plane B is a slice plane existing in front of the slice plane A.
  • the slice plane A is drawn first, and the slice plane B is drawn later.
  • drawing is performed by ⁇ blending.
  • the slice plane A is a reference plane
  • the slice plane C is a slice plane existing behind the slice plane A.
  • the slice plane A is drawn first, and the slice plane C is drawn later. In a portion where the slice plane A and the slice plane C overlap, drawing is performed by the Z buffer method.
  • the slice plane A is a reference plane
  • the slice plane B is a slice plane that exists before the slice plane A
  • the slice plane C is a slice plane that exists behind the slice plane A.
  • Drawing is performed in the order of the slice plane A, the slice plane B, and the slice plane C, or in the order of the slice plane A, the slice plane C, and the slice plane B.
  • drawing is performed by ⁇ blending.
  • drawing is performed by the Z buffer method. That is, processing by ⁇ blending is performed before the visual axis with respect to the reference plane, and processing by the Z buffer method is performed behind.
  • the processing in the image processing apparatus 100 may be divided into a server apparatus and a client apparatus.
  • the server device and the client device have functions similar to those of the image processing device 100 described above.
  • FIG. 17 is a diagram illustrating an example of an image processing system according to this modification.
  • An image processing system 1000 in FIG. 17 includes a server device 200 and a client device 300.
  • the server device 200 and the client device 300 are connected via, for example, a network.
  • the server device 200 includes a data creation unit 202, a drawing order determination unit 204, and a buffer unit 210.
  • the client device 300 includes a geometry conversion unit 306, a rendering processing unit 308, a buffer unit 310, and a display unit 312. These processing units have the same functions as the data creation unit 102, the drawing order determination unit 104, the geometry conversion unit 106, the rendering processing unit 108, the buffer unit 110, and the display unit 112 in FIG.
  • the server device 200 also includes a transmission unit 222 that transmits slice plane group data, texture data, and drawing order to the client device.
  • the client device 300 includes a receiving unit 322 that receives slice plane group data, texture data, and drawing order from the server device 200.
  • the server device 200 may convert slice plane group data and texture data in accordance with the display screen of the display unit 312 of the client device 300. That is, the server device 200 may convert the slice plane group data and the texture data so as to have a small size by thinning the data in accordance with the display screen of the display unit 312 of the client device 300. By reducing the data size, the amount of data communication between the server device 200 and the client device 300 can be reduced.
  • the slice plane group data and texture data are also referred to as plane groups.
  • the server apparatus 200 creates slice plane group data and texture data by the data creation unit 202, and determines the drawing order by the drawing order determination unit 204.
  • the server device 200 transmits slice plane group data, texture data, and drawing order to the client device 300.
  • the client device 300 receives slice plane group data and texture data from the server device 200 and stores them in the buffer unit 210.
  • viewpoint data is designated by the user or the like via an input device or the like.
  • the client apparatus 300 performs geometry conversion by the geometry conversion unit 306 and performs rendering processing by the rendering processing unit 308 based on the drawing order. Further, the client device 300 displays the rendered image on the display unit 312.
  • the server device 200 By performing data creation and drawing order determination by the server device 200, the calculation load on the client device 300 is reduced. Therefore, even if the client device 300 is hardware with few resources (calculation resources and memory), high-definition rendering processing can be executed.
  • the server apparatus 200 and the client apparatus 300 are dedicated or general-purpose devices such as a personal computer (PC, personal computer), a server machine, a workstation (WS, work station), a PDA (personal digital assistant), a smartphone, a mobile phone, and a car navigation system. This can be realized by using a computer or an electronic device equipped with a computer.
  • the transmission unit 222 of the server device 200 and the reception unit 322 of the client device 300 can be realized by a processor such as a computer, a communication interface device, or the like.
  • the image processing apparatus 100 sets the order in which each slice plane is drawn for a slice plane group having a layered structure in at least one direction in the three-dimensional region.
  • the image processing apparatus 100 determines a drawing order so that one of the surfaces other than both ends of the array of slice planes is used as a reference surface, and both ends of the array are drawn last.
  • priority is given to a slice plane close to the reference plane by ⁇ blending on the front side of the line of sight from the reference plane and Z buffer method on the rear side of the line of sight from the reference plane. Drawing is performed.
  • the value data can be displayed in detail or faithfully by alpha blending on the near side (observer side forming the visual axis) from the reference plane.
  • the value data on the back side is hidden by Z buffering, but since the surface is far from the observer forming the visual axis, the influence of the value data being hidden is the front side. Less than if the side is hidden. That is, it is possible to improve the overall display efficiency while giving priority to the display of value data on the near side which is important for the observer.
  • the image processing apparatus 100 since it is not necessary to regenerate slice plane groups by changing the viewpoint position according to the viewpoint position and recalculate their drawing order, the calculation cost of drawing can be reduced. Therefore, even if the image processing apparatus 100 is hardware with few resources (calculation resources and memory) such as a mobile terminal and a smartphone, high-definition rendering processing can be executed.
  • the configuration of the present embodiment is, for example, in the case of displaying the internal structure of a human body reconstructed from a CT (Computed Tomography) image or MRT (Magnetic Resonance Tomography) image taken at a hospital in a medical field, etc. It is valid. Specifically, CT images and MRT images held on the server are converted into a form that can be used by a mobile terminal as a client by reducing the data size, etc., and sent by a doctor or patient via a network. This is effective when displaying by volume rendering using a terminal. As an embodiment in this case, each element constituting the image processing apparatus 100 may be divided and mounted on a server and a client as necessary.
  • the image processing apparatus 100 by determining in advance the order of rendering processing of images, it is not necessary to determine this order in real time during the rendering process, and the efficiency of the entire rendering process can be improved. it can. That is, according to the image processing apparatus 100, since the order of image rendering processing is determined in advance, even when the visual axis is changed, the sorting processing based on the Z value for determining the drawing order is not performed. May be.
  • the processing by the image processing apparatus 100 has an effect of being used as a method for expressing an object for volume rendering such as a cloud or a flame. That is, the processing in the image processing apparatus 100 can be displayed so as to be easily recognized by the user without impairing the reality when expressing an image such as an irregularly moving cloud, flame, or smoke.
  • the image processing apparatus 100 described here can be used in, for example, display of simulation results such as structural engineering, geology, astrophysics, and weather, and video expression such as clouds, fog, and flames in games and movies.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Abstract

 計算コストが低い画像処理装置を提供する。三次元空間上において、少なくとも一の方向に層を形成する複数の平面を設定し、前記平面群のうち一つを基準面とし、視軸と基準面との位置関係に基づいて画像を形成する制御手段を備える画像処理装置とする。また、さらに、視軸方向に重なって存在する複数の平面間で、前記視軸上で手前側に位置する手前面の画像を形成するときに、前記手前面の後方に位置する後方面と前記手前面とが重複する部分において、前記手前面の不透明度に基づいて画像を形成する第1形成手段を備え、前記制御手段は、前記視軸上で前記基準面から手前側に位置する平面については、前記基準面に近い面を優先して前記複数の平面間で前記第1形成手段によって画像形成する画像処理装置とする。

Description

画像処理装置、画像処理方法、画像処理プログラム、および、画像処理システム
 本発明は、三次元画像の画像処理に関する。
 不透明度(または、透明度)を有する2次元画像の積層による従来のボリュームレンダリング手法では、αブレンディングによる画面形成を行う際、視軸方向に対して後方面から手前面の順で描画処理が行われるように、Z値によるソーティングが行われる。
特開2000-194878号公報 特開平11-66340号公報 特開2003-263651号公報
 しかしながら、Z値によるソーティング処理は視軸の変更が起こった場合に必ず行われるため、計算コストがかかるという問題がある。
 本発明は、計算コストが低い画像処理装置を提供することを課題とする。
 開示の技術は、上記課題を解決するために、以下の手段を採用する。
 即ち、第1の態様は、
 三次元空間上において、少なくとも一の方向に層を形成する複数の平面を含む平面群を設定し、前記平面群のうち一つを基準面とし、視軸と基準面との位置関係に基づいて画像を形成する制御手段
を備える画像処理装置である。
 第2の態様は、さらに、
 視軸方向に重なって存在する複数の平面間で、前記視軸上で手前側に位置する手前面の画像を形成するときに、前記手前面の後方に位置する後方面と前記手前面とが重複する部分において、前記手前面の不透明度に基づいて画像を形成する第1形成手段をさらに備え、
 前記制御手段は、前記視軸上で前記基準面から手前側に位置する平面については、前記基準面に近い面を優先して前記複数の平面間で前記第1形成手段によって画像形成する画像処理装置である。
 第3の態様は、さらに、
 視軸方向に重なって存在する複数の平面間で、前記視軸上で手前側に位置する手前面に重複する部分を省略して前記手前面の後方側の面の表示画像を形成する第2形成手段をさらに備え、
 前記制御手段は、前記視軸上で前記基準面から後方側に位置する平面については、前記基準面に近い面を優先して前記第2形成手段によって画像形成する画像処理装置である。
 第4の態様は、
 第1情報処理装置が、
  少なくとも一の方向に層を形成する複数の平面を含む平面群から基準面を決定し、前記基準面の描画順を最初とし、前記基準面に近い面を優先して描画順を決定する描画順決定手段と、
  前記平面群と、前記描画順決定手段が決定した前記描画順を送信する送信手段と、を備え、
 第2情報処理装置が、
  前記平面群と、前記描画順決定手段が決定した前記描画順を受信する受信手段と、
  視軸の方向および前記描画順に基づいて、前記平面群の各平面の画像を表示画像に合成する制御手段と、を備える
画像処理システムである。
 第5の態様は、さらに、
 前記制御手段は、前記平面の画像を合成するときに、前記平面の画像と前記基準面の画像もしくは既に合成した表示画像とが重複する部分において、前記平面が視軸上で手前側に位置する場合、当該部分において前記平面の不透明度に基づいて、前記平面の画像と前記基準面の画像もしくは既に合成した表示画像とを新たな表示画像に合成する
画像処理システムである。
 第6の態様は、さらに、
 前記制御手段は、前記平面の画像を合成するときに、前記平面の画像と前記基準面の画像もしくは既に合成した画像とが重複する部分において、前記平面が視軸上で後方側に位置する場合、当該部分において前記平面の画像を省略して、前記平面の画像と前記基準面の画像もしくは既に合成した表示画像とを新たな表示画像に合成する
画像処理システムである。
 開示の態様は、プログラムが情報処理装置によって実行されることによって実現されてもよい。即ち、開示の構成は、上記した態様における各手段が実行する処理を、情報処理装置に対して実行させるためのプログラム、或いは当該プログラムを記録した記録媒体として特定することができる。また、開示の構成は、上記した各手段が実行する処理を情報処理装置が実行する方法をもって特定されてもよい。開示の態様は、プログラムが複数の情報処理装置によって処理を分担して実行されることによって実現されてもよい。
 開示の技術によれば、計算コストが低い画像処理装置を提供することができる。
図1は、画像処理装置の構成例を示す図である。 図2は、情報処理装置の例を示す図である。 図3は、画像処理装置の動作フローの例を示す図である。 図4は、ポリゴンデータの例を示す図である。 図5は、スライス面群の例を示す図である。 図6は、スライス面と描画順の例(1)を示す図である。 図7は、スライス面と描画順の例(2)を示す図である。 図8は、スライス面と描画順の例(3)を示す図である。 図9は、ジオメトリ変換部が生成するポリゴンデータ(スライス面データ)の例を示す図である。 図10は、レンダリング処理部が算出するスライス面データ(ポリゴンID001)についてのピクセル(スクリーン座標)ごとのZ値データの例を示す図である。 図11は、レンダリング処理部によるレンダリング処理の動作フローの例(1)を示す図である。 図12は、レンダリング処理部によるレンダリング処理の動作フローの例(2)を示す図である。 図13は、画像データの例を示す図である。 図14は、レンダリング処理部の処理を経た表示結果の例(1)を示す図である。 図15は、レンダリング処理部の処理を経た表示結果の例(2)を示す図である。 図16は、レンダリング処理部の処理を経た表示結果の例(3)を示す図である。 図17は、変形例の画像処理システムの例を示す図である。
 不透明度を有する2次元画像の積層によるボリュームレンダリングにおいて、画像のレンダリングの順番を制御し、レンダリング処理を確実に且つ効率的に行うことができる画像処理装置について説明する。
 以下、図面を参照して実施形態について説明する。実施形態の構成は例示であり、開示の構成は、開示の実施形態の具体的構成に限定されない。開示の構成の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。
 〔実施形態1〕
 (構成例)
 図1は、画像処理装置の構成例を示す図である。画像処理装置100は、データ作成部102、描画順決定部104、ジオメトリ変換部106、レンダリング処理部108、出力部110を含む。各処理部は、それぞれ、複数の処理部に分かれて動作してもよい。また、各処理部のうち2以上の処理部が、1つの処理部として動作してもよい。
 データ作成部102は、元データから、ポリゴンデータ、テクスチャデータを生成する。元データは、例えば、三次元位置座標データ、および、各位置に対応する値データである。本発明の実施において、元データの生成元に限定はない。元データは、様々な測定装置、計測装置、診断装置、画像形成装置、計算機シミュレーション、数値解析等から得ることができる。
 データ作成部102は、ポリゴンデータを含むディスプレイデータを生成してもよい。ポリゴンデータは、ここでは、主に、スライス面群データである。スライス面群データは、複数のスライス面データを含む。データ作成部102は、境界のない複数のスライス面データを含むスライス面群データを作成してもよい。
 描画順決定部104は、スライス面群データにおける各スライス面データの描画順を決定する。
 ジオメトリ変換部106は、データ作成部102で作成されたポリゴンデータを、画面表示のための数値データに変換する。
 レンダリング処理部108は、ジオメトリ変換部106で変換された数値データ、描画順決定部104で決定された描画順に基づいて、レンダリング処理を行い、表示装置に画像を表示するための画像データを生成する。
 バッファ部110は、データ作成部102が生成したポリゴンデータ、視点データ、描画順決定部104が決定したスライス面データの描画順、レンダリング処理部108におけるレンダリング処理で使用されるデータ等が格納される。バッファ部110には、画像処理装置100で使用されるあらゆるデータ等が格納されうる。バッファ部110は、複数の記憶装置によって実現されてもよい。
 表示部112は、レンダリング処理部108で処理された画像データによる画像を表示する。表示部112は、画像処理装置100の外部の表示装置に画像を表示させてもよい。また、表示部112は、画像処理装置100の外部の情報処理装置に当該画像データを送信し、当該外部の情報処理装置の表示部に当該画像データによる画像を表示させてもよい。
 画像処理装置100は、パーソナルコンピュータ(PC、Personal Computer)、サーバマシン、ワークステーション(WS、Work Station)、PDA(Personal Digital Assistant)、スマートフォン、携帯電話、カーナビゲーションのような専用または汎用のコンピュータ、あるいは、コンピュータを搭載した電子機器を使用して実現可能である。画像処理装置100を構成する各要素は、サーバおよびクライアントに分割して搭載されてもよい。
 図2は、情報処理装置の例を示す図である。図2の例では、コンピュータ、すなわち、情報処理装置は、プロセッサ、主記憶装置、及び、二次記憶装置、表示装置、通信インタフェース装置のような周辺装置とのインタフェース装置を含む。主記憶装置及び二次記憶装置は、コンピュータ読み取り可能な記録媒体である。情報処理装置は、表示装置を含まなくてもよい。
 コンピュータは、プロセッサが記録媒体に記憶されたプログラムを主記憶装置の作業領域にロードして実行し、プログラムの実行を通じて周辺機器が制御されることによって、所定の目的に合致した機能を実現することができる。
 プロセッサは、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)やDSP(Digital Signal Processor)である。
 主記憶装置は、例えば、RAM(Random Access Memory)やROM(Read Only Memory)を含む。
 二次記憶装置は、例えば、EPROM(Erasable Programmable ROM)、ハードディスクドライブ(HDD、Hard Disk Drive)である。また、二次記憶装置は、リムーバブルメディア、即ち可搬記録媒体を含むことができる。リムーバブルメディアは、例えば、USB(Universal Serial Bus)メモリ、あるいは、CD(Compact Disk)やDVD(Digital Versatile Disk)のようなディスク記録媒体である。
 表示装置は、例えば、CRT(Cathode Ray Tube)ディスプレイ、LCD(Liquid Crystal Display)等の画像を表示する装置である。表示装置は、VRAM(Video RAM)、RAMなどの記憶装置を含んでもよい。
 通信インタフェース装置(通信I/F装置)は、例えば、LAN(Local Area Network)インタフェースボードや、無線通信のための無線通信回路である。
 周辺装置は、上記の二次記憶装置や通信インタフェース装置の他、キーボードやポインティングデバイスのような入力装置や、ディスプレイ装置やプリンタのような出力装置を含む。また、入力装置は、カメラのような映像や画像の入力装置や、マイクロフォンのような音声の入力装置を含むことができる。また、出力装置は、スピーカのような音声の出力装置を含むことができる。
 画像処理装置100を実現するコンピュータは、プロセッサが二次記憶装置に記憶されているプログラムを主記憶装置にロードして実行することによって、データ作成部102、描画順決定部104、ジオメトリ変換部106、レンダリング処理部108、表示部112としての機能を実現する。一方、バッファ部110は、主記憶装置、二次記憶装置、表示装置内の記憶装置の記憶領域に設けられる。
 一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。
 プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくても、並列的または個別に実行される処理を含む。
 (動作例)
 図3は、画像処理装置の動作フローの例を示す図である。
 画像処理装置100のデータ作成部102は、元データに基づいて、ポリゴンデータ(スライス面群データ)、テクスチャデータを作成する(S101)。元データは、画像処理装置100の記憶装置、周辺装置などから取得される。また、元データは、ネットワークを介して外部の情報処理装置等から取得されてもよい。元データは、表示する画像の画像データの元となるデータである。元データは、例えば、三次元領域における、三次元位置座標データ、および、各位置に対応する値データである。三次元座標は、直交座標系に限定されず、極座標系、円筒座標系などの他の座標系が採用されてもよい。ポリゴンデータは、スライス面の頂点の三次元座標、法線ベクトル、テクスチャ座標を含む。ここでは、ポリゴンデータは、スライス面データとして作成される。データ作成部102は、元データに基づいて、複数のスライス面データを生成する。各スライス面データのスライス面は、互いに平行である。1群の複数のスライス面データは、スライス面群データともいう。複数のスライス面群データが生成されてもよい。テクスチャデータは、ポリゴンにテクスチャをマッピングするためのデータである。テクスチャデータは、例えば、座標毎に、元データに基づく値、色、不透明度等の情報を含む。元データに基づく値と色および不透明度との対応関係が、テクスチャデータと別に用意されてバッファ部110等に格納されていてもよい。スライス面群データは、少なくとも3つのスライス面を有する。作成されたポリゴンデータ、テクスチャデータ等は、バッファ部110に格納される。
 図4は、ポリゴンデータの例を示す図である。図4では、ポリゴンデータとして、ポリゴンID001、ポリゴンID002の例が示される。ポリゴンID001、ポリゴンID002は、それぞれ、4つの頂点を有する四角形ポリゴンである。図4の例では、ポリゴンID001、ポリゴンID002は、それぞれ、1つのスライス面データである。1つのスライス面データにおける4つの頂点は、同一平面上に存在する。1つのスライス面データにおける4つの頂点は、当該スライス面データに含まれるポリゴンの頂点である。各スライス面データは、互いに平行である。図4の例では、各頂点は、三次元座標、法線ベクトル、テクスチャ座標を有する。ここで、法線ベクトルは、スライス面の法線ベクトルである。ここで使用されるポリゴンデータは平行なスライス面であることから、各頂点が、それぞれ、法線ベクトルを有さなくてもよい。図4の例では、三次元テクスチャを使用する際のテクスチャ座標の例が示されている。テクスチャとして、二次元画像データ群が使用される場合、テクスチャ座標は2次元(Tu, Tv)となる。
 1つのスライス面データは、1つの辺を共有する2つの三角形ポリゴンで表されてもよい。三角形ポリゴンは、3つの頂点を有する。図4では、法線ベクトルとテクスチャ座標とが、各頂点座標とともに記憶されている。しかし、ポリゴン頂点座標の組(3頂点、4頂点等の組)に対して、1つの法線ベクトルとテクスチャとを定義するようにしてもよい。
 図5は、スライス面群の例を示す図である。図5の例では、x軸と直交する面によるスライス面群X、y軸と直交する面によるスライス面群Y、z軸と直交する面によるスライス面群Zが示される。1つのスライス面群における各スライス面は、互いに交差しない。データ生成部102は、想定される視点の位置及び視軸の方向に応じて、少なくとも1つのスライス面群によるスライス面群データを生成する。例えば、想定される視軸の方向が、z軸とほぼ平行である場合、図5のz軸と直交する面によるスライス面群Zによるスライス面群データが生成される。また、データ生成部102は、空間軸(x軸、y軸、z軸)の方向とは異なる方向と直交する複数の平面(スライス面)によるスライス面群データを生成してもよい。
 また、スライス面は球の球面の一部であって、スライス面群は半径が異なる同心球の球面の一部の集合であってもよい。
 図3の動作フローに戻って、画像処理装置100の描画順決定部104は、スライス面データの描画順を決定する(S102)。描画順とは、レンダリング処理において、スライス面の処理する順番である。描画順決定部104は、1つのスライス面群データにおける複数のスライス面データの、レンダリング処理における処理する順番を決定する。描画順は、バッファ部110に格納される。
 描画順決定部104は、1つのスライス面群データにおいて、一方の端から他方の端に並ぶ複数のスライス面から両端のスライス面を除くいずれかのスライス面を基準面とする。描画順決定部104は、この基準面を1番目に処理するスライス面として決定する。描画順決定部104は、この基準面から一方の端に向かって基準面に近い順に、処理する順番を決定する。さらに、描画順決定部104は、この基準面から他方の端に向かって基準面に近い順に処理する順番を決定する。描画順決定部104は、このようにして、各スライス面に対して、描画順を決定する。描画順は、基準面のスライス面から端のスライス面に向かって処理されるように決定される。
 また、描画順決定部104は、次のように描画順を決定してもよい。描画順決定部104は、上記のように、基準面のスライス面を1番目に処理すると決定する。次に、上記一方の端から他方の端に並ぶ複数のスライス面のうち、一方の端側の基準面に最も近いスライス面を2番目に処理することが決定され、他方の端側の基準面に最も近いスライス面を3番目に処理することが決定される。その後、一方の端側の基準面に2番目に近いスライス面を4番目に処理することが決定されるようにして、両端のスライス面までの処理する順番が決定されてもよい。
 描画順決定部104は、スライス面群データの一方の端から他方の端まで並ぶスライス面のうち、ほぼ中央のスライス面を基準面として決定することができる。
 図6は、スライス面と描画順の例(1)を示す図である。図6の例は、スライス面群をスライス面の法線方向と直交する方向から見た図である。また、図6の例では、視軸の方向は、x軸方向またはx軸に対する傾きが90度未満、又は、これらと逆方向を想定する。図6の例では、スライス面が、スライス面001からスライス面010まで、一方の端から他方の端まで並んでいる。ここで、ほぼ中央のスライス面006が基準面(描画順1番目)として決定される。また、基準面から一方の端に向かって、スライス面005からスライス面001までが、描画順2番目から描画順6番目として決定される。さらに、基準面から他方の端に向かって、スライス面007からスライス面010までが、描画順7番目から描画順10番目として決定される。
 図7は、スライス面と描画順の例(2)を示す図である。図7の例では、スライス面が、スライス面001からスライス面010まで、一方の端から他方の端まで並んでいる。ここで、ほぼ中央のスライス面006が基準面(描画順1番目)として決定される。また、一方の端側の基準面に最も近いスライス面005が描画順2番目として決定される。さらに、他方の端側の基準面に最も近いスライス面007が描画順3番目として決定される。そして、一方の端側の基準面に2番目に近いスライス面004が描画順4番目として決定される。以後、図7のように、他のスライス面も同様にして、描画順が決定される。
 図8は、スライス面と描画順の例(3)を示す図である。図8の例のように、ほぼ中央のスライス面ではないスライス面003が基準面として決定されてもよい。図8の例のような描画順は、例えば、スライス面010側に視点が存在することが多いことが想定される場合に、有効である。なぜなら、視点から見て基準面より後方の面では基準面から前方の面と重なる部分について不透明度が無視されるが、このようにすることで、スライス面010側に視点が存在する場合に不透明度が無視される面をより少なくすることができる。
 図3の動作フローに戻って、画像処理装置100のジオメトリ変換部106は、ジオメトリ変換をする(S103)。画像処理装置100は、ジオメトリ変換を開始するまでに、ユーザ等により入力装置等を介して、視点データを指定される。視点データには、例えば、視点の座標、視線の方向(視軸)、表示する範囲、画像の大きさ、視野角等が含まれる。さらに、画像処理装置100は、視点データに基づいて、どのスライス面群データを使用するかを抽出する。画像処理装置100は、例えば、スライス面の法線方向と視軸の方向とが平行に近いスライス面群データを、使用するスライス面群データとして抽出する。
 ジオメトリ変換部106は、視点データに基づいて、決定したスライス面群データの各スライス面データに対して、ジオメトリ変換を行う。ジオメトリ変換部106は、視点データに基づいて、各スライス面データを表示画面上の二次元座標空間に変換する。変換されたポリゴンデータは、バッファ部110に格納される。
 図9は、ジオメトリ変換部が生成するポリゴンデータ(スライス面データ)の例を示す図である。図9の例では、図4のポリゴンデータ(スライス面データ)の各頂点の三次元座標が、表示画面のスクリーン座標(Sx,Sy)、表示画面内の奥行きを示すZ値に変換されている。Z値は、視点から遠くなるほど大きい値となる。任意の点AのZ値は、例えば、視点を通り視軸を法線とする平面と点Aとの距離に対して正の相関を有する。
 図3の動作フローに戻って、画像処理装置100のレンダリング処理部108は、レンダリング処理を行う(S104)。
 最初に、レンダリング処理部108は、ジオメトリ変換部106で変換されたポリゴンデータ(スライス面データ)を取り出す。さらに、レンダリング処理部108は、取り出したスライス面データの各スライス面内の各頂点に囲まれる範囲内のすべてのピクセル(座標点)について、各スライス面の頂点のスクリーン座標及びZ値に基づいて、Z値データを算出する。ピクセルのスクリーン座標が表示画面外である場合、表示画面外のピクセルについては算出されなくてもよい。各ピクセルのZ値は、各頂点のスクリーン座標とZ値と基づいて補間演算することにより算出されうる。算出された各スライス面のピクセル毎のZ値データは、バッファ部110に格納される。ここで、レンダリング処理部108は、各スライス面の頂点のテクスチャ座標及びテクスチャデータに基づいて、各スライス面のピクセル毎の色データおよび不透明度データ(α値)を算出し、Z値データと共にバッファ部110に格納してもよい。ここで格納される色データおよび不透明度データは、後に説明するレンダリング処理の際に使用されてもよい。
 図10は、レンダリング処理部が算出するスライス面データ(ポリゴンID001)についてのピクセル(スクリーン座標)ごとのZ値データの例を示す図である。図10の例では、ポリゴンID001のスライス面内の各スクリーン座標について、Z値が示される。
 次に、レンダリング処理部108は、各頂点のテクスチャ座標、テクスチャデータ、図10のような各スライス面についてのスクリーン座標毎のZ値などに基づいて、画面表示用の画像データを生成するレンダリング処理を行う。レンダリング処理については後に詳述する。画像データは、バッファ部110に格納される。
 画像処理装置100の表示部112は、バッファ部110に格納される画像データに基づいて、画像を表示する(S105)。表示部112は、画像処理装置100の外部の表示装置に画像を表示させてもよい。また、表示部112は、画像処理装置100の外部の情報処理装置に当該画像データを送信し、当該外部の情報処理装置の表示部に当該画像データによる画像を表示させてもよい。
 (レンダリング処理)
 図11及び図12は、レンダリング処理部によるレンダリング処理の動作フローの例を示す図である。図11の「A」、「B」、「C」は、それぞれ、図12の「A」、「B」、「C」に接続する。
 レンダリング処理部108は、描画順が1番目のポリゴンデータ(スライス面データ)を読み出す。描画順が1番目のポリゴンデータは、基準面のスライス面データである。レンダリング処理部108は、基準面における各スクリーン座標(ピクセル)のZ値を読み出し、基準面のスライス面の頂点のテクスチャ座標及びテクスチャデータに基づいて、各ピクセルの色データを算出する。レンダリング処理部108は、基準面のスライス面内のすべてのピクセル毎に、色データ、Z値データを、バッファ部110に画像データとして書き込む(S201)。仮に画像が背景画像を有する場合、レンダリング処理部108は、色データと共に、不透明度(α値)も算出し、背景画像の色データと基準面の色データとのブレンディングを行い、Z値データ、色データを画像データに書き込む。次に、処理がステップS202に進むが、ステップS201から進んだステップS202では、描画順が2番目のスライス面について処理が行われる。
 図13は、画像データの例を示す図である。図13の画像データでは、表示画面内のすべてのピクセルについて、スクリーン座標と、色データと、Z値とが対応づけられている。画像データ内で、まだ書き込まれていないピクセルについては、例えば、色データとして初期色(例えば、黒色や他の指定色)、Z値として最も遠くを示す値又は未だ比較が行われてないことを示す値が書き込まれている。また、画像データ内で、まだ書き込まれていないピクセルについては、色データとZ値とは空であってもよい。画像データは、バッファ部110に格納される。
 以下、ステップS202-ステップS209の処理は、未処理のスライス面に対して、繰り返し実行される。ステップS202では、レンダリング処理部108は、処理中のスライス面の未処理の1つのピクセルについて、Z値を読み出す(S202)。ここでは、すべてのピクセルにおいてZ値が予め算出されるとしているが、ステップS201やステップS202でZ値が使用される際に、処理中のスライス面の処理中のピクセルのZ値が算出されてもよい。
 ステップS203では、レンダリング処理部108は、ステップS202でZ値を読み出したピクセル(処理中のスライス面の処理中のピクセル)に対する画像データのピクセルのデータを読み出し、既に当該画像データのピクセルに色データが書きこまれているか否かを確認する(S203)。
 処理中のスライス面の処理中のピクセルに対する画像データのピクセルに色データが未だ書き込まれていない場合(S203;NO)、処理がステップS205に進む。処理中のスライス面の処理中のピクセルに対する画像データのピクセルに色データが既に書き込まれている場合(S203;YES)、レンダリング処理部108は、処理中のスライス面における処理中のピクセルのZ値と、画像データにおける処理中のピクセルのZ値とを比較する(S204)。
 処理中のスライス面における処理中のピクセルのZ値が画像データにおける処理中のピクセルのZ値未満である場合(S204;YES)、処理がステップS205に進む。このとき、処理中のスライス面の処理中のピクセルは、既に書き込まれた色データよりも手前に位置する。
 処理中のスライス面における処理中のピクセルのZ値が画像データにおける処理中のピクセルのZ値以上である場合(S204;NO)、処理がステップS206に進む。このとき、処理中のスライス面の処理中のピクセルは、既に書き込まれた色データよりも後方に位置する。よって、処理中のスライス面の処理中のピクセルは、画像データに書き込まれない。ここで、処理中のスライス面の処理中のピクセルについては、処理が終了したことになる。
 ステップS205では、レンダリング処理部108は、処理中のスライス面の処理中のピクセルについて、処理中のスライス面の頂点のテクスチャ座標及びテクスチャデータに基づいて、色データ、不透明度データ(α値)を算出する。レンダリング処理部108は、処理中のスライス面の処理中のピクセルの不透明度データ、色データ、画像データの処理中のピクセルの色データに基づいて、新たな色データを算出する(αブレンディング)。レンダリング処理部108は、画像データの処理中のピクセルのZ値および色データを、処理中のスライス面の処理中のピクセルのZ値および算出した新たな色データに書き換える(S205)。ここで、処理中のスライス面の処理中のピクセルについては、処理が終了したことになる。
 ステップS206では、レンダリング処理部108は、処理中のスライス面内のすべてのピクセルについて処理が終了したか否かを確認する(S206)。処理中のスライス面内のすべてのピクセルについて処理が終了した場合(S206;YES)、処理がステップS208に進む。ここで、処理中のスライス面については、処理が終了したことになる。
 処理中のスライス面内のすべてのピクセルについて処理が終了していない場合(S206;NO)、レンダリング処理部108は、他の未処理のピクセルを処理中のピクセルとし、処理がステップS202に戻る(S207)。
 ステップS208では、レンダリング処理部108は、すべてのスライス面について処理が終了したか否かを確認する(S208)。未だすべてのスライス面について処理が終了していない場合(S208;NO)、レンダリング処理部108は、描画順決定部104が決定した描画順に従って、次の順番のスライス面のピクセルを処理中のピクセルとする。
 すべてのスライス面について処理が終了した場合(S208;YES)、レンダリング処理部108における処理が終了する。この時点における画像データが画面表示用の画像データとなる。ここで、画像データにおける各ピクセルのZ値は削除されてもよい。
 図14、図15、図16は、レンダリング処理部の処理を経た表示結果の例を示す図である。各図において、図面の表面から裏面に向かう方向が視軸の方向である。
 図14の例では、スライス面Aは基準面であり、スライス面Bはスライス面Aよりも手前に存在するスライス面である。スライス面Aが先に描画され、スライス面Bが後に描画される。スライス面Aとスライス面Bとが重なる部分では、αブレンディングによって描画が行われる。
 図15の例では、スライス面Aは基準面であり、スライス面Cはスライス面Aよりも後方に存在するスライス面である。スライス面Aが先に描画され、スライス面Cが後に描画される。スライス面Aとスライス面Cとが重なる部分では、Zバッファ法によって描画が行われる。
 図16の例では、スライス面Aは基準面であり、スライス面Bはスライス面Aよりも手前に存在するスライス面であり、スライス面Cはスライス面Aよりも後方に存在するスライス面である。スライス面A、スライス面B、スライス面Cの順、又は、スライス面A、スライス面C、スライス面Bの順に描画される。スライス面Aとスライス面Bとが重なる部分では、αブレンディングによって描画が行われる。スライス面Aとスライス面Cとが重なる部分では、Zバッファ法によって描画が行われる。即ち、基準面よりも視軸に対して手前ではαブレンディングによる処理が、後方ではZバッファ法による処理が行われる。
 (変形例)
 次に上記の実施形態の変形例を説明する。この変形例は、上記の実施形態との共通点を有する。従って、ここでは、主として相違点について説明し、共通点については、説明を省略する。
 画像処理装置100における処理は、サーバ装置及びクライアント装置に分割して行われてもよい。サーバ装置及びクライアント装置は、上記の画像処理装置100と同様の機能を有する。
 図17は、本変形例の画像処理システムの例を示す図である。図17の画像処理システム1000は、サーバ装置200及びクライアント装置300を含む。サーバ装置200とクライアント装置300とは、例えば、ネットワークを介して接続される。サーバ装置200は、データ作成部202、描画順決定部204、バッファ部210を備える。クライアント装置300は、ジオメトリ変換部306、レンダリング処理部308、バッファ部310、表示部312を備える。これらの処理部は、それぞれ、図1のデータ作成部102、描画順決定部104、ジオメトリ変換部106、レンダリング処理部108、バッファ部110、表示部112と同様の機能を有する。また、サーバ装置200は、スライス面群データ、テクスチャデータ及び描画順をクライアント装置に送信する送信部222を備える。クライアント装置300は、スライス面群データ、テクスチャデータ及び描画順をサーバ装置200から受信する受信部322を備える。サーバ装置200は、クライアント装置300の表示部312の表示画面に合わせて、スライス面群データ、テクスチャデータを変換してもよい。即ち、サーバ装置200は、クライアント装置300の表示部312の表示画面に合わせて、スライス面群データ、テクスチャデータを、データを間引く等の操作により、小さいサイズなるように変換してもよい。データのサイズが小さくなることで、サーバ装置200とクライアント装置300との間のデータ通信量を削減することができる。スライス面群データおよびテクスチャデータを、平面群ともいう。
 サーバ装置200は、データ作成部202によりスライス面群データ、テクスチャデータを作成し、描画順決定部204により描画順を決定する。サーバ装置200は、スライス面群データ、テクスチャデータ、描画順をクライアント装置300に送信する。
 クライアント装置300は、スライス面群データ、テクスチャデータをサーバ装置200から受信し、バッファ部210に格納する。クライアント装置300は、ユーザ等により入力装置等を介して、視点データを指定される。次に、クライアント装置300は、ジオメトリ変換部306によりジオメトリ変換をし、レンダリング処理部308により描画順に基づいてレンダリング処理を行う。さらに、クライアント装置300は、レンダリング処理された画像を表示部312に表示する。
 データ作成及び描画順決定をサーバ装置200で行うことにより、クライアント装置300における計算負荷が軽減する。従って、クライアント装置300がリソース(計算リソースやメモリ)の少ないハードウェアであっても、高精細なレンダリング処理が実行され得る。
 サーバ装置200及びクライアント装置300は、パーソナルコンピュータ(PC、Personal Computer)、サーバマシン、ワークステーション(WS、Work Station)、PDA(Personal Digital Assistant)、スマートフォン、携帯電話、カーナビゲーションのような専用または汎用のコンピュータ、あるいは、コンピュータを搭載した電子機器を使用して実現可能である。サーバ装置200の送信部222、クライアント装置300の受信部322は、コンピュータ等のプロセッサ、通信インタフェース装置等によって実現されうる。
 (実施形態の作用、効果)
 画像処理装置100は、三次元領域において、少なくとも1方向に対し層状の構造を持つスライス面群に対し、各スライス面が描画される順序を設定する。画像処理装置100は、スライス面群の並びの両端以外の面の1つを基準面とし、並びの両端が最後に描画されるように描画順を決定する。各スライス面に対応する不透明度を有する2次元画像を添付することにより、基準面より視線手前側ではαブレンディングによって、基準面より視線後方側ではZバッファ法によって基準面に近いスライス面を優先した描画が行われる。
 基準面より手前側(視軸を形成する観測者側)では、αブレンディングによって、値データを詳細に、あるいは忠実に表示できる。一方、基準面より奥側では、Zバッファリングによって、裏面側の値データが隠されることになるが、視軸を形成する観測者から遠い面であるため、値データが隠される影響は、手前側が隠される場合よりも少ない。すなわち、観測者にとって重要となる手前側の値データの表示を優先した上で、全体の表示効率を向上できる。
 画像処理装置100によれば、視点位置による視点位置の変更によるスライス面群の再生成やそれらの描画順を再計算しなくてもよいため、描画の計算コストを軽減できる。そのため、画像処理装置100が携帯端末やスマートフォン等のリソース(計算リソースやメモリ)の少ないハードウェアであっても、高精細なレンダリング処理が実行され得る。
 本実施形態の構成は、例えば、医療分野において、病院で撮影したCT(Computed Tomography)画像やMRT(Magnetic Resonance Tomography)画像から再構成された人体の内部構造を携帯端末等で表示する場合等において有効である。具体的には、サーバ上に保持されているCT画像やMRT画像を、データサイズの削減等によりクライアントである携帯端末が利用可能な形態に変換して送出し、ネットワーク経由で医師や患者が携帯端末を用いてボリュームレンダリングにより表示する場合などにおいて有効である。この場合の実施形態として、画像処理装置100を構成する各要素は、必要に応じてサーバおよびクライアントに分割して搭載されてもよい。
 画像処理装置100によれば、画像のレンダリング処理の順序を予め決定しておくことで、この順序を描画処理中にリアルタイムに決定しなくてもよく、全体のレンダリング処理の効率を向上させることができる。即ち、画像処理装置100によれば、画像のレンダリング処理の順序が予め決定されていることで、視軸の変更が起こった場合でも、描画順決定のためのZ値によるソーティング処理が行われなくてもよい。
 画像処理装置100による処理は、雲や炎のようなボリュームレンダリング向きのオブジェクトの表現方法として利用効果がある。即ち、画像処理装置100における処理は、動きが不規則な雲や炎、煙のような画像表現の際、リアリティを損なうことなくユーザに認識しやすいように表示することができる。
 ここで説明した画像処理装置100は、例えば、構造エンジニアリング、地質学、天体物理学、気象等のシミュレーション結果の表示、ゲームや映画等における雲、霧、炎等の映像表現において利用できる。
    100   画像処理装置
    102    データ作成部
    104    描画順決定部
    106    ジオメトリ変換部
    108    レンダリング処理部
    110    バッファ部
    112    表示部
    200   サーバ装置
    202    データ作成部
    204    描画順決定部
    210    バッファ部
    222    送信部
    300   クライアント装置
    306    ジオメトリ変換部
    308    レンダリング処理部
    310    バッファ部
    312    表示部
    322    受信部
   1000   画像処理システム

Claims (12)

  1.  三次元空間上において、少なくとも一の方向に層を形成する複数の平面を含む平面群を設定し、前記平面群のうち一つを基準面とし、視軸と基準面との位置関係に基づいて画像を形成する制御手段
    を備える画像処理装置。
  2.  視軸方向に重なって存在する複数の平面間で、前記視軸上で手前側に位置する手前面の画像を形成するときに、前記手前面の後方に位置する後方面と前記手前面とが重複する部分において、前記手前面の不透明度に基づいて画像を形成する第1形成手段をさらに備え、
     前記制御手段は、前記視軸上で前記基準面から手前側に位置する平面については、前記基準面に近い面を優先して前記複数の平面間で前記第1形成手段によって画像形成する請求項1に記載の画像処理装置。
  3.  視軸方向に重なって存在する複数の平面間で、前記視軸上で手前側に位置する手前面に重複する部分を省略して前記手前面の後方面の画像を形成する第2形成手段をさらに備え、
     前記制御手段は、前記視軸上で前記基準面から後方側に位置する平面については、前記基準面に近い面を優先して前記第2形成手段によって画像形成する請求項1または2に記載の画像処理装置。
  4.  コンピュータが、
     三次元空間上において、少なくとも一の方向に層を形成する複数の平面を含む平面群を設定し、前記平面群のうち一つを基準面とし、視軸と基準面との位置関係に基づいて画像を形成する制御ステップを実行する
    画像処理方法。
  5.  コンピュータが、
     視軸方向に重なって存在する複数の平面間で、前記視軸上で手前側に位置する手前面の画像を形成するときに、前記手前面の後方に位置する後方面と前記手前面とが重複する部分において、前記手前面の不透明度に基づいて画像を形成する第1形成ステップをさらに実行し、
     前記制御ステップは、前記視軸上で前記基準面から手前側に位置する平面については、前記基準面に近い面を優先して前記複数の平面間で前記第1形成ステップによって画像形成する請求項4に記載の画像処理方法。
  6.  コンピュータが、
     視軸方向に重なって存在する複数の平面間で、前記視軸上で手前側に位置する手前面に重複する部分を省略して前記手前面の後方側の面の画像を形成する第2形成ステップをさらに実行し、
     前記制御ステップは、前記視軸上で前記基準面から後方側に位置する平面については、前記基準面に近い面を優先して前記第2形成ステップによって画像形成する請求項4または5に記載の画像処理方法。
  7.  コンピュータに、
     三次元空間上において、少なくとも一の方向に層を形成する複数の平面を含む平面群を設定し、前記平面群のうち一つを基準面とし、視軸と基準面との位置関係に基づいて画像を形成する制御ステップを実行させる
    画像処理プログラム。
  8.  コンピュータに、
     視軸方向に重なって存在する複数の平面間で、前記視軸上で手前側に位置する手前面の画像を形成するときに、前記手前面の後方に位置する後方面と前記手前面とが重複する部分において、前記手前面の不透明度に基づいて画像を形成する第1形成ステップをさらに実行させ、
     前記制御ステップは、前記視軸上で前記基準面から手前側に位置する平面については、前記基準面に近い面を優先して前記複数の平面間で前記第1形成ステップによって画像形成する請求項7に記載の画像処理プログラム。
  9.  コンピュータに、
     視軸方向に重なって存在する複数の平面間で、前記視軸上で手前側に位置する手前面に重複する部分を省略して前記手前面の後方側の面の画像を形成する第2形成ステップをさらに実行させ、
     前記制御ステップは、前記視軸上で前記基準面から後方側に位置する平面については、前記基準面に近い面を優先して前記第2形成ステップによって画像形成する請求項7または8に記載の画像処理プログラム。
  10.  第1情報処理装置が、
      少なくとも一の方向に層を形成する複数の平面を含む平面群から基準面を決定し、前記基準面の描画順を最初とし、前記基準面に近い面を優先して描画順を決定する描画順決定手段と、
      前記平面群と、前記描画順決定手段が決定した前記描画順を送信する送信手段と、を備え、
     第2情報処理装置が、
      前記平面群と、前記描画順決定手段が決定した前記描画順を受信する受信手段と、
      視軸の方向および前記描画順に基づいて、前記平面群の各平面の画像を表示画像に合成する制御手段と、を備える
    画像処理システム。
  11.  前記制御手段は、前記平面の画像を合成するときに、前記平面の画像と前記基準面の画像もしくは既に合成した表示画像とが重複する部分において、前記平面が視軸上で手前側に位置する場合、当該部分において前記平面の不透明度に基づいて、前記平面の画像と前記基準面の画像もしくは既に合成した表示画像とを新たな表示画像に合成する
    請求項10に記載の画像処理システム。
  12.  前記制御手段は、前記平面の画像を合成するときに、前記平面の画像と前記基準面の画像もしくは既に合成した画像とが重複する部分において、前記平面が視軸上で後方側に位置する場合、当該部分において前記平面の画像を省略して、前記平面の画像と前記基準面の画像もしくは既に合成した表示画像とを新たな表示画像に合成する
    請求項10または11に記載の画像処理システム。
PCT/JP2012/084066 2012-01-13 2012-12-28 画像処理装置、画像処理方法、画像処理プログラム、および、画像処理システム WO2013105464A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/329,500 US20140320494A1 (en) 2012-01-13 2014-07-11 Image processing apparatus, image processing method, computer readable non-transitory recording medium and image processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012005541A JP5846373B2 (ja) 2012-01-13 2012-01-13 画像処理装置、画像処理方法、画像処理プログラム、および、画像処理システム
JP2012-005541 2012-01-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/329,500 Continuation US20140320494A1 (en) 2012-01-13 2014-07-11 Image processing apparatus, image processing method, computer readable non-transitory recording medium and image processing system

Publications (1)

Publication Number Publication Date
WO2013105464A1 true WO2013105464A1 (ja) 2013-07-18

Family

ID=48781420

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/084066 WO2013105464A1 (ja) 2012-01-13 2012-12-28 画像処理装置、画像処理方法、画像処理プログラム、および、画像処理システム

Country Status (3)

Country Link
US (1) US20140320494A1 (ja)
JP (1) JP5846373B2 (ja)
WO (1) WO2013105464A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111324678B (zh) * 2018-12-14 2024-05-17 北京京东尚科信息技术有限公司 数据处理方法、装置和计算机可读存储介质
US11069125B2 (en) * 2019-04-09 2021-07-20 Intuitive Research And Technology Corporation Geometry buffer slice tool

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166340A (ja) * 1997-08-20 1999-03-09 Sega Enterp Ltd 画像処理装置、画像処理方法及び画像処理プログラムを記録した記録媒体
JP2000194878A (ja) * 1998-12-22 2000-07-14 Mitsubishi Electric Inf Technol Center America Inc ボリュ―ムを画像平面上にレンダリングする方法及びシステム、並びに三次元ボリュ―ムを二次元画像平面上にレンダリングする方法
JP2003263651A (ja) * 2002-03-12 2003-09-19 Inst Of Physical & Chemical Res ボリュームレンダリング方法とそのプログラム
JP2009247693A (ja) * 2008-04-08 2009-10-29 Toshiba Corp 超音波診断装置
JP2011031022A (ja) * 2009-07-30 2011-02-17 Medison Co Ltd 複数のスライス映像を提供する超音波システムおよび方法
JP2011134352A (ja) * 2011-03-25 2011-07-07 Toshiba Corp 画像処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5877768A (en) * 1996-06-19 1999-03-02 Object Technology Licensing Corp. Method and system using a sorting table to order 2D shapes and 2D projections of 3D shapes for rendering a composite drawing
JPH11259678A (ja) * 1998-03-12 1999-09-24 Sega Enterp Ltd 画像表示装置及びそれによる画像表示方法
US6914618B2 (en) * 2000-11-02 2005-07-05 Sun Microsystems, Inc. Methods and systems for producing A 3-D rotational image from A 2-D image
KR100446635B1 (ko) * 2001-11-27 2004-09-04 삼성전자주식회사 깊이 이미지 기반 3차원 객체 표현 장치 및 방법
JP4646712B2 (ja) * 2005-07-05 2011-03-09 パナソニック株式会社 コンピュータグラフィックス描画方法及び描画装置
US8289320B2 (en) * 2007-10-22 2012-10-16 Samsung Electronics Co., Ltd. 3D graphic rendering apparatus and method
US8629886B2 (en) * 2010-12-07 2014-01-14 Microsoft Corporation Layer combination in a surface composition system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166340A (ja) * 1997-08-20 1999-03-09 Sega Enterp Ltd 画像処理装置、画像処理方法及び画像処理プログラムを記録した記録媒体
JP2000194878A (ja) * 1998-12-22 2000-07-14 Mitsubishi Electric Inf Technol Center America Inc ボリュ―ムを画像平面上にレンダリングする方法及びシステム、並びに三次元ボリュ―ムを二次元画像平面上にレンダリングする方法
JP2003263651A (ja) * 2002-03-12 2003-09-19 Inst Of Physical & Chemical Res ボリュームレンダリング方法とそのプログラム
JP2009247693A (ja) * 2008-04-08 2009-10-29 Toshiba Corp 超音波診断装置
JP2011031022A (ja) * 2009-07-30 2011-02-17 Medison Co Ltd 複数のスライス映像を提供する超音波システムおよび方法
JP2011134352A (ja) * 2011-03-25 2011-07-07 Toshiba Corp 画像処理装置

Also Published As

Publication number Publication date
JP5846373B2 (ja) 2016-01-20
JP2013145467A (ja) 2013-07-25
US20140320494A1 (en) 2014-10-30

Similar Documents

Publication Publication Date Title
US11748840B2 (en) Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters
US20080246760A1 (en) Method and apparatus for mapping texture onto 3-dimensional object model
WO2012037862A1 (zh) 一种三维模型数据分布式绘图方法及装置
WO2018188479A1 (zh) 基于增强现实的导航方法及装置
JP2022511273A (ja) 拡張現実または仮想現実のシーンにおけるオブジェクトの表現の生成および修正
CN111754381B (zh) 图形渲染方法、装置和计算机可读存储介质
US11417060B2 (en) Stereoscopic rendering of virtual 3D objects
JP2017091483A (ja) 画像処理装置、情報処理装置、および画像処理方法
US9001157B2 (en) Techniques for displaying a selection marquee in stereographic content
JP6223916B2 (ja) 情報処理装置、方法及びプログラム
JP5846373B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、および、画像処理システム
WO2018135052A1 (ja) 画像生成装置、及び画像表示制御装置
JP2023527438A (ja) リアルタイム深度マップを用いたジオメトリ認識拡張現実効果
KR102225281B1 (ko) 감소된 픽셀 쉐이딩을 위한 기술
WO2019146194A1 (ja) 情報処理装置、及び情報処理方法
KR101227155B1 (ko) 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
CN109949396A (zh) 一种渲染方法、装置、设备和介质
KR101337558B1 (ko) 고해상도 영상 또는 입체 영상의 허브기능을 구비한 모바일단말기 및 그 모바일단말기를 이용하여 고해상도 영상 또는 입체 영상 제공 방법
US10453247B1 (en) Vertex shift for rendering 360 stereoscopic content
CN118397226A (en) Three-dimensional model determining method and electronic equipment
Coquillart et al. Short Paper: View Dependent Rendering to Simple Parametric Display Surfaces

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12865138

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 12865138

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE