WO2019107181A1 - 送信装置、送信方法、および受信装置 - Google Patents

送信装置、送信方法、および受信装置 Download PDF

Info

Publication number
WO2019107181A1
WO2019107181A1 PCT/JP2018/042427 JP2018042427W WO2019107181A1 WO 2019107181 A1 WO2019107181 A1 WO 2019107181A1 JP 2018042427 W JP2018042427 W JP 2018042427W WO 2019107181 A1 WO2019107181 A1 WO 2019107181A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
mesh
frames
image
data
Prior art date
Application number
PCT/JP2018/042427
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 CN201880076046.8A priority Critical patent/CN111406405A/zh
Priority to US16/766,478 priority patent/US20200380775A1/en
Publication of WO2019107181A1 publication Critical patent/WO2019107181A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Definitions

  • the present technology relates to a transmitting device, a transmitting method, and a receiving device, and in particular, to a transmitting device, a transmitting method, and a receiving device for generating 3D data.
  • 3D data (3D data) is transmitted and displayed to the terminal of the user who is viewing and listening, in order to reproduce smooth motion, it is preferable that the frame rate be high, but at this point, 3D with a high frame rate Generating data may be difficult.
  • Non-Patent Document 1 proposes a technique for generating 3D data of a higher frame rate by generating vertex positions of frames in between by bi-directional interpolation from mesh data of a 2D image generated on an adjacent frame. (See, for example, Non-Patent Document 1).
  • Non-Patent Document 1 is a 2D image-based interpolation process, it can not cope with 3D shaped self-occlusion.
  • the present technology has been made in view of such a situation, and makes it possible to generate 3D data.
  • the transmission device includes an information generation unit that generates information based on the degree of difference between two frames of a 3D image, and a transmission unit that transmits information based on the generated degree of difference.
  • the transmission device In the transmission method according to the first aspect of the present technology, the transmission device generates information based on the degree of difference between two frames of a 3D image, and transmits the information based on the generated degree of difference.
  • information based on the degree of difference between two frames of a 3D image is generated and transmitted.
  • the receiver includes an image generation unit that generates an interpolation frame between the two frames by interpolation frame generation processing based on information based on the degree of difference between the two frames of the 3D image. .
  • an interpolation frame between the two frames is generated by interpolation frame generation processing based on the information based on the degree of difference between the two frames of the 3D image.
  • the transmission device according to the first aspect of the present technology and the reception device according to the second aspect can be realized by causing a computer to execute a program.
  • a program to be executed by a computer is transmitted via a transmission medium or recorded on a recording medium Can be provided.
  • the transmitting device and the receiving device may be independent devices or may be an internal block constituting one device.
  • 3D data can be generated at the receiving side that receives data.
  • 3D data can be generated.
  • FIG. 1 is a block diagram showing a configuration example of a first embodiment of an image processing system to which the present technology is applied. It is a figure explaining processing from photography to generation of 3D data. It is a figure explaining mesh tracking processing. It is a figure explaining an interpolation process. It is a figure explaining the interpolation frame generation processing by an image generation device. It is a figure explaining the interpolation frame generation processing by an image generation device. It is a flowchart explaining key frame flag generation processing. It is a figure explaining key frame flag storing processing. It is a flowchart explaining the key frame flag storage process of A of FIG. It is a flowchart explaining the key frame flag storing process of B of FIG.
  • Fig. 21 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied.
  • Example 15 using interpolation type Fifth Embodiment of Image Processing System (Hybrid Configuration Example Without Compression Coding) 16. Sixth Embodiment of Image Processing System (Hybrid Configuration Example Without Key Frame Flag Transmission) 17. Seventh Embodiment of Image Processing System (Modified Example of Hybrid Configuration) 18. Eighth Embodiment of Image Processing System (Modification of Basic Configuration) 19. Computer configuration example
  • FIG. 1 is a block diagram showing a configuration example of a first embodiment of an image processing system to which the present technology is applied.
  • the image processing system 1 of FIG. 1 generates high frame rate 3D data from 3D data transmitted from the transmitting side that transmits 3D data (3D data) generated by photographing an object and the transmitting side. It is a system provided with the receiving side.
  • the transmitting side transmits, to the receiving side, information for up-converting 3D data to be transmitted to a high frame rate, specifically 3D data to which information based on the degree of difference between two frames is added.
  • the receiver upconverts the received 3D data to a high frame rate using information based on the degree of difference between the two frames.
  • the image processing system 1 includes a plurality of imaging devices 10A-1 to 10A-N (N> 1), a 3D modeling device 11, a flag generation device 12, a tracking device 13, an encoding device 14, a transmission device 15, a reception device 16, A decoding device 17 and an image generation device 18 are included.
  • the transmitting side corresponds to the plurality of imaging devices 10A-1 to 10A-N, the 3D modeling device 11, the flag generating device 12, the tracking device 13, the encoding device 14, and the transmitting device 15, and the receiving side is the receiving device 16 correspond to the decoding device 17 and the image generation device 18.
  • the receiving side is the receiving device 16 correspond to the decoding device 17 and the image generation device 18.
  • the imaging device 10A is configured of either a passive camera or an active camera (active sensor).
  • the imaging device 10A When the imaging device 10A includes a passive camera, the imaging device 10A captures an object, generates a texture image (RGB image) as a result, and supplies the texture image (RGB image) to the 3D modeling device 11.
  • RGB image texture image
  • the imaging device 10A When the imaging device 10A is configured by an active camera, the imaging device 10A generates a texture image similar to that of a passive camera, emits IR light, and receives IR light reflected back from the subject. Thus, an IR image is generated and supplied to the 3D modeling device 11. The imaging device 10A also measures the distance to the subject from the received IR light, generates a depth image in which the distance to the subject is stored as a depth value, and supplies the depth image to the 3D modeling device 11.
  • the plurality of imaging devices 10 ⁇ / b> A synchronously shoot the subject, and supply the 3D modeling device 11 with a photographed image obtained as a result.
  • a captured image obtained by imaging with the imaging device 10A is only a texture image when the imaging device 10A is configured by a passive camera, and a texture image when the imaging device 10A is configured by an active camera. It is an image and a depth image.
  • the photographed image is composed of a moving image.
  • the 3D modeling device 11 executes modeling processing of the 3D shape of the subject based on the captured images obtained by imaging with each of the plurality of imaging devices 10A, and the 3D shape data (3D data) obtained as a result thereof The information is supplied to the tracking device 13 and the flag generator 12.
  • FIG. 2 is a diagram for explaining processing from shooting by a plurality of imaging devices 10A to generation of 3D data by the 3D modeling device 11.
  • the 3D modeling device 11 generates 3D data using captured images of the three imaging devices 10A-1 to 10A-3 captured synchronously.
  • the 3D data is represented, for example, in a format in which the geometry information of the subject 21 is represented by mesh data representing polygon meshes, which are represented by vertices and connections between the vertices, and color information corresponding to each polygon mesh. .
  • This format is a format standardized by MPEG-4 Part 16 AFX (Animation Framework eXtension).
  • the 3D data may be in another format, for example, a format in which the three-dimensional position of the subject 21 is a set of points (point cloud) and color information is stored corresponding to each point.
  • the process of generating 3D data from captured images obtained by the plurality of imaging devices 10A is also referred to as 3D reconstruction (process).
  • the flag generation device 12 determines whether or not the 3D shape largely changes in the two frames before and after the 3D data from the 3D modeling device 11, and the determination result is a key
  • the frame flag is supplied to the tracking device 13 and the transmitter 15.
  • the key frame flag is information based on the degree of difference between two frames. For example, when the key frame flag of a certain frame is “1”, the frame is largely changed in key frame, ie, 3D shape from the previous frame If the key frame flag is "0", it indicates that the frame is not a key frame.
  • the flag generation device 12 is supplied with 3D data in a format that holds mesh data of a polygon mesh and color information corresponding to each polygon mesh.
  • the flag generation device 12 calculates the degree of difference between mesh data of two adjacent frames, and if the calculated degree of difference is greater than a predetermined threshold value, sets the key frame flag to “1” and calculates the difference If it is less than the predetermined threshold, the key frame flag is set to "0".
  • the degree of difference between mesh data of two adjacent frames can be calculated, for example, using the Hausdorff distance of the following equation (1).
  • the set A of Equation (1) is each vertex of mesh data of one of two adjacent frames, and the set B is each vertex of mesh data of the other frame.
  • the maximum value among the values obtained by finding the shortest distance from the vertex included in the set A to the set B is calculated.
  • the tracking device 13 executes mesh tracking processing on mesh data of each frame supplied as 3D data from the 3D modeling device 11, and supplies mesh data after mesh tracking processing to the encoding device 14.
  • a key frame flag indicating whether the 3D shape largely changes in the two frames before and after is supplied to the tracking device 13 from the flag generation device 12 in frame units.
  • FIG. 3 is a diagram for explaining the mesh tracking process by the tracking device 13.
  • the mesh data of each frame before the mesh tracking process supplied from the tracking device 13 is also referred to as a U mesh, abbreviated as Unregistered Mesh, and the mesh tracking process output from the tracking device 13 Mesh data of each subsequent frame is also called R mesh, which is an abbreviation of Registered Mesh. Also, when simply described as a mesh, it represents an unregistered mesh.
  • the U mesh generated by the 3D modeling device 11 does not consider the correspondence of vertices between frames, the correspondence of vertices between frames is not taken. Therefore, for example, the number of vertices may be different in units of frames.
  • mesh tracking processing searches and determines corresponding vertices for each frame before and after, in R mesh, the correspondence of the position of the vertices is taken between the frames, and the number of vertices of each frame Is the same.
  • the movement of the subject 21 can be expressed only by the movement of the vertex.
  • the R mesh corresponds to the position of the vertex between the frames, as shown in FIG. 4, it is necessary to interpolate the R mesh of the frame between the R meshes of adjacent two known frames. it can.
  • FIG. 4 calculates the R mesh of the frame at time t0.5 between time t0 and time t1 by interpolation processing, and interpolates the R mesh of the frame at time t1.5 between time t1 and time t2 It shows how to seek.
  • the tracking device 13 executes mesh tracking processing on the mesh data of the frame of the previous time with respect to the frame whose key frame flag supplied from the flag generation device 12 is “0”. , The mesh data after mesh tracking processing is supplied to the encoding device 14.
  • the U mesh is used as it is It supplies to the encoding device 14 as an R mesh.
  • the encoding device 14 compresses and encodes the R mesh of each frame supplied from the tracking device 13 according to a predetermined encoding method.
  • the compressed mesh data of each frame obtained by compression coding is supplied to the transmission device 15.
  • FMC Frame-based Animated Mesh Coding
  • SC-3 DMC Scalable Complexity 3D Mesh Compression
  • the transmitter 15 stores the compressed mesh data of each frame supplied from the encoder 14 and the key frame flag of each frame supplied from the flag generator 12 in one bit stream and receives it via the network Send to device 16.
  • the network is, for example, the Internet, a telephone line network, a satellite communication network, various LANs (Local Area Networks) including Ethernet (registered trademark), WANs (WIDe Area Networks), IP-VPNs (Internet Protocol-Virtual Private Network), etc. It consists of a dedicated network of
  • the receiver 16 receives a bit stream of 3D data transmitted from the transmitter 15 via the network. Then, the receiving device 16 separates the compressed mesh data of each frame stored in the bit stream of the received 3D data and the key frame flag of each frame, and supplies the compressed mesh data of each frame to the decoding device 17 The key frame flag of each frame is supplied to the image generation device 18.
  • the decoding device 17 decodes the compressed mesh data of each frame supplied from the receiving device 16 by a method corresponding to the coding method in the coding device 14.
  • the decoding device 17 supplies the R mesh of each frame obtained by decoding to the image generation device 18.
  • the image generation device 18 uses the R mesh of each frame supplied from the decoding device 17 and the key frame flag of each frame supplied from the receiving device 16 to generate the intervals between each frame supplied from the receiving device 16.
  • An interpolation frame generation process is performed to generate an interpolation frame to be interpolated.
  • the image generation device 18 generates 3D data with the frame rate up-converted. More specifically, the image generation device 18 generates the R mesh of the interpolation frame to be newly generated between the frames supplied from the decoding device 17 by interpolation processing based on the key frame flag of each frame. And generates mesh data of a frame rate higher than that of the received mesh data, and outputs the mesh data to a device at a subsequent stage.
  • the device at the rear stage is configured by, for example, a drawing device that generates a 3D image based on the supplied mesh data and causes the display to display the image.
  • the interpolation frame generation processing performed by the image generation device 18 will be described with reference to FIGS. 5 and 6.
  • the frame rate of the photographed image obtained by the plurality of imaging devices 10A and the U mesh and R mesh for which the photographed image is generated is 30 fps (frame per second), and the interpolation frame generation processing A case of generating a 60 fps R mesh will be described.
  • FIG. 5 is a diagram for explaining interpolation frame generation processing in the case where the key frame flag is “0”, that is, the 3D shape does not largely change between the preceding and succeeding frames.
  • a U mesh 42 is generated in frame units from photographed images 41 obtained by the plurality of imaging devices 10A. Then, in the tracking device 13, the U mesh 42 is converted to the R mesh 43, and the 30 fps R mesh 43 is transmitted from the transmission side to the reception side.
  • the 30 fps captured images 41 obtained by the plurality of imaging devices 10A are the captured image 41 t , the captured images 41 t + 2 , and so on, and the 30 fps U mesh 42 generated by the 3D modeling device 11 is , U mesh 42 t , U mesh 42 t + 2 ,..., And the R mesh 43 converted by the tracking device 13 is R mesh 43 t , R mesh 43 t + 2 ,.
  • the subscript t in the captured image 41 t and the captured image 41 t + 2 indicates the time when the captured image 41 is obtained. The same applies to the U mesh 42 and the R mesh 43.
  • the image generation device 18 generates a 60 fps R mesh 43 from the 30 fps R mesh 43 received from the transmission side by interpolation frame generation processing.
  • the image generating apparatus 18, and R mesh 43 t at time t from the time t + 2 of R mesh 43 t + 2 Prefecture, generates the R mesh 43 t + 1 at time t + 1.
  • the R frame 43 t at time t and the key frame flag of R mesh 43 t + 2 at time t + 2 are both “0”, indicating that the 3D shape has not changed significantly in the previous and subsequent frames.
  • the image generation device 18 calculates the coordinates of each vertex of the R mesh 43 t at time t and the R mesh 43 t + 2 corresponding to time t + 2 at time t + 1.
  • the R mesh 43 t + 1 at time t + 1 is generated by calculating the coordinates of the vertex.
  • the color information corresponding to R mesh 43 t + 1 at time t + 1 is not particularly limited in the present technology, and color information of R mesh 43 t at time t and color information of R mesh 43 t + 2 at time t + 2 are used. , Shall be generated in any way.
  • FIG. 6 is a diagram for explaining an interpolation frame generation process in the case where the key frame flag is “1”, that is, the 3D shape largely changes in the preceding and succeeding frames.
  • the R mesh 43 t + 2 at time t + 2 does not correspond to the R mesh 43 t at time t immediately before, so FIG. It is not possible to perform the interpolation process using the R mesh 43 t at time t and the R mesh 43 t + 2 at time t + 2 as described with reference to FIG.
  • the difference between the number of vertices of the U mesh 42 in the frames before and after time t and time t + 2 is a predetermined number or more, or 1 in mesh tracking processing. If the corresponding vertex with the previous frame can not be determined, etc.
  • the image generation device 18 copies the R mesh 43 t at time t to generate an R mesh 43 t + 1 at time t + 1.
  • the image generation device 18 copies the R mesh 43 t + 2 at time t + 2 to generate the R mesh 43 t + 1 at time t + 1.
  • R mesh 42 t + 2 at time t + 2 since U mesh 42 t + 2 at time t + 2 is one which is copied, in effect, by copying the U mesh 42 t + 2 at time t + 2, time t + 1 the R Generate a mesh.
  • the image generation device 18 changes the method of generating the interpolation frame based on the key frame flag.
  • step S12 the flag generation device 12 sets 1 to a variable i indicating a frame number of 3D data.
  • the head frame for which the key frame flag "1" is set in step S11 corresponds to the frame number "0".
  • step S13 the flag generation device 12 calculates the difference degree Si between the U mesh of the i-th frame and the U mesh of the (i-1) -th frame.
  • step S14 the flag generation device 12 determines whether the calculated degree of difference Si of the i-th frame is larger than a predetermined threshold.
  • the key frame flag of the frame is set to “1”, and the process proceeds to step S17.
  • step S17 the flag generation device 12 determines whether the variable i indicating the frame number is smaller than (total number of frames ⁇ 1) of the 3D data supplied from the 3D modeling device 11.
  • step S17 If it is determined in step S17 that the variable i indicating the frame number is smaller than the (total number of frames-1) of 3D data, that is, the key frame flag is not set yet for all 3D data, the process is Go to S18.
  • step S18 the process is returned to step S13, and the above-described steps S13 to S17 are executed again. Thereby, the key frame flag of the next frame is set.
  • step S17 when it is determined in step S17 that the variable i indicating the frame number is equal to or more than the (total number of frames-1) of 3D data, that is, the key frame flag is set for all 3D data, key frame flag generation The process ends.
  • the transmitting device 15 stores the compressed mesh data supplied from the encoding device 14 and the key frame flag of each frame supplied from the flag generating device 12 in one bit stream, through the network. And transmit to the receiver 16.
  • any of two types of storage methods shown in FIG. 8 can be taken.
  • One storage method is a method of storing a key frame flag for each frame as shown in FIG. 8A, and for example, the key frame flag is stored as metadata of mesh data of each frame.
  • Another storage method is a method of storing key frame flags of all frames together as shown in B of FIG. 8; for example, key frame flags of all frames are stored as bit stream metadata. Stored.
  • step S31 the transmitting device 15 sets 0 to a variable i indicating a frame number of 3D data.
  • step S32 the transmitting device 15 uses the key frame flag (the value of KeyFrameFlag (i)) of the i-th frame supplied from the flag generating device 12 as metadata attached to the compressed mesh data of the i-th frame.
  • key frame flag the value of KeyFrameFlag (i)
  • step S33 the transmission device 15 stores the compressed mesh data of the i-th frame supplied from the encoding device 14 in the bit stream.
  • step S34 the transmitting device 15 determines whether the variable i indicating the frame number is smaller than (total number of frames ⁇ 1) of the 3D data supplied from the encoding device 14.
  • step S34 it is determined that the variable i indicating the frame number is smaller than the (total number of frames-1) of the 3D data, that is, the key frame flag is not stored for all the frames of the 3D data to be transmitted The process proceeds to step S35.
  • step S35 After the variable i indicating the frame number is incremented by 1 in step S35, the process is returned to step S32, and the above-described steps S32 to S34 are executed again. Thereby, processing for storing the key frame flag of the next frame is performed.
  • step S34 if it is determined in step S34 that the variable i indicating the frame number is equal to or greater than (total number of frames-1) of 3D data, that is, key frame flags are stored for all frames of 3D data to be transmitted.
  • the key frame flag storage process is ended.
  • step S51 the transmitting device 15 sets 0 to a variable i indicating a frame number of 3D data.
  • step S52 the transmission device 15 stores the key frame flag (the value of KeyFrameFlag (i)) of the i-th frame supplied from the flag generation device 12 in the bitstream as metadata attached to the bitstream.
  • step S53 the transmitting device 15 determines whether the variable i indicating the frame number is smaller than (total number of frames-1) of the 3D data supplied from the encoding device 14.
  • step S53 it is determined that the variable i indicating the frame number is smaller than (the total number of frames minus 1) of the 3D data, that is, the key frame flag is not stored for all the frames of the 3D data to be transmitted The process proceeds to step S54.
  • step S54 After the variable i indicating the frame number is incremented by 1 in step S54, the process is returned to step S52, and the above-described steps S52 and S53 are executed again. Thereby, processing for storing the key frame flag of the next frame is performed.
  • step S53 if it is determined in step S53 that the variable i indicating the frame number is equal to or more than the (total number of frames-1) of 3D data, that is, key frame flags are stored for all frames of 3D data to be transmitted.
  • the processing proceeds to step S55.
  • step S55 the transmitting device 15 sets 0 again to the variable i indicating the frame number of the 3D data.
  • step S56 the transmitting device 15 stores the compressed mesh data of the i-th frame supplied from the encoding device 14 in the bit stream.
  • step S57 the transmitting device 15 determines whether the variable i indicating the frame number is smaller than (total number of frames ⁇ 1) of the 3D data supplied from the encoding device.
  • step S57 it is determined that the variable i indicating the frame number is smaller than (total number of frames-1) of 3D data, that is, compressed mesh data of all frames of 3D data to be transmitted is not stored yet The process proceeds to step S58.
  • step S58 the process is returned to step S56, and the above-described steps S56 and S57 are executed again. As a result, processing for storing compressed mesh data of the next frame is performed.
  • step S57 if it is determined in step S57 that the variable i indicating the frame number is equal to or greater than (the total number of frames-1) of 3D data, that is, compressed mesh data is stored for all frames of 3D data to be transmitted.
  • the key frame flag storage process is ended.
  • Key frame flag separation process is a process executed by the reception device 16 when the transmission device 15 performs the key frame flag storage process of FIG. 9 and transmits a bit stream.
  • step S71 the receiving device 16 sets 0 to a variable i indicating a frame number of 3D data.
  • step S72 the reception device 16 separates and acquires the key frame flag (the value of KeyFrameFlag (i)) of the ith frame and the compressed mesh data of the ith frame. Then, the reception device 16 supplies the key frame flag of the ith frame to the image generation device 18, and supplies the compressed mesh data of the ith frame to the decryption device 17.
  • the key frame flag the value of KeyFrameFlag (i)
  • step S73 the receiving device 16 determines whether the variable i indicating the frame number is smaller than (total number of frames minus 1) of the 3D data.
  • the total number of frames of 3D data can be obtained, for example, from bit stream metadata.
  • step S73 it is determined that the variable i indicating the frame number is smaller than (total number of frames-1) of 3D data, that is, key frame flag and compressed metadata are not separated for all frames of received 3D data If yes, the process proceeds to step S74.
  • step S74 After the variable i indicating the frame number is incremented by 1 in step S74, the process is returned to step S72, and the above-described step S72 is executed again. Thereby, processing is performed to separate the key frame flag and compressed metadata of the next frame.
  • step S73 it is determined that the variable i indicating the frame number is equal to or greater than (total number of frames-1) of 3D data, that is, key frame flag and compressed metadata have been separated for all frames of received 3D data. If so, the key frame flag separation process is terminated.
  • This process is a process executed by the reception device 16 when the transmission device 15 performs the key frame flag storage process of FIG. 10 and transmits a bit stream.
  • step S 91 the receiving device 16 acquires key frame flags (values of KeyFrameFlag (i)) of all frames stored as metadata attached to a bit stream, and supplies the key frame flags to the image generating device 18. .
  • step S92 the receiving device 16 sets 0 to a variable i indicating a frame number of 3D data.
  • step S93 the reception device 16 acquires the compressed mesh data of the i-th frame and supplies the mesh data to the decoding device 17.
  • step S94 the receiving device 16 determines whether the variable i indicating the frame number is smaller than (total number of frames minus 1) of the 3D data.
  • the total number of frames of 3D data can be obtained, for example, from bit stream metadata.
  • step S94 it is determined that the variable i indicating the frame number is smaller than (total number of frames-1) of 3D data, that is, compression metadata of all frames of received 3D data has not been acquired yet The process proceeds to step S95.
  • step S95 After the variable i indicating the frame number is incremented by 1 in step S95, the process is returned to step S93, and the above-described step S93 is executed again. Thus, processing for acquiring compressed mesh data of the next frame is performed.
  • step S94 if it is determined in step S94 that the variable i indicating the frame number is equal to or greater than (total number of frames-1) of 3D data, that is, compression metadata of all frames of received 3D data has been acquired.
  • the key frame flag separation processing is ended.
  • step S111 the image generation device 18 sets 1 to a variable i indicating a frame number of 3D data.
  • step S112 the image generation device 18 determines whether the key frame flag (the value of KeyFrameFlag (i)) of the i-th frame is “1”.
  • step S112 the key frame flag of the i-th frame is "1", that is, the R mesh of the i-th frame is largely changed as compared with the R mesh of the (i-1) -th frame In the case, the process proceeds to step S113.
  • step S113 the image generation device 18 sets the R mesh of the (i-1) -th frame as the R mesh of the interpolation frame of the time to be generated between the (i-1) -th and i-th frames.
  • the image generation device 18 copies the R mesh of the (i-1) -th frame to generate the R mesh of the interpolation frame between the (i-1) -th and i-th frames.
  • the R mesh (U mesh) of the i-th frame may be used as the R mesh of the frame of the time to be generated, instead of using the R mesh of the (i-1) -th frame.
  • step S112 the key frame flag of the ith frame is not "1" (is "0"), that is, the R mesh of the ith frame is the R mesh of the (i-1) th frame If the change is not large as compared with the above, the process proceeds to step S114.
  • step S114 the image generation device 18 performs interpolation processing using the R mesh of the (i-1) -th frame and the R mesh of the i-th frame to generate the (i-1) -th and i-th frames. Generate an R mesh of the interpolated frame between
  • step S115 the image generation device 18 determines whether the variable i indicating the frame number is smaller than (total number of frames ⁇ 1) of the 3D data.
  • step S115 If it is determined in step S115 that the variable i indicating the frame number is smaller than the (total number of frames-1) of the 3D data, that is, the interpolation frame between all the frames of 3D data has not been generated yet. The processing proceeds to step S116.
  • step S116 After the variable i indicating the frame number is incremented by 1 in step S116, the process is returned to step S112, and the above-described steps S112 to S115 are executed again. This generates the R mesh of the interpolation frame between the next frames.
  • step S115 when it is determined in step S115 that the variable i indicating the frame number is equal to or more than the (total number of frames-1) of 3D data, that is, it is determined that an interpolation frame between all frames of 3D data is generated.
  • the frame generation process is ended.
  • step S131 the image generation device 18 sets 0 to a variable v indicating the vertex number of the interpolation frame to be generated.
  • step S132 the image generation device 18 calculates the coordinates (x (i-1) v , y (i-1) v , z (i-1) v ) of the v-th vertex of the (i-1) -th frame. And the corresponding v th vertex coordinates (x iv , y iv , z iv ) of the i th frame, and the coordinates of the v th vertex of the interpolation frame (x ′ v , y ′ v , z ′ v Calculate).
  • the coordinates (x ' v , y' v , z ' v ) of the v-th vertex of the interpolation frame can be calculated by the following.
  • x ' v (x (i-1) v + x iv ) / 2
  • y ' v (y (i-1) v + y iv ) / 2
  • z ' v (z (i-1) v + z iv ) / 2
  • step S133 the image generation device 18 determines whether the variable v indicating the vertex number is smaller than (total number of vertices-1) of the interpolation frame.
  • the total number of vertices of the interpolation frame is set to be the same as the total number of vertices of the (i-1) -th frame and the i-th frame.
  • step S133 If it is determined in step S133 that the variable v indicating the vertex number is smaller than (total number of vertices minus 1) of the interpolation frame, the process proceeds to step S134.
  • step S134 the process is returned to step S132, and the above-described steps S132 and S133 are executed again. This calculates the coordinates of the next vertex of the interpolated frame.
  • step S133 when it is determined in step S133 that the variable v indicating the vertex number is equal to or greater than (total number of vertices-1) of the interpolation frame, that is, coordinates are calculated for all the vertices of the interpolation frame, the interpolation processing ends Be done.
  • transmission data transmission processing which is processing on the whole transmission side, will be described with reference to the flowchart in FIG. In addition, before this processing is started, it is assumed that photographed images obtained by photographing a subject with each of the plurality of imaging devices 10A are supplied to the 3D modeling device 11 and stored internally.
  • the 3D modeling device 11 generates 3D data using a plurality of captured images captured synchronously by the plurality of imaging devices 10A.
  • the generated 3D data is supplied to the flag generator 12 and the tracking device 13.
  • the captured image is only a texture image when each imaging device 10A is configured by a passive camera, and is a texture image, an IR image, and a depth image when each imaging device 10A is configured by an active camera.
  • the 3D data is represented in a format that holds mesh data of polygon meshes and color information corresponding to each polygon mesh.
  • step S152 the flag generation device 12 generates a key frame flag for each frame of 3D data supplied from the 3D modeling device 11. More specifically, the flag generation device 12 calculates the degree of difference between mesh data of two adjacent frames, and sets the key frame flag to “1” when the calculated degree of difference is greater than a predetermined threshold. The key frame flag is set to “0” if the difference is less than or equal to a predetermined threshold that has been set and calculated.
  • the details of the process of step S152 correspond to the key frame flag generation process described with reference to FIG.
  • step S153 the tracking device 13 executes mesh tracking processing, and generates an R mesh from the U mesh of each frame of 3D data supplied from the 3D modeling device 11.
  • the generated R mesh is supplied to the encoding device 14.
  • step S154 the encoding device 14 compresses and encodes the R mesh of each frame supplied from the tracking device 13 according to a predetermined encoding method.
  • the compressed mesh data obtained by compression coding is supplied to the transmission device 15.
  • step S155 the transmitter 15 stores the compressed mesh data of each frame supplied from the encoder 14 and the key frame flag of each frame supplied from the flag generator 12 in the bit stream.
  • the details of the process of step S 155 are the key frame flag storage process described with reference to FIGS. 9 and 10.
  • step S156 the transmitting device 15 transmits the generated bit stream to the receiving device 16 via the network.
  • transmission data reception processing which is processing on the whole reception side, will be described with reference to the flowchart in FIG. This process is started, for example, when the receiver 16 has transmitted a bitstream from the transmitter 15.
  • step S171 the receiving device 16 receives a bit stream of 3D data transmitted from the transmitting device 15 via the network.
  • step S172 the receiving device 16 separates the compressed mesh data of each frame stored in the bit stream of the received 3D data from the key frame flag of each frame.
  • the receiver 16 supplies the compressed mesh data of each frame to the decoder 17 and supplies the key frame flag of each frame to the image generator 18.
  • the details of the process of step S172 correspond to the key frame flag separation process described with reference to FIGS. 11 and 12.
  • step S173 the decoding device 17 decodes the compressed mesh data of each frame supplied from the receiving device 16 by a method corresponding to the encoding method in the encoding device 14.
  • the decoding device 17 supplies the R mesh of each frame obtained by decoding to the image generation device 18.
  • step S 174 the image generation device 18 executes interpolation frame generation processing using the R mesh of each frame supplied from the decoding device 17 and the key frame flag of each frame supplied from the decoding device 17, Generate frame rate upconverted 3D data.
  • the details of the process of step S174 are the interpolation frame generation process of FIG.
  • the key frame flag is generated and transmitted on the transmission side, and on the reception side, each frame received based on the key frame flag.
  • High frame rate 3D data can be generated by performing interpolation frame generation processing that interpolates between the two.
  • low frame rate 3D data and a key frame flag of each frame can be received to generate high frame rate 3D data.
  • 3D data transmitted in the image processing system 1 is mesh data of 3D shape, it is robust against changes in 3D shape.
  • the Hausdorff distance is calculated as the difference between the two frames, and the value of the key frame flag as information based on the difference between the two frames based on the calculated Hausdorff distance. was decided.
  • the value of the calculated Hausdorff distance may be transmitted as it is, as information based on the degree of difference between the two frames.
  • Example using interpolation type> other information may be transmitted from the transmitting side to the receiving side as information based on the degree of difference between two frames.
  • the transmitting side may transmit, as information based on the degree of difference between two frames, an interpolation type (Interpolation Type) that specifies an interpolation method for generating an interpolation frame, instead of transmitting a key frame flag.
  • an interpolation type (Interpolation Type) that specifies an interpolation method for generating an interpolation frame, instead of transmitting a key frame flag.
  • the flag generation device 12 causes the image generation device 18 to execute interpolation processing
  • the interpolation type “0” when using the frame after the interpolation frame, the interpolation type “1”,
  • the interpolation type "2" is transmitted.
  • the interpolation type is determined based on the key frame flag.
  • the interpolation type generation process executed by the flag generation device 12 will be described with reference to the flowchart of FIG. Note that this process is executed after the key frame flag generation process of FIG. 7 and the key frame flag of each frame is known.
  • step S201 the flag generation device 12 sets 0 to a variable i indicating a frame number of 3D data.
  • step S202 the flag generation device 12 determines whether the key frame flag of the (i + 1) th frame is generated.
  • step S202 when it is determined in step S202 that the key frame flag of the (i + 1) th frame is generated, the process proceeds to step S204, and the flag generation device 12 detects the key frame flag of the (i + 1) th frame Is determined to be "0".
  • step S204 If it is determined in step S204 that the key frame flag of the (i + 1) th frame is not “0”, that is, the key frame flag of the (i + 1) th frame is “1”, the process proceeds to step S205. move on.
  • step S207 the flag generation device 12 determines whether the variable i indicating the frame number is smaller than (total number of frames minus 1) of the 3D data.
  • step S207 If it is determined in step S207 that the variable i indicating the frame number is smaller than the (total number of frames-1) of 3D data, that is, it is determined that the interpolation type of all frames of 3D data has not been determined Go to S208.
  • step S208 the process is returned to step S202, and the above-described steps S202 to S207 are executed again. This determines the interpolation type for the next frame.
  • step S207 if it is determined in step S207 that the variable i indicating the frame number is equal to or more than the (total number of frames-1) of 3D data, that is, it is determined that the interpolation type of all frames of 3D data has been determined Processing is ended.
  • step S221 the image generation device 18 sets 1 in a variable i indicating a frame number of 3D data.
  • step S222 the image generation device 18 determines whether the interpolation type (the value of the interpolation type (i)) of the i-th frame is "0".
  • step S222 If it is determined in step S222 that the interpolation type of the ith frame is "0", the process proceeds to step S223.
  • step S223 the image generation device 18 performs interpolation processing using the R mesh of the (i-1) -th frame and the R mesh of the i-th frame to generate the (i-1) -th and i-th frames.
  • the R mesh of the interpolation frame during the period is generated, and the process proceeds to step S227.
  • step S222 when it is determined in step S222 that the interpolation type of the i-th frame is not "0", the process proceeds to step S224.
  • step S224 the image generation device 18 determines whether the interpolation type (the value of the interpolation type (i)) of the i-th frame is “1”.
  • step S224 If it is determined in step S224 that the interpolation type of the ith frame is “1”, the process proceeds to step S225, and the image generation device 18 copies the R mesh of the ith frame to -1) Generate an R mesh of an interpolation frame at a time to be generated between the n-th and the i-th, and the process proceeds to step S227.
  • step S224 when it is determined in step S224 that the interpolation type of the ith frame is not "1", that is, "2”, the process proceeds to step S226, and the image generating device 18 determines the (i-1) th frame.
  • the R mesh of the frame is copied to generate an R mesh of the interpolation frame of the time to be generated between the (i ⁇ 1) th and the ith, and the process proceeds to step S227.
  • step S227 the image generation device 18 determines whether the variable i indicating the frame number is smaller than (total number of frames-1) of the 3D data.
  • step S227 if it is determined that the variable i indicating the frame number is smaller than the (total number of frames-1) of the 3D data, that is, the interpolation frame between all the frames of 3D data has not been generated yet The processing proceeds to step S228.
  • step S2208 the process is returned to step S222, and the above-described steps S222 to S227 are executed again. This generates the R mesh of the interpolation frame between the next frames.
  • step S227 when it is determined in step S227 that the variable i indicating the frame number is equal to or greater than (total number of frames-1) of 3D data, that is, it is determined that interpolation frames between all frames of 3D data are generated.
  • the frame generation process is ended.
  • the receiving side can generate the interpolation frame between the received frames based on the interpolation type.
  • FIG. 19 is a block diagram showing a configuration example of a second embodiment of an image processing system to which the present technology is applied.
  • the encoding device 14 on the transmission side and the decoding device 17 on the reception side are omitted.
  • the compressed mesh data of each frame is stored in the bit stream, but in the second embodiment, mesh data of each frame which is not compression-coded is stored.
  • the tracking device 13 supplies the R mesh, which is the mesh data after the mesh tracking process, to the transmission device 15.
  • the transmitter 15 stores the R mesh of each frame supplied from the tracking device 13 and the key frame flag of each frame supplied from the flag generator 12 in one bit stream, and the receiver 16 via the network. Send to
  • the receiving device 16 receives the bit stream of 3D data transmitted from the transmitting device 15 through the network, and separates the mesh data of each frame and the key frame flag stored in the bit stream of the received 3D data. To the image generation device 18.
  • the transmission data transmission process on the transmission side in the second embodiment is a process in which step S154 is omitted among steps S151 to S156 in FIG.
  • the transmission data reception process on the receiving side in the second embodiment is a process in which step S173 is omitted among steps S171 to S174 in FIG.
  • the mesh data to be transmitted may be compression-encoded by a predetermined encoding method as in the first embodiment, or may not be compression-encoding as in the second embodiment.
  • FIG. 20 is a block diagram illustrating a configuration example of a third embodiment of an image processing system to which the present technology is applied.
  • the flag generation device 12 on the transmission side is omitted, and the transmission device 15 is replaced by the transmission device 61.
  • the transmitting device 15 is replaced with the receiving device 62, and the flag estimation device 63 is newly added.
  • the key frame flag of each frame is generated in the flag generation device 12 and stored in the bit stream and transmitted.
  • the key frame flag of each frame is not generated. , Not transmitted to the receiver.
  • the transmitting device 61 differs from FIG. 15 of the first embodiment in that the transmitting device 61 stores only the compressed mesh data of each frame in the bit stream and does not store the key frame flag of each frame.
  • the transmission data transmission process on the transmission side in the third embodiment is the process excluding the process related to the key frame flag of the transmission data transmission process of FIG.
  • the receiving device 62 receives the bit stream from the transmitting device 61 in which only the compressed mesh data of each frame is stored, and supplies the bit stream to the decoding device 17. That is, the receiving device 62 differs from the receiving device 16 according to the first embodiment in that the key frame flag separation process is not performed.
  • the flag estimation device 63 estimates and generates the key frame flag based on the frame type of each frame, and supplies it to the image generation device 18.
  • the flag estimation device 63 is for Intra frame (hereinafter referred to as I frame), Predictive frame (hereinafter referred to as P frame), or Bidirectionally Predictive frame (hereinafter referred to as B frame).
  • I frame Intra frame
  • P frame Predictive frame
  • B frame Bidirectionally Predictive frame
  • the key frame flag is determined to "1" for a frame whose frame type is I frame
  • the key frame flag is "0" for a frame whose frame type is P frame or B frame. Decide on and generate.
  • step S241 the flag estimation device 63 sets 0 to a variable i indicating a frame number of 3D data.
  • step S 242 the flag estimation device 63 determines whether the frame type of the ith frame is an I frame (Intra frame).
  • step S242 If it is determined in step S242 that the frame type of the ith frame is an I frame, the process proceeds to step S243.
  • step S 243 the flag estimation device 63 determines that the key frame flag of the i-th frame is “1”, and supplies it to the image generation device 18.
  • step S242 when it is determined in step S242 that the frame type of the ith frame is not an I frame, that is, the frame type of the ith frame is a P frame or a B frame, the process proceeds to step S244.
  • step S 244 the flag estimation device 63 determines the key frame flag of the ith frame to “0”, and supplies it to the image generation device 18.
  • step S245 the flag estimation device 63 determines whether the variable i indicating the frame number is smaller than (total number of frames minus 1) of the 3D data.
  • step S245 If it is determined in step S245 that the variable i indicating the frame number is smaller than the (total number of frames-1) of the 3D data, that is, the key frame flags of all the frames of the 3D data are not determined The process proceeds to step S246.
  • step S246 After the variable i indicating the frame number is incremented by 1 in step S246, the process is returned to step S242, and the above-described steps S242 to S245 are executed again. This generates a key frame flag for the next frame.
  • step S245 if it is determined in step S245 that the variable i indicating the frame number is equal to or greater than (total number of frames-1) of 3D data, that is, it is determined that key frame flags of all frames of 3D data have been determined.
  • the flag estimation process is ended.
  • the separation process of the compressed mesh data and the key frame flag in step S172 of the transmission data reception process of FIG. 16 is replaced with the key frame flag estimation process described above and received. Instead of the key frame flag, processing is performed using the estimated key frame flag.
  • FIG. 22 is a block diagram showing a configuration example of a fourth embodiment of an image processing system to which the present technology is applied.
  • a plurality of imaging devices 10B-1 to 10B-M M> 1
  • 3D modeling device 111 3D modeling device 111
  • tracking device The encoder 113, the encoder 114, and the transmitter 115 are newly provided.
  • a receiving device 116 and a decoding device 117 are newly provided.
  • the image generation device 18 is replaced by a hybrid image generation device 120.
  • imaging device 10B When it is not necessary to distinguish each of the plurality of imaging devices 10B-1 to 10B-M, they are simply referred to as an imaging device 10B.
  • 3D data based on captured images obtained by the plurality of imaging devices 10A is transmitted from the transmitting side to the receiving side, and 3D based on the captured images obtained by the plurality of imaging devices 10B. Data is also transmitted from the sender to the receiver.
  • the plurality of imaging devices 10A and the plurality of imaging devices 10B share a common point in that the subject is captured synchronously and the captured image obtained as a result thereof is supplied to the subsequent 3D modeling device 11 or 3D modeling device 111.
  • the plurality of imaging devices 10A are configured by either a passive camera or an active camera, and the plurality of imaging devices 10B are also configured by either a passive camera or an active camera.
  • the plurality of imaging devices 10A and the plurality of imaging devices 10B are different in that the frame rates at the time of photographing the subject are different.
  • the frame rates of captured images captured by the plurality of imaging devices 10B are higher than the frame rates of captured images captured by the plurality of imaging devices 10A.
  • both of the imaging device 10A and the imaging device 10B may be configured by either a passive camera or an active camera, in general, the frame rate is lower in the active camera, so the present embodiment
  • the plurality of imaging devices 10B are passive cameras performing imaging at 60 fps
  • the plurality of imaging devices 10A are active cameras performing imaging at 30 fps.
  • the 3D modeling device 111 executes modeling processing of the 3D shape of the subject based on a plurality of photographed images obtained by imaging with each of the plurality of imaging devices 10B. 3D data is supplied to the tracking device 113.
  • 3D data based on captured images obtained by a plurality of imaging devices 10B is referred to as 3D data B
  • the tracking device 113 executes mesh tracking processing on mesh data (U mesh) of each frame supplied as 3D data B from the 3D modeling device 111, and the mesh data after mesh tracking processing (R mesh) is supplied to the encoding device 114.
  • the encoding device 114 compresses and encodes the R mesh of each frame supplied from the tracking device 113 according to a predetermined encoding method, and the resulting compressed mesh data of each frame is , To the transmitter 115.
  • the transmitter 115 stores only the compressed mesh data of each frame in the bit stream and transmits it to the receiver 116, as in the transmitter 61 of the third embodiment which does not transmit the key frame flag.
  • the receiver 116 receives the bit stream and supplies it to the decoder 117 as in the receiver 62 of the third embodiment which does not transmit the key frame flag.
  • the decoding device 117 decodes the compressed mesh data of each frame supplied from the receiving device 116 in a method corresponding to the coding method in the coding device 114.
  • the decoding device 117 supplies the R mesh of each frame obtained by decoding to the hybrid image generation device 120.
  • the tracking device 113 may be omitted.
  • the U mesh of each frame output from the tracking device 113 is supplied to the encoding device 114.
  • the interpolation frame generation processing by the hybrid image generation device 120 will be described with reference to FIG.
  • FIG. 23 is a diagram for explaining an interpolation frame generation process when the key frame flag at time t + 2 is “1”, as in FIG. 6 in the first embodiment.
  • the 60 fps captured image 44 t , the captured image 44 t + 1 , the captured image 44 t + 2 ,... Obtained by the plurality of imaging devices 10 B are added.
  • the R mesh 42 t + 1 at time t + 1 is generated using the R mesh obtained from the captured image 44 t + 1 having a high frame rate.
  • the interpolation frame generation process when the key frame flag is "0" is the same as that of the first embodiment.
  • the R mesh 43 t + 3 at time t + 3 is generated by interpolation processing between the R mesh 43 t + 2 at time t + 2 and the R mesh 43 t + 4 at time t + 4.
  • the processing on the transmission side for transmitting 3D data B based on a plurality of photographed images obtained by a plurality of imaging devices 10B is the same as the transmission data transmission processing of the third embodiment in which the key frame flag of each frame is not transmitted. .
  • the process on the receiving side for receiving 3D data B based on a plurality of photographed images obtained by a plurality of imaging devices 10B does not separate the key frame flag of each frame, and steps S171 and S173 of the transmission data reception process of FIG. Processing.
  • Hybrid interpolation frame generation processing A hybrid interpolation frame generation process of generating 3D data in which the frame rate is upconverted by using two types of 3D data A and B having different frame rates will be described with reference to the flowchart of FIG.
  • the R mesh of each frame of low frame rate from the decoding device 17 and the R mesh of each frame of high frame rate from the decoding device 117 It is supplied to the hybrid image generation device 120.
  • step S261 the hybrid image generation device 120 sets 1 to a variable i indicating the frame number of the low frame rate 3D data A.
  • step S262 the hybrid image generation device 120 determines whether the key frame flag (the value of KeyFrameFlag (i)) of the i-th frame is “1”.
  • step S262 the key frame flag of the ith frame is "1", that is, the R mesh of the ith frame is greatly changed compared to the R mesh of the (i-1) th frame If so, the process proceeds to step S263.
  • step S263 the hybrid image generation device 120 determines whether the R mesh of the frame at the time desired to be generated exists in the R mesh of the high frame rate 3D data B frame.
  • step S263 If it is determined in step S263 that there is an R mesh of the frame of the time to be generated, the process proceeds to step S264.
  • step S264 the hybrid image generation device 120 generates an R mesh of a frame at a time desired to generate high frame rate 3D data B, between the (i-1) -th and i-th interpolated frames of the time desired to be generated.
  • the process proceeds to step S 267 as a mesh.
  • step S263 determines whether there is no R mesh of the frame of the time to be generated. If it is determined in step S263 that there is no R mesh of the frame of the time to be generated, the process proceeds to step S265.
  • step S265 the hybrid image generation device 120 generates an R mesh of the low frame rate (i-1) -th frame between the (i-1) -th and the i-th R mesh of the interpolation frame at the time desired to be generated. Then, the process proceeds to step S267.
  • step S262 the key frame flag of the ith frame is not "1" (is "0"), that is, the R mesh of the ith frame is the R mesh of the (i-1) th frame If the change is not large as compared with the above, the process proceeds to step S266.
  • step S266 the hybrid image generation device 120 performs interpolation processing using the R mesh of the (i-1) -th frame at a low frame rate and the R mesh of the i-th frame, (i-1) The R mesh of the interpolation frame between the i th and i th is generated, and the process proceeds to step S 267.
  • step S267 the hybrid image generation device 120 determines whether the variable i indicating the frame number is smaller than (total number of frames ⁇ 1) of the low frame rate 3D data A.
  • step S267 it is determined that the variable i indicating the frame number is smaller than (total number of frames-1) of the 3D data A, that is, the interpolation frame between all the frames of the 3D data A has not been generated yet If so, the process proceeds to step S268.
  • step S268 After the variable i indicating the frame number is incremented by 1 in step S268, the process is returned to step S262, and the above-described steps S262 to S267 are executed again. This generates the R mesh of the interpolation frame between the next frames.
  • step S267 it is determined that the variable i indicating the frame number is equal to or greater than (the total number of frames of the 3D data A-1), that is, the interpolation frame between all the frames of the 3D data A is generated. , Hybrid interpolation frame generation processing is terminated.
  • mesh data of a high frame rate is used when the key frame flag of the frame is “1”, that is, when the change of the 3D shape of the object with the previous frame is large.
  • the key frame flag of the frame is “1”
  • the transmitting side may transmit an interpolation type for specifying an interpolation method instead of transmitting a key frame flag.
  • FIG. 25 shows a flowchart of interpolation type generation processing in the case of using an interpolation type instead of the key frame flag in the fourth embodiment. This process is executed after the key frame flag generation process of FIG. 7 and the key frame flag of each frame is known.
  • step S291 the flag generation device 12 sets 0 to a variable i indicating the frame number of the low frame rate 3D data A.
  • step S292 the flag generation device 12 determines whether the key frame flag of the (i + 1) th frame is generated.
  • step S 292 when it is determined in step S 292 that the key frame flag of the (i + 1) th frame is generated, the process proceeds to step S 294, and the flag generation device 12 detects the key frame flag of the (i + 1) th frame Is determined to be "0".
  • step S294 If it is determined in step S294 that the key frame flag of the (i + 1) th frame is not "0", that is, the key frame flag of the (i + 1) th frame is "1", the process proceeds to step S295. move on.
  • step S 295 the flag generation device 12 confirms the high frame rate 3D data B captured by the 3D modeling device 111, and it is between the i-th frame and the (i + 1) th frame of the low frame rate 3D data A. It is determined whether or not the high frame rate imaging device 10B is photographing the time of.
  • step S299 the flag generation device 12 determines whether the variable i indicating the frame number is smaller than (total number of frames-1) of the low frame rate 3D data A.
  • step S299 If it is determined in step S299 that the variable i indicating a frame number is smaller than (total number of frames ⁇ 1) of 3D data A, that is, it is determined that the interpolation type of all frames of 3D data A has not been determined. The process proceeds to step S230.
  • step S230 the process is returned to step S292, and the above-described steps S292 to S299 are executed again. This determines the interpolation type for the next frame of low frame rate 3D data A.
  • step S207 if it is determined in step S207 that the variable i indicating the frame number is equal to or more than the (total number of frames-1) of the 3D data A, that is, it is determined that the interpolation type of all the frames of the 3D data A has been determined. Type generation processing is terminated.
  • hybrid interpolation frame generation processing in the case of using the interpolation type will be described with reference to the flowchart of FIG. This process is executed instead of the hybrid interpolation frame generation process of FIG. 24 when the interpolation type is stored in the bit stream and transmitted.
  • step S311 the hybrid image generation device 120 sets 1 to a variable i indicating the frame number of the low frame rate 3D data A.
  • step S312 the hybrid image generation device 120 determines whether the interpolation type (the value of the interpolation type (i)) of the i-th frame of the 3D data A is “0”.
  • step S312 If it is determined in step S312 that the interpolation type of the ith frame is “0”, the process proceeds to step S313.
  • step S313 the hybrid image generation device 120 executes interpolation processing using the R mesh of the (i-1) th frame of the low frame rate 3D data A and the R mesh of the ith frame ( i-1) Generate the R mesh of the interpolation frame between the i-th and the i-th, and the process proceeds to step S319.
  • step S312 when it is determined in step S312 that the interpolation type of the i-th frame is not “0”, the process proceeds to step S314.
  • step S314 the hybrid image generation device 120 determines whether the interpolation type (the value of the interpolation type (i)) of the i-th frame of the 3D data A is “3”.
  • step S314 If it is determined in step S314 that the interpolation type of the ith frame is not "3”, the process proceeds to step S315, and the hybrid image generation device 120 determines that the interpolation type of the ith frame is (Interpolation Type (i) Value) is "1".
  • step S315 When it is determined in step S315 that the interpolation type (value of Interpolation Type (i)) of the i-th frame is “1”, the process proceeds to step S316, and the hybrid image generation device 120 detects low frame rate.
  • the R mesh of the i-th frame of 3D data A is copied to generate an R-mesh of an interpolation frame at a time desired to be generated between the (i ⁇ 1) th and the i th, and the process proceeds to step S319.
  • step S315 when it is determined in step S315 that the interpolation type of the i-th frame is not "1", that is, "2”, the process proceeds to step S317, and the hybrid image generation device 120 performs low frame rate 3D
  • the R mesh of the (i-1) th frame of the data A is copied to generate the R mesh of the interpolation frame of the time to be generated between the (i-1) th and the ith, and the process is performed in step S319. Advance.
  • step S314 if it is determined in step S314 that the interpolation type of the i-th frame is determined to be "3”, the process proceeds to step S318, and the hybrid image generation device 120 The R mesh of the frame between the (i ⁇ 1) th and the ith of B is copied to generate the R mesh of the interpolation frame at the time desired to be generated, and the process proceeds to step S319.
  • step S319 the hybrid image generation device 120 determines whether the variable i indicating the frame number of the low frame rate 3D data A is smaller than (total number of frames ⁇ 1) of the 3D data A.
  • step S319 it is determined that the variable i indicating the frame number is smaller than (the total number of frames-1) of the 3D data A, that is, it has not yet generated an interpolation frame between all the frames of the 3D data A If so, the process proceeds to step S320.
  • step S320 After the variable i indicating the frame number is incremented by 1 in step S320, the process is returned to step S312, and the above-described steps S312 to S319 are executed again. This generates the R mesh of the interpolation frame between the next frames.
  • step S319 it is determined that the variable i indicating the frame number is equal to or greater than (total number of frames-1) of 3D data A, that is, it is determined that an interpolation frame between all frames of 3D data A has been generated. , Interpolation frame generation processing is ended.
  • the transmitting side transmits the interpolation type instead of the key frame flag, and the receiving side is the interpolation type. Based on the interpolation frame between received frames can be generated.
  • FIG. 27 is a block diagram showing a configuration example of a fifth embodiment of an image processing system to which the present technology is applied.
  • FIG. 27 the portions corresponding to the fourth embodiment shown in FIG. 22 are assigned the same reference numerals, and the description thereof will be omitted as appropriate.
  • the fifth embodiment of FIG. 27 omits the encoding device 114 and the decoding device 117 of the fourth embodiment using two types of imaging devices 10A and 10B having different frame rates, and meshes of respective frames which are not compression encoded. Data is transmitted.
  • the fifth embodiment of FIG. 27 is similar to the relationship between the first embodiment and the second embodiment described above, including the encoding devices 14 and 114, and the decoding. Devices 17 and 117 are omitted.
  • the tracking device 13 supplies the R mesh, which is the mesh data after the mesh tracking process, to the transmission device 15.
  • the transmitter 15 stores the R mesh of each frame supplied from the tracking device 13 and the key frame flag of each frame supplied from the flag generator 12 in one bit stream, and the receiver 16 via the network. Send to
  • the receiving device 16 receives a bit stream of 3D data A transmitted from the transmitting device 15 through the network, and receives R mesh which is mesh data of each frame stored in the bit stream of the received 3D data A
  • the key frame flag is separated and supplied to the hybrid image generator 120.
  • the tracking device 113 supplies the R mesh, which is mesh data after mesh tracking processing, to the transmission device 115.
  • the transmitting device 115 stores the R mesh of each frame supplied from the tracking device 113 in one bit stream, and transmits the R mesh to the receiving device 116 via the network.
  • the receiving device 116 receives a bit stream of 3D data B transmitted from the transmitting device 15 through the network, and generates an R mesh of each frame stored in the bit stream of the received 3D data B as a hybrid image. It is supplied to the device 120.
  • the hybrid image generation device 120 uses the R mesh of each frame supplied from the decoding device 17, the key frame flag of each frame supplied from the receiving device 16, and the R mesh of each frame supplied from the decoding device 117. Then, interpolation frame generation processing is performed to generate 3D data in which the frame rate is upconverted.
  • FIG. 28 is a block diagram showing a configuration example of a sixth embodiment of an image processing system to which the present technology is applied.
  • the sixth embodiment in FIG. 28 is configured to use two types of imaging devices 10A and 10B having different frame rates.
  • the transmitting side does not transmit the key frame flag of each frame as in the third embodiment shown in FIG. 20, but the receiving side does not transmit the key frame flag of each frame. Is determined (estimated) to generate.
  • the sixth embodiment of FIG. 28 omits the transmission side flag generation device 12 of the fourth embodiment using two types of imaging devices 10A and 10B of different frame rates shown in FIG. Then, the transmitter 15 is replaced with the transmitter 61 of the third embodiment, and the transmitter 15 on the receiving side is replaced with the receiver 62 of the third embodiment, and a flag estimation device 63 is newly added. It is.
  • the transmitting side determines the key frame flag of each frame without transmitting the key frame flag of each frame (estimated ) And may execute interpolation frame generation processing.
  • FIG. 29 is a block diagram showing a configuration example of a seventh embodiment of an image processing system to which the present technology is applied.
  • the image processing system 1 according to the seventh embodiment is configured to use two types of imaging devices 10A and 10B having different frame rates, as in the above-described fourth to sixth embodiments.
  • each device that generates, transmits, and receives 3D data mesh data processes both low frame rate 3D data A and high frame rate 3D data B. It is also good.
  • the image processing system 1 of FIG. 29 includes a 3D modeling device 141, a tracking device 143, an encoding device 144, a transmitting device 145, a receiving device 146, and a decoding device 147.
  • the image processing system 1 of FIG. 29 includes a plurality of imaging devices 10A-1 to 10A-N, a plurality of imaging devices 10B-1 to 10B-M, and a flag generation device 12 as in the fourth embodiment described above. And a hybrid image generator 120.
  • the 3D modeling device 141 performs both the process performed by the 3D modeling device 11 described above and the process performed by the 3D modeling device 111. Specifically, the 3D modeling device 141 executes modeling processing of the 3D shape of the subject based on a plurality of photographed images obtained by imaging with each of the plurality of imaging devices 10A and 10B, and obtained as a result thereof Generate 3D data A and 3D data B.
  • the tracking device 143 performs both the processing performed by the tracking device 13 described above and the processing performed by the tracking device 113. Specifically, the tracking device 143 performs mesh tracking processing on the U mesh of each frame supplied as 3D data A and B from the 3D modeling device 141, converts it into an R mesh of each frame, and encodes it. The device 144 is supplied.
  • the encoding device 144 performs both the processing performed by the encoding device 14 described above and the processing performed by the encoding device 114. Specifically, the encoding device 144 compresses and encodes the R mesh of each frame as 3D data A and B supplied from the tracking device 143 according to a predetermined encoding method, and the resulting frames of each frame The compressed mesh data is supplied to the transmitter 145.
  • the transmitting device 145 performs both the process performed by the transmitting device 15 described above and the process performed by the transmitting device 115. Specifically, the transmitting device 145 stores compressed mesh data of each frame as 3D data A and a key frame flag of each frame supplied from the flag generating device 12 in one bit stream as a bit stream. , To the receiver 146 via the network. Also, the transmitting device 145 stores the compressed mesh data of each frame as 3D data B, stores it in one bit stream, and transmits it to the receiving device 146 via the network.
  • the receiver 146 performs both the process performed by the receiver 16 described above and the process performed by the receiver 116. Specifically, the receiving device 146 receives the bit stream of 3D data A transmitted from the transmitting device 145 via the network, and separates it into compressed mesh data of each frame and a key frame flag of each frame. . Also, the receiving device 146 receives the bit stream of 3D data B transmitted from the transmitting device 145 via the network, and acquires the compressed mesh data of each frame. The compressed mesh data of each frame of 3D data A and B is supplied to the decoding device 17, and the key frame flag of each frame is supplied to the hybrid image generation device 120.
  • the decryption device 147 performs both the process performed by the decryption device 17 described above and the process performed by the decryption device 117. Specifically, the decoding device 147 decodes the compressed mesh data of each frame of 3D data A and B supplied from the receiving device 146 by a method corresponding to the coding method in the coding device 14 and generates a hybrid image It is supplied to the device 120.
  • the image processing system 1 can also be configured as described above.
  • FIG. 30 is a block diagram showing a configuration example of an eighth embodiment of an image processing system to which the present technology is applied.
  • An image processing system 1 according to the seventh embodiment is a modification of the first embodiment shown in FIG.
  • 3D shape modeling processing of an object key frame flag generation processing, mesh tracking processing, compression encoding processing, key frame flag storage and transmission processing, key frame flag Different devices executed the reception and separation processing, the decoding processing, and the interpolation frame generation processing of.
  • the plurality of devices described above may be included in one device.
  • the image transmission device 161 includes the 3D modeling device 11, the flag generation device 12, the tracking device 13, the encoding device 14, and the transmission device 15 as internal blocks.
  • the 3D modeling device 11, the flag generation device 12, the tracking device 13, the encoding device 14, and the transmission device 15 respectively include a 3D modeling unit, a flag generation unit (information generation unit), and a tracking unit in the image transmission device 161. Functions as an encoder, and a transmitter.
  • the image reception device 162 has the reception device 16, the decoding device 17, and the image generation device 18 as an internal block.
  • the receiving device 16, the decoding device 17, and the image generation device 18 function as a reception unit, a decoding unit, and an image generation unit, respectively, in the image reception device 162.
  • the image transmission device 161 executes processing performed by each of the 3D modeling device 11, the flag generation device 12, the tracking device 13, the encoding device 14, and the transmission device 15.
  • the image reception device 162 executes processing performed by each of the reception device 16, the decoding device 17, and the image generation device 18.
  • the configuration shown in FIG. 30 is merely an example, and a plurality of arbitrary devices can be configured to be performed by one device.
  • the flag generation device 12, the tracking device 13, and the encoding device 14 may constitute one device.
  • FIG. 30 is a configuration in which a plurality of devices in the first embodiment shown in FIG. 1 are put together into one device, similarly with regard to the other embodiments described above, any plurality The device can be configured to be performed by one device.
  • Example of computer configuration> The above-described series of processes may be performed by hardware or software.
  • a program that configures the software is installed on a computer.
  • the computer includes, for example, a microcomputer incorporated in dedicated hardware, and a general-purpose personal computer capable of executing various functions by installing various programs.
  • FIG. 31 is a block diagram showing an example of a hardware configuration of a computer that executes the series of processes described above according to a program.
  • a central processing unit (CPU) 301 In the computer, a central processing unit (CPU) 301, a read only memory (ROM) 302, and a random access memory (RAM) 303 are mutually connected by a bus 304.
  • CPU central processing unit
  • ROM read only memory
  • RAM random access memory
  • an input / output interface 305 is connected to the bus 304.
  • An input unit 306, an output unit 307, a storage unit 308, a communication unit 309, and a drive 310 are connected to the input / output interface 305.
  • the input unit 306 includes a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 307 includes a display, a speaker, an output terminal, and the like.
  • the storage unit 308 includes a hard disk, a RAM disk, a non-volatile memory, and the like.
  • the communication unit 309 includes a network interface and the like.
  • the drive 310 drives a removable recording medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 301 loads, for example, the program stored in the storage unit 308 into the RAM 303 via the input / output interface 305 and the bus 304 and executes the program. Processing is performed.
  • the RAM 303 also stores data necessary for the CPU 301 to execute various processes.
  • the program can be installed in the storage unit 308 via the input / output interface 305 by attaching the removable recording medium 311 to the drive 310.
  • the program can be received by the communication unit 309 via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting, and can be installed in the storage unit 308.
  • the program can be installed in advance in the ROM 302 or the storage unit 308.
  • the steps described in the flowchart are, of course, performed in chronological order according to the described order, and are not necessarily processed in chronological order, but may be performed in parallel or in parallel. It may be executed at a necessary timing such as when it happens.
  • a system means a set of a plurality of components (apparatus, modules (parts), etc.), and it does not matter whether all the components are in the same case. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. .
  • the present technology can have a cloud computing configuration in which one function is shared and processed by a plurality of devices via a network.
  • each step described in the above-described flowchart can be executed by one device or in a shared manner by a plurality of devices.
  • the plurality of processes included in one step can be executed by being shared by a plurality of devices in addition to being executed by one device.
  • An information generation unit that generates information based on the degree of difference between two frames of a 3D image; A transmitter configured to transmit information based on the generated degree of difference.
  • the transmission device configured to transmit information based on the generated degree of difference.
  • the information based on the degree of difference is a flag indicating whether or not the 3D shape changes significantly in the two frames.
  • the transmission apparatus is a value indicating an interpolation type when generating a frame between the two frames.
  • the information based on the degree of difference is a value of the degree of difference between the two frames.
  • the transmission unit generates and transmits a bit stream storing mesh data of two frames of the 3D image and information based on the degree of difference. Transmission according to any one of (1) to (4) apparatus. (6) The transmission apparatus according to (5), wherein the transmission unit generates and transmits a bit stream in which information based on the degree of difference is stored as metadata in each frame. (7) The transmitting unit generates and transmits metadata, which stores information based on the degree of difference of all the frames of the 3D image, and a bit stream, which stores each frame of the 3D image, according to (5). Transmitter.
  • the image processing apparatus further includes an encoding unit that compresses and encodes mesh data of two frames of the 3D image according to a predetermined encoding method,
  • the transmission unit generates and transmits a bit stream storing compressed mesh data obtained by compression-encoding the mesh data and information based on the degree of difference, according to any one of (1) to (4). Transmitter.
  • the information generation unit generates information based on the degree of difference of the 3D image of a first frame rate
  • the transmission unit is a 3D image of the same subject captured at a second frame rate different from the first frame rate and information based on mesh data of the 3D image at the first frame rate and the degree of difference.
  • the transmitting apparatus according to any one of (1) to (4), which transmits mesh data.
  • the transmitter Generate information based on the degree of difference between two frames in a 3D image, A transmission method for transmitting information based on the generated degree of difference.
  • a receiver comprising: an image generator configured to generate an interpolation frame between the two frames based on information based on the degree of difference between two frames of a 3D image.
  • the information based on the degree of difference is a value indicating an interpolation type at the time of generating the interpolation frame.
  • the receiving apparatus according to (11), wherein the information based on the degree of difference is a value of the degree of difference between the two frames.
  • the image generation unit changes a generation method of generating the interpolation frame based on information based on the degree of difference.
  • the receiving device according to any one of (11) to (15), wherein the degree of difference is a value obtained by calculating the Hausdorff distance of the two frames.
  • the receiver further includes a bit stream storing mesh data of two frames of the 3D image and information based on the degree of difference.
  • the reception device according to any one of (11) to (16), wherein the image generation unit generates the interpolation frame based on the received information based on the degree of difference.
  • the mesh data of two frames of the 3D image is compression-coded by a predetermined coding method, It further comprises a decoding unit that decodes the compression-coded mesh data, The reception device according to (17), wherein the image generation unit generates the interpolation frame using the mesh data obtained by decoding based on the received information based on the degree of difference.
  • the receiving apparatus according to (17) or (18), wherein the receiving unit receives the bitstream in which information based on the degree of difference is stored as metadata for each frame.
  • the receiving unit receives metadata that stores information based on the degree of difference of all the frames of the 3D image and the bit stream that stores mesh data of each frame of the 3D image (17) or ( The receiver according to 18).
  • Reference Signs List 1 image processing system 10A, 10B imaging device, 11 3D modeling device, 12 flag generation device, 13 tracking device, 14 encoding device, 15 transmitting device, 16 receiving device, 17 decoding device, 18 image generating device, 61 transmitting device , 62 Receiver, 63 Flag Estimator, 111 3D Modeling Device, 113 Tracking Device, 114 Encoding Device, 115 Transmitter, 116 Receiver, 117 Decoding Device, 120 Hybrid Image Generator, 141 3D Modeling Device, 143 Tracking Device , 144 encoder, 145 transmitter, 146 receiver, 147 decoder, 161 image transmitter, 162 image receiver, 301 CPU, 302 R OM, 303 RAM, 306 input unit, 307 output unit, 308 storage unit, 309 communication unit, 310 drive

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

本技術は、3Dデータを生成することができるようにする送信装置、送信方法、および受信装置に関する。 フラグ生成装置は、3D画像の2つのフレームの相違度に基づく情報を生成する。送信装置は、生成された相違度に基づく情報を送信する。本技術は、例えば、3D画像のデータを伝送する送信装置等に適用できる。

Description

送信装置、送信方法、および受信装置
 本技術は、送信装置、送信方法、および受信装置に関し、特に、3Dデータの生成に関する送信装置、送信方法、および受信装置である。
 3D形状のデータ(3Dデータ)を、視聴するユーザの端末へ伝送して表示する場合、滑らかな動きを再現するためには、フレームレートは高い方が好ましいが、現時点では、高フレームレートによる3Dデータの生成は難しい場合がある。
 そのため、生成された低フレームレートの3Dデータをアップコンバージョンすることにより、より高いフレームレートの3Dデータを生成することが考えられる。
 例えば、非特許文献1には、近接フレーム上に生成した2D画像のメッシュデータから、その間のフレームの頂点位置を双方向の補間により生成し、より高いフレームレートの3Dデータを生成する技術が提案されている(例えば、非特許文献1参照)。
Kyung-Yeon Min, Jong-Hyun Ma, and Dong-Gyu Sim(Kwangwoon University),Ivan V. Bajic(Simon Fraser University),"Bidirectional Mesh-Based Frame Rate Up-Conversion", IEEE Computer Society, 2015
 しかしながら、非特許文献1の技術は、2D画像ベースの補間処理であるので、3D形状のセルフオクルージョンに対応できない。
 本技術は、このような状況に鑑みてなされたものであり、3Dデータを生成することができるようにするものである。
 本技術の第1の側面の送信装置は、3D画像の2つのフレームの相違度に基づく情報を生成する情報生成部と、生成された前記相違度に基づく情報を送信する送信部とを備える。
 本技術の第1の側面の送信方法は、送信装置が、3D画像の2つのフレームの相違度に基づく情報を生成し、生成された前記相違度に基づく情報を送信する。
 本技術の第1の側面においては、3D画像の2つのフレームの相違度に基づく情報が生成され、送信される。
 本技術の第2の側面の受信装置は、3D画像の2つのフレームの相違度に基づく情報に基づいて、前記2つのフレームの間の補間フレームを補間フレーム生成処理により生成する画像生成部を備える。
 本技術の第2の側面においては、3D画像の2つのフレームの相違度に基づく情報に基づいて、前記2つのフレームの間の補間フレームが、補間フレーム生成処理により生成される。
 なお、本技術の第1の側面の送信装置および第2の側面の受信装置は、コンピュータにプログラムを実行させることにより実現することができる。
 また、本技術の第1の側面の送信装置および第2の側面の受信装置を実現するために、コンピュータに実行させるプログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
 送信装置および受信装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
 本技術の第1の側面によれば、データを受信する受信側において、3Dデータを生成することができる。
 また、本技術の第2の側面によれば、3Dデータを生成することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術を適用した画像処理システムの第1実施の形態の構成例を示すブロック図である。 撮影から3Dデータの生成までの処理を説明する図である。 メッシュトラッキング処理を説明する図である。 補間処理を説明する図である。 画像生成装置による補間フレーム生成処理を説明する図である。 画像生成装置による補間フレーム生成処理を説明する図である。 キーフレームフラグ生成処理を説明するフローチャートである。 キーフレームフラグ格納処理を説明する図である。 図8のAのキーフレームフラグ格納処理を説明するフローチャートである。 図8のBのキーフレームフラグ格納処理を説明するフローチャートである。 図8のAのキーフレームフラグ分離処理を説明するフローチャートである。 図8のBのキーフレームフラグ分離処理を説明するフローチャートである。 補間フレーム生成処理を説明するフローチャートである。 補間処理を説明するフローチャートである。 伝送データ送信処理を説明するフローチャートである。 伝送データ受信処理を説明するフローチャートである。 補間タイプ生成処理を説明するフローチャートである。 補間タイプが伝送される場合の補間フレーム生成処理を説明するフローチャートである。 本技術を適用した画像処理システムの第2実施の形態の構成例を示すブロック図である。 本技術を適用した画像処理システムの第3実施の形態の構成例を示すブロック図である。 キーフレームフラグ推定処理を説明するフローチャートである。 本技術を適用した画像処理システムの第4実施の形態の構成例を示すブロック図である。 補間フレーム生成処理を説明する図である。 ハイブリッド補間フレーム生成処理を説明するフローチャートである。 補間タイプを用いる場合の補間タイプ生成処理を説明するフローチャートである。 補間タイプを用いる場合のハイブリッド補間フレーム生成処理を説明するフローチャートである。 本技術を適用した画像処理システムの第5実施の形態の構成例を示すブロック図である。 本技術を適用した画像処理システムの第6実施の形態の構成例を示すブロック図である。 本技術を適用した画像処理システムの第7実施の形態の構成例を示すブロック図である。 本技術を適用した画像処理システムの第8実施の形態の構成例を示すブロック図である。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
 以下、本技術を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
1.画像処理システムの第1実施の形態(基本構成例)
2.キーフレームフラグ生成処理
3.キーフレームフラグ格納処理
4.キーフレームフラグ分離処理
5.補間フレーム生成処理
6.補間処理
7.伝送データ送信処理
8.伝送データ受信処理
9.補間タイプを用いる例
10.画像処理システムの第2実施の形態(圧縮符号化を行わない構成例)
11.画像処理システムの第3実施の形態(キーフレームフラグを送信しない構成例)
12.画像処理システムの第4実施の形態(ハイブリッド構成例)
13.ハイブリッド補間フレーム生成処理
14.補間タイプを用いる例
15.画像処理システムの第5実施の形態(圧縮符号化を行わないハイブリッド構成例)
16.画像処理システムの第6実施の形態(キーフレームフラグを送信しないハイブリッド構成例)
17.画像処理システムの第7実施の形態(ハイブリッド構成の変形例)
18.画像処理システムの第8実施の形態(基本構成の変形例)
19.コンピュータの構成例
<1.画像処理システムの第1実施の形態>
 図1は、本技術を適用した画像処理システムの第1実施の形態の構成例を示すブロック図である。
 図1の画像処理システム1は、被写体を撮影して生成した3D形状のデータ(3Dデータ)を送信する送信側と、送信側から送信されてきた3Dデータから高フレームレートの3Dデータを生成する受信側とを備えるシステムである。送信側は、受信側に対して、送信する3Dデータを高フレームレートにアップコンバージョンするための情報、具体的には2つのフレームの相違度に基づく情報を付加した3Dデータを伝送する。受信側は、その2つのフレームの相違度に基づく情報を用いて、受信した3Dデータを高フレームレートにアップコンバージョンする。
 画像処理システム1は、複数の撮像装置10A-1乃至10A-N(N>1)、3Dモデリング装置11、フラグ生成装置12、トラッキング装置13、符号化装置14、送信装置15、受信装置16、復号装置17、および、画像生成装置18を有する。
 送信側は、複数の撮像装置10A-1乃至10A-N、3Dモデリング装置11、フラグ生成装置12、トラッキング装置13、符号化装置14、および、送信装置15に相当し、受信側は、受信装置16、復号装置17、および、画像生成装置18に相当する。複数の撮像装置10A-1乃至10A-Nのそれぞれを特に区別する必要がない場合、単に撮像装置10Aと称する。
 撮像装置10Aは、パッシブカメラ、または、アクティブカメラ(アクティブセンサ)のどちらかで構成される。
 撮像装置10Aがパッシブカメラで構成される場合、撮像装置10Aは、被写体を撮影し、その結果としてテクスチャ画像(RGB画像)を生成し、3Dモデリング装置11に供給する。
 撮像装置10Aがアクティブカメラで構成される場合、撮像装置10Aは、パッシブカメラと同様のテクスチャ画像を生成するとともに、IR光を照射して、被写体から反射して返ってきたIR光を受光することにより、IR画像を生成し、3Dモデリング装置11に供給する。また、撮像装置10Aは、受光したIR光から、被写体までの距離を計測し、被写体までの距離をデプス値として格納したデプス画像も生成して、3Dモデリング装置11に供給する。
 複数の撮像装置10Aは、同期して被写体の撮影を行い、その結果得られる撮影画像を3Dモデリング装置11に供給する。ここで、撮像装置10Aで撮像して得られる撮影画像は、撮像装置10Aがパッシブカメラで構成される場合、テクスチャ画像のみであり、撮像装置10Aがアクティブカメラで構成される場合、テクスチャ画像、IR画像、および、デプス画像である。また、撮影画像は、動画像で構成される。
 3Dモデリング装置11は、複数の撮像装置10Aそれぞれで撮像して得られた撮影画像に基づいて、被写体の3D形状のモデリング処理を実行し、その結果として得られる3D形状のデータ(3Dデータ)をトラッキング装置13およびフラグ生成装置12に供給する。
 図2は、複数の撮像装置10Aによる撮影から、3Dモデリング装置11による3Dデータの生成までの処理を説明する図である。
 複数の撮像装置10Aは、図2に示されるように、被写体21を取り囲むように、被写体21の外側に配置される。図2の例は、撮像装置10Aの台数が3台の例を示しており、撮像装置10A-1乃至10A-3が被写体21の周りに配置されている。
 3Dモデリング装置11は、同期して撮影された3台の撮像装置10A-1乃至10A-3の撮影画像を用いて、3Dデータを生成する。3Dデータは、例えば、被写体21のジオメトリ情報を、ポリゴンメッシュと呼ばれる頂点(Vertex)と頂点間のつながりで表したメッシュデータと、各ポリゴンメッシュに対応して色情報を保有する形式で表される。この形式は、MPEG-4 Part 16 AFX (Animation Framework eXtension) で規格化された形式である。なお、3Dデータは、その他の形式、例えば、被写体21の3次元位置を点の集合(ポイントクラウド)と、各点に対応して色情報を保有する形式などでもよい。
 複数の撮像装置10Aで得られた撮影画像から、3Dデータを生成する処理は、3D再構成(処理)とも呼ばれる。
 図1に戻り、フラグ生成装置12は、3Dモデリング装置11からの3Dデータに対して、前後の2つのフレームで3D形状が大きく変化するか否かをフレーム単位で判定し、判定結果を、キーフレームフラグとして、トラッキング装置13および送信装置15に供給する。キーフレームフラグは、2つのフレームの相違度に基づく情報であり、例えば、あるフレームのキーフレームフラグが“1”である場合、そのフレームはキーフレーム、すなわち、前のフレームから3D形状が大きく変化したフレームであることを表し、キーフレームフラグが“0”である場合、そのフレームはキーフレームではないことを表す。
 フラグ生成装置12には、ポリゴンメッシュのメッシュデータと、各ポリゴンメッシュに対応して色情報を保有する形式で3Dデータが供給される。
 フラグ生成装置12は、隣接する2つのフレームのメッシュデータの相違度を計算して、計算した相違度が所定の閾値より大きい場合には、キーフレームフラグを“1”に設定し、計算した相違度所定の閾値以下である場合には、キーフレームフラグを“0”に設定する。
 隣接する2つのフレームのメッシュデータの相違度は、例えば、次式(1)のハウスドルフ距離を用いて計算することができる。
Figure JPOXMLDOC01-appb-M000001
 式(1)の集合Aは、隣接する2つのフレームのうちの一方のフレームのメッシュデータの各頂点であり、集合Bは、他方のフレームのメッシュデータの各頂点である。式(1)のハウスドルフ距離では、集合Aに含まれる頂点から集合Bまでの最短距離を求めたもののうちの最大値が計算される。
 トラッキング装置13は、3Dモデリング装置11から3Dデータとして供給される各フレームのメッシュデータに対してメッシュトラッキング処理を実行し、メッシュトラッキング処理後のメッシュデータを符号化装置14に供給する。
 また、トラッキング装置13には、前後の2つのフレームで3D形状が大きく変化するか否かを示すキーフレームフラグが、フラグ生成装置12から、フレーム単位で供給される。
 図3は、トラッキング装置13によるメッシュトラッキング処理を説明する図である。
 なお、以下では、トラッキング装置13から供給されたメッシュトラッキング処理前の各フレームのメッシュデータを、アンレジスタードメッシュ(Unregistered Mesh)の略でUメッシュとも称し、トラッキング装置13から出力されるメッシュトラッキング処理後の各フレームのメッシュデータを、レジスタードメッシュ(Registered Mesh)の略でRメッシュとも称する。また、単に、メッシュと記述する場合は、アンレジスタードメッシュを表す。
 3Dモデリング装置11によって生成されたUメッシュは、フレーム間の頂点の対応は考慮されていないため、フレーム間で頂点の対応は取れていない。このため、例えば、頂点の数が、フレーム単位で異なる場合がある。
 これに対して、メッシュトラッキング処理は、前後のフレームどうしで、対応する頂点を探索して決定するので、Rメッシュでは、フレーム間で頂点の位置の対応が取れており、各フレームの頂点の数は同じである。この場合、被写体21の動きを、頂点の移動のみで表現することができる。
 Rメッシュは、フレーム間で頂点の位置の対応が取れているので、図4に示されるように、隣接する既知の2つのフレームのRメッシュの間のフレームのRメッシュを補間処理により求めることができる。
 図4は、時刻t0と時刻t1との間の時刻t0.5のフレームのRメッシュを補間処理により求め、時刻t1と時刻t2との間の時刻t1.5のフレームのRメッシュを補間処理により求める様子を示している。
 図1に戻り、トラッキング装置13は、フラグ生成装置12から供給されるキーフレームフラグが“0”のフレームに対しては、その前の時刻のフレームのメッシュデータに対してメッシュトラッキング処理を実行し、メッシュトラッキング処理後のメッシュデータを符号化装置14に供給する。
 一方、トラッキング装置13は、フラグ生成装置12から供給されるキーフレームフラグが“1”のフレームに対しては、その前の時刻のフレームのメッシュデータと対応が取れないので、Uメッシュを、そのままRメッシュとして、符号化装置14に供給する。
 符号化装置14は、トラッキング装置13から供給される各フレームのRメッシュを、所定の符号化方式で圧縮符号化する。圧縮符号化して得られた各フレームの圧縮メッシュデータは、送信装置15へ供給される。例えば、Rメッシュの圧縮符号化には、MPEG-4 Part 16 AFX (Animation Framework eXtenstion) として規格化されたツールの一つである、FAMC (Frame-based Animated Mesh Coding) を採用することができる。Uメッシュの圧縮符号化には、SC-3DMC (Scalable Complexity 3D Mesh Compression) を採用することができる。
 送信装置15は、符号化装置14から供給される各フレームの圧縮メッシュデータと、フラグ生成装置12から供給される各フレームのキーフレームフラグを、1つのビットストリームに格納し、ネットワークを介して受信装置16へ送信する。ネットワークは、例えば、インターネット、電話回線網、衛星通信網、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(WIDe Area Network)、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網などで構成される。
 受信装置16は、送信装置15からネットワークを介して送信されてくる3Dデータのビットストリームを受信する。そして、受信装置16は、受信した3Dデータのビットストリームに格納されている各フレームの圧縮メッシュデータと、各フレームのキーフレームフラグとを分離し、各フレームの圧縮メッシュデータを復号装置17へ供給し、各フレームのキーフレームフラグを画像生成装置18へ供給する。
 復号装置17は、受信装置16から供給される各フレームの圧縮メッシュデータを、符号化装置14における符号化方式に対応する方式で復号する。復号装置17は、復号して得られる各フレームのRメッシュを、画像生成装置18へ供給する。
 画像生成装置18は、復号装置17から供給される各フレームのRメッシュと、受信装置16から供給される各フレームのキーフレームフラグとを用いて、受信装置16から供給される各フレームの間を補間する補間フレームを生成する補間フレーム生成処理を実行する。これにより、画像生成装置18は、フレームレートをアップコンバージョンした3Dデータを生成する。より具体的には、画像生成装置18は、各フレームのキーフレームフラグに基づいて、復号装置17から供給される各フレームの間に、新たに生成する補間フレームのRメッシュを補間処理により生成し、受信したメッシュデータよりも高いフレームレートのメッシュデータを生成して、後段の装置に出力する。後段の装置は、例えば、供給されるメッシュデータに基づいて3D画像を生成し、ディスプレイに表示させる描画装置等で構成される。
 図5および図6を参照して、画像生成装置18が行う、補間フレーム生成処理について説明する。
 図5および図6では、複数の撮像装置10Aで得られた撮影画像と、その撮影画像が生成されたUメッシュおよびRメッシュのフレームレートが、30fps(frame per second)であり、補間フレーム生成処理により、60fpsのRメッシュを生成する場合について説明する。
 図5は、キーフレームフラグが“0”、即ち、前後のフレームで3D形状が大きく変化しない場合の補間フレーム生成処理を説明する図である。
 3Dモデリング装置11において、複数の撮像装置10Aで得られた撮影画像41から、Uメッシュ42が、フレーム単位で生成される。そして、トラッキング装置13において、Uメッシュ42がRメッシュ43に変換され、30fpsのRメッシュ43が、送信側から受信側へ伝送される。
 図5において、複数の撮像装置10Aで得られた30fpsの撮影画像41が、撮影画像41、撮影画像41t+2、・・・であり、3Dモデリング装置11で生成された30fpsのUメッシュ42が、Uメッシュ42、Uメッシュ42t+2、・・・であり、トラッキング装置13で変換されたRメッシュ43が、Rメッシュ43、Rメッシュ43t+2、・・・である。撮影画像41、撮影画像41t+2における下付きのt、t+2、・・・は、その撮影画像41が得られた時刻を表す。Uメッシュ42およびRメッシュ43についても同様である。
 画像生成装置18は、送信側から受信した30fpsのRメッシュ43から、補間フレーム生成処理により、60fpsのRメッシュ43を生成する。
 図5の例では、画像生成装置18は、時刻tのRメッシュ43と、時刻t+2のRメッシュ43t+2とから、時刻t+1のRメッシュ43t+1を生成する。
 時刻tのRメッシュ43と、時刻t+2のRメッシュ43t+2のキーフレームフラグは、いずれも“0”であり、前後のフレームで3D形状が大きく変化していないことを表している。
 この場合、画像生成装置18は、図4を参照して説明したように、時刻tのRメッシュ43と、時刻t+2のRメッシュ43t+2の対応する各頂点どうしの座標から、時刻t+1における各頂点の座標を算出することにより、時刻t+1のRメッシュ43t+1を生成する。なお、時刻t+1のRメッシュ43t+1に対応する色情報については、本技術では特に限定せず、時刻tのRメッシュ43の色情報と、時刻t+2のRメッシュ43t+2の色情報を用いて、任意の手法で生成されることとする。
 図6は、キーフレームフラグが“1”、即ち、前後のフレームで3D形状が大きく変化している場合の補間フレーム生成処理を説明する図である。
 図6においては、送信側から供給される時刻tのRメッシュ43と、時刻t+2のRメッシュ43t+2のうち、時刻t+2のRメッシュ43t+2のキーフレームフラグが“1”となっており、時刻tのRメッシュ43と、時刻t+2のRメッシュ43t+2とでは、3D形状が大きく変化していることを表している。
 時刻tと時刻t+2のフレームで3D形状が大きく変化している場合、時刻t+2のRメッシュ43t+2は、その1つ前の時刻tのRメッシュ43と対応がとれていないため、図4を参照して説明したような、時刻tのRメッシュ43と時刻t+2のRメッシュ43t+2を用いた補間処理を行うことはできない。換言すれば、3D形状が大きく変化している場合とは、例えば、時刻tと時刻t+2の前後のフレームでUメッシュ42の頂点数の差が所定数以上である場合や、メッシュトラッキング処理において1つ前のフレームとの対応する頂点を決定することができない場合、等が該当する。
 そこで、画像生成装置18は、図6に示されるように、時刻tのRメッシュ43をコピーして、時刻t+1のRメッシュ43t+1を生成する。または、画像生成装置18は、時刻t+2のRメッシュ43t+2をコピーして、時刻t+1のRメッシュ43t+1を生成する。この場合、時刻t+2のRメッシュ42t+2は、時刻t+2のUメッシュ42t+2がそのままコピーされたものであるので、実質的には、時刻t+2のUメッシュ42t+2をコピーして、時刻t+1のRメッシュを生成する。
 以上のように、画像生成装置18は、キーフレームフラグに基づいて、補間フレームの生成方法を変更する。
 図1の画像処理システム1は、以上のように構成されるが、以下、各装置が行う処理の詳細について説明する。
<2.キーフレームフラグ生成処理>
 初めに、図7のフローチャートを参照して、フラグ生成装置12により実行されるキーフレームフラグ生成処理について説明する。
 初めに、ステップS11において、フラグ生成装置12は、3Dモデリング装置11から供給される3Dデータの先頭フレームのキーフレームフラグを“1”に設定する(KeyFrameFlag(0)=1)。
 ステップS12において、フラグ生成装置12は、3Dデータのフレーム番号を示す変数iに1を設定する。なお、ステップS11でキーフレームフラグ“1”を設定した先頭フレームは、フレーム番号が“0”に相当する。
 ステップS13において、フラグ生成装置12は、i番目のフレームのUメッシュと、(i-1)番目のフレームのUメッシュの相違度Siを計算する。
 ステップS14において、フラグ生成装置12は、計算したi番目のフレームの相違度Siが、所定の閾値よりも大きいかを判定する。
 ステップS14で、i番目のフレームの相違度Siが所定の閾値よりも大きいと判定された場合、処理はステップS15に進み、フラグ生成装置12は、KeyFrameFlag(i)=1、すなわち、i番目のフレームのキーフレームフラグを“1”に設定して、処理をステップS17に進める。
 一方、ステップS14で、i番目のフレームの相違度Siが所定の閾値以下であると判定された場合、処理はステップS16に進み、フラグ生成装置12は、KeyFrameFlag(i)=0、すなわち、i番目のフレームのキーフレームフラグを“0”に設定して、処理をステップS17に進める。
 ステップS17において、フラグ生成装置12は、フレーム番号を示す変数iが、3Dモデリング装置11から供給される3Dデータの(全フレーム数-1)よりも小さいかを判定する。
 ステップS17で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)よりも小さい、即ち、3Dデータの全てについてキーフレームフラグをまだ設定していないと判定された場合、処理はステップS18に進む。
 そして、ステップS18において、フレーム番号を示す変数iが1だけインクリメントされた後、処理がステップS13に戻され、上述したステップS13乃至S17が再度実行される。これにより、次のフレームのキーフレームフラグが設定される。
 一方、ステップS17で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)以上である、即ち、3Dデータの全てについてキーフレームフラグを設定したと判定された場合、キーフレームフラグ生成処理は終了する。
<3.キーフレームフラグ格納処理>
 次に、送信装置15により実行されるキーフレームフラグ格納処理について説明する。
 上述したように、送信装置15は、符号化装置14から供給される圧縮メッシュデータと、フラグ生成装置12から供給される各フレームのキーフレームフラグを、1つのビットストリームに格納し、ネットワークを介して受信装置16へ送信する。
 ここで、各フレームのキーフレームフラグのビットストリームへの格納方法には、図8に示される2種類の格納方法のいずれかを取り得る。
 1つの格納方法は、図8のAに示されるように、キーフレームフラグをフレーム毎に格納する方法であり、例えば、各フレームのメッシュデータのメタデータとして、キーフレームフラグが格納される。
 もう1つの格納方法は、図8のBに示されるように、全てのフレームのキーフレームフラグをまとめて格納する方法であり、例えば、ビットストリームのメタデータとして、全てのフレームのキーフレームフラグが格納される。
 図9のフローチャートを参照して、図8のAに示したように、キーフレームフラグをフレームごとにビットストリームに格納する場合のキーフレームフラグ格納処理について説明する。
 初めに、ステップS31において、送信装置15は、3Dデータのフレーム番号を示す変数iに0を設定する。
 ステップS32において、送信装置15は、i番目のフレームの圧縮メッシュデータに付属するメタデータとして、フラグ生成装置12から供給されたi番目のフレームのキーフレームフラグ(KeyFrameFlag(i)の値)を、ビットストリームに格納する。
 ステップS33において、送信装置15は、符号化装置14から供給されたi番目のフレームの圧縮メッシュデータを、ビットストリームに格納する。
 ステップS34において、送信装置15は、フレーム番号を示す変数iが、符号化装置14から供給される3Dデータの(全フレーム数-1)よりも小さいかを判定する。
 ステップS34で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)よりも小さい、即ち、送信する3Dデータの全てのフレームについてキーフレームフラグをまだ格納していないと判定された場合、処理はステップS35に進む。
 そして、ステップS35において、フレーム番号を示す変数iが1だけインクリメントされた後、処理がステップS32に戻され、上述したステップS32乃至S34が再度実行される。これにより、次のフレームのキーフレームフラグを格納する処理が行われる。
 一方、ステップS34で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)以上である、即ち、送信する3Dデータの全てのフレームについてキーフレームフラグを格納したと判定された場合、キーフレームフラグ格納処理が終了される。
 次に、図10のフローチャートを参照して、図8のBに示したように、全てのフレームのキーフレームフラグをまとめてビットストリームに格納する場合のキーフレームフラグ格納処理について説明する。
 初めに、ステップS51において、送信装置15は、3Dデータのフレーム番号を示す変数iに0を設定する。
 ステップS52において、送信装置15は、ビットストリームに付属するメタデータとして、フラグ生成装置12から供給されたi番目のフレームのキーフレームフラグ(KeyFrameFlag(i)の値)を、ビットストリームに格納する。
 ステップS53において、送信装置15は、フレーム番号を示す変数iが、符号化装置14から供給される3Dデータの(全フレーム数-1)よりも小さいかを判定する。
 ステップS53で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)よりも小さい、即ち、送信する3Dデータの全てのフレームについてキーフレームフラグをまだ格納していないと判定された場合、処理はステップS54に進む。
 そして、ステップS54において、フレーム番号を示す変数iが1だけインクリメントされた後、処理がステップS52に戻され、上述したステップS52およびS53が再度実行される。これにより、次のフレームのキーフレームフラグを格納する処理が行われる。
 一方、ステップS53で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)以上である、即ち、送信する3Dデータの全てのフレームについてキーフレームフラグを格納したと判定された場合、処理はステップS55に進む。
 ステップS55において、送信装置15は、3Dデータのフレーム番号を示す変数iに、再び0を設定する。
 ステップS56において、送信装置15は、符号化装置14から供給されたi番目のフレームの圧縮メッシュデータを、ビットストリームに格納する。
 ステップS57において、送信装置15は、フレーム番号を示す変数iが、符号化装置14から供給される3Dデータの(全フレーム数-1)よりも小さいかを判定する。
 ステップS57で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)よりも小さい、即ち、送信する3Dデータの全てのフレームの圧縮メッシュデータをまだ格納していないと判定された場合、処理はステップS58に進む。
 そして、ステップS58において、フレーム番号を示す変数iが1だけインクリメントされた後、処理がステップS56に戻され、上述したステップS56およびS57が再度実行される。これにより、次のフレームの圧縮メッシュデータを格納する処理が行われる。
 一方、ステップS57で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)以上である、即ち、送信する3Dデータの全てのフレームについて圧縮メッシュデータを格納したと判定された場合、キーフレームフラグ格納処理が終了される。
<4.キーフレームフラグ分離処理>
 次に、図11のフローチャートを参照して、キーフレームフラグがフレームごとに格納されたビットストリームを分離するキーフレームフラグ分離処理について説明する。この処理は、送信装置15が図9のキーフレームフラグ格納処理を行ってビットストリームを送信した場合に、受信装置16で実行される処理である。
 初めに、ステップS71において、受信装置16は、3Dデータのフレーム番号を示す変数iに0を設定する。
 ステップS72において、受信装置16は、i番目のフレームのキーフレームフラグ(KeyFrameFlag(i)の値)と、i番目のフレームの圧縮メッシュデータを分離して、取得する。そして、受信装置16は、i番目のフレームのキーフレームフラグを画像生成装置18に供給し、i番目のフレームの圧縮メッシュデータを、復号装置17に供給する。
 ステップS73において、受信装置16は、フレーム番号を示す変数iが、3Dデータの(全フレーム数-1)よりも小さいかを判定する。3Dデータの全フレーム数は、例えば、ビットストリームのメタデータから取得することができる。
 ステップS73で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)よりも小さい、即ち、受信した3Dデータの全てのフレームについてキーフレームフラグと圧縮メタデータを分離していないと判定された場合、処理はステップS74に進む。
 そして、ステップS74において、フレーム番号を示す変数iが1だけインクリメントされた後、処理がステップS72に戻され、上述したステップS72が再度実行される。これにより、次のフレームのキーフレームフラグと圧縮メタデータを分離する処理が行われる。
 一方、ステップS73で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)以上である、即ち、受信した3Dデータの全てのフレームについてキーフレームフラグと圧縮メタデータを分離したと判定された場合、キーフレームフラグ分離処理が終了される。
 次に、図12のフローチャートを参照して、全てのフレームのキーフレームフラグがまとめて格納されたビットストリームを分離するキーフレームフラグ分離処理について説明する。この処理は、送信装置15が図10のキーフレームフラグ格納処理を行ってビットストリームを送信した場合に、受信装置16で実行される処理である。
 初めに、ステップS91において、受信装置16は、ビットストリームに付属するメタデータとして格納された、全てのフレームのキーフレームフラグ(KeyFrameFlag(i)の値)を取得し、画像生成装置18に供給する。
 ステップS92において、受信装置16は、3Dデータのフレーム番号を示す変数iに0を設定する。
 ステップS93において、受信装置16は、i番目のフレームの圧縮メッシュデータを取得して、復号装置17に供給する。
 ステップS94において、受信装置16は、フレーム番号を示す変数iが、3Dデータの(全フレーム数-1)よりも小さいかを判定する。3Dデータの全フレーム数は、例えば、ビットストリームのメタデータから取得することができる。
 ステップS94で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)よりも小さい、即ち、受信した3Dデータの全てのフレームの圧縮メタデータをまだ取得していないと判定された場合、処理はステップS95に進む。
 そして、ステップS95において、フレーム番号を示す変数iが1だけインクリメントされた後、処理がステップS93に戻され、上述したステップS93が再度実行される。これにより、次のフレームの圧縮メッシュデータを取得する処理が行われる。
 一方、ステップS94で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)以上である、即ち、受信した3Dデータの全てのフレームの圧縮メタデータを取得したと判定された場合、キーフレームフラグ分離処理が終了される。
<5.補間フレーム生成処理>
 次に、図13のフローチャートを参照して、画像生成装置18が、各フレームのRメッシュとキーフレームフラグとを用いて、受信した各フレームの間の補間フレームを生成する補間フレーム生成処理について説明する。
 なお、図13の補間フレーム生成処理が実行される前には、図11または図12のキーフレームフラグ分離処理によって復号装置17に供給された各フレームの圧縮メッシュデータが復号装置17において復号され、画像生成装置18に供給されている。
 初めに、ステップS111において、画像生成装置18は、3Dデータのフレーム番号を示す変数iに1を設定する。
 ステップS112において、画像生成装置18は、i番目のフレームのキーフレームフラグ(KeyFrameFlag(i)の値)が“1”であるかを判定する。
 ステップS112で、i番目のフレームのキーフレームフラグが“1”である、すなわち、i番目のフレームのRメッシュが、(i-1)番目のフレームのRメッシュと比較して大きく変化している場合、処理はステップS113に進む。
 ステップS113において、画像生成装置18は、(i-1)番目のフレームのRメッシュを、(i-1)番目とi番目の間の、生成したい時刻の補間フレームのRメッシュとする。換言すれば、画像生成装置18は、(i-1)番目のフレームのRメッシュをコピーして、(i-1)番目とi番目の間の補間フレームのRメッシュを生成する。
 なお、生成したい時刻のフレームのRメッシュとして、(i-1)番目のフレームのRメッシュを用いる代わりに、i番目のフレームのRメッシュ(Uメッシュ)を用いてもよい。
 一方、ステップS112で、i番目のフレームのキーフレームフラグが“1”ではない(“0”である)、すなわち、i番目のフレームのRメッシュが、(i-1)番目のフレームのRメッシュと比較して大きく変化していない場合、処理はステップS114に進む。
 ステップS114において、画像生成装置18は、(i-1)番目のフレームのRメッシュと、i番目のフレームのRメッシュとを用いて、補間処理を実行し、(i-1)番目とi番目の間の補間フレームのRメッシュを生成する。
 ステップS115において、画像生成装置18は、フレーム番号を示す変数iが、3Dデータの(全フレーム数-1)よりも小さいかを判定する。
 ステップS115で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)よりも小さい、即ち、3Dデータの全てのフレームの間の補間フレームをまだ生成していないと判定された場合、処理はステップS116に進む。
 そして、ステップS116において、フレーム番号を示す変数iが1だけインクリメントされた後、処理がステップS112に戻され、上述したステップS112乃至S115が再度実行される。これにより、次のフレーム間の補間フレームのRメッシュが生成される。
 一方、ステップS115で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)以上である、即ち、3Dデータの全てのフレームの間の補間フレームを生成したと判定された場合、補間フレーム生成処理が終了される。
<6.補間処理>
 図14のフローチャートを参照して、図13のステップS114で実行される補間処理について説明する。
 初めに、ステップS131において、画像生成装置18は、生成する補間フレームの頂点番号を示す変数vに0を設定する。
 ステップS132において、画像生成装置18は、(i-1)番目のフレームのv番目の頂点の座標(x(i-1)v,y(i-1)v,z(i-1)v)と、i番目のフレームの対応するv番目の頂点の座標(xiv,yiv,ziv)を取得し、補間フレームのv番目の頂点の座標(x’,y’,z’)を計算する。
 例えば、補間フレームのv番目の頂点の座標(x’,y’,z’)は、以下により計算することができる。
  x’=(x(i-1)v+xiv)/2
  y’=(y(i-1)v+yiv)/2
  z’=(z(i-1)v+ziv)/2
 なお、上記の式は、(i-1)番目のフレームとi番目のフレームの中間の時刻のフレームを補間フレームとする例であるが、以下の式を用いれば、(i-1)番目のフレームとi番目のフレームの間の任意の時刻のフレームを補間フレームとすることも可能である。
  x’=t*x(i-1)v+(1-t)*xiv
  y’=t*y(i-1)v+(1-t)*yiv
  z’=t*z(i-1)v+(1-t)*ziv
   tは、0.0≦t≦1.0の値であり、t=1を(i-1)番目のフレームの時刻、t=0をi番目のフレームの時刻とした場合の、補間フレームの時刻に対応する値を表す。
 ステップS133において、画像生成装置18は、頂点番号を示す変数vが、補間フレームの(全頂点数-1)よりも小さいかを判定する。補間フレームの全頂点数は、(i-1)番目のフレームおよびi番目のフレームの全頂点数と同じに設定される。
 ステップS133で、頂点番号を示す変数vが、補間フレームの(全頂点数-1)よりも小さいと判定された場合、処理はステップS134に進む。
 そして、ステップS134において、頂点番号を示す変数vが1だけインクリメントされた後、処理がステップS132に戻され、上述したステップS132およびS133が再度実行される。これにより、補間フレームの次の頂点の座標が計算される。
 一方、ステップS133で、頂点番号を示す変数vが補間フレームの(全頂点数-1)以上である、即ち、補間フレームの全ての頂点について座標が計算されたと判定された場合、補間処理が終了される。
<7.伝送データ送信処理>
 次に、図15のフローチャートを参照して、送信側全体の処理である伝送データ送信処理について説明する。なお、この処理が開始される前には、複数の撮像装置10Aそれぞれで被写体を撮影して得られた撮影画像が、3Dモデリング装置11に供給されて、内部に記憶されているものとする。
 初めに、ステップS151において、3Dモデリング装置11は、複数の撮像装置10Aで同期して撮影された複数の撮影画像を用いて、3Dデータを生成する。生成された3Dデータは、フラグ生成装置12とトラッキング装置13に供給される。撮影画像は、各撮像装置10Aがパッシブカメラで構成される場合、テクスチャ画像のみであり、各撮像装置10Aがアクティブカメラで構成される場合、テクスチャ画像、IR画像、および、デプス画像である。3Dデータは、ポリゴンメッシュのメッシュデータと、各ポリゴンメッシュに対応して色情報を保有する形式で表される。
 ステップS152において、フラグ生成装置12は、3Dモデリング装置11から供給された3Dデータの各フレームに対して、キーフレームフラグを生成する。より具体的には、フラグ生成装置12は、隣接する2つのフレームのメッシュデータの相違度を計算して、計算した相違度が所定の閾値より大きい場合には、キーフレームフラグを“1”に設定し、計算した相違度所定の閾値以下である場合には、キーフレームフラグを“0”に設定する。ステップS152の処理の詳細が、図7を参照して説明したキーフレームフラグ生成処理となる。
 ステップS153において、トラッキング装置13は、メッシュトラッキング処理を実行し、3Dモデリング装置11から供給された3Dデータの各フレームのUメッシュから、Rメッシュを生成する。生成されたRメッシュは、符号化装置14に供給される。
 ステップS154において、符号化装置14は、トラッキング装置13から供給された各フレームのRメッシュを、所定の符号化方式で圧縮符号化する。圧縮符号化して得られた圧縮メッシュデータは、送信装置15へ供給される。
 ステップS155において、送信装置15は、符号化装置14から供給された各フレームの圧縮メッシュデータと、フラグ生成装置12から供給された各フレームのキーフレームフラグを、ビットストリームに格納する。ステップS155の処理の詳細が、図9および図10を参照して説明したキーフレームフラグ格納処理となる。
 ステップS156において、送信装置15は、生成したビットストリームを、ネットワークを介して受信装置16へ送信する。
 以上で、伝送データ送信処理が終了する。
<8.伝送データ受信処理>
 次に、図16のフローチャートを参照して、受信側全体の処理である伝送データ受信処理について説明する。この処理は、例えば、受信装置16が、ビットストリームが送信装置15から送信されてきたとき開始される。
 初めに、ステップS171において、受信装置16は、送信装置15からネットワークを介して送信されてきた3Dデータのビットストリームを受信する。
 ステップS172において、受信装置16は、受信した3Dデータのビットストリームに格納されている各フレームの圧縮メッシュデータと、各フレームのキーフレームフラグとを分離する。受信装置16は、各フレームの圧縮メッシュデータを復号装置17へ供給し、各フレームのキーフレームフラグを画像生成装置18へ供給する。ステップS172の処理の詳細が、図11および図12を参照して説明したキーフレームフラグ分離処理となる。
 ステップS173において、復号装置17は、受信装置16から供給された各フレームの圧縮メッシュデータを、符号化装置14における符号化方式に対応する方式で復号する。復号装置17は、復号して得られた各フレームのRメッシュを、画像生成装置18へ供給する。
 ステップS174において、画像生成装置18は、復号装置17から供給された各フレームのRメッシュと、復号装置17から供給された各フレームのキーフレームフラグとを用いて、補間フレーム生成処理を実行し、フレームレートをアップコンバージョンした3Dデータを生成する。ステップS174の処理の詳細が、図13の補間フレーム生成処理となる。
 以上で、伝送データ受信処理が終了する。
 画像処理システム1で実行される伝送データ送信処理および伝送データ受信処理によれば、送信側においてキーフレームフラグを生成して送信し、受信側において、キーフレームフラグに基づいて、受信した各フレームの間を補間する補間フレーム生成処理を実行することにより、高フレームレートの3Dデータを生成することができる。
 送信側ではフレーム補間をする必要がなく、低フレームレートの3Dデータを伝送すれば良いので、伝送する際のデータ量を削減することができる。
 受信側においては、低フレームレートの3Dデータと、各フレームのキーフレームフラグを受信し、高フレームレートの3Dデータを生成することができる。
 画像処理システム1において伝送される3Dデータは、3D形状のメッシュデータであるので、3D形状の変化にロバストである。
 なお、上述した実施の形態では、2つのフレームの相違度として、ハウスドルフ距離を計算し、計算されたハウスドルフ距離に基づいて、2つのフレームの相違度に基づく情報として、キーフレームフラグの値が決定された。
 しかしながら、例えば、2つのフレームの相違度に基づく情報として、計算されたハウスドルフ距離の値を、そのまま送信してもよい。
<9.補間タイプを用いる例>
 あるいはまた、2つのフレームの相違度に基づく情報として、その他の情報を、送信側から受信側へ伝送するようにしてもよい。
 例えば、送信側が、2つのフレームの相違度に基づく情報として、キーフレームフラグを送信する代わりに、補間フレームを生成するための補間方法を指定する補間タイプ(Interpolation Type)を送信してもよい。具体的には、フラグ生成装置12が、画像生成装置18に補間処理を実行させる場合には補間タイプ“0”、補間フレームの後のフレームを用いる場合には補間タイプ“1”、補間フレームの前のフレームを用いる場合には補間タイプ“2”を送信する。補間タイプは、キーフレームフラグに基づいて決定される。
 図17のフローチャートを参照して、フラグ生成装置12によって実行される補間タイプ生成処理について説明する。なお、この処理は、図7のキーフレームフラグ生成処理の後に実行され、各フレームのキーフレームフラグは既知であるとする。
 初めに、ステップS201において、フラグ生成装置12は、3Dデータのフレーム番号を示す変数iに0を設定する。
 ステップS202において、フラグ生成装置12は、(i+1)番目のフレームのキーフレームフラグが生成されているかを判定する。
 ステップS202で、(i+1)番目のフレームのキーフレームフラグが生成されていないと判定された場合、処理はステップS203に進み、フラグ生成装置12は、i番目のフレームの補間タイプを“2”に設定し(Interpolation Type(i)=2)、処理をステップS207に進める。
 一方、ステップS202で、(i+1)番目のフレームのキーフレームフラグが生成されていると判定された場合、処理はステップS204に進み、フラグ生成装置12は、(i+1)番目のフレームのキーフレームフラグが“0”であるかを判定する。
 ステップS204で、(i+1)番目のフレームのキーフレームフラグが“0”ではない、すなわち、(i+1)番目のフレームのキーフレームフラグが“1”であると判定された場合、処理はステップS205に進む。
 ステップS205において、フラグ生成装置12は、i番目のフレームの補間タイプを“1”に設定し(Interpolation Type(i)=1)、処理をステップS207に進める。
 一方、ステップS204で、(i+1)番目のフレームのキーフレームフラグが“0”であると判定された場合、処理はステップS206に進み、フラグ生成装置12は、i番目のフレームの補間タイプを“0”に設定し(Interpolation Type(i)=0)、処理をステップS207に進める。
 ステップS207において、フラグ生成装置12は、フレーム番号を示す変数iが、3Dデータの(全フレーム数-1)よりも小さいかを判定する。
 ステップS207で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)よりも小さい、即ち、3Dデータの全てのフレームの補間タイプを決定していないと判定された場合、処理はステップS208に進む。
 そして、ステップS208において、フレーム番号を示す変数iが1だけインクリメントされた後、処理がステップS202に戻され、上述したステップS202乃至S207が再度実行される。これにより、次のフレームの補間タイプが決定される。
 一方、ステップS207で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)以上である、即ち、3Dデータの全てのフレームの補間タイプを決定したと判定された場合、補間タイプ生成処理が終了される。
 次に、図18のフローチャートを参照して、キーフレームフラグに代えて、補間タイプがビットストリームに格納されて伝送されてきた場合に実行される補間フレーム生成処理について説明する。この処理は、画像生成装置18によって、図13の補間フレーム生成処理の代わりに実行される。
 初めに、ステップS221において、画像生成装置18は、3Dデータのフレーム番号を示す変数iに1を設定する。
 ステップS222において、画像生成装置18は、i番目のフレームの補間タイプ(Interpolation Type(i)の値)が“0”であるかを判定する。
 ステップS222で、i番目のフレームの補間タイプが“0”であると判定された場合、処理はステップS223に進む。
 ステップS223において、画像生成装置18は、(i-1)番目のフレームのRメッシュと、i番目のフレームのRメッシュとを用いて、補間処理を実行し、(i-1)番目とi番目の間の補間フレームのRメッシュを生成し、処理をステップS227に進める。
 一方、ステップS222で、i番目のフレームの補間タイプが“0”ではないと判定された場合、処理はステップS224に進む。
 ステップS224において、画像生成装置18は、i番目のフレームの補間タイプ(Interpolation Type(i)の値)が“1”であるかを判定する。
 ステップS224で、i番目のフレームの補間タイプが“1”であると判定された場合、処理はステップS225に進み、画像生成装置18は、i番目のフレームのRメッシュをコピーして、(i-1)番目とi番目の間の、生成したい時刻の補間フレームのRメッシュを生成し、処理をステップS227に進める。
 一方、ステップS224で、i番目のフレームの補間タイプが“1”ではない、即ち“2”あると判定された場合、処理はステップS226に進み、画像生成装置18は、(i-1)番目のフレームのRメッシュをコピーして、(i-1)番目とi番目の間の、生成したい時刻の補間フレームのRメッシュを生成し、処理をステップS227に進める。
 ステップS227において、画像生成装置18は、フレーム番号を示す変数iが、3Dデータの(全フレーム数-1)よりも小さいかを判定する。
 ステップS227で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)よりも小さい、即ち、3Dデータの全てのフレームの間の補間フレームをまだ生成していないと判定された場合、処理はステップS228に進む。
 そして、ステップS228において、フレーム番号を示す変数iが1だけインクリメントされた後、処理がステップS222に戻され、上述したステップS222乃至S227が再度実行される。これにより、次のフレーム間の補間フレームのRメッシュが生成される。
 一方、ステップS227で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)以上である、即ち、3Dデータの全てのフレームの間の補間フレームを生成したと判定された場合、補間フレーム生成処理が終了される。
 以上のように、送信側が、キーフレームフラグの代わりに、補間タイプを送信した場合でも、受信側では、補間タイプに基づいて、受信したフレームの間の補間フレームを生成することができる。
<10.画像処理システムの第2実施の形態>
 図19は、本技術を適用した画像処理システムの第2実施の形態の構成例を示すブロック図である。
 図19において、上述した第1実施の形態と対応する部分については同一の符号を付してあり、その部分についての説明は適宜省略する。
 図1と図19を比較してわかるように、第2実施の形態では、送信側の符号化装置14と、受信側の復号装置17が省略されている。第1実施の形態では、ビットストリームに、各フレームの圧縮メッシュデータが格納されていたが、第2実施の形態では、圧縮符号化されない各フレームのメッシュデータが格納される点が異なる。
 トラッキング装置13は、メッシュトラッキング処理後のメッシュデータであるRメッシュを送信装置15に供給する。送信装置15は、トラッキング装置13から供給される各フレームのRメッシュと、フラグ生成装置12から供給される各フレームのキーフレームフラグを、1つのビットストリームに格納し、ネットワークを介して受信装置16へ送信する。
 受信装置16は、送信装置15からネットワークを介して送信されてくる3Dデータのビットストリームを受信し、受信した3Dデータのビットストリームに格納されている各フレームのメッシュデータとキーフレームフラグとを分離して、画像生成装置18へ供給する。
 第2実施の形態における送信側の伝送データ送信処理は、図15のステップS151乃至S156のうち、ステップS154が省略された処理となる。
 第2実施の形態における受信側の伝送データ受信処理は、図16のステップS171乃至S174のうち、ステップS173が省略された処理となる。
 以上のように、伝送されるメッシュデータは、第1実施の形態のように所定の符号化方式で圧縮符号化してもよいし、第2実施の形態のように圧縮符号化しなくてもよい。
<11.画像処理システムの第3実施の形態>
 図20は、本技術を適用した画像処理システムの第3実施の形態の構成例を示すブロック図である。
 図20において、上述した第1実施の形態と対応する部分については同一の符号を付してあり、その部分についての説明は適宜省略する。
 図1と図20を比較してわかるように、第3実施の形態では、送信側のフラグ生成装置12が省略され、送信装置15が送信装置61に置き換えられている。また、受信側では、送信装置15が受信装置62に置き換えられるとともに、フラグ推定装置63が新たに追加されている。
 第1実施の形態では、フラグ生成装置12において各フレームのキーフレームフラグが生成され、ビットストリームに格納されて送信されたが、第3実施の形態では、各フレームのキーフレームフラグは生成されず、受信側に伝送されない。
 したがって、送信装置61は、ビットストリームに、各フレームの圧縮メッシュデータのみを格納し、各フレームのキーフレームフラグを格納しない点が、第1実施の形態の図15と異なる。
 第3実施の形態における送信側の伝送データ送信処理は、図15の伝送データ送信処理のキーフレームフラグに関する処理を除いた処理となる。
 受信装置62は、送信装置61からの、各フレームの圧縮メッシュデータのみが格納されたビットストリームを受信して、復号装置17に供給する。すなわち、受信装置62は、キーフレームフラグ分離処理を行わない点が、第1実施の形態の受信装置16と異なる。
 送信側からキーフレームフラグが伝送されてこないので、フラグ推定装置63が、各フレームのフレームタイプに基づいて、キーフレームフラグを推定して生成し、画像生成装置18に供給する。具体的には、フラグ推定装置63は、Intraフレーム(以下、Iフレームと称する。)、Predictiveフレーム(以下、Pフレームと称する。)、または、Bidirectionally Predictive フレーム(以下、Bフレームと称する。)のフレームタイプのうち、フレームタイプがIフレームであるフレームに対して、キーフレームフラグを“1”に決定し、フレームタイプがPフレームまたはBフレームであるフレームに対して、キーフレームフラグを“0”に決定して、生成する。
 図21のフローチャートを参照して、フラグ推定装置63によって実行されるキーフレームフラグ推定処理について説明する。
 初めに、ステップS241において、フラグ推定装置63は、3Dデータのフレーム番号を示す変数iに0を設定する。
 ステップS242において、フラグ推定装置63は、i番目のフレームのフレームタイプがIフレーム(Intraフレーム)であるかを判定する。
 ステップS242で、i番目のフレームのフレームタイプがIフレームであると判定された場合、処理はステップS243に進む。
 ステップS243において、フラグ推定装置63は、i番目のフレームのキーフレームフラグを“1”に決定し、画像生成装置18に供給する。
 一方、ステップS242で、i番目のフレームのフレームタイプがIフレームではない、すなわち、i番目のフレームのフレームタイプがPフレームまたはBフレームである、と判定された場合、処理はステップS244に進む。
 ステップS244において、フラグ推定装置63は、i番目のフレームのキーフレームフラグを“0”に決定し、画像生成装置18に供給する。
 ステップS245において、フラグ推定装置63は、フレーム番号を示す変数iが、3Dデータの(全フレーム数-1)よりも小さいかを判定する。
 ステップS245で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)よりも小さい、即ち、3Dデータの全てのフレームのキーフレームフラグを決定していないと判定された場合、処理はステップS246に進む。
 そして、ステップS246において、フレーム番号を示す変数iが1だけインクリメントされた後、処理がステップS242に戻され、上述したステップS242乃至S245が再度実行される。これにより、次のフレームのキーフレームフラグが生成される。
 一方、ステップS245で、フレーム番号を示す変数iが3Dデータの(全フレーム数-1)以上である、即ち、3Dデータの全てのフレームのキーフレームフラグを決定したと判定された場合、キーフレームフラグ推定処理が終了される。
 第3実施の形態における受信側の伝送データ受信処理は、図16の伝送データ受信処理のステップS172における圧縮メッシュデータとキーフレームフラグの分離処理を、上述したキーフレームフラグ推定処理に置き換え、受信したキーフレームフラグの代わりに、推定したキーフレームフラグを用いた処理となる。
<12.画像処理システムの第4実施の形態>
 図22は、本技術を適用した画像処理システムの第4実施の形態の構成例を示すブロック図である。
 図22において、上述した第1実施の形態と対応する部分については同一の符号を付してあり、その部分についての説明は適宜省略する。
 図22の第4実施の形態では、図1の第1実施の形態と比較すると、送信側において、複数の撮像装置10B-1乃至10B-M(M>1)、3Dモデリング装置111、トラッキング装置113、符号化装置114、および、送信装置115が新たに設けられている。また、受信側において、受信装置116、および、復号装置117が新たに設けられている。さらに、画像生成装置18がハイブリッド画像生成装置120に置き換えられている。
 複数の撮像装置10B-1乃至10B-Mのそれぞれを特に区別する必要がない場合、単に撮像装置10Bと称する。
 第4実施の形態では、複数の撮像装置10Aによって得られた撮影画像に基づく3Dデータが、送信側から受信側に伝送される他に、複数の撮像装置10Bによって得られた撮影画像に基づく3Dデータも送信側から受信側に伝送される。
 複数の撮像装置10Aと複数の撮像装置10Bは、同期して被写体を撮影し、その結果得られる撮影画像を、後段の3Dモデリング装置11または3Dモデリング装置111に供給する点で共通する。複数の撮像装置10Aは、パッシブカメラまたはアクティブカメラのどちらかで構成され、複数の撮像装置10Bも、パッシブカメラまたはアクティブカメラのどちらかで構成される。
 一方、複数の撮像装置10Aと複数の撮像装置10Bとは、被写体を撮影する際のフレームレートが異なる点が相違する。複数の撮像装置10Bが撮影する撮影画像のフレームレートは、複数の撮像装置10Aが撮影する撮影画像のフレームレートよりも高い。
 上述したように、撮像装置10Aおよび撮像装置10Bのいずれも、パッシブカメラまたはアクティブカメラのどちらで構成されてもよいが、一般には、アクティブカメラの方がフレームレートは低くなるので、本実施の形態では、複数の撮像装置10Bが、60fpsで撮影を行うパッシブカメラであり、複数の撮像装置10Aが、30fpsで撮影を行うアクティブカメラであるとして説明する。
 3Dモデリング装置111は、3Dモデリング装置11と同様に、複数の撮像装置10Bそれぞれで撮像して得られた複数の撮影画像に基づいて、被写体の3D形状のモデリング処理を実行し、その結果として得られる3Dデータをトラッキング装置113に供給する。
 なお、以下では、説明を分かり易くするため、複数の撮像装置10Bで得られた撮影画像に基づく3Dデータを、3DデータBと称し、複数の撮像装置10Aで得られた撮影画像に基づく3Dデータを、3DデータAと称する。
 トラッキング装置113は、トラッキング装置13と同様に、3Dモデリング装置111から3DデータBとして供給される各フレームのメッシュデータ(Uメッシュ)に対してメッシュトラッキング処理を実行し、メッシュトラッキング処理後のメッシュデータ(Rメッシュ)を符号化装置114に供給する。
 符号化装置114は、符号化装置14と同様に、トラッキング装置113から供給される各フレームのRメッシュを、所定の符号化方式で圧縮符号化し、その結果得られた各フレームの圧縮メッシュデータを、送信装置115へ供給する。
 送信装置115は、キーフレームフラグを伝送しない第3実施の形態の送信装置61と同様に、ビットストリームに、各フレームの圧縮メッシュデータのみを格納して、受信装置116に送信する。
 受信装置116は、キーフレームフラグを伝送しない第3実施の形態の受信装置62と同様に、ビットストリームを受信して、復号装置117に供給する。
 復号装置117は、復号装置17と同様に、受信装置116から供給される各フレームの圧縮メッシュデータを、符号化装置114における符号化方式に対応する方式で復号する。復号装置117は、復号して得られる各フレームのRメッシュを、ハイブリッド画像生成装置120へ供給する。
 なお、第4実施の形態において、トラッキング装置113は、省略してもよい。この場合、トラッキング装置113から出力された各フレームのUメッシュが、符号化装置114に供給される。
 図23を参照して、ハイブリッド画像生成装置120による補間フレーム生成処理について説明する。
 図23は、第1実施の形態において図6と同様に、時刻t+2におけるキーフレームフラグが“1”のときの補間フレーム生成処理を説明する図である。
 図23では、図6と同様に、複数の撮像装置10Aで得られた30fpsの撮影画像41、撮影画像41t+2、・・・と、3Dモデリング装置11で生成された30fpsのUメッシュ42、Uメッシュ42t+2、・・・が示されている。
 さらに、複数の撮像装置10Bで得られた60fpsの撮影画像44、撮影画像44t+1、撮影画像44t+2、・・・が追加されている。
 第1実施の形態では、時刻t+2におけるキーフレームフラグが“1”のとき、時刻tのRメッシュをコピーするか、または、時刻t+2のRメッシュ42t+2(Uメッシュ42t+2)をコピーすることにより、時刻t+1のRメッシュ42t+1が生成された。
 これに対して、第4実施の形態では、フレームレートの高い撮影画像44t+1から得られたRメッシュを用いて、時刻t+1のRメッシュ42t+1が生成される。
 キーフレームフラグが“0”の場合の補間フレーム生成処理は、第1実施の形態と同様である。例えば、時刻t+3のRメッシュ43t+3のように、前後の時刻t+2のRメッシュ43t+2と、時刻t+4のRメッシュ43t+4との補間処理により、時刻t+3のRメッシュ43t+3が生成される。
 複数の撮像装置10Bで得られた複数の撮影画像に基づく3DデータBを送信する送信側の処理は、各フレームのキーフレームフラグを伝送しない第3実施の形態の伝送データ送信処理と同様である。
 複数の撮像装置10Bで得られた複数の撮影画像に基づく3DデータBを受信する受信側の処理は、各フレームのキーフレームフラグを分離せず、図16の伝送データ受信処理のステップS171とS173を行う処理となる。
<13.ハイブリッド補間フレーム生成処理>
 図24のフローチャートを参照して、フレームレートの異なる2種類の3DデータAおよびBを用いて、フレームレートをアップコンバージョンした3Dデータを生成するハイブリッド補間フレーム生成処理について説明する。
 なお、図24のハイブリッド補間フレーム生成処理が実行される前には、復号装置17から、低フレームレートの各フレームのRメッシュと、復号装置117から、高フレームレートの各フレームのRメッシュが、ハイブリッド画像生成装置120に供給されている。
 初めに、ステップS261において、ハイブリッド画像生成装置120は、低フレームレートの3DデータAのフレーム番号を示す変数iに1を設定する。
 ステップS262において、ハイブリッド画像生成装置120は、i番目のフレームのキーフレームフラグ(KeyFrameFlag(i)の値)が“1”であるかを判定する。
 ステップS262で、i番目のフレームのキーフレームフラグが“1”である、すなわち、i番目のフレームのRメッシュが、(i-1)番目のフレームのRメッシュと比較して大きく変化している場合、処理はステップS263に進む。
 ステップS263において、ハイブリッド画像生成装置120は、高フレームレートの3DデータBのフレームのRメッシュに、生成したい時刻のフレームのRメッシュが存在するかを判定する。
 ステップS263で、生成したい時刻のフレームのRメッシュが存在すると判定された場合、処理はステップS264に進む。
 ステップS264において、ハイブリッド画像生成装置120は、高フレームレートの3DデータBの生成したい時刻のフレームのRメッシュを、(i-1)番目とi番目の間の、生成したい時刻の補間フレームのRメッシュとして、処理をステップS267に進める。
 一方、ステップS263で、生成したい時刻のフレームのRメッシュが存在しないと判定された場合、処理はステップS265に進む。
 ステップS265において、ハイブリッド画像生成装置120は、低フレームレートの(i-1)番目のフレームのRメッシュを、(i-1)番目とi番目の間の、生成したい時刻の補間フレームのRメッシュとして、処理をステップS267に進める。
 一方、ステップS262で、i番目のフレームのキーフレームフラグが“1”ではない(“0”である)、すなわち、i番目のフレームのRメッシュが、(i-1)番目のフレームのRメッシュと比較して大きく変化していない場合、処理はステップS266に進む。
 ステップS266において、ハイブリッド画像生成装置120は、低フレームレートの(i-1)番目のフレームのRメッシュと、i番目のフレームのRメッシュとを用いて、補間処理を実行し、(i-1)番目とi番目の間の補間フレームのRメッシュを生成して、処理をステップS267に進める。
 ステップS267において、ハイブリッド画像生成装置120は、フレーム番号を示す変数iが、低フレームレートの3DデータAの(全フレーム数-1)よりも小さいかを判定する。
 ステップS267で、フレーム番号を示す変数iが3DデータAの(全フレーム数-1)よりも小さい、即ち、3DデータAの全てのフレームの間の補間フレームをまだ生成していないと判定された場合、処理はステップS268に進む。
 そして、ステップS268において、フレーム番号を示す変数iが1だけインクリメントされた後、処理がステップS262に戻され、上述したステップS262乃至S267が再度実行される。これにより、次のフレーム間の補間フレームのRメッシュが生成される。
 一方、ステップS267で、フレーム番号を示す変数iが3DデータAの(全フレーム数-1)以上である、即ち、3DデータAの全てのフレームの間の補間フレームを生成したと判定された場合、ハイブリッド補間フレーム生成処理が終了される。
 以上のように、ハイブリッド補間フレーム生成処理では、フレームのキーフレームフラグが“1”である場合、すなわち、前のフレームとの被写体の3D形状の変化が大きい場合、高フレームレートのメッシュデータを用いて、生成したい時刻の補間フレームのRメッシュを生成することができる。
 したがって、フレームレートの異なる2種類の3DデータAおよびBを送信側から受信側へ伝送することにより、被写体の3D形状の変化が大きい場合でも、フレームレートをアップコンバージョンした高フレームレートの3Dデータを生成することができる。
<14.補間タイプを用いる例>
 フレームレートの異なる2種類の撮像装置10Aおよび10Bを用いる第4実施の形態においても、送信側が、キーフレームフラグを送信する代わりに、補間方法を指定する補間タイプを送信してもよい。
 図25は、第4実施の形態においてキーフレームフラグの代わりに、補間タイプを用いる場合の補間タイプ生成処理のフローチャートを示している。この処理は、図7のキーフレームフラグ生成処理の後に実行され、各フレームのキーフレームフラグは既知であるとする。
 初めに、ステップS291において、フラグ生成装置12は、低フレームレートの3DデータAのフレーム番号を示す変数iに0を設定する。
 ステップS292において、フラグ生成装置12は、(i+1)番目のフレームのキーフレームフラグが生成されているかを判定する。
 ステップS292で、(i+1)番目のフレームのキーフレームフラグが生成されていないと判定された場合、処理はステップS293に進み、フラグ生成装置12は、i番目のフレームの補間タイプを“2”に設定し(Interpolation Type(i)=2)、処理をステップS299に進める。
 一方、ステップS292で、(i+1)番目のフレームのキーフレームフラグが生成されていると判定された場合、処理はステップS294に進み、フラグ生成装置12は、(i+1)番目のフレームのキーフレームフラグが“0”であるかを判定する。
 ステップS294で、(i+1)番目のフレームのキーフレームフラグが“0”ではない、すなわち、(i+1)番目のフレームのキーフレームフラグが“1”であると判定された場合、処理はステップS295に進む。
 ステップS295において、フラグ生成装置12は、3Dモデリング装置111で撮影された高フレームレートの3DデータBを確認し、低フレームレートの3DデータAのi番目のフレームと(i+1)番目のフレームの間の時刻を高フレームレートの撮像装置10Bが撮影しているかを判定する。
 ステップS295で、i番目のフレームと(i+1)番目のフレームの間の時刻を高フレームレートの撮像装置10Bが撮影していると判定された場合、処理はステップS296に進み、フラグ生成装置12は、i番目のフレームの補間タイプを“3”に設定し(Interpolation Type(i)=3)、処理をステップS299に進める。
 一方、ステップS295で、i番目のフレームと(i+1)番目のフレームの間の時刻を高フレームレートの撮像装置10Bが撮影していないと判定された場合、処理はステップS297に進み、フラグ生成装置12は、i番目のフレームの補間タイプを“1”に設定し(Interpolation Type(i)=1)、処理をステップS299に進める。
 一方、ステップS294で、(i+1)番目のフレームのキーフレームフラグが“0”であると判定された場合、処理はステップS298に進み、フラグ生成装置12は、i番目のフレームの補間タイプを“0”に設定し(Interpolation Type(i)=0)、処理をステップS299に進める。
 ステップS299において、フラグ生成装置12は、フレーム番号を示す変数iが、低フレームレートの3DデータAの(全フレーム数-1)よりも小さいかを判定する。
 ステップS299で、フレーム番号を示す変数iが3DデータAの(全フレーム数-1)よりも小さい、即ち、3DデータAの全てのフレームの補間タイプを決定していないと判定された場合、処理はステップS230に進む。
 そして、ステップS230において、フレーム番号を示す変数iが1だけインクリメントされた後、処理がステップS292に戻され、上述したステップS292乃至S299が再度実行される。これにより、低フレームレートの3DデータAの次のフレームの補間タイプが決定される。
 一方、ステップS207で、フレーム番号を示す変数iが3DデータAの(全フレーム数-1)以上である、即ち、3DデータAの全てのフレームの補間タイプを決定したと判定された場合、補間タイプ生成処理が終了される。
 次に、図26のフローチャートを参照して、補間タイプを用いる場合のハイブリッド補間フレーム生成処理について説明する。この処理は、補間タイプがビットストリームに格納されて伝送されてきた場合に、図24のハイブリッド補間フレーム生成処理の代わりに実行される。
 初めに、ステップS311において、ハイブリッド画像生成装置120は、低フレームレートの3DデータAのフレーム番号を示す変数iに1を設定する。
 ステップS312において、ハイブリッド画像生成装置120は、3DデータAのi番目のフレームの補間タイプ(Interpolation Type(i)の値)が“0”であるかを判定する。
 ステップS312で、i番目のフレームの補間タイプが“0”であると判定された場合、処理はステップS313に進む。
 ステップS313において、ハイブリッド画像生成装置120は、低フレームレートの3DデータAの(i-1)番目のフレームのRメッシュとi番目のフレームのRメッシュとを用いて、補間処理を実行し、(i-1)番目とi番目の間の補間フレームのRメッシュを生成し、処理をステップS319に進める。
 一方、ステップS312で、i番目のフレームの補間タイプが“0”ではないと判定された場合、処理はステップS314に進む。
 ステップS314において、ハイブリッド画像生成装置120は、3DデータAのi番目のフレームの補間タイプ(Interpolation Type(i)の値)が“3”であるかを判定する。
 ステップS314で、i番目のフレームの補間タイプが“3”ではないと判定された場合、処理はステップS315に進み、ハイブリッド画像生成装置120は、i番目のフレームの補間タイプ(Interpolation Type(i)の値)が“1”であるかを判定する。
 ステップS315で、i番目のフレームの補間タイプ(Interpolation Type(i)の値)が“1”であると判定された場合、処理はステップS316に進み、ハイブリッド画像生成装置120は、低フレームレートの3DデータAのi番目のフレームのRメッシュをコピーして、(i-1)番目とi番目の間の、生成したい時刻の補間フレームのRメッシュを生成し、処理をステップS319に進める。
 一方、ステップS315で、i番目のフレームの補間タイプが“1”ではない、即ち“2”あると判定された場合、処理はステップS317に進み、ハイブリッド画像生成装置120は、低フレームレートの3DデータAの(i-1)番目のフレームのRメッシュをコピーして、(i-1)番目とi番目の間の、生成したい時刻の補間フレームのRメッシュを生成し、処理をステップS319に進める。
 一方、ステップS314で、i番目のフレームの補間タイプが“3”であると判定された場合と判定された場合、処理はステップS318に進み、ハイブリッド画像生成装置120は、高フレームレートの3DデータBの(i-1)番目とi番目の間のフレームのRメッシュをコピーして、生成したい時刻の補間フレームのRメッシュを生成し、処理をステップS319に進める。
 ステップS319において、ハイブリッド画像生成装置120は、低フレームレートの3DデータAのフレーム番号を示す変数iが、3DデータAの(全フレーム数-1)よりも小さいかを判定する。
 ステップS319で、フレーム番号を示す変数iが3DデータAの(全フレーム数-1)よりも小さい、即ち、3DデータAの全てのフレームの間の補間フレームをまだ生成していないと判定された場合、処理はステップS320に進む。
 そして、ステップS320において、フレーム番号を示す変数iが1だけインクリメントされた後、処理がステップS312に戻され、上述したステップS312乃至S319が再度実行される。これにより、次のフレーム間の補間フレームのRメッシュが生成される。
 一方、ステップS319で、フレーム番号を示す変数iが3DデータAの(全フレーム数-1)以上である、即ち、3DデータAの全てのフレームの間の補間フレームを生成したと判定された場合、補間フレーム生成処理が終了される。
 以上のように、フレームレートの異なる2種類の撮像装置10Aおよび10Bを用いる第4実施の形態においても、送信側が、キーフレームフラグの代わりに、補間タイプを送信し、受信側は、補間タイプに基づいて、受信したフレームの間の補間フレームを生成することができる。
<15.画像処理システムの第5実施の形態>
 図27は、本技術を適用した画像処理システムの第5実施の形態の構成例を示すブロック図である。
 図27において、図22に示した第4実施の形態と対応する部分については同一の符号を付してあり、その部分についての説明は適宜省略する。
 図27の第5実施の形態は、フレームレートの異なる2種類の撮像装置10Aおよび10Bを用いる第4実施の形態の符号化装置114および復号装置117を省略し、圧縮符号化されない各フレームのメッシュデータを伝送するようにした構成である。
 図27の第5実施の形態は、図22の第4実施の形態と比較すると、上述した第1実施の形態と第2実施の形態の関係と同様に、符号化装置14および114と、復号装置17および117が省略されている。
 トラッキング装置13は、メッシュトラッキング処理後のメッシュデータであるRメッシュを送信装置15に供給する。送信装置15は、トラッキング装置13から供給される各フレームのRメッシュと、フラグ生成装置12から供給される各フレームのキーフレームフラグを、1つのビットストリームに格納し、ネットワークを介して受信装置16へ送信する。
 受信装置16は、送信装置15からネットワークを介して送信されてくる3DデータAのビットストリームを受信し、受信した3DデータAのビットストリームに格納されている各フレームのメッシュデータであるRメッシュとキーフレームフラグとを分離して、ハイブリッド画像生成装置120へ供給する。
 トラッキング装置113は、メッシュトラッキング処理後のメッシュデータであるRメッシュを送信装置115に供給する。送信装置115は、トラッキング装置113から供給される各フレームのRメッシュを、1つのビットストリームに格納し、ネットワークを介して受信装置116へ送信する。
 受信装置116は、送信装置15からネットワークを介して送信されてくる3DデータBのビットストリームを受信し、受信した3DデータBのビットストリームに格納されている各フレームのRメッシュを、ハイブリッド画像生成装置120へ供給する。
 ハイブリッド画像生成装置120は、復号装置17から供給される各フレームのRメッシュ、受信装置16から供給される各フレームのキーフレームフラグ、および、復号装置117から供給される各フレームのRメッシュを用いて、補間フレーム生成処理を実行し、フレームレートをアップコンバージョンした3Dデータを生成する。
<16.画像処理システムの第6実施の形態>
 図28は、本技術を適用した画像処理システムの第6実施の形態の構成例を示すブロック図である。
 図28において、上述した第1乃至第5実施の形態と対応する部分については同一の符号を付してあり、その部分についての説明は適宜省略する。
 図28の第6実施の形態は、上述した第4および第5実施の形態と同様に、フレームレートの異なる2種類の撮像装置10Aおよび10Bを用いる構成である。
 また、図28の第6実施の形態は、図20に示した第3実施の形態と同様に、送信側から各フレームのキーフレームフラグを送信せずに、受信側が、各フレームのキーフレームフラグを決定(推定)して、生成する構成である。
 換言すれば、図28の第6実施の形態は、図22に示した、フレームレートの異なる2種類の撮像装置10Aおよび10Bを用いる第4実施の形態の、送信側のフラグ生成装置12を省略して、送信装置15を第3実施の形態の送信装置61に置き換え、受信側の送信装置15を第3実施の形態の受信装置62に置き換えるとともに、フラグ推定装置63が新たに追加された構成である。
 このように、フレームレートの異なる2種類の撮像装置10Aおよび10Bを用いる構成においても、送信側から各フレームのキーフレームフラグを送信せずに、受信側が、各フレームのキーフレームフラグを決定(推定)して生成し、補間フレーム生成処理を実行してもよい。
<17.画像処理システムの第7実施の形態>
 図29は、本技術を適用した画像処理システムの第7実施の形態の構成例を示すブロック図である。
 図29において、上述した第1乃至第6実施の形態と対応する部分については同一の符号を付してあり、その部分についての説明は適宜省略する。
 第7実施の形態に係る画像処理システム1は、上述した第4乃至第6実施の形態と同様に、フレームレートの異なる2種類の撮像装置10Aおよび10Bを用いる構成である。
 上述した第4乃至第6実施の形態に係る画像処理システム1では、低フレームレートの3DデータAのメッシュデータの生成、伝送、および、受信と、高フレームレートの3DデータBのメッシュデータの生成、伝送、および、受信は、異なる装置が行っていた。
 しかしながら、図29に示されるように、3Dデータのメッシュデータを生成、伝送、および、受信する各装置が、低フレームレートの3DデータAと高フレームレートの3DデータBの両方を処理する構成としてもよい。
 図29の画像処理システム1は、3Dモデリング装置141、トラッキング装置143、符号化装置144、送信装置145、受信装置146、および、復号装置147を有する。
 また、図29の画像処理システム1は、上述した第4実施の形態と同様に、複数の撮像装置10A-1乃至10A-N、複数の撮像装置10B-1乃至10B-M、フラグ生成装置12、および、ハイブリッド画像生成装置120を備える。
 3Dモデリング装置141は、上述した3Dモデリング装置11が行う処理と3Dモデリング装置111が行う処理の両方を行う。具体的には、3Dモデリング装置141は、複数の撮像装置10Aおよび10Bそれぞれで撮像して得られた複数の撮影画像に基づいて、被写体の3D形状のモデリング処理を実行し、その結果として得られる3DデータAおよび3DデータBを生成する。
 トラッキング装置143は、上述したトラッキング装置13が行う処理とトラッキング装置113が行う処理の両方を行う。具体的には、トラッキング装置143は、3Dモデリング装置141から3DデータAおよびBとして供給される各フレームのUメッシュに対してメッシュトラッキング処理を実行し、各フレームのRメッシュに変換して符号化装置144に供給する。
 符号化装置144は、上述した符号化装置14が行う処理と符号化装置114が行う処理の両方を行う。具体的には、符号化装置144は、トラッキング装置143から供給される3DデータAおよびBとしての各フレームのRメッシュを、所定の符号化方式で圧縮符号化し、その結果得られた各フレームの圧縮メッシュデータを、送信装置145へ供給する。
 送信装置145は、上述した送信装置15が行う処理と送信装置115が行う処理の両方を行う。具体的には、送信装置145は、ビットストリームとして、3DデータAとしての各フレームの圧縮メッシュデータと、フラグ生成装置12から供給される各フレームのキーフレームフラグを、1つのビットストリームに格納し、ネットワークを介して受信装置146へ送信する。また、送信装置145は、3DデータBとしての各フレームの圧縮メッシュデータを格納して、1つのビットストリームに格納し、ネットワークを介して受信装置146へ送信する。
 受信装置146は、上述した受信装置16が行う処理と受信装置116が行う処理の両方を行う。具体的には、受信装置146は、送信装置145からネットワークを介して送信されてくる3DデータAのビットストリームを受信し、各フレームの圧縮メッシュデータと、各フレームのキーフレームフラグとに分離する。また、受信装置146は、送信装置145からネットワークを介して送信されてくる3DデータBのビットストリームを受信し、各フレームの圧縮メッシュデータを取得する。3DデータAおよびBの各フレームの圧縮メッシュデータは、復号装置17へ供給され、各フレームのキーフレームフラグをハイブリッド画像生成装置120へ供給される。
 復号装置147は、上述した復号装置17が行う処理と復号装置117が行う処理の両方を行う。具体的には、復号装置147は、受信装置146から供給される3DデータAおよびBの各フレームの圧縮メッシュデータを、符号化装置14における符号化方式に対応する方式で復号し、ハイブリッド画像生成装置120へ供給する。
 画像処理システム1は、以上のように構成することもできる。
<18.画像処理システムの第8実施の形態>
 図30は、本技術を適用した画像処理システムの第8実施の形態の構成例を示すブロック図である。
 図30において、上述した第1乃至第6実施の形態と対応する部分については同一の符号を付してあり、その部分についての説明は適宜省略する。
 第7実施の形態に係る画像処理システム1は、図1に示した第1実施の形態の変形例である。
 図1に示した第1実施の形態では、被写体の3D形状のモデリング処理、キーフレームフラグの生成処理、メッシュトラッキング処理、圧縮符号化処理、および、キーフレームフラグの格納および送信処理、キーフレームフラグの受信および分離処理、復号処理、補間フレーム生成処理のそれぞれを、異なる装置が実行した。
 しかしながら、送信側および受信側のそれぞれにおいて、上述した複数の装置が1つの装置に含まれる構成としてもよい。
 例えば、図30に示されるように、送信側において、画像送信装置161が、3Dモデリング装置11、フラグ生成装置12、トラッキング装置13、符号化装置14、および、送信装置15を内部ブロックとして有する。3Dモデリング装置11、フラグ生成装置12、トラッキング装置13、符号化装置14、および、送信装置15は、画像送信装置161内において、それぞれ、3Dモデリング部、フラグ生成部(情報生成部)、トラッキング部、符号化部、および、送信部として機能する。
 受信側において、画像受信装置162が、受信装置16、復号装置17、および、画像生成装置18を内部ブロックとして有する。受信装置16、復号装置17、および、画像生成装置18は、画像受信装置162内において、それぞれ、受信部、復号部、および、画像生成部として機能する。
 この場合、画像送信装置161が、3Dモデリング装置11、フラグ生成装置12、トラッキング装置13、符号化装置14、および、送信装置15のそれぞれが行う処理を実行する。画像受信装置162が、受信装置16、復号装置17、および、画像生成装置18のそれぞれが行う処理を実行する。
 なお、図30に示した構成は、あくまで一例であり、任意の複数の装置を1つの装置が行わせる構成とすることができる。例えば、フラグ生成装置12、トラッキング装置13、および、符号化装置14で1つの装置を構成してもよい。
 また、図30の構成は、図1に示した第1実施の形態における複数の装置を1つの装置にまとめた構成であるが、上述した他の実施の形態についても同様に、任意の複数の装置を1つの装置が行わせる構成とすることができる。
<19.コンピュータの構成例>
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているマイクロコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図31は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)301,ROM(Read Only Memory)302,RAM(Random Access Memory)303は、バス304により相互に接続されている。
 バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、入力部306、出力部307、記憶部308、通信部309、及びドライブ310が接続されている。
 入力部306は、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部307は、ディスプレイ、スピーカ、出力端子などよりなる。記憶部308は、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部309は、ネットワークインタフェースなどよりなる。ドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体311を駆動する。
 以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを、入出力インタフェース305及びバス304を介して、RAM303にロードして実行することにより、上述した一連の処理が行われる。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
 コンピュータでは、プログラムは、リムーバブル記録媒体311をドライブ310に装着することにより、入出力インタフェース305を介して、記憶部308にインストールすることができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して、通信部309で受信し、記憶部308にインストールすることができる。その他、プログラムは、ROM302や記憶部308に、あらかじめインストールしておくことができる。
 なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した複数の実施の形態の全てまたは一部を組み合わせた形態を採用することができる。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、本明細書に記載されたもの以外の効果があってもよい。
 なお、本技術は以下のような構成も取ることができる。
(1)
 3D画像の2つのフレームの相違度に基づく情報を生成する情報生成部と、
 生成された前記相違度に基づく情報を送信する送信部と
 を備える送信装置。
(2)
 前記相違度に基づく情報は、前記2つのフレームで3D形状が大きく変化するか否かを示すフラグである
 前記(1)に記載の送信装置。
(3)
 前記相違度に基づく情報は、前記2つのフレームの間のフレームを生成する際の補間タイプを示す値である
 前記(1)に記載の送信装置。
(4)
 前記相違度に基づく情報は、前記2つのフレームの相違度の値である
 前記(1)に記載の送信装置。
(5)
 前記送信部は、前記3D画像の2つのフレームのメッシュデータと、前記相違度に基づく情報とを格納したビットストリームを生成して送信する
 前記(1)乃至(4)のいずれかに記載の送信装置。
(6)
 前記送信部は、前記相違度に基づく情報をフレーム毎にメタデータとして格納したビットストリームを生成して送信する
 前記(5)に記載の送信装置。
(7)
 前記送信部は、前記3D画像の全てのフレームの前記相違度に基づく情報を格納したメタデータと、前記3D画像の各フレームを格納したビットストリームを生成して送信する
 前記(5)に記載の送信装置。
(8)
 前記3D画像の2つのフレームのメッシュデータを所定の符号化方式で圧縮符号化する符号化部をさらに備え、
 前記送信部は、前記メッシュデータを圧縮符号化した圧縮メッシュデータと、前記相違度に基づく情報とを格納したビットストリームを生成して送信する
 前記(1)乃至(4)のいずれかに記載の送信装置。
(9)
 前記情報生成部は、第1フレームレートの前記3D画像の前記相違度に基づく情報を生成し、
 前記送信部は、前記第1フレームレートの前記3D画像のメッシュデータおよび前記相違度に基づく情報と、前記第1フレームレートとフレームレートが異なる第2フレームレートで、同一被写体を撮影した3D画像のメッシュデータとを送信する
 前記(1)乃至(4)のいずれかに記載の送信装置。
(10)
 送信装置が、
 3D画像の2つのフレームの相違度に基づく情報を生成し、
 生成された前記相違度に基づく情報を送信する
 送信方法。
(11)
 3D画像の2つのフレームの相違度に基づく情報に基づいて、前記2つのフレームの間の補間フレームを生成する画像生成部
 を備える受信装置。
(12)
 前記相違度に基づく情報は、前記2つのフレームで3D形状が大きく変化するか否かを示すフラグである
 前記(11)に記載の受信装置。
(13)
 前記相違度に基づく情報は、前記補間フレームを生成する際の補間タイプを示す値である
 前記(11)に記載の受信装置。
(14)
 前記相違度に基づく情報は、前記2つのフレームの相違度の値である
 前記(11)に記載の受信装置。
(15)
 前記画像生成部は、前記相違度に基づく情報に基づいて、前記補間フレームを生成する生成方法を変更する
 前記(11)乃至(14)のいずれかに記載の受信装置。
(16)
 前記相違度は、前記2つのフレームのハウスドルフ距離を計算した値である
 前記(11)乃至(15)のいずれかに記載の受信装置。
(17)
 前記3D画像の2つのフレームのメッシュデータと、前記相違度に基づく情報とを格納したビットストリームを受信する受信部をさらに備え、
 前記画像生成部は、受信した前記相違度に基づく情報に基づいて、前記補間フレームを生成する
 前記(11)乃至(16)のいずれかに記載の受信装置。
(18)
 前記3D画像の2つのフレームのメッシュデータは、所定の符号化方式で圧縮符号化されており、
 圧縮符号化された前記メッシュデータを復号する復号部をさらに備え、
 前記画像生成部は、受信した前記相違度に基づく情報に基づいて、復号により得られた前記メッシュデータを用いて前記補間フレームを生成する
 前記(17)に記載の受信装置。
(19)
 前記受信部は、前記相違度に基づく情報をフレーム毎にメタデータとして格納した前記ビットストリームを受信する
 前記(17)または(18)に記載の受信装置。
(20)
 前記受信部は、前記3D画像の全てのフレームの前記相違度に基づく情報を格納したメタデータと、前記3D画像の各フレームのメッシュデータを格納した前記ビットストリームを受信する
 前記(17)または(18)に記載の受信装置。
 1 画像処理システム, 10A,10B 撮像装置, 11 3Dモデリング装置, 12 フラグ生成装置, 13 トラッキング装置, 14 符号化装置, 15 送信装置, 16 受信装置, 17 復号装置, 18 画像生成装置, 61 送信装置, 62 受信装置, 63 フラグ推定装置, 111 3Dモデリング装置, 113 トラッキング装置, 114 符号化装置, 115 送信装置, 116 受信装置, 117 復号装置, 120 ハイブリッド画像生成装置, 141 3Dモデリング装置, 143 トラッキング装置, 144 符号化装置, 145 送信装置, 146 受信装置, 147 復号装置, 161 画像送信装置, 162 画像受信装置, 301 CPU, 302 ROM, 303 RAM, 306 入力部, 307 出力部, 308 記憶部, 309 通信部, 310 ドライブ

Claims (20)

  1.  3D画像の2つのフレームの相違度に基づく情報を生成する情報生成部と、
     生成された前記相違度に基づく情報を送信する送信部と
     を備える送信装置。
  2.  前記相違度に基づく情報は、前記2つのフレームで3D形状が大きく変化するか否かを示すフラグである
     請求項1に記載の送信装置。
  3.  前記相違度に基づく情報は、前記2つのフレームの間のフレームを生成する際の補間タイプを示す値である
     請求項1に記載の送信装置。
  4.  前記相違度に基づく情報は、前記2つのフレームの相違度の値である
     請求項1に記載の送信装置。
  5.  前記送信部は、前記3D画像の2つのフレームのメッシュデータと、前記相違度に基づく情報とを格納したビットストリームを生成して送信する
     請求項1に記載の送信装置。
  6.  前記送信部は、前記相違度に基づく情報をフレーム毎にメタデータとして格納したビットストリームを生成して送信する
     請求項5に記載の送信装置。
  7.  前記送信部は、前記3D画像の全てのフレームの前記相違度に基づく情報を格納したメタデータと、前記3D画像の各フレームを格納したビットストリームを生成して送信する
     請求項5に記載の送信装置。
  8.  前記3D画像の2つのフレームのメッシュデータを所定の符号化方式で圧縮符号化する符号化部をさらに備え、
     前記送信部は、前記メッシュデータを圧縮符号化した圧縮メッシュデータと、前記相違度に基づく情報とを格納したビットストリームを生成して送信する
     請求項1に記載の送信装置。
  9.  前記情報生成部は、第1フレームレートの前記3D画像の前記相違度に基づく情報を生成し、
     前記送信部は、前記第1フレームレートの前記3D画像のメッシュデータおよび前記相違度に基づく情報と、前記第1フレームレートとフレームレートが異なる第2フレームレートで、同一被写体を撮影した3D画像のメッシュデータとを送信する
     請求項1に記載の送信装置。
  10.  送信装置が、
     3D画像の2つのフレームの相違度に基づく情報を生成し、
     生成された前記相違度に基づく情報を送信する
     送信方法。
  11.  3D画像の2つのフレームの相違度に基づく情報に基づいて、前記2つのフレームの間の補間フレームを生成する画像生成部
     を備える受信装置。
  12.  前記相違度に基づく情報は、前記2つのフレームで3D形状が大きく変化するか否かを示すフラグである
     請求項11に記載の受信装置。
  13.  前記相違度に基づく情報は、前記補間フレームを生成する際の補間タイプを示す値である
     請求項11に記載の受信装置。
  14.  前記相違度に基づく情報は、前記2つのフレームの相違度の値である
     請求項11に記載の受信装置。
  15.  前記画像生成部は、前記相違度に基づく情報に基づいて、前記補間フレームを生成する生成方法を変更する
     請求項11に記載の受信装置。
  16.  前記相違度は、前記2つのフレームのハウスドルフ距離を計算した値である
     請求項11に記載の受信装置。
  17.  前記3D画像の2つのフレームのメッシュデータと、前記相違度に基づく情報とを格納したビットストリームを受信する受信部をさらに備え、
     前記画像生成部は、受信した前記相違度に基づく情報に基づいて、前記補間フレームを生成する
     請求項11に記載の受信装置。
  18.  前記3D画像の2つのフレームのメッシュデータは、所定の符号化方式で圧縮符号化されており、
     圧縮符号化された前記メッシュデータを復号する復号部をさらに備え、
     前記画像生成部は、受信した前記相違度に基づく情報に基づいて、復号により得られた前記メッシュデータを用いて前記補間フレームを生成する
     請求項17に記載の受信装置。
  19.  前記受信部は、前記相違度に基づく情報をフレーム毎にメタデータとして格納した前記ビットストリームを受信する
     請求項17に記載の受信装置。
  20.  前記受信部は、前記3D画像の全てのフレームの前記相違度に基づく情報を格納したメタデータと、前記3D画像の各フレームのメッシュデータを格納した前記ビットストリームを受信する
     請求項17に記載の受信装置。
PCT/JP2018/042427 2017-12-01 2018-11-16 送信装置、送信方法、および受信装置 WO2019107181A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880076046.8A CN111406405A (zh) 2017-12-01 2018-11-16 发送装置、发送方法和接收装置
US16/766,478 US20200380775A1 (en) 2017-12-01 2018-11-16 Transmitting device, transmitting method, and receiving device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-231795 2017-12-01
JP2017231795 2017-12-01

Publications (1)

Publication Number Publication Date
WO2019107181A1 true WO2019107181A1 (ja) 2019-06-06

Family

ID=66663904

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/042427 WO2019107181A1 (ja) 2017-12-01 2018-11-16 送信装置、送信方法、および受信装置

Country Status (3)

Country Link
US (1) US20200380775A1 (ja)
CN (1) CN111406405A (ja)
WO (1) WO2019107181A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024014196A1 (ja) * 2022-07-09 2024-01-18 Kddi株式会社 メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
WO2024014042A1 (ja) * 2022-07-09 2024-01-18 Kddi株式会社 メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
WO2024014044A1 (ja) * 2022-07-09 2024-01-18 Kddi株式会社 メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
WO2024053522A1 (ja) * 2022-09-06 2024-03-14 キヤノン株式会社 画像処理装置および画像処理方法
WO2024150727A1 (ja) * 2023-01-11 2024-07-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化方法、復号方法、符号化装置及び復号装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11568575B2 (en) * 2019-02-19 2023-01-31 Google Llc Cost-driven framework for progressive compression of textured meshes
TW202221649A (zh) * 2020-11-24 2022-06-01 圓剛科技股份有限公司 利用特徵補償的成像裝置及其成像方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005506007A (ja) * 2001-10-05 2005-02-24 松下電器産業株式会社 映像データ送信方法および装置
JP2007525924A (ja) * 2004-03-04 2007-09-06 サムスン エレクトロニクス カンパニー リミテッド ビデオストリーミングサービスのためのビデオコーディング方法とビデオエンコーディングシステム、及びビデオデコーディング方法とビデオデコーディングシステム
JP2007248364A (ja) * 2006-03-17 2007-09-27 Pasuko:Kk 建物形状変化検出方法及び建物形状変化検出システム
JP2010136292A (ja) * 2008-12-08 2010-06-17 Toshiba Corp 画像処理装置
JP2013062683A (ja) * 2011-09-13 2013-04-04 Toshiba Corp データ転送装置、データ送信システム、データ送信方法およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013174671A1 (en) * 2012-05-22 2013-11-28 Telefonica, S.A. A method and a system for generating a realistic 3d reconstruction model for an object or being

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005506007A (ja) * 2001-10-05 2005-02-24 松下電器産業株式会社 映像データ送信方法および装置
JP2007525924A (ja) * 2004-03-04 2007-09-06 サムスン エレクトロニクス カンパニー リミテッド ビデオストリーミングサービスのためのビデオコーディング方法とビデオエンコーディングシステム、及びビデオデコーディング方法とビデオデコーディングシステム
JP2007248364A (ja) * 2006-03-17 2007-09-27 Pasuko:Kk 建物形状変化検出方法及び建物形状変化検出システム
JP2010136292A (ja) * 2008-12-08 2010-06-17 Toshiba Corp 画像処理装置
JP2013062683A (ja) * 2011-09-13 2013-04-04 Toshiba Corp データ転送装置、データ送信システム、データ送信方法およびプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Information Technology-Generic coding of Moving Pictures and Associated Audio Information : Video- ITU-T Recommendation H. 262", INTERNATIONAL TELECOMMUNICATION UNION, July 1995 (1995-07-01), pages 5,6,30,39 - 50, XP055615809, Retrieved from the Internet <URL:http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.262-199507-S!!PDF-E&type=items> [retrieved on 20120125] *
GUPTA, S. ET AL.: "Registration and Partitioning-Based Compression of 3-D Dynamic Data", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 13, no. 11, 27 October 2003 (2003-10-27), pages 1144 - 1155, XP011102949, ISSN: 1051-8215, doi:10.1109/TCSVT.2003.817625 *
INFORMATION TECHNOLOGY - CODING OF AUDIO-VISUAL OBJECTS - PART 16: ANIMATION FRAMEWORK EXTENSION (AFX, 1 November 2011 (2011-11-01), pages 235 - 240 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024014196A1 (ja) * 2022-07-09 2024-01-18 Kddi株式会社 メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
WO2024014042A1 (ja) * 2022-07-09 2024-01-18 Kddi株式会社 メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
WO2024014044A1 (ja) * 2022-07-09 2024-01-18 Kddi株式会社 メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム
WO2024053522A1 (ja) * 2022-09-06 2024-03-14 キヤノン株式会社 画像処理装置および画像処理方法
WO2024150727A1 (ja) * 2023-01-11 2024-07-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化方法、復号方法、符号化装置及び復号装置

Also Published As

Publication number Publication date
CN111406405A (zh) 2020-07-10
US20200380775A1 (en) 2020-12-03

Similar Documents

Publication Publication Date Title
WO2019107181A1 (ja) 送信装置、送信方法、および受信装置
JP7143905B2 (ja) 画像処理装置および方法
JP7320352B2 (ja) 三次元モデル送信方法、三次元モデル受信方法、三次元モデル送信装置及び三次元モデル受信装置
JP7277372B2 (ja) 三次元モデル符号化装置、三次元モデル復号装置、三次元モデル符号化方法、および、三次元モデル復号方法
JP6911765B2 (ja) 画像処理装置および画像処理方法
CN108243629B (zh) 图像处理设备和图像处理方法
JP5241500B2 (ja) カメラパラメータを利用した多視点動画符号化及び復号化装置並びに方法と、これを行うためのプログラムの記録された記録媒体
US20210233303A1 (en) Image processing apparatus and image processing method
JPWO2019198501A1 (ja) 画像処理装置、画像処理方法、プログラム、および画像伝送システム
KR20110043967A (ko) 카메라 트래킹 시스템, 트래킹 방법 및 이를 이용한 실사영상 합성 시스템
JP4806088B1 (ja) 画像変換装置、画像変換装置の制御方法、画像変換装置制御プログラムおよび記録媒体
KR101763921B1 (ko) 컨텐츠 스트리밍 시스템 및 방법
US20190313121A1 (en) Information processing device and method
CN117044216A (zh) 基于自适应面部再现和面部恢复的视频会议
AU2021384132A1 (en) Providing a 3d representation of a transmitting participant in a virtual meeting
JP2006041811A (ja) 自由視点画像ストリーミング方式
JP7009996B2 (ja) 画像処理装置および画像処理方法
JP2022551064A (ja) 容積ビデオを符号化、送信、及び復号化するための方法及び装置
WO2024195354A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
EP4246988A1 (en) Image synthesis

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18882477

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP