WO2020054212A1 - 画像処理装置、画像処理方法、及び、プログラム - Google Patents

画像処理装置、画像処理方法、及び、プログラム Download PDF

Info

Publication number
WO2020054212A1
WO2020054212A1 PCT/JP2019/028014 JP2019028014W WO2020054212A1 WO 2020054212 A1 WO2020054212 A1 WO 2020054212A1 JP 2019028014 W JP2019028014 W JP 2019028014W WO 2020054212 A1 WO2020054212 A1 WO 2020054212A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
imaging
virtual viewpoint
meta information
image processing
Prior art date
Application number
PCT/JP2019/028014
Other languages
English (en)
French (fr)
Inventor
前田 充
Original Assignee
キヤノン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by キヤノン株式会社 filed Critical キヤノン株式会社
Publication of WO2020054212A1 publication Critical patent/WO2020054212A1/ja
Priority to US17/194,728 priority Critical patent/US20210203905A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
    • H04N21/8133Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts specifically related to the content, e.g. biography of the actors in a movie, detailed information about an article seen in a video program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors

Definitions

  • the present invention relates to an image processing device that generates a virtual viewpoint video.
  • Non-Patent Document 1 describes a method of synthesizing an image at an arbitrary viewpoint position from an image obtained by photographing a target scene from a plurality of viewpoints (cameras). Among them, the Model Based Rendering technology is introduced. Also in this method, many cameras are arranged so as to surround the object. By restoring the three-dimensional model by this method, it is possible to synthesize a video from an arbitrary viewpoint and to reproduce the position and movement of the player, which is useful for sports analysis.
  • Non-Patent Document 1 video data for generating a virtual viewpoint video is managed, stored, and processed in each device, so that it is difficult to mutually use the video data. .
  • the present invention has been made in view of the above problems, and an object of the present invention is to facilitate mutual use of video data for generating a virtual viewpoint video.
  • an image processing device according to a virtual viewpoint image generated based on a plurality of image data obtained by imaging an imaging region with a plurality of imaging devices inputs the plurality of image data.
  • An input unit, and an assigning unit that assigns, as meta information, at least one of imaging setting information, imaging situation information, imaging target information, and imaging right information to the image data input by the input unit.
  • FIG. 1 is a configuration diagram illustrating a configuration example of a system including an image processing apparatus according to a first embodiment.
  • FIG. 3 is a diagram illustrating an example of a structure of an ISOBMFF file according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of the structure of an EXIF file according to the first embodiment.
  • FIG. 5 is a diagram illustrating an example of a configuration of tag information of FVVI @ IFD in the first embodiment. 5 is a flowchart of a video file generation process according to the first embodiment. 6 is a flowchart of another video file generation process according to the first embodiment.
  • FIG. 2 is a configuration diagram illustrating another configuration example of a system including the image processing apparatus 100 according to the first embodiment.
  • FIG. 1 is a configuration diagram illustrating a configuration example of a system including an image processing apparatus 100 according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of a structure of an ISOBMFF file according to the first embodiment.
  • FIG. 9 is a configuration diagram illustrating a configuration example of a system including an image processing apparatus according to a second embodiment. H. in the second embodiment.
  • FIG. 3 is a diagram illustrating a configuration example of a bit stream of the H.265 encoding method.
  • FIG. 14 is a diagram illustrating a configuration example vui_parameters () of VUI @ Parameters in the second embodiment.
  • FIG. 14 is a diagram illustrating a configuration example sei_payload () of SEI @ message in the second embodiment. It is a figure showing the example of composition of free_viewpoint_video_info (payloadSize) in 2nd Embodiment. It is a figure showing the example of composition of free_viewpoint_video_info (payloadSize) in 2nd Embodiment.
  • FIG. 14 is a configuration diagram illustrating a configuration example of a system including an image processing apparatus according to a third embodiment. It is a figure showing the example of the display screen in a 3rd embodiment.
  • FIG. 3 is a block diagram illustrating an example of a hardware configuration of a computer that can be applied to the image processing apparatus according to each embodiment.
  • FIG. 1 illustrates a configuration example of a system including an image processing apparatus 100 according to the first embodiment.
  • a plurality of cameras imaging devices
  • facilities such as a stadium or a concert hall
  • imaging imaging
  • the image processing apparatus 100 includes cameras 101a to 101z, an input unit 102, an environment information acquisition unit 103, a terminal 104, a file generation unit 105, a meta information addition unit 106, an output unit 107, and a storage unit 108.
  • the cameras 101a to 101z are arranged so as to surround the subject, and the images are taken in synchronization. However, the number and arrangement of cameras are not limited.
  • the cameras 101a to 101z are connected to an input unit 102 of the image processing apparatus 100 via a network.
  • the input unit 102 receives input of video data shot by the cameras 101a to 101z and outputs the video data to the file generation unit 105.
  • the terminal 104 receives an input of meta information related to video data from a user, and outputs the input meta information to the meta information providing unit 106.
  • the input meta information includes, for example, at least one of shooting setting information, shooting status information, shooting target information, and shooting right information. Details of the meta information will be described later.
  • the environment information acquisition unit 103 includes a sensor or the like that acquires environment information.
  • the environment information acquisition unit 103 acquires weather information and the like on the day of shooting and outputs the information to the meta information addition unit 106.
  • the method of acquiring the environmental information is not limited to this, and may be obtained from the outside through the Internet or the like, for example.
  • the file generation unit 105 adds header data necessary for filing to the input video data, and generates a video file.
  • the format of a video file will be described using the ISO / IEC 14496-12 (MPEG-4 Part 12) / ISO / base / media / format (hereinafter referred to as ISOBMFF) standard as an example.
  • ISOBMFF ISO / IEC 14496-12
  • ISOBMFF ISO / base / media / format
  • FIG. 2 shows a configuration example of an ISO BMFF file according to the present embodiment.
  • the ISO BMFF file 200 includes boxes of ftyp (File Type Compatibility Box) 201 and moov (Movie Box) 202.
  • the ISO @ BMFF file 200 includes boxes of meta (metadata) 203 and mdat (Media @ Data @ Box) 204.
  • the box typ201 includes information on the file format, and describes, for example, that the file is an ISO @ BMFF file, the version of the box, the name of the manufacturer that created the video file, and the like.
  • the box moov 202 includes information such as a time axis for managing media data (video data) and an address.
  • the box meta 203 contains meta information of video data. The meta information included in the box meta 203 will be described later.
  • the box mdat 204 contains media data (video data) that is actually reproduced as a moving image.
  • the meta information adding unit 106 generates a box meta 203 indicating the meta information based on the information received from the environment information acquisition unit 103 and the terminal 104.
  • the file generation unit 105 can use the box meta203 to add meta information to the video file.
  • An example of the configuration of the box meta 203 is shown below.
  • the structure of the Filming_scene_information box representing the shooting setting information is shown below.
  • offset_size, length_size, base_offset_size, index_size, and reserved are described in the standard specification and are codes related to the size of a box and the like.
  • Num_free_viewpoint_original_video_info is a code indicating the length of a character string of information relating to video data and the like necessary for generating a virtual viewpoint video.
  • free_viewpoint_original_video_info is an array for storing a character string of information on material data.
  • $ Category_code is a code representing a shooting target, and represents a classification of a shooting purpose such as sports, entertainment, and monitoring. For example, sports are 0x0001, entertainment is 0x0002, and so on.
  • Filming_date_time_code is a code indicating a shooting date and time, and indicates a shooting start time and the like.
  • the shooting date and time is represented, for example, in a W3C-DTF format.
  • the shooting date and time are represented by, for example, the year, month, day, hour, minute, second, and millisecond.
  • filming_date_time_code is a code as a bit string obtained by adding a spare bit to such a bit string representing the shooting date and time.
  • $ Num_char_place_name is a code representing the length of a character string representing the shooting location.
  • the place_name is a character string representing the name of the shooting location, for example, a character string such as “Tokyo Soccer Stadium”. Note that the information on the shooting location is not limited to a character string. Further, a code for representing a language may be added.
  • Num_char_convection_name is a code representing the outline of the shooting, that is, the length of a character string representing the name of the tournament or lecture.
  • the convention_name is a character string representing the name of the shooting event, for example, a character string such as “xxxth Olympics”. Note that the information on the shooting event is not limited to a character string. Further, a code for representing a language may be added.
  • Num_char_event_name is a code indicating the length of a character string of information relating to details of photographed contents.
  • the details of the shooting content include, for example, an athletic event or a type of content such as a musical or a concert.
  • the event_name is a character string representing the details of the content of the photograph, for example, a character string such as "soccer", “table tennis”, “100m backstroke”, “musical”, “concert”, “magic show”.
  • Num_char_stage_name is a code indicating the length of a character string of information on the details of the shooting target stage.
  • the stage_name is a character string representing the details of the shooting stage. is there.
  • $ Free_viewpoint_filming_info_code is a code representing information about an imaging system and the like. For example, if the first bit is 1, it indicates that there is information regarding the imaging system, and if the second bit is 1, it indicates that there is information regarding the camera.
  • Num_char_filming_system_info_minus1 is a code representing the length of a character string representing the name of the imaging system.
  • filming_system_information is a character string representing the name of the imaging system.
  • Max_num_target_point_minus1 is a value representing the maximum value of the number of gazing points facing the camera used in the present imaging system.
  • num_target_point_minus1 is a code indicating the number of gazing points at which the camera used in the present imaging system faces.
  • Target_point_name_length is a code representing the length of a character string representing a name or the like for identifying the point of regard. If a name or the like for identifying the gazing point is not set, the length of the character string is set to 0.
  • target_point_name represents a name or the like for identifying each gazing point.
  • Target_point_location is a code for representing the position of the point of interest in three-dimensional coordinates.
  • $ Num_camera_minus1 is a code representing the number of cameras used in the present imaging system.
  • max_camera_name_length is a code indicating the maximum value of the length of a character string for giving a name or the like for identifying each camera.
  • “camera_name_length” is a code indicating the length of a character string indicating a name or the like for identifying a camera.
  • camera_name indicates a name or the like for identifying the camera. Alternatively, the number may simply be a number for identifying the camera.
  • Camera_location represents the position of the camera as a three-dimensional position.
  • camera_attitude is a code representing the attitude of the camera.
  • Num_char_camera_type_info is a code representing information on the camera itself, for example, the length of a character string representing a company name or a model name.
  • camera_type_information is information on the camera itself, for example, a character string representing a company name or a model name.
  • Num_char_lenz_type_info is a code indicating the length of a character string indicating the information of the lens attached to the camera, for example, a company name or a model name.
  • “lenz_type_information” is information on the lens itself, for example, a character string representing a company name or a model name.
  • focus_distance is a code representing a focal length for representing an angle of view of the lens at the time of photographing.
  • room_code is a code representing information such as indoor or outdoor of a place. For example, if the value is 0, it indicates that the situation is unknown. Further, if the value is 1, it indicates outdoor, if 2 the dome, and 3 if indoor.
  • Illuminant_code is a code representing information about the light source. For example, in the case of sunlight, the value is set to 1. For indoor lighting such as a fluorescent lamp, the code is assigned to each light source. If the value is 0, it indicates that there is no information on the light source.
  • Sun_direction is a code indicating the direction of the sun (light source). For example, north may be set to 0, and the azimuth may be represented by 360 degrees.
  • sun_altitude is a value indicating the altitude of the sun. For example, it can be represented by an angle with respect to the horizontal direction.
  • $ Weather_code is a code indicating the weather. For example, if the value is 0, it indicates fine weather, and a value from 1 to 10 may represent the amount of cloud. Further, information such as rain or snow may be assigned to the upper digit.
  • Template_C_value represents the temperature, for example, in degrees Celsius. When the temperature is not measured, the value is set to 0xFFFF, so that the case where the temperature is measured and the case where the temperature is not measured can be distinguished.
  • Humidity_value represents humidity in%.
  • Wind_direction indicates a wind direction, and may be a value when, for example, north is 0 and its azimuth is represented by 360 degrees.
  • wind_force is a value representing wind power. Alternatively, the wind speed may be indicated.
  • max_num_object is a value representing the maximum value of the number of photographed objects.
  • num_object is the number of objects that are actually shot in frame units, video clip units, or the entire video unit.
  • $ Num_char_object_info is a value representing the length of the character string representing the target.
  • object_information is a character string representing the target.
  • max_num_right_holder is a value representing the maximum value of the number of individuals and groups (hereinafter collectively referred to as right holders) who have the right to shoot.
  • num_right_holder is the number of right holders who actually have the right in frame units, video clip units, or the entire video unit.
  • $ Num_char_right_holder is a value representing the length of a character string representing the name of the right holder.
  • $ Right_holder_information is a character string representing the name of the right holder.
  • the file generation unit 105 can add meta information to the ISO @ BMFF file 200 by using the box meta 203 generated by the meta information addition unit 106.
  • a dedicated box may be newly provided instead of the general box meta203.
  • a box type such as fvvi (Free ⁇ Viewpoint ⁇ Video ⁇ Info) 205 can be newly provided.
  • the above box fvvi 205 can be provided for the entire video (sequence), video clip unit composed of a plurality of frames, or frame unit. That is, as shown in FIG. 2C, the box fvvi205 may be added to the box moov202. In the case where the box moov 202 further includes a box moov, the box fvvi 205 may be given to the box moov therein. Further, as shown in FIG. 2D, the box fvvi 205 may be divided into a plurality of boxes.
  • the output unit 107 outputs the video file to which the meta information has been added to the outside.
  • the storage unit 108 stores the video file to which the meta information has been added in a storage medium.
  • FIG. 3 shows an example of the format of a file (EXIF file) using the Exif standard in the present embodiment.
  • EXIF file meta information regarding a virtual viewpoint video (virtual viewpoint image) is defined as Free ⁇ Viewpoint ⁇ Video ⁇ Information ⁇ Image ⁇ File ⁇ Directory (hereinafter referred to as FVVI IFD) 301.
  • the FVVI @ IFD 301 stores shooting setting information, shooting status information, shooting target information, and shooting right information.
  • FIG. 4 shows an example of the configuration of the tag information of the FVVI @ IFD 301 in the present embodiment.
  • the respective codes of the above-mentioned ISO BMFF are stored in respective tags.
  • FIG. 5 shows a flowchart of a video file generation process in the present embodiment.
  • a series of processes shown in the flowchart is performed by the CPU 801 of the image processing apparatus 100 reading a control program stored in the ROM 803 into the RAM 802 and executing the control program, as described later.
  • some or all of the functions of the steps in the flowchart may be realized by hardware such as an ASIC or an electronic circuit.
  • the symbol “S” in the description of each process means a step in the flowchart. The same applies to other flowcharts.
  • the meta information providing unit 106 acquires the shooting setting information input by the user from the terminal 104.
  • the shooting setting information includes at least one of a shooting location, a shooting date and time, an event content, and camera information.
  • the camera information includes at least one of a position of a gazing point of the camera, the number of cameras, an arrangement of the cameras, a posture of the cameras, and a focal length.
  • step S ⁇ b> 1001 the meta information providing unit 106 acquires the photographing right information input by the user from the terminal 104.
  • the photographing right information includes information of a right holder regarding photographing.
  • the meta information providing unit 106 acquires the imaging target information input by the user from the terminal 104.
  • the shooting target information includes information on a target to be shot, for example, a player name and a role in a team. That is, the imaging target information includes at least one of the name of the target to be imaged and the name of the target group.
  • step S ⁇ b> 1003 the meta information providing unit 106 acquires, from the environment information acquiring unit 103, the shooting status information acquired by the environment information acquiring unit 103, for example, information on the light source, temperature, humidity, wind direction, and wind force. That is, the shooting status information includes weather information at the time of shooting.
  • the order of S1000 to S1003 is not limited, and may be any order. Also, at least one of steps S1000 to S1003 is executed so that the meta-information providing unit 106 acquires at least one of shooting setting information, shooting right information, shooting target information, and shooting status information. You may.
  • the file generation unit 105 generates header data of the video file. For example, the file generation unit 105 generates a box ftyp201 in ISO BMFF, and generates a 0 th IFD in Exif. The generated header data is input to the meta information providing unit 106, and stored in a file by the file generating unit 105.
  • step S1005 the meta information adding unit 106 adds at least one of the obtained shooting setting information, shooting right information, shooting target information, and shooting status information to the file as meta information.
  • the file generation unit 105 stores the assigned meta information in a file. Note that the meta information is provided using a box meta or a box ffvi in ISO @ BMFF. In Exif, it is given using FVVI @ IFD.
  • step S1006 the input unit 102 receives video data input from the cameras 101a to 101z and inputs the video data to the file generation unit 105.
  • the file generation unit 105 stores the video data input via the input unit 102 in a file.
  • the file generation unit 105 stores video data as a box mdat with a necessary code added thereto.
  • the file generation unit 105 stores video data in a file as Image @ Data.
  • the file storing the video data is output to the outside by the output unit 107 or is stored by the storage unit 108.
  • the file generation unit 105 may encode the video data.
  • step S1008 when the input of the video data from the cameras 101a to 101z is completed or the termination instruction is input from the terminal 104, the process ends. If not, the flow returns to S1006 to process the next video data.
  • the video file generation processing in the present embodiment is performed. According to the present embodiment, it is possible to add a meta information to video data and generate a video file using ISOBMFF or Exif.
  • FIG. 6 shows a flowchart of another video file generation process in the present embodiment.
  • shooting state information that changes with time is added to video data in frame units. Steps in which the same processes as those in the flowchart of FIG. 5 are executed are denoted by the same reference numerals, and detailed description is omitted.
  • step S1013 the meta-information providing unit 106 acquires the shooting status information, for example, the light source, the temperature, the humidity, the wind direction, and the wind from the environment information acquisition unit 103.
  • step S1014 the meta information adding unit 106 generates meta information from the acquired shooting situation information and adds the meta information to the video file.
  • Meta information can be added to a video file using a box meta or a box ffvi in ISO @ BMFF. In the case of Exif, it can be provided using FVVI @ IFD.
  • shooting status information that changes with time can be added in units of frames.
  • other meta information may be added in units of frames.
  • the shooting target information can be given in units of frames limited to only the target moving to the video.
  • the generated video file can be mutually used as a common video file, and at least one of the shooting setting information, the shooting right information, the shooting target information, and the shooting status information is It can be provided as meta information. Thereby, search and acquisition of video data can be performed efficiently.
  • the image processing apparatus 100 is not limited to the physical configuration described with reference to FIG. 1 and may be configured logically.
  • data may be encrypted and stored.
  • a code for determining whether or not the data is encrypted may be included.
  • the file generation unit 105 combines the camera installation information in the shooting setting information from, for example, each of the cameras 101 a to 101 z with the video data together with the camera ID and other numbers via the input unit 102. May be obtained.
  • the file generation unit 105 stores the input video data in a file as it is.
  • the input video data may be encoded and stored.
  • the meta-information providing unit 106 stores the input meta-information as it is in the file, but the meta-information may be encoded and stored.
  • meta information may be added to a video file on which the 3D model generation unit 110 has performed processing necessary for generating a virtual viewpoint video.
  • the same components as those in FIG. 1 are denoted by the same reference numerals, and description thereof will be omitted.
  • the 3D model generation unit 110 cuts out a region where a target is reflected from a plurality of pieces of video data input from the input unit 102, and generates a 3D model.
  • the file generation unit 115 adds the 3D model acquired from the 3D model generation unit 110 to the video file in addition to the video data input from the input unit 102.
  • the file generation unit 115 acquires the meta information (imaging target information) for each 3D model from the meta information addition unit 106 and adds the meta information to the video file.
  • the imaging target information can be easily multiplexed and displayed when generating or displaying the virtual viewpoint video.
  • FIG. 8 shows a configuration example of a system including the image processing apparatus 400 according to the present embodiment.
  • the image processing device 400 is connected to an external storage device 401.
  • the storage device 401 stores a video file to which meta information has been added, for example, similarly to the storage unit 108 described in FIG. 1 of the first embodiment.
  • a video file described in ISOBMFF will be described as an example for ease of description.
  • the image processing apparatus 400 includes an interface (I / F) unit 402, a terminal 403, a meta information comparison unit 404, and a file selection unit 405. Further, the image processing device 400 includes a file analysis unit 406, a meta information buffer 407, a virtual viewpoint video generation unit 408, a meta information addition unit 409, an output unit 410, and a storage unit 411. The image processing device 400 reads desired video data from the storage device 401 and generates a virtual viewpoint video.
  • I / F interface
  • the image processing device 400 includes a file analysis unit 406, a meta information buffer 407, a virtual viewpoint video generation unit 408, a meta information addition unit 409, an output unit 410, and a storage unit 411.
  • the image processing device 400 reads desired video data from the storage device 401 and generates a virtual viewpoint video.
  • the terminal 403 receives an input of a search condition regarding video data for generating a virtual viewpoint video from the user.
  • the terminal 403 receives, for example, a keyword such as “final match data of the XX tournament” as a search condition.
  • the terminal 403 inputs the received keyword to the meta information comparison unit 404.
  • the I / F unit 402 reads data (that is, meta information) of the box meta203 from the header data of the video file stored in the storage device 401 in video file units.
  • the read data of the box meta203 is input to the meta information comparison unit 404.
  • the meta information comparison unit 404 compares the meta information input from the I / F unit 402 with the keyword input from the terminal 403. When there is meta information that matches the keyword, the meta information comparison unit 404 notifies the file selection unit 405 of information on the video file having the meta information, for example, a file path and a file name.
  • the file selection unit 405 selects a video file to be used for generating a virtual viewpoint video based on the notified video file information, and accesses the storage device 401 via the I / F unit 402.
  • the storage device 401 reads the video file selected according to the access, and inputs the video file to the file analysis unit 406 via the I / F unit 402.
  • the file analysis unit 406 analyzes the input video file, separates meta information from the video file, stores the separated meta information in the meta information buffer 407, and stores the video data necessary for generating the virtual viewpoint video in the virtual viewpoint.
  • the image is input to the video generation unit 408.
  • the virtual viewpoint video generation unit 408 generates a video from a virtual viewpoint specified by the user (that is, a virtual viewpoint video) using the input video data.
  • the virtual viewpoint video generation unit 408 encodes the generated virtual viewpoint video.
  • H An example of encoding using the H.265 encoding method will be described, but the present invention is not limited to this.
  • the bit stream of the virtual viewpoint video encoded by the H.265 encoding method is input to the meta information adding unit 409.
  • the meta information adding unit 409 reads the meta information of the original video data stored in the meta information buffer 407 and adds the meta information to the input bit stream. In addition, the meta information adding unit 409 additionally adds meta information indicating that the generated video file (bit stream) is a virtual viewpoint video. Furthermore, the meta information adding unit 409 can also add information on the system that generated the virtual viewpoint video and information on the right holder.
  • the output unit 410 outputs a bit stream of a virtual viewpoint video to which meta information has been added to the outside.
  • the storage unit 411 stores the bit stream of the virtual viewpoint video to which the meta information has been added in a storage medium.
  • FIG. 9 shows the H.264 in this embodiment.
  • FIG. 146 is a diagram illustrating a configuration example of a bit stream 900 encoded by the H.265 encoding method.
  • the bit stream 900 includes a sequence header (seq_parameter_set_rbsp (), hereinafter referred to as SPS) 901 representing the entire sequence at the beginning.
  • the SPS 901 includes VUI (Video / Usability / Information) / Parameters 902 for giving useful information to an image.
  • FIG. 10 illustrates a configuration example vui_parameters () of the VUI @ Parameters 902 in the present embodiment. Note that a detailed description from the aspect_ratio_info_present_flg code to the log2_max_mv_length_vertical code is described in Non-Patent Document 2, and thus will be omitted. In the present embodiment, the following codes are added following log2_max_mv_length_vertical codes.
  • the $ free_viewpoint_video_flag code is a flag indicating whether or not the present bitstream is a virtual viewpoint video. If the value is 1, it indicates that the video of this bit stream is a virtual viewpoint video, and if it is 0, it indicates that it is a video captured by a normal camera or the like. Note that this flag does not exist in a bit stream to which the present embodiment is not applied, and in that case, the value is set to 0.
  • the $ free_viewpoint_original_video_info_flag code is a flag indicating whether or not there is video data that is the original material that generated the virtual viewpoint video of this bitstream. If the value is 1, it indicates that there is video data which is a material for generating the virtual viewpoint video of this bit stream. If the value is 0, it indicates that there is no video data which is the material or the video data cannot be accessed. Represent.
  • the $ free_viewpoint_filming_cene_info_flag code is a flag indicating whether or not there is meta-information regarding shooting setting information regarding shooting settings of video data as a source material for generating a virtual viewpoint video of the present bitstream. If the value is 1, it indicates that the shooting setting information at the time of shooting the video data as the original material for generating the virtual viewpoint video of this bit stream exists as meta information. If it is 0, it indicates that the meta information does not exist.
  • the $ free_viewpoint_filming_condition_info_flag_code is a flag indicating whether or not there is meta information of shooting status information on a situation at the time of shooting video data as an original material for generating a virtual viewpoint video of the present bitstream. If the value is 1, it indicates that the shooting status information at the time of shooting the video data as the original material for generating the virtual viewpoint video of this bit stream exists as meta information. If it is 0, it indicates that the meta information does not exist.
  • the $ free_viewpoint_filmed_object_object_info_flag code is a flag indicating whether or not there is meta-information on shooting target information regarding a shooting target of video data as a source material for generating a virtual viewpoint video of the present bitstream. If the value is 1, it indicates that the shooting target information at the time of shooting the video data as the original material for generating the virtual viewpoint video of this bit stream exists as meta information. If it is 0, it indicates that the meta information does not exist.
  • the $ free_viewpoint_right_holder_info_flag code is a flag indicating whether or not there is meta-information on shooting right information regarding a right holder at the time of shooting video data as a source material for generating a virtual viewpoint video of the present bit stream. If the value is 1, it indicates that the photographing right holder information at the time of photographing the video data as the original material for generating the virtual viewpoint video of this bit stream exists as meta information. If it is 0, it indicates that the meta information does not exist.
  • the bit stream 900 can further include supplementary enhancement information (hereinafter abbreviated as SEI) message 903.
  • SEI supplementary enhancement information
  • FIG. 11 illustrates a configuration example sei_payload () of the SEI @ message 903 in the present embodiment.
  • the content is determined by the type (payloadType) and the size (payloadSize).
  • payloadType the type of the SEI @ message 903 in the present embodiment.
  • payloadSize size
  • alternative_depth_info payloadSize
  • the payloadType of the meta information is defined as “201”.
  • the payloadType is “201”
  • meta information having a size represented by the payloadSize is read out by free_viewpoint_video_info (payloadSize).
  • FIGS. 12 to 15 show configuration examples of free_viewpoint_video_info (payloadSize).
  • payloadSize the same reference numerals as those described in ISO @ BMFF have the same meaning, detailed description will be omitted.
  • FIG. 12 shows the following codes among the codes of free_viewpoint_video_info (payloadSize).
  • the $ free_viewpoint_original_video_info_flag code functions in the same manner as the code of the same name in the VUI @ Parameters 902 shown in FIG. If the value is 1, it indicates that there is video data that is the original material that generated the virtual viewpoint video of this bitstream, and if it is 0, there is no video data that is the material or the video data cannot be accessed. It represents that. If the value is 0, the num_free_viewpoint_original_video_info_minus1 code and the free_viewpoint_original_video_info code are omitted.
  • the $ free_viewpoint_filming_scene_info_flag code functions in the same manner as the code of the same name in the VUI ⁇ Parameters 902 shown in FIG. If the value is 1, it indicates that there is meta information about shooting setting information related to settings at the time of shooting the video data as the original material for generating the virtual viewpoint video of this bit stream. If the value is 0, there is no shooting setting information below the category_code. Note that, for simplification of the drawing, in FIG. 12, meta information relating to shooting setting information below num_char_place_name_minus1 is omitted.
  • the $ free_viewpoint_filming_condition_info_flag code functions similarly to the code of the same name in the VUI ⁇ Parameters 902 shown in FIG. If the value is 1, it indicates that there is meta information about shooting situation information on the situation at the time of shooting the video data as the original material that generated the virtual viewpoint video of this bitstream. If the value is 0, there is no subsequent shooting status information below illuminant_code.
  • FIGS. 13 and 14 show the following codes following the code shown in FIG. 12 among the codes of free_viewpoint_video_info (payloadSize).
  • the $ free_viewpoint_filmed_object_object_info_flag code functions similarly to the code of the same name in the VUI @ Parameters 902 shown in FIG. If the value is 1, it indicates that there is meta-information regarding shooting target information regarding a target when shooting video data as an original material for generating a virtual viewpoint video of the bit stream. If the value is 0, there is no subsequent shooting status information of max_num_object_minus1 or less. Note that, for simplification of the drawing, in FIG. 13, meta information relating to shooting status information below object_information is omitted.
  • the $ free_viewpoint_filming_right_holder_info_flag code functions similarly to the code of the same name of the VUI ⁇ Parameters 902 shown in FIG. If the value is 1, it indicates that there is meta information on the photographing right holder information on the right holder at the time of shooting the video data as the original material for generating the virtual viewpoint video of this bit stream. If the value is 0, there is no shooting right information below max_num_right_holder_minus1.
  • the $ free_viewpoint_filming_camera_info_flag code is a flag indicating whether or not there is meta-information regarding shooting setting information regarding camera settings when shooting video data as a material of a virtual viewpoint video of the present bitstream. If the value is 1, it indicates that the shooting setting information related to the camera setting when shooting the video data as the original material for generating the virtual viewpoint video of the bit stream exists as meta information. If it is 0, it indicates that the meta information does not exist. That is, there is no code below free_viewpoint_filming_system_info_flag.
  • the $ free_viewpoint_filming_system_info_flag code is a flag indicating whether or not there is meta information on shooting setting information regarding the system when shooting video data as a material of a virtual viewpoint video of the present bitstream. If the value is 1, it indicates that the shooting setting information regarding the system at the time of shooting as the original material for generating the virtual viewpoint video of this bit stream exists as meta information. If it is 0, it indicates that the meta information does not exist. That is, there is no code below num_char_filming_system_info_minus1.
  • FIG. 15 shows the following codes following the code shown in FIG. 14 among the codes of free_viewpoint_video_info (payloadSize).
  • the $ free_viewpoint_product_info_flag code is a flag indicating whether or not there is meta information on generation setting information relating to generation of a virtual viewpoint video of the present bitstream.
  • the generation setting information includes, but is not limited to, information regarding the system that generated the image and the right holder of the generated video data. If the value is 1, it indicates that the generation setting information when the virtual viewpoint video of this bit stream is generated exists as meta information. If it is 0, it indicates that the meta information does not exist. That is, there is no code below free_viewpoint_product_system_info_flag.
  • the $ free_viewpoint_product_system_info_flag code is a flag indicating whether or not there is meta information on the system used when the virtual viewpoint video of the present bitstream is generated. If this value is 1, it indicates that the generation system information at the time of generating the virtual viewpoint video of this bit stream exists as meta information. If it is 0, it indicates that the meta information does not exist. That is, there is no code below num_char_product_system_info_minus1.
  • $ Num_char_product_system_info_minus1 is a code representing the length of a character string representing the name of the system that generated the virtual viewpoint video.
  • $ Product_system_information represents the name of the system that generated the virtual viewpoint video.
  • the information on the system that generated the virtual viewpoint video is not limited to a name, but may be a model number or a version.
  • the $ free_viewpoint_product_right_holder_info_flag code is a flag indicating whether or not there is meta-information regarding generation right information regarding a right holder when the virtual viewpoint video of the present bitstream is generated. If the value is 1, it indicates that there is meta information on the generation right information about the right holder when the virtual viewpoint video of this bit stream is generated. If the value is 0, there is no subsequent generation right information below max_num_product_right_holder_minus1.
  • Max_num_product_right_holder_minus1 is a value representing the maximum value of the number of right holders who have the right to generate the virtual viewpoint video.
  • num_product_right_holder_minus1 represents the number of right holders who actually have the right in frame units, video clip units, or the entire video unit.
  • Num_char_product_right_holder_info_minus1 is a value representing the length of a character string representing the name of a right holder or the like regarding virtual viewpoint video generation.
  • $ Product_right_holder_information represents a character string such as the name of a right holder regarding virtual viewpoint video generation.
  • FIG. 20 shows a flowchart of a bit stream generation process in the present embodiment.
  • the meta information comparison unit 404 acquires a keyword that is a search condition input by the user from the terminal 104.
  • step S ⁇ b> 2001 the I / F unit 402 acquires the data of the box meta 203 (that is, meta information) from the header data of the video file stored in the storage device 401 in video file units.
  • the acquired data is input to the meta information comparison unit 404.
  • the meta information comparing unit 404 compares the meta information input from the I / F unit 402 with the keyword (that is, the search condition) acquired from the terminal 403. When there is meta information that matches the keyword, the meta information comparison unit 404 notifies the file selection unit 405 of the information of the video file having the meta information.
  • step S2003 the file selection unit 405 selects a video file to be used for generating a virtual viewpoint video based on the notified video file information, and accesses the storage device 401 via the I / F unit 402.
  • the storage device 401 reads the selected video file according to the access, and inputs the read video file to the file analysis unit 406 via the I / F unit 402.
  • step S2004 the file analysis unit 406 analyzes the input video file to separate meta information, and stores the separated meta information in the meta information buffer 407. Further, the file analysis unit 406 inputs the video data of the input video file to the virtual viewpoint video generation unit 408.
  • step S2005 the meta information adding unit 409 reads the meta information of the original video stored in the meta information buffer 407, and adds the meta information to the bit stream header.
  • step S2006 the virtual viewpoint video generation unit 408 generates a video from a virtual viewpoint specified by a user or the like (that is, a virtual viewpoint video).
  • step S2007 the virtual viewpoint video generation unit 408 encodes the generated virtual viewpoint video and stores it in a bitstream.
  • virtual viewpoint videos can be mutually used as a common bit stream, and at least one of shooting setting information, shooting right information, shooting target information, and shooting status information is meta- It can be given as information.
  • shooting setting information shooting right information
  • shooting target information shooting target information
  • shooting status information is meta- It
  • search and acquisition of the virtual viewpoint video can be efficiently performed.
  • a search function for the virtual viewpoint video can be realized.
  • respective meta information may be added to the virtual viewpoint video corresponding to each video file, or meta information of the plurality of video files may be added. May be collectively provided as one piece of meta information.
  • the bit stream 900 in the present embodiment can include a picture header (pic_parameter_set_rbsp (), hereinafter referred to as PPS) 904.
  • FIG. 16 shows an example of the structure of the PPS 904 in the present embodiment.
  • the icpic_free_viewpoint_info_flag code indicates whether or not there is meta information on shooting and generation of a virtual viewpoint video in units of pictures. If the value is 1, it indicates that pic_free_viewpoint_info () includes meta-information regarding shooting and generation of a virtual viewpoint video. 17 to 19 show details of pic_free_viewpoint_info () in the present embodiment. Basically, pic_prefixes are added to flags that need to be determined in frame units so that the contents of FIGS. 12 to 15 can be set for each frame, and the same contents are encoded and added to the bit stream. Is done. These enable the meta information to be updated on a frame basis.
  • the pic_free_viewpoint_info_flag code given to each frame may be collectively included in a unit such as a sequence or a chapter including a plurality of frames, and may be included in the VUI ⁇ parameter portion. Thereby, when a part in the sequence is a virtual viewpoint video, the information can be obtained without decoding each frame.
  • bit stream may be stored in the box mdat to form an ISO BMFF file.
  • FIG. 21 shows a configuration example of a system including the image processing device 500 according to the present embodiment.
  • the image processing device 500 is connected to an external storage device 550 and storage device 551.
  • the storage device 550 stores a video file necessary to generate a virtual viewpoint video, for example, as in the storage device 401 described in FIG. 8 of the second embodiment.
  • the storage device 551 stores a video file and a bit stream of a virtual viewpoint video, for example, as in the storage unit 411 described in FIG. 8 of the second embodiment.
  • the virtual viewpoint video generated from the video file stored in the storage device 550 is referred to as an H.264 video.
  • the image processing apparatus 500 includes an interface (I / F) unit 502, a meta information comparison unit 505, a data selection unit 506, a bit stream analysis unit 507, a meta information buffer 508, a decoding unit 509, and a display unit 520.
  • the image processing device 500 reads out a desired video file from the storage device 550, performs display, and separately displays a virtual viewpoint video.
  • the terminal 503 receives an input of a search condition (for example, a keyword) regarding a bit stream of a virtual viewpoint video from the user, and outputs the input to the meta information comparison unit 505.
  • a search condition for example, a keyword
  • the I / F unit 502 reads the header information and the meta information of the bit stream from the storage device 551, and inputs them to the meta information comparison unit 505. Further, other H.264s that are not generated in the present embodiment. It is assumed that a bit stream encoded by the H.265 encoding method is also included.
  • the meta information comparing unit 505 compares the meta information input from the I / F unit 502 with the keyword input from the terminal 503. When there is meta information that matches the keyword input from the terminal 503, the meta information comparison unit 505 notifies the data selection unit 506 of information on the bit stream having the meta information, for example, a data path and a bit stream name. I do.
  • the data selection unit 506 selects a bitstream to be displayed based on the notified bitstream information, and accesses the storage device 551 via the I / F unit 502.
  • the storage device 551 reads a target bit stream according to the access.
  • the read bit stream is input to the bit stream analysis unit 507 via the I / F unit 502.
  • the bit stream analysis unit 507 decodes and analyzes the header of the input bit stream, separates meta information from the header, and stores the meta information in the meta information buffer 508. Further, the bit stream analysis unit 507 inputs the bit stream of the video data to the decoding unit 509. The decoding unit 509 decodes the input bit stream and inputs the bit stream to the display unit 520. When there are a plurality of selected bit streams, the decoding unit 509 decodes each of the bit streams and inputs the decoded bit stream to the display unit 520. The display unit 520 displays one or a plurality of decoded bit streams.
  • the bit stream analysis unit 507 When it is determined from the separated meta information that the video data is a virtual viewpoint video, the bit stream analysis unit 507 notifies the display unit 520 of this. The display unit 520 displays that the displayed video is a virtual viewpoint video in response to the notification.
  • FIG. 22 shows a display screen of the display unit 520 in the present embodiment.
  • the user uses the terminal 503 to input a keyword serving as a search condition into the keyword windows 603a to 603c, and presses a search button 604 to search for a video (bit stream).
  • the display unit 520 displays a plurality of videos 601a to 601d selected as search results in the candidate window 602. Further, display unit 520 displays one image selected by the user using terminal 503 from display images displayed in candidate window 602 in display window 605.
  • the display window 605 has a display bar 606.
  • the display bar 606 indicates with a thick line a portion where the video is a virtual viewpoint video in frame units. Whether or not the video is a virtual viewpoint video can be determined by referring to the presence or absence of the free_viewpoint_video_flag code of VUI @ Parameters 902 and the SEI_message 903 on a stream basis. Further, in the frame unit, it can be determined by the value of the pic_free_viewpoint_info_flag code of the PPS 904.
  • the display unit 520 displays a marker 607 on the display window 605 indicating that the displayed video is a virtual viewpoint video.
  • the marker 607 may be displayed in the candidate window 602 on a video including a virtual viewpoint video among the plurality of videos 601a to 601d.
  • the image processing apparatus 500 can search for a bit stream based on meta information and display the search result.
  • a virtual viewpoint video can be generated again for the video being displayed as a search result by using the meta information according to the user's instruction.
  • the data selection unit 506 reads, from the meta information buffer 508, meta information corresponding to the video data for regenerating the virtual viewpoint video.
  • the data selection unit 506 refers to the value of the free_viewpoint_original_video_info_flag code of the bitstream, and determines whether or not there is video data as a material for generating a virtual viewpoint video of the present bitstream.
  • the value of the free_viewpoint_original_video_info_flag code is 1, it indicates that video data to be a material exists, and if it is 0, it indicates that there is no video data to be a material or access is not possible. If video data exists, the storage location of the video data is specified with reference to the free_viewpoint_original_video_info_flag code or the pic_free_viewpoint_original_video_info code.
  • the data selection unit 506 accesses the specified storage location of the storage device 550 via the I / F unit 502, reads out the video data that is the material for generating the virtual viewpoint video, and inputs the video data to the image processing device 400.
  • the image processing device 400 regenerates a virtual viewpoint video using the input video data, and inputs the virtual viewpoint video to the image processing device 500 via the I / F unit 502. That is, the image processing apparatus 400 regenerates the virtual viewpoint video using the video data input via the I / F unit 402 in FIG.
  • the image processing device 400 inputs the generated bit stream of the virtual viewpoint video to the I / F unit 502 in FIG. 21 via the output unit 410.
  • the image processing apparatus 500 processes the input bit stream by the bit stream analysis unit 507 and the decoding unit 509, and displays the processed bit stream on the display unit 520.
  • the image processing apparatus 500 acquires the video data as a material and inputs the video data to the image processing apparatus 400.
  • the image processing apparatus 500 notifies the image processing apparatus 400 of the storage location of the video data.
  • the image processing apparatus 400 can acquire the video data stored in the storage location and regenerate the virtual viewpoint video.
  • a virtual viewpoint video can be regenerated for a video being displayed as a search result.
  • the virtual viewpoint video can be used as a common bit stream, and the assigned shooting setting information, shooting right information, shooting target information, shooting status information, and generation setting information can be used. At least one of them can be used for search. This makes it possible to efficiently search for a bit stream of a virtual viewpoint video based on meta information. Further, according to the present embodiment, a virtual viewpoint video can be generated again for a video being displayed as a search result.
  • FIG. 23 is a block diagram illustrating a configuration example of computer hardware applicable to the image processing apparatuses according to the above embodiments.
  • the CPU 801 controls the entire computer using computer programs and data stored in the RAM 802 and the ROM 803, and executes each process of the image processing apparatus according to each of the above embodiments. That is, the CPU 801 functions as each processing unit of the above-described image processing apparatus.
  • the RAM 802 has an area for temporarily storing computer programs and data loaded from the external storage device 806, data acquired from the outside via an I / F (interface) 807, and the like. Further, the RAM 802 has a work area used when the CPU 801 executes various processes. That is, the RAM 802 can be allocated, for example, as a frame memory for storing image data, or can appropriately provide other various areas.
  • the ROM 803 stores computer setting data, a boot program, and the like.
  • the operation unit 804 includes a keyboard, a mouse, and the like. The user can input various instructions to the computer using the operation unit 804.
  • the output unit 805 displays a processing result by the CPU 801.
  • the output unit 805 can be, for example, a liquid crystal display.
  • the external storage device 806 is a large-capacity information storage device represented by a hard disk drive.
  • the external storage device 806 stores an OS (Operating System) and a computer program for causing the CPU 801 to realize the function of each processing unit of the image processing apparatus described above. Further, the external storage device 806 may store image data to be processed.
  • OS Operating System
  • the computer programs and data stored in the external storage device 806 are appropriately loaded into the RAM 802 under the control of the CPU 801 and processed by the CPU 801.
  • the I / F 807 is used to connect to a network such as a LAN or the Internet, or to another device such as a projection device or a display device.
  • the computer can acquire and transmit various information via the I / F 807.
  • the bus 808 connects the components of the computer described above so that they can communicate with each other.
  • the present invention supplies a program for realizing one or more functions of the above-described embodiments to a system or an apparatus via a network or a storage medium, and one or more processors in a computer of the system or the apparatus read and execute the program.
  • This processing can be realized. Further, it can also be realized by a circuit (for example, an ASIC) that realizes one or more functions.
  • the code indicating the meta information described in the above embodiment may be used as the data name.
  • data can be searched by unifying the file name to a name in which some pieces of meta information are connected by “_”.
  • meta information used as a data name is filming_date_time_code, convention_name, event_name, stage_name, free_viewpoint_filming_info_code, and the like.
  • Reference Signs List 100 Image processing apparatuses 101a to 101z Camera 102 Input unit 103 Environment information acquisition unit 104 Terminal 105 File generation unit 106 Meta information addition unit 107 Output unit 108 Storage unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Television Signal Processing For Recording (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本発明の一実施形態において、複数の撮像装置によって撮像領域を撮像することにより得られる複数の画像データに基づいて生成される仮想視点画像に係る画像処理装置は、複数の画像データを入力する入力手段と、撮像設定情報、撮像状況情報、撮像対象情報、撮像権利情報の少なくとも1つをメタ情報として、入力手段によって入力された画像データに付与する付与手段とを備える。

Description

画像処理装置、画像処理方法、及び、プログラム
 本発明は、仮想視点映像を生成する画像処理装置に関する。
 昨今、複数のカメラを異なる位置に設置して、複数視点で同期撮影し、当該撮影により得られた複数視点画像を用いて仮想視点映像を生成する技術が注目されている。上記のようにして複数視点画像から仮想視点映像を生成する技術によれば、例えば、サッカーやバスケットボールのハイライトシーンを様々な角度から視聴することが出来るため、通常の映像と比較してユーザに高臨場感を与えることが出来る。
 非特許文献1には、複数の視点(カメラ)で対象シーンを撮影した画像から任意の視点位置の画像を合成する方法について記載されている。この中で、Model Based Rendering技術が紹介されている。この方式でも対象を取り囲むように多数のカメラが配置される。この方式によって3次元モデルを復元することで、任意の視点からの映像の合成が可能になるとともに、選手の位置や動きを再現できるのでスポーツ分析にも有用である。
稲本他、「視点位置の内挿に基づく3次元サッカー映像の仮想視点鑑賞システム」映像情報メディア学会 Vol.58 No.4 pp529-539 2004 Rec. ITU-T H.265 V3 (04/2015)
 しかしながら、非特許文献1に記載の技術では、仮想視点映像を生成するための映像データはそれぞれの装置内部で管理、保管、処理されるため、当該映像データを相互利用することは困難であった。
 本発明は、上記課題に鑑みてなされたものであり、その目的は、仮想視点映像を生成するための映像データの相互利用を容易にすることにある。
 本発明の一実施形態において、複数の撮像装置によって撮像領域を撮像することにより得られる複数の画像データに基づいて生成される仮想視点画像に係る画像処理装置は、前記複数の画像データを入力する入力手段と、撮像設定情報、撮像状況情報、撮像対象情報、撮像権利情報の少なくとも1つをメタ情報として、前記入力手段によって入力された画像データに付与する付与手段とを備える。
 本発明によれば、仮想視点映像を生成するための映像データの相互利用を容易にすることが可能になる。
 本発明の更なる特徴は、添付の図面を参照して行う以下の実施形態の説明より明らかになる。
第1の実施形態における画像処理装置100を含むシステムの構成例を示す構成図である。 第1の実施形態におけるISOBMFFファイルの構造の一例を示す図である。 第1の実施形態におけるEXIFファイルの構造の一例を示す図である。 第1の実施形態におけるFVVI IFDのタグ情報の構成の一例を示す図である。 第1の実施形態における映像ファイル生成処理のフローチャートである。 第1の実施形態における別の映像ファイル生成処理のフローチャートである。 第1の実施形態における画像処理装置100を含むシステムの別の構成例を示す構成図である。 第2の実施形態における画像処理装置400を含むシステムの構成例を示す構成図である。 第2の実施形態におけるH.265符号化方式のビットストリームの構成例を示す図である。 第2の実施形態におけるVUI Parametersの構成例vui_parameters()を示す図である。 第2の実施形態におけるSEI messageの構成例sei_payload()を示す図である。 第2の実施形態におけるfree_viewpoint_video_info(payloadSize)の構成例を示す図である。 第2の実施形態におけるfree_viewpoint_video_info(payloadSize)の構成例を示す図である。 第2の実施形態におけるfree_viewpoint_video_info(payloadSize)の構成例を示す図である。 第2の実施形態におけるfree_viewpoint_video_info(payloadSize)の構成例を示す図である。 第2の実施形態におけるPPSの構造の一例を示す図である。 第2の実施形態におけるpic_free_viewpoint_info()の詳細を示す図である。 第2の実施形態におけるpic_free_viewpoint_info()の詳細を示す図である。 第2の実施形態におけるpic_free_viewpoint_info()の詳細を示す図である。 第2の実施形態におけるビットストリーム生成処理を表すフローチャートである。 第3の実施形態における画像処理装置500を含むシステムの構成例を示す構成図である。 第3の実施形態における表示画面の例を表す図である。 各実施形態における画像処理装置に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
 以下、添付の図面を参照して、本発明の実施形態について詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
(第1の実施形態)
 図1は、第1の実施形態における画像処理装置100を含むシステムの構成例を示す。本システムでは、競技場(スタジアム)やコンサートホールなどの施設に複数のカメラ(撮像装置)を設置し、撮影(撮像)が行われる。
 画像処理装置100は、カメラ101a~z、入力部102、環境情報取得部103、端末104、ファイル生成部105、メタ情報付与部106、出力部107、保存部108を有する。
 カメラ101a~zは、被写体を囲むように配置され、同期をとって撮影が行われる。ただし、カメラの台数、配置は限定されない。カメラ101a~zは、ネットワークを介して画像処理装置100の入力部102に接続されている。
 入力部102は、カメラ101a~zで撮影された映像データの入力を受け付け、ファイル生成部105に出力する。
 端末104は、ユーザから映像データに関するメタ情報の入力を受け付け、入力されたメタ情報をメタ情報付与部106に出力する。入力されるメタ情報は、例えば、撮影設定情報、撮影状況情報、撮影対象情報、及び撮影権利情報の少なくとも1つを含む。メタ情報の詳細は後述する。
 環境情報取得部103は、環境情報を取得するセンサー等からなり、例えば、撮影当日の気象情報等を取得し、メタ情報付与部106に出力する。なお、環境情報の取得方法はこれに限定されず、例えば、インターネット等を通じて外部から入手してもよい。
 ファイル生成部105は、入力された映像データに対してファイル化に必要なヘッダデータを付与し、映像ファイルを生成する。以下では、ISO/IEC 14496-12(MPEG-4 Part12) ISO base media format(以下、ISOBMFF)規格を例として用い、映像ファイルのフォーマットについて説明する。ただし、映像ファイルのフォーマットはこれに限定されない。
 図2は、本実施形態におけるISO BMFFファイルの構成例を示す。
 図2(a)において、ISO BMFFファイル200は、ftyp(File Type Compatibility Box)201、moov(Movie Box)202のボックスを含む。また、ISO BMFFファイル200は、meta(metadata)203、mdat(Media Data Box)204のボックスを含む。ボックスftyp201には、ファイルフォーマットの情報が含まれ、例えばファイルがISO BMFFファイルであることや、ボックスのバージョン、映像ファイルを作成したメーカ名称等が記載される。ボックスmoov202には、メディアデータ(映像データ)を管理するための時間軸や、アドレスなどの情報が含まれる。ボックスmeta203には、映像データのメタ情報が含まれる。ボックスmeta203に含まれるメタ情報については後述する。ボックスmdat204には、実際に動画として再生されるメディアデータ(映像データ)が含まれる。
 図1に戻り、メタ情報付与部106は、環境情報取得部103や端末104から受け取った情報に基づいて、メタ情報を示すボックスmeta203を生成する。ファイル生成部105は、ボックスmeta203を用いて、映像ファイルにメタ情報を付与することができる。ボックスmeta203の構成例を、以下に示す。
aligned(8) class MetaBox (handler_type)extends FullBox(‘meta‘, version = 0, 0) {
 HandlerBox(handler_type) theHandler;
 PrimaryItemBox primary_resource; // optional
 DataInformationBox file_locations; // optional
 ItemLocationBox item_locations; // optional
 ItemProtectionBox protections; // optional
 ItemInfoBox item_infos; // optional
 IPMPControlBox IPMP_control; // optional
 ItemReferenceBox item_refs; // optional
 ItemDataBox item_data; // optional
 Filming_scene_information;// optional
 Filming_condition; // optional
 Filming_object; // optional
 Filming_right_holder; // optionl
 Box other_boxes[]; // optional

 Filming_scene_informationが撮影設定情報を、Filming_conditionが撮影状況情報を、Filming_objectが撮影対象情報を、Filming_right_holderが撮影権利情報を表す。
 撮影設定情報を表すFilming_scene_informationボックスの構成を以下に示す。
 Box Type:  ‘ffsi‘
 Container: Meta box (‘meta‘)
 Mandatory: No
 Quantity:  Zero or one
 また、そのシンタックスを以下に示す。
 aligned(8) class ItemLocationBox extends FullBox(‘ffsi‘,version,0) {
  unsigned int(32) offset_size;
  unsigned int(32) length_size;
  unsigned int(32) base_offset_size;
  if (version == 1) 
   unsigned int(32) index_size;
  else 
   unsigned int(32) reserved;
  unsigned int(16)num_free_viewpoint_original_video_info;
  for (i=0; i<num_free_viewpoint_original_video_info; i++)
   unsigned char(8) free_viewpoint_original_video_info[i];
  unsigned int(32) category_code;
  unsigned int(64) filming_date_time_code;
  unsigned int(16) num_char_place_name;
  for (i=0; i<num_char_place_name;i++)
   unsigned char(8) place_name[i];
  unsigned int(16) num_char_convention_name;
  for (i=0; i<num_char_convention_name;i++)
   unsigned char(8) convention_name[i];
  unsigned int(16) num_char_event_name;
  for (i=0; i<num_char_event_name;i++)
   unsigned char(8) event_name[i];
  unsigned int(16) num_char_stage_name;
  for (i=0; i<num_char_stage_name;i++)
   unsigned char(8) stage_name[i];
  unsigned int(16) num_char_place_name;
  for (i=0; i<num_char_place_name;i++)
   unsigned char(8) place_name[i];
  unsigned char(8) free_viewpoint_filming_info_code
  if (free_viewpoint_filming_info_code && 0x01) {    // システム有無
   unsigned int(16) num_char_filming_system_info_minus1;
   for (i=0; i<=num_char_ filming_system_info_minus1;i++)
    unsigned char(8) filming_system_information[i];
  }    // システム有無
  if (free_viewpoint_filming_info_code && 0x02) {  // 0x02
   unsigned int(16) max_num_target_point_minus1;
   unsigned int(16) num_target_point_minus1;
   for (i=0; i<=num_target_point_minus1;i++) {  // 注視点
    unsigned int(16) target_point_name_length;
    for (j=0; j<target_point_name_length;j++)
     unsigned char(8) target_point_name[i][j];
    for (j=0; j<3)
     signed int(16) target_point_location[i][j];
    unsigned int(16) num_camera_minus1;
    unsigned int(16) max_camera_name_length;
    unsigned int(16) camera_name_length;
    for (j=0; j<=num_camera_minus1;j++){ // カメラ
     for (k=0; k<camera_name_length;k++)
      unsigned int(16) camera_name[i][j][k];
     for (k=0; k<3)
      unsigned int(16) camera_location[i][j][k];
     for (k=0; k<4)
      unsigned int(16) camera_attitude[i][j][k];
     unsigned int(16) num_char_camera_type_info;
     for (k=0; k<num_char_camera_type;k++)
      unsigned char(8) camera_type_information[i][j][k];
     unsigned int(16) num_char_lenz_type_info;
     for (k=0; k<num_char_lenz_type;k++)
      unsigned char(8) lenz_type_information[i][j][k];
     unsigned int(16) focus_distance[i][j];
    }    // カメラ
   }    // 注視点
  }    // 0x02
 }
 上記シンタックスにおいて、offset_size、length_size、base_offset_size、index_size、reservedは上記規格の規格書に記載されており、ボックスの大きさ等に関係する符号である。
 num_free_viewpoint_original_video_infoは、仮想視点映像生成に必要な映像データ等に関する情報の文字列の長さを表す符号である。free_viewpoint_original_video_infoは、素材データに関する情報の文字列を格納する配列である。
 category_codeは撮影の対象を表すコードであり、スポーツ、エンタメ、監視などの撮影の目的の分類を表す。例えば、スポーツは0x0001、エンタメは0x0002等となる。
 filming_date_time_codeは撮影日時を表す符号であり、撮影開始時刻等を表す。撮影日時は、例えば、W3C-DTFのフォーマットで表す。撮影日時は、例えば、西暦年、月、日、時、分、秒、ミリ秒で表す。撮影日時は、例えば、UTC(協定世界時=グリニッジ標準時)との時差(時、分)で表す。filming_date_time_codeは、このような撮影日時を表すビット列に、予備のビットを加えて統合したビット列として符号とする。
 num_char_place_nameは、撮影場所を表す文字列の長さを表す符号である。place_nameは撮影場所の名称を表す文字列であり、例えば、“東京サッカースタジアム”といった文字列である。なお、撮影場所の情報は文字列に限定されない。また、言語を表すためのコードを付加してもよい。
 num_char_convemtion_nameは、撮影の概要、すなわち、大会や講演の名称等を表す文字列の長さを表す符号である。convention_nameは撮影イベントの名称を表す文字列であり、例えば、“第xxx回オリンピック”といった文字列である。なお、撮影イベントの情報は文字列に限定されない。また、言語を表すためのコードを付加してもよい。
 num_char_event_nameは、撮影内容の詳細に関する情報の文字列の長さを表す符号である。撮影内容の詳細とは、例えば、競技種目であったり、ミュージカルやコンサートのような内容の種類であったりする。event_nameは撮影内容の詳細を表す文字列であり、例えば、“サッカー”、“卓球”、“100m背泳ぎ”、”ミュージカル“、“コンサート”、“マジックショー”といった文字列である。
 num_char_stage_nameは、撮影対象の段階の詳細に関する情報の文字列の長さを表す符号である。stage_nameは撮影段階の詳細を表す文字列であり、例えば、“予選”、“1回戦”、“準決勝”、”決勝“、“リハーサル”、“本番”、“第xx回講演”といった文字列である。
 free_viewpoint_filming_info_codeは、撮影システム等に関する情報を表す符号である。例えば、1ビット目が1であれば、撮影システムに関する情報があり、2ビット目が1であれば、カメラに関する情報があるといったことを表す。
 num_char_filming_system_info_minus1は、撮影システムの名称を表す文字列の長さを表す符号である。filming_system_informationは撮影システムの名称を表す文字列である。
 max_num_target_point_minus1は、本撮影システムで使用するカメラの向く注視点の数の最大値を表す値である。num_target_point_minus1は本撮影システムで使用するカメラの向く注視点の数を表す符号である。
 target_point_name_lengthは、注視点を識別するための名称等を表す文字列の長さを表す符号である。注視点を識別するための名称等を設定しない場合は文字列の長さを0にする。target_point_nameはそれぞれの注視点を識別するための名称等を表す。
 target_point_locationは注視点の位置を3次元座標で表すための符号である。
 num_camera_minus1は、本撮影システムで使用するカメラの台数を表す符号である。max_camera_name_lengthはそれぞれのカメラを識別するための名称等を付与するための文字列の長さの最大値を表す符号である。camera_name_lengthはカメラを識別するための名称等を表す文字列の長さを表す符号である。camera_nameはカメラを識別するための名称等を表す。また、単にカメラを識別するための番号であってもよい。
 camera_locationは当該カメラの位置を3次元の位置で表す。camera_attitudeはカメラの姿勢を表す符号である。
 num_char_camera_type_infoはカメラ自体の情報、例えば、会社名や機種名を表す文字列の長さを表す符号である。camera_type_informationはカメラ自体の情報、例えば、会社名や機種名を表す文字列である。
 num_char_lenz_type_infoはカメラに装着されているレンズの情報、例えば、会社名や機種名を表す文字列の長さを表す符号である。lenz_type_informationはレンズ自体の情報、例えば、会社名や機種名を表す文字列である。focus_distanceはレンズの撮影時の画角を表すための焦点距離を表す符号である。
 次に、撮影状況情報を表すFilming_conditionボックスの構成を以下に示す。
 Box Type:  ‘ffci‘
 Container: Meta box (‘meta‘)
 Mandatory: No
 Quantity:  Zero or one
 また、そのシンタックスを以下に示す。
 aligned(8) class ItemLocationBox extends FullBox(‘ffci‘,version,0) {
  unsigned int(32) offset_size;
  unsigned int(32) length_size;
  unsigned int(32) base_offset_size;
  if (version == 1) 
   unsigned int(32) index_size;
  else
   unsigned int(32) reserved;
  unsigned int(8) room_code;
  signed int(16) illuminant_code;
  if (illuminant_code > 0) {
   if (illuminant_code == 1 ){
    unsigned int(16) sun_direction;
    unsigned int(8) sun_altituude;
   }
   unsigned int(32) weather_code;
   signed int(16) templature_C_value;
   unsigned int(8) humidity_value;
   unsigned int(8) wind_direction;
   unsigned int(8) wind_force;
  }
 }
 上記シンタックスにおいて、room_codeは、場所の屋内外等の情報を表す符号である。例えば、その値が0であれば状況が不明であることを表す。また、その値が1であれば屋外であり、2であればドームであり、3であれば屋内であるといったことを表す。
 illuminant_codeは、光源に関する情報を表す符号である。例えば、太陽光であれば、その値を1とする。また、蛍光灯などの屋内照明には光源ごとにそのコードを割り当てる。また、その値が0であれば光源に関する情報はないことを表す。
 sun_directionは太陽(光源)の方向を表す符号である。例えば、北を0とし、その方位を360度で表す値でも良い。sun_altituudeは太陽の高度を表す値である。例えば、水平方向に対する角度で表すこともできる。
 weather_codeは天候を表す符号である。例えば、その値が0であれば晴天を表し、1から10の値は雲量を表してもよい。また、その上の桁に雨や雪などの情報を割り当てても良い。
 templature_C_valueは気温を表し、例えば、摂氏で表すものとする。また、気温が計測されていない場合には0xFFFFとすることで、気温が計測されている場合と計測されていない場合を区別することができる。humidity_valueは湿度を%で表す。
 wind_directionは風向を表し、例えば、北を0とし、その方位を360度で表した場合の値でもよい。wind_forceは風力を表す値である。または、風速を表しても良い。
 次に、撮影対象情報を表すFilming_objectボックスの構成を以下に示す。
 Box Type:  ‘ffoi‘
 Container: Meta box (‘meta‘)
 Mandatory: No
 Quantity:  Zero or one
 また、そのシンタックスを以下に示す。
 aligned(8) class ItemLocationBox extends FullBox(‘ffoi‘,version,0) {
 unsigned int(32) offset_size;
 unsigned int(32) length_size;
 unsigned int(32) base_offset_size;
 if (version == 1) 
  unsigned int(32) index_size;
 else
  unsigned int(32) reserved;
 unsigned int(16) max_num_object;
 unsigned int(16) num_object;
 for (i=0; i<=num_object;i++) { 
  unsigned int(16) num_char_object_info;
  for (j=0; j<num_char_object_info;j++)
   unsigned char(8) object_information[j][i];
  }
 }
 上記シンタックスにおいて、max_num_objectは、撮影された対象の数の最大値を表す値である。num_objectはフレーム単位や、映像のクリップ単位、映像全体を単位として、実際に撮影されている対象の数である。
 num_char_object_infoは対象を表す文字列の長さを表す値である。object_informationは対象を表す文字列である。
 次に、撮影権利情報を表すFilming_right_holderボックスの構成を以下に示す。
 Box Type:  ‘ffri‘
 Container: Meta box (‘meta‘)
 Mandatory: No
 Quantity:  Zero or one
 また、そのシンタックスを以下に示す。
 aligned(8) class ItemLocationBox extends FullBox(‘ffri‘,version,0) {
 unsigned int(32) offset_size;
 unsigned int(32) length_size;
 unsigned int(32) base_offset_size;
 if (version == 1) 
  unsigned int(32) index_size;
 else
  unsigned int(32) reserved;
 unsigned int(16) max_num_right_holder;
 unsigned int(16) num_right_holder;
 for (i=0; i<num_right_holder; i++) {
  unsigned int(16) num_char_right_holder;
 for (j=0; j<num_char_right_holder_info;j++)
  unsigned char(8) right_holder_information[i][j]
 }
 上記シンタックスにおいて、max_num_right_holderは、撮影に関する権利を有する個人、団体(以下、権利者と総称する)の数の最大値を表す値である。num_right_holderはフレーム単位や、映像のクリップ単位、映像全体を単位として、実際に権利を有する権利者の数である。
 num_char_right_holderは権利者の名称等を表す文字列の長さを表す値である。
 right_holder_informationは権利者の名称等を表す文字列である。
 以上説明したように、ファイル生成部105は、メタ情報付与部106が生成したボックスmeta203を使用して、ISO BMFFファイル200にメタ情報を付与することができる。
 また、図2(b)に示すように、一般的なボックスmeta203の代わりに、専用のボックスを新たに設けてもよい。例えば、fvvi(Free Viewpoint Video Info)205といったボックスタイプを新たに設けることができる。
 上記のボックスfvvi205は、映像(シーケンス)全体、複数フレームからなる映像クリップ単位、またはフレーム単位に付与することができる。すなわち、図2(c)に示すように、ボックスfvvi205をボックスmoov202に付与してもよい。また、ボックスmoov202の中にさらなるボックスmoovが含まれている場合には、ボックスfvvi205をその中のボックスmoovに付与してもよい。さらには、図2(d)に示すように、ボックスfvvi205を複数に分けて付与してもよい。
 図1に戻り、出力部107は、メタ情報が付加された映像ファイルを外部に出力する。保存部108は、メタ情報が付加された映像ファイルを記憶媒体に保存する。
 なお、ファイルフォーマットはISO BMFFに限定されない。例えば、静止画を格納する「カメラ映像機器工業会規格 DC-008-2012 デジタルスチルカメラ用画像ファイルフォーマット規格 Exif2.3」(以下、Exif規格)を用いることも可能である。図3は、本実施形態におけるExif規格を用いたファイル(EXIFファイル)のフォーマットの例を示す。ファイルフォーマット300では、仮想視点映像(仮想視点画像)に関するメタ情報が、Free Viewpoint Video Information Image File Directory(以下、FVVI IFD)301として定義される。FVVI IFD301は、撮影設定情報、撮影状況情報、撮影対象情報、撮影権利情報を格納している。図4は、本実施形態におけるFVVI IFD301のタグ情報の構成の一例を示す。FVVI IFD301には、上述したISO BMFFの各符号がそれぞれのタグに格納されている。
 図5は、本実施形態における映像ファイル生成処理のフローチャートを示す。フローチャートに示される一連の処理は、後述するように、画像処理装置100のCPU801がROM803に格納されている制御プログラムをRAM802に読み込み、実行することにより行われる。あるいはまた、フローチャートにおけるステップの一部または全部の機能をASICや電子回路等のハードウェアで実現してもよい。各処理の説明における記号「S」は、当該フローチャートにおけるステップを意味する。その他のフローチャートについても同様である。
 まず、S1000において、メタ情報付与部106は、端末104からユーザが入力した撮影設定情報を取得する。撮影設定情報は、撮影場所、撮影日時、イベント内容、カメラ情報の少なくとも1つを含む。また、カメラ情報は、カメラの注視点の位置、カメラの台数、カメラの配置、カメラの姿勢、焦点距離の少なくとも1つを含む。
 S1001において、メタ情報付与部106は、端末104からユーザが入力した撮影権利情報を取得する。撮影権利情報は、撮影に関する権利者の情報を含む。
 S1002において、メタ情報付与部106は、端末104からユーザが入力した撮影対象情報を取得する。撮影対象情報は、撮影される対象に関する情報、例えば、選手名やチーム内の役割を含む。すなわち、撮影対象情報は、撮影される対象の名称、対象群の名称の少なくとも1つを含む。
 S1003において、メタ情報付与部106は、環境情報取得部103から、環境情報取得部103が取得した撮影状況情報、例えば、光源、気温、湿度、風向、風力の情報を取得する。すなわち、撮影状況情報は、撮影時の気象情報を含む。
 なお、S1000からS1003の順序は限定されるものではなく、任意の順序でよい。また、S1000からS1003のうちの少なくとも1つのステップを実行して、撮影設定情報、撮影権利情報、撮影対象情報、及び撮影状況情報のうちの少なくとも1つをメタ情報付与部106が取得するようにしてもよい。
 S1004において、ファイル生成部105は、映像ファイルのヘッダデータを生成する。例えば、ファイル生成部105は、ISO BMFFではボックスftyp201を生成し、Exifでは、0thIFDを生成する。生成されたヘッダデータはメタ情報付与部106に入力され、ファイル生成部105でファイルに格納される。
 S1005において、メタ情報付与部106は、取得された撮影設定情報、撮影権利情報、撮影対象情報、撮影状況情報の少なくとも1つをメタ情報として、ファイルに付与する。ファイル生成部105は、付与されたメタ情報をファイルに格納する。なお、メタ情報は、ISO BMFFではボックスmetaやボックスffviを使用して付与される。また、ExifではFVVI IFDを使用して付与される。
 S1006において、入力部102は、カメラ101a~zから映像データの入力を受け付け、ファイル生成部105に入力する。
 S1007において、ファイル生成部105は、入力部102を介して入力された映像データをファイルに格納する。例えば、ISO BMFFでは、ファイル生成部105は、映像データをボックスmdatとして、必要な符号を付与してファイルに格納する。また、Exifでは、ファイル生成部105は、映像データをImage Dataとしてファイルに格納する。さらに、映像データを格納したファイルは、出力部107で外部に出力されたり、保存部108で保存されたりする。なお、ファイル生成部105は、映像データを符号化してもよい。
 S1008において、カメラ101a~zからの映像データの入力が終了したり、端末104から終了の指示が入力されたりした場合には、処理を終了する。そうでない場合はS1006に戻り、次の映像データの処理を行う。
 以上説明したように、本実施形態における映像ファイル生成処理が行われる。本実施形態によると、ISOBMFFやExifを利用して、映像データにメタ情報を付与し、映像ファイルを生成することができる。
 図6は、本実施形態における別の映像ファイル生成処理のフローチャートを示す。以下では、時刻ごとに変化する撮影状況情報をフレーム単位で映像データに付与する例を説明する。なお、図5のフローチャートにおけるステップと同じ処理が実行されるステップについては同じ番号を付し、詳細な説明は省略する。
 図6のフローチャートでは、S1006で入力部102が映像データをファイル生成部105に出力すると、S1013に進む。
 S1013において、メタ情報付与部106は、環境情報取得部103から撮影状況情報、例えば、光源、気温、湿度、風向、風力を取得する。
 S1014において、メタ情報付与部106は、取得した撮影状況情報からメタ情報を生成し、映像ファイルに付与する。メタ情報は、ISO BMFFではボックスmetaやボックスffviを使用して映像ファイルに付与することができる。また、ExifではFVVI IFDを使用して付与することができる。
 このように、図6に示した映像ファイル生成処理では、時刻ごとに変化する撮影状況情報をフレーム単位で付与することができる。また、別のメタ情報もフレーム単位で付与してもよい。例えば、カメラが被写体に追従して動くシステムにおいては、その注視点が移動することになり、これを撮影設定情報として映像ファイルに付与することができる。また、撮影対象情報は、映像に移っている対象のみに限定してフレーム単位で付与することができる。
 以上説明したように、本実施形態によると、生成した映像ファイルを共通の映像ファイルとして相互利用できるようにして、撮影設定情報、撮影権利情報、撮影対象情報、撮影状況情報のうち少なくとも1つをメタ情報として付与することができる。これにより、映像データの検索、取得を効率よく行うことができる。
 なお、本実施形態における画像処理装置100は、図1で説明した物理的な構成に限定されず、論理的に構成されてもよい。
 また、本実施形態では、データを暗号化して保存してもよい。その場合、データが暗号化されているか否かを判別する符号を含んでもよい。
 また、本実施形態では、撮影設定情報のうちカメラの設置情報を、ファイル生成部105が、例えばカメラ101a~zのそれぞれから、カメラのID等の番号と共に映像データと合わせて入力部102を介して取得してもよい。
 また、本実施形態では、ファイル生成部105は、入力された映像データをそのままファイルに格納したが、符号化して格納するようにしてもよい。
 また、本実施形態では、メタ情報付与部106は、入力されたメタ情報をそのままファイルに格納したが、符号化して格納してもよい。
 また、図7に示すように、3Dモデル生成部110が仮想視点映像を生成するために必要な処理を行った映像ファイルにメタ情報を付与してもよい。なお、同図において、図1と同様の構成要素については同じ番号を付し、説明を省略する。例えば、3Dモデル生成部110は、入力部102から入力された複数の映像データから対象が映っている領域をそれぞれ切り出し、3Dモデルを生成する。ファイル生成部115は、入力部102から入力された映像データに加えて、3Dモデル生成部110から取得した3Dモデルを映像ファイルに加える。また、ファイル生成部115は、3Dモデル単位のメタ情報(撮影対象情報)をメタ情報付与部106から取得し、映像ファイルに付与する。このように、本実施形態では、3Dモデルを利用する場合にも、仮想視点映像の生成時や表示時に簡単に撮影対象情報を多重化して表示することが可能になる。
(第2の実施形態)
 第2の実施形態では、メタ情報を用いて映像データを検索し、検索結果を用いて仮想視点映像(仮想視点画像)を生成する画像処理について説明する。
 図8は、本実施形態における画像処理装置400を含むシステムの構成例を示す。画像処理装置400は、外部の保存装置401に接続されている。保存装置401は、例えば第1の実施形態の図1に記載されている保存部108と同じように、メタ情報が付与された映像ファイルを格納している。本実施形態は、説明を容易にするために、ISOBMFFで記述された映像ファイルを例として説明する。
 画像処理装置400は、インターフェース(I/F)部402、端末403、メタ情報比較部404、ファイル選択部405を有する。さらに、画像処理装置400は、ファイル解析部406、メタ情報バッファ407、仮想視点映像生成部408、メタ情報付与部409、出力部410、保存部411を有する。画像処理装置400は、保存装置401から所望の映像データを読出し、仮想視点映像を生成する。
 端末403は、ユーザから、仮想視点映像を生成するための映像データに関する検索条件の入力を受け付ける。端末403は、例えば、「○○大会の決勝戦のデータ」といったキーワードを検索条件として受け付ける。端末403は、受け付けたキーワードをメタ情報比較部404に入力する。
 端末403から検索の開始が発せられると、I/F部402は、保存装置401に格納されている映像ファイルのヘッダデータから、ボックスmeta203のデータ(すなわち、メタ情報)を映像ファイル単位で読み込む。読み込まれたボックスmeta203のデータは、メタ情報比較部404に入力される。
 メタ情報比較部404は、I/F部402から入力されたメタ情報と、端末403から入力されたキーワードを比較する。メタ情報比較部404は、キーワードに合致するメタ情報がある場合、ファイル選択部405に、当該メタ情報を有する映像ファイルの情報、例えば、ファイルパスやファイル名を通知する。
 ファイル選択部405は、通知された映像ファイルの情報に基づいて仮想視点映像の生成に使用する映像ファイルを選択し、I/F部402を介して保存装置401にアクセスする。保存装置401は、アクセスにしたがって選択された映像ファイルを読出し、I/F部402を介して、ファイル解析部406に入力する。
 ファイル解析部406は入力された映像ファイルを解析し、映像ファイルからメタ情報を分離して、分離したメタ情報をメタ情報バッファ407に格納し、仮想視点映像の生成に必要な映像データを仮想視点映像生成部408に入力する。
 仮想視点映像生成部408は、入力された映像データを使用して、ユーザによって指定された仮想視点からの映像(すなわち、仮想視点映像)を生成する。仮想視点映像生成部408は、生成された仮想視点映像を符号化する。ここでは、H.265符号化方式を用いて符号化する例を説明するが、これに限定されない。例えば、H.264や、MPEG-1,2、4などの符号化方式でもよい。MPEG-1,2、4では例えば、user_data()に格納してもよいし、新たなヘッダを定義してもよい。H.265符号化方式で符号化された仮想視点映像のビットストリームは、メタ情報付与部409に入力される。
 メタ情報付与部409は、メタ情報バッファ407に格納された元の映像データのメタ情報を読出し、入力されたビットストリームに付与する。また、メタ情報付与部409は、生成された映像ファイル(ビットストリーム)が仮想視点映像であることを示すメタ情報を追加して付与する。さらには、メタ情報付与部409は、仮想視点映像を生成したシステムの情報やその権利者に関する情報も付加することができる。
 出力部410は、メタ情報が付与された仮想視点映像のビットストリームを外部に出力する。保存部411は、メタ情報が付与された仮想視点映像のビットストリームを記憶媒体に保存する。
 図9は、本実施形態におけるH.265符号化方式で符号化されたビットストリーム900の構成例を表す図である。
 ビットストリーム900は、先頭にシーケンス全体を表すシーケンスヘッダ(seq_parameter_set_rbsp()、以下SPS)901を含む。SPS901の中には、画像に対して便利な情報を付与するVUI(Video Usability Information) Parameters902が含まれる。図10は、本実施形態におけるVUI Parameters902の構成例vui_parameters()を示す。なお、aspect_ratio_info_present_flg符号からlog2_max_mv_length_vertical符号までの詳細な説明は、非特許文献2に記載されているので省略する。本実施形態では、log2_max_mv_length_vertical符号に続けて、以下の符号が付与される。
 free_viewpoint_video_flag符号は本ビットストリームが仮想視点映像であるか否かを表すフラグである。その値が1であれば、本ビットストリームの映像は仮想視点映像であることを示し、0であれば、通常のカメラ等で撮影された映像であることを示す。なお、本実施形態が適用されないビットストリームではこのフラグは存在しないので、その場合はその値は0とされる。
 free_viewpoint_original_video_info_flag符号は本ビットストリームの仮想視点映像を生成した元の素材となる映像データが存在するか否かを表すフラグである。その値が1であれば、本ビットストリームの仮想視点映像を生成した素材となる映像データが存在することを示し、0であれば、その素材となる映像データが無いか、あるいはアクセスできないことを表す。
 free_viewpoint_filming_scene_info_flag符号は本ビットストリームの仮想視点映像を生成した元の素材となる映像データの撮影時の設定に関する撮影設定情報に関するメタ情報が存在するか否かを表すフラグである。その値が1であれば、本ビットストリームの仮想視点映像を生成した元の素材となる映像データを撮影した時の撮影設定情報がメタ情報として存在することを示す。0であれば、そのメタ情報は存在しないことを表す。
 free_viewpoint_filming_condition_info_flag符号は本ビットストリームの仮想視点映像を生成した元の素材となる映像データ撮影時の状況に関する撮影状況情報のメタ情報が存在するか否かを表すフラグである。その値が1であれば、本ビットストリームの仮想視点映像を生成した元の素材となる映像データを撮影した時の撮影状況情報がメタ情報として存在することを示す。0であれば、そのメタ情報は存在しないことを表す。
 free_viewpoint_filmed_object_info_flag符号は本ビットストリームの仮想視点映像を生成した元の素材となる映像データの撮影時の対象に関する撮影対象情報に関するメタ情報が存在するか否かを表すフラグである。その値が1であれば、本ビットストリームの仮想視点映像を生成した元の素材となる映像データを撮影した時の撮影対象情報がメタ情報として存在することを示す。0であれば、そのメタ情報は存在しないことを表す。
 free_viewpoint_right_holder_info_flag符号は本ビットストリームの仮想視点映像を生成した元の素材となる映像データの撮影時の権利者に関する撮影権利情報に関するメタ情報が存在するか否かを表すフラグである。その値が1であれば、本ビットストリームの仮想視点映像を生成した元の素材となる映像データを撮影した時の撮影権利者情報がメタ情報として存在することを示す。0であれば、そのメタ情報は存在しないことを表す。
 図9に戻り、本実施形態におけるビットストリーム900は、さらに、付加拡張情報(Supplemental enhancement information:以下、SEIと略す)message903を含むことができる。図11は、本実施形態におけるSEI message903の構成例sei_payload()を示す。その種類(payloadType)とその大きさ(payloadSize)によって内容が決定される。なお、alternative_depth_info(payloadSize)までの詳細は、非特許文献2の7.3.5章 Supplemental enhancement information message syntaxを参照されたい。
 本実施形態では、メタ情報のpayloadTypeを「201」と定義する。payloadTypeが「201」の場合に、free_viewpoint_video_info(payloadSize)によって、payloadSizeが表す大きさのメタ情報が読み出される。
 図12~図15は、free_viewpoint_video_info(payloadSize)の構成例を表す。本実施形態では、ISO BMFFに記載された符号と同じ符号は同様の意味を持つので、詳細な説明は省略する。
 図12は、free_viewpoint_video_info(payloadSize)の符号のうち、以下の符号を示す。
 free_viewpoint_original_video_info_flag符号は、図10に示した上記VUI Parameters902の同名の符号と同様に機能する。その値が1であれば、本ビットストリームの仮想視点映像を生成した元の素材となる映像データが存在することを示し、0であれば、その素材となる映像データが無いか、あるいはアクセスできないことを表す。その値が0であれば、num_free_viewpoint_original_video_info_minus1符号や、free_viewpoint_original_video_info符号は省略される。
 free_viewpoint_filming_scene_info_flag符号は、図10に示した上記VUI Parameters902の同名の符号と同様に機能する。その値が1であれば、本ビットストリームの仮想視点映像を生成した元の素材となる映像データを撮影した時の設定に関する撮影設定情報に関するメタ情報が存在することを示す。その値が0であれば、続くcategory_code以下の撮影設定情報は存在しない。なお、図面を簡易にするため図12では、num_char_place_name_minus1以下の撮影設定情報に関するメタ情報は省略されている。
 free_viewpoint_filming_condition_info_flag符号は、図10に示した上記VUI Parameters902の同名の符号と同様に機能する。その値が1であれば、本ビットストリームの仮想視点映像を生成した元の素材となる映像データを撮影した時の状況に関する撮影状況情報に関するメタ情報が存在することを示す。その値が0であれば、続くilluminant_code以下の撮影状況情報は存在しない。
 図13及び図14は、free_viewpoint_video_info(payloadSize)の符号のうち、図12に示した符号に続く以下の符号を示す。
 free_viewpoint_filmed_object_info_flag符号は、図10に示した上記VUI Parameters902の同名の符号と同様に機能する。その値が1であれば、本ビットストリームの仮想視点映像を生成した元の素材となる映像データを撮影した時の対象に関する撮影対象情報に関するメタ情報が存在することを示す。その値が0であれば、続くmax_num_object_minus1以下の撮影状況情報は存在しない。なお、図面を簡易にするため図13では、object_information以下の撮影状況情報に関するメタ情報は省略されている。
 free_viewpoint_filming_right_holder_info_flag符号は、図10に示した上記VUI Parameters902の同名の符号と同様に機能する。その値が1であれば、本ビットストリームの仮想視点映像を生成した元の素材となる映像データを撮影した時の権利者に関する撮影権利者情報に関するメタ情報が存在することを示す。その値が0であれば、続くmax_num_right_holder_minus1以下の撮影権利情報は存在しない。
 free_viewpoint_filming_camera_info_flag符号は本ビットストリームの仮想視点映像の素材となる映像データを撮影した時のカメラの設定に関する撮影設定情報に関するメタ情報が存在するか否かを表すフラグである。その値が1であれば、本ビットストリームの仮想視点映像を生成した元の素材となる映像データを撮影した時のカメラの設定に関する撮影設定情報がメタ情報として、存在することを示す。0であれば、そのメタ情報は存在しないことを表す。すなわち、free_viewpoint_filming_system_info_flag以下の符号は存在しない。
 free_viewpoint_filming_system_info_flag符号は本ビットストリームの仮想視点映像の素材となる映像データを撮影した時のシステムに関する撮影設定情報に関するメタ情報が存在するか否かを表すフラグである。その値が1であれば、本ビットストリームの仮想視点映像を生成した元の素材となる撮影した時のシステムに関する撮影設定情報がメタ情報として、存在することを示す。0であれば、そのメタ情報は存在しないことを表す。すなわち、num_char_filming_system_info_minus1以下の符号は存在しない。
 図15は、free_viewpoint_video_info(payloadSize)の符号のうち、図14に示した符号に続く以下の符号を示す。
 free_viewpoint_pruduct_info_flag符号は本ビットストリームの仮想視点映像を生成した時に関する生成設定情報に関するメタ情報が存在するか否かを表すフラグである。生成設定情報は、生成したシステムや生成された映像データの権利者に関する情報を含むが、これに限定されない。その値が1であれば、本ビットストリームの仮想視点映像を生成した時の生成設定情報がメタ情報として存在することを示す。0であれば、そのメタ情報は存在しないことを表す。すなわち、free_viewpoint_product_system_info_flag以下の符号は存在しない。
 free_viewpoint_product_system_info_flag符号は本ビットストリームの仮想視点映像を生成した時に使用したシステムに関するメタ情報が存在するか否かを表すフラグである。この値が1であれば、本ビットストリームの仮想視点映像を生成した時の生成システム情報がメタ情報として存在することを示す。0であれば、そのメタ情報は存在しないことを表す。すなわち、num_char_product_system_info_minus1以下の符号は存在しない。
 num_char_product_system_info_minus1は、仮想視点映像を生成したシステムの名称を表す文字列の長さを表す符号である。
 product_system_informationは、仮想視点映像を生成したシステムの名称を表す。なお、仮想視点映像を生成したシステムに関する情報は名称に限定されず、型番やバージョンであっても良い。
 free_viewpoint_product_right_holder_info_flag符号は本ビットストリームの仮想視点映像を生成した時の権利者に関する生成権利情報に関するメタ情報が存在するか否かを表すフラグである。その値が1であれば、本ビットストリームの仮想視点映像を生成した時の権利者に関する生成権利情報に関するメタ情報が存在することを示す。その値が0であれば、続くmax_num_product_right_holder_minus1以下の生成権利情報は存在しない。
 max_num_product_right_holder_minus1は、仮想視点映像生成に関する権利を有する権利者の数の最大値を表す値である。num_product_right_holder_minus1は、フレーム単位や、映像のクリップ単位、または映像全体を単位として、実際に権利を有する権利者の数を表す。
 num_char_product_right_holder_info_minus1は、仮想視点映像生成に関する権利者の名称等を表す文字列の長さを表す値である。
 product_right_holder_informationは、仮想視点映像生成に関する権利者の名称等の文字列を表す。
 図9に戻り、実際の仮想視点映像の映像データの符号が続き、ビットストリームを完結する。
 図20は、本実施形態におけるビットストリーム生成処理のフローチャートを示す。
 S2000において、メタ情報比較部404は、端末104から、ユーザが入力した検索条件であるキーワードを取得する。
 S2001において、I/F部402は、保存装置401に格納された映像ファイルのヘッダデータから、ボックスmeta203のデータ(すなわち、メタ情報)を映像ファイル単位で取得する。取得したデータは、メタ情報比較部404に入力される。
 S2002において、メタ情報比較部404は、I/F部402から入力されたメタ情報と端末403から取得したキーワード(すなわち、検索条件)を比較する。メタ情報比較部404は、キーワードに合致するメタ情報がある場合、ファイル選択部405に当該メタ情報を有する映像ファイルの情報を通知する。
 S2003において、ファイル選択部405は、通知された映像ファイルの情報に基づいて仮想視点映像の生成に使用する映像ファイルを選択し、I/F部402を介して保存装置401にアクセスする。保存装置401は、アクセスにしたがって選択された映像ファイルを読出し、I/F部402を介してファイル解析部406に入力する。
 S2004において、ファイル解析部406は、入力された映像ファイルを解析してメタ情報を分離し、分離したメタ情報をメタ情報バッファ407に格納する。また、ファイル解析部406は、入力された映像ファイルの映像データを仮想視点映像生成部408に入力する。
 S2005において、メタ情報付与部409は、メタ情報バッファ407に格納された元の映像のメタ情報を読出し、ビットストリームのヘッダに付与する。
 S2006において、仮想視点映像生成部408は、ユーザ等から指定された仮想視点からの映像(すなわち、仮想視点映像)を生成する。
 S2007において、仮想視点映像生成部408は、生成された仮想視点映像を符号化し、ビットストリームに格納する。
 S2008において、映像データの入力が終了したり、端末403から終了の指示が入力されたりした場合に処理を終了する。そうでなければS2006に戻り、次の映像データを処理する。
 以上説明したように、本実施形態によると、仮想視点映像を共通のビットストリームとして相互利用できるようにして、撮影設定情報、撮影権利情報、撮影対象情報、撮影状況情報のうち少なくとも1つをメタ情報として付与することができる。これにより、仮想視点映像の検索、取得を効率よく行うことができる。また、ビットストリームが仮想視点映像であるか否かの情報を付与することで、仮想視点映像を対象とした検索機能も実現が可能になる。
 なお、複数の映像ファイルを保存装置401から読み出して仮想視点映像を生成した場合、各映像ファイルに対応する仮想視点映像にそれぞれのメタ情報を付与しても良いし、複数の映像ファイルのメタ情報をまとめて1つのメタ情報として付与してもよい。
 また、第1の実施形態の図6のフローチャートのように、フレーム単位でメタ情報を付与することも可能である。例えば、フレーム単位を表すピクチャのヘッダに映像データが仮想視点映像であるか否かの情報を付与することも可能である。
 図9に戻り、本実施形態におけるビットストリーム900は、ピクチャのヘッダ(pic_parameter_set_rbsp()、以下PPS)904を含むことができる。図16は、本実施形態におけるPPS904の構造の一例を示す。
 pic_free_viewpoint_info_flag符号は、ピクチャ単位で、仮想視点映像の撮影、生成に関するメタ情報があるか否かを表す。その値が1であれば、pic_free_viewpoint_info()に仮想視点映像の撮影、生成に関するメタ情報が含まれていることを示す。図17~図19は、本実施形態におけるpic_free_viewpoint_info()の詳細を示す。基本的には、図12~図15の内容をフレームごとに設定できるように、フレーム単位で判定が必要なフラグに関してはpic_の接頭詞を付与して、同じ内容を符号化してビットストリームに付与される。これらによってフレーム単位でメタ情報の更新が可能になる。
 また、各フレームに付与されるpic_free_viewpoint_info_flag符号を、シーケンスや複数フレームで構成されるチャプタのような単位で纏めてVUI parameterの部分に含めても良い。それにより、シーケンス内の一部が仮想視点映像であった場合、各フレームを復号しなくても当該情報を取得することができる。
 また、本ビットストリームをボックスmdatに格納してISO BMFFファイルを構成してもよい。
(第3の実施形態)
 本実施形態では、メタ情報によるビットストリームの検索を行い、検索結果を表示する画像処理装置について説明する。
 図21は、本実施形態における画像処理装置500を含むシステムの構成例を示す。画像処理装置500は、外部の保存装置550、及び保存装置551に接続されている。保存装置550は、例えば、第2の実施形態の図8に記載されている保存装置401と同じように、仮想視点映像を生成するために必要な映像ファイルを格納している。保存装置551は、例えば、第2の実施形態の図8に記載されている保存部411と同じように、仮想視点映像の映像ファイルやビットストリームを格納している。本実施形態では、保存装置550に格納された映像ファイルから生成された仮想視点映像を、H.265符号化方式で符号化したビットストリームを例にとって説明する。
 画像処理装置500は、インターフェース(I/F)部502、メタ情報比較部505、データ選択部506、ビットストリーム解析部507、メタ情報バッファ508、復号部509、表示部520を有する。画像処理装置500は、保存装置550から所望の映像ファイルを読出し、表示を行うとともに、別途、仮想視点映像を表示する。
 端末503は、ユーザから、仮想視点映像のビットストリームに関する検索条件(例えば、キーワード)の入力を受け付け、メタ情報比較部505に出力する。
 端末503から検索の開始が発せられると、I/F部502は保存装置551から、ビットストリームのヘッダ情報とメタ情報を読出し、メタ情報比較部505に入力する。さらに、本実施形態で生成されていない他のH.265符号化方式で符号化されたビットストリームも含まれるものとする。
 メタ情報比較部505は、I/F部502から入力されたメタ情報と、端末503から入力されたキーワードを比較する。メタ情報比較部505は、端末503から入力されたキーワードに合致するメタ情報が存在する場合、データ選択部506に、当該メタ情報を有するビットストリームの情報、例えば、データパスやビットストリーム名を通知する。
 データ選択部506は、通知されたビットストリームの情報に基づいて、表示するビットストリームを選択し、I/F部502を介して保存装置551にアクセスする。保存装置551は、アクセスにしたがって目的のビットストリームを読出す。読み出されたビットストリームはI/F部502を介して、ビットストリーム解析部507に入力される。
 ビットストリーム解析部507は、入力されたビットストリームのヘッダを復号して解析し、ヘッダからメタ情報を分離して、メタ情報バッファ508に格納する。また、ビットストリーム解析部507は、映像データのビットストリームを復号部509に入力する。復号部509は、入力されたビットストリームを復号して、表示部520に入力する。また、復号部509は、選択されたビットストリームが複数存在する場合はそれぞれのビットストリームを復号し、表示部520に入力する。表示部520は、復号された1または複数のビットストリームを表示する。
 また、ビットストリーム解析部507は、分離したメタ情報から当該映像データが仮想視点映像であることが判明した場合、これを表示部520に通知する。表示部520は通知に応じて、表示されている映像が仮想視点映像であることを表示する。
 図22は、本実施形態における表示部520の表示画面を示す。表示画面600において、ユーザは端末503を用いて、検索条件となるキーワードをキーワードウィンドウ603a~cに入力し、検索ボタン604を押下して映像(ビットストリーム)の検索を行う。
 表示部520は、検索結果として選択された複数の映像601a~dを、候補ウィンドウ602に表示する。さらに、表示部520は、候補ウィンドウ602に表示されている複数の映像の中から、ユーザが端末503を用いて選択した1つの映像を、表示ウィンドウ605に表示する。表示ウィンドウ605は表示バー606を有する。表示バー606は、フレーム単位で当該映像が仮想視点映像である部分を太線で示す。映像が仮想視点映像であるか否かは、ストリーム単位ではVUI Parameters902のfree_viewpoint_video_flag符号の有無や、SEI_message903を参照することで判断することができる。また、フレーム単位ではPPS904のpic_free_viewpoint_info_flag符号の値で判断することができる。
 映像のうち、仮想視点映像である部分が再生される場合、表示部520は表示ウィンドウ605に、表示されている映像が仮想視点映像であることを示すマーカ607を表示する。マーカ607は、候補ウィンドウ602において、複数の映像601a~dのうち、仮想視点映像を含むものに表示してもよい。
 以上説明したように、本実施形態における画像処理装置500は、メタ情報によるビットストリームの検索を行い、検索結果を表示することができる。
 また、本実施形態における画像処理装置500を含むシステムでは、検索結果として表示中の映像について、ユーザの指示に応じて再度、メタ情報を用いて仮想視点映像の生成を行うことができる。データ選択部506は、仮想視点映像を再生成する映像データに対応するメタ情報を、メタ情報バッファ508から読み出す。データ選択部506は、ビットストリームのfree_viewpoint_original_video_info_flag符号の値を参照し、本ビットストリームの仮想視点映像を生成した素材となる映像データが存在するか判定する。上述したように、free_viewpoint_original_video_info_flag符号の値が1であれば、素材となる映像データが存在することを示し、0であれば、素材となる映像データが無いか、あるいはアクセスできないことを示す。映像データが存在する場合、free_viewpoint_original_video_info_flag符号やpic_free_viewpoint_original_video_info符号を参照して、映像データの保存場所を特定する。
 データ選択部506は、I/F部502を介して保存装置550の特定された保存場所にアクセスし、仮想視点映像を生成した素材となる映像データを読出し、画像処理装置400に入力する。画像処理装置400は、入力された映像データを使用して仮想視点映像を再生成し、I/F部502を介して画像処理装置500に入力する。すなわち、画像処理装置400は、図8のI/F部402を介して入力された映像データを使用して、仮想視点映像を再生成する。また、画像処理装置400は、生成した仮想視点映像のビットストリームを出力部410を介して、図21のI/F部502に入力する。画像処理装置500は、入力されたビットストリームをビットストリーム解析部507、復号部509によって処理し、表示部520に表示する。
 なお、上記実施形態では、画像処理装置500が、素材となる映像データを取得して画像処理装置400に入力したが、画像処理装置500は、画像処理装置400に映像データの保存場所を通知するだけでもよい。その場合、画像処理装置400が当該保存場所に保存された映像データを取得して、仮想視点映像を再生成することができる。
 このように、本実施形態における画像処理装置500を含むシステムでは、検索結果として表示中の映像について、仮想視点映像を再生成することができる。
 以上説明したように、本実施形態によると、仮想視点映像を共通のビットストリームとして利用できるようにして、付与された撮影設定情報、撮影権利情報、撮影対象情報、撮影状況情報、生成設定情報のうち少なくとも1つを検索に用いることができる。これにより、メタ情報による仮想視点映像のビットストリームの検索を効率よく行うことができる。また、本実施形態によると、検索結果として表示中の映像について、再度、仮想視点映像を生成することができる。
 図23は、上記各実施形態に係る画像処理装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
 CPU801は、RAM802やROM803に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置の各処理を実行する。即ち、CPU801は、上述した画像処理装置の各処理部として機能する。
 RAM802は、外部記憶装置806からロードされたコンピュータプログラムやデータ、I/F(インターフェース)807を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、RAM802は、CPU801が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM802は、例えば、画像データを記憶するためのフレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
 ROM803は、コンピュータの設定データや、ブートプログラムなどを格納している。操作部804は、キーボードやマウスなどを含む。ユーザは、操作部804を用いて、各種の指示をコンピュータに入力することができる。出力部805は、CPU801による処理結果を表示する。出力部805は、例えば液晶ディスプレイとすることができる。
 外部記憶装置806は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置806は、OS(オペレーティングシステム)や、上述した画像処理装置の各処理部の機能をCPU801に実現させるためのコンピュータプログラムを保存している。更に、外部記憶装置806は、処理対象としての画像データを保存しても良い。
 外部記憶装置806に保存されているコンピュータプログラムやデータは、CPU801による制御に従って適宜、RAM802にロードされ、CPU801によって処理される。I/F807は、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器と接続するために使用される。コンピュータは、I/F807を介して様々な情報を取得したり、送出したりすることができる。バス808は、上述したコンピュータの各構成要素を相互に通信可能に接続する。
(その他の実施形態)
 本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
 また、上述した実施形態で説明したメタ情報を示す符号をデータ名として利用してもよい。例えば、ファイル名を、いくつかのメタ情報を「_」で結んだ名称に統一することで、データの検索を行うことができる。例えば、データ名として用いるメタ情報は、filming_date_time_code、convention_name、event_name、stage_name、free_viewpoint_filming_info_code等である。
 本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために以下の請求項を添付する。
 本願は、2018年9月14日提出の日本国特許出願特願2018-172675を基礎として優先権を主張するものであり、その記載内容の全てをここに援用する。
100 画像処理装置
101a~101z カメラ
102 入力部
103 環境情報取得部
104 端末
105 ファイル生成部
106 メタ情報付与部
107 出力部
108 保存部

Claims (18)

  1.  複数の撮像装置によって撮像領域を撮像することにより得られる複数の画像データに基づいて生成される仮想視点画像に係る画像処理装置であって、
     前記複数の画像データを入力する入力手段と、
     撮像設定情報、撮像状況情報、撮像対象情報、撮像権利情報の少なくとも1つをメタ情報として、前記入力手段によって入力された画像データに付与する付与手段と
    を備えることを特徴とする画像処理装置。
  2.  前記付与手段は、前記入力手段によって入力された画像データのフレーム単位で前記メタ情報を付与することを特徴とする請求項1に記載の画像処理装置。
  3.  前記付与手段は、前記入力手段によって入力された画像データに基づいて生成される3Dモデル単位で前記メタ情報を付与することを特徴とする請求項1に記載の画像処理装置。
  4.  複数の撮像装置によって撮像領域を撮像することにより得られる複数の画像データに基づいて仮想視点画像を生成する画像処理装置であって、
     撮像設定情報、撮像状況情報、撮像対象情報、撮像権利情報の少なくとも1つをメタ情報として付与された画像データを格納する格納手段と、
     前記画像データの検索条件を入力する入力手段と、
     前記格納手段に格納された画像データのメタ情報を取得する取得手段と、
     前記検索条件に合致する前記メタ情報が存在する場合に、当該メタ情報を有する画像データから仮想視点画像を生成する生成手段と、
     前記メタ情報を有する画像データから分離したメタ情報を、前記生成手段で生成された仮想視点画像に付与する付与手段と
    を備えることを特徴とする画像処理装置。
  5.  複数の撮像装置によって撮像領域を撮像することにより得られる複数の画像データに基づいて仮想視点画像を生成する画像処理装置であって、
     撮像設定情報、撮像状況情報、撮像対象情報、撮像権利情報の少なくとも1つをメタ情報として付与された仮想視点画像を格納する格納手段と
     前記仮想視点画像の検索条件を入力する入力手段と、
     前記格納手段に格納された仮想視点画像のメタ情報を読み出す読出し手段と、
     前記検索条件に合致する前記メタ情報が存在する場合に、当該メタ情報を有する仮想視点画像を出力する出力手段と
    を備えることを特徴とする画像処理装置。
  6.  前記出力手段によって出力された仮想視点画像のメタ情報に対応する画像データを選択する選択手段をさらに備え、
     前記出力手段は、前記選択手段によって選択された画像データを用いて再生成された仮想視点画像を出力することを特徴とする請求項5に記載の画像処理装置。
  7.  前記撮像設定情報は、撮像場所、撮像日時、イベント内容、撮像装置情報の少なくとも1つを含むことを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
  8.  前記撮像装置情報は、撮像装置の注視点の位置、撮像装置の台数、撮像装置の配置、撮像装置の姿勢、焦点距離の少なくとも1つを含むことを特徴とする請求項7に記載の画像処理装置。
  9.  前記撮像状況情報は、撮像時の気象情報を含むことを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。
  10.  前記撮像対象情報は、対象の名称、対象群の名称の少なくとも1つを含むことを特徴とする請求項1乃至9のいずれか1項に記載の画像処理装置。
  11.  前記撮像権利情報は、撮像に関する権利者に関する情報、画像に関する権利者に関する情報の少なくとも1つを含むことを特徴とする請求項1乃至10のいずれか1項に記載の画像処理装置。
  12.  前記画像データのメタ情報は、ISOBMFFを用いて付与されることを特徴とする請求項1乃至11のいずれか1項に記載の画像処理装置。
  13.  前記画像データのメタ情報は、Exifを用いて付与されることを特徴とする請求項1乃至11のいずれか1項に記載の画像処理装置。
  14.  前記仮想視点画像のメタ情報は、H.265符号化方式を用いて符号化された仮想視点画像のビットストリームに付与されることを特徴とする請求項1乃至13のいずれか1項に記載の画像処理装置。
  15.  複数の撮像装置によって撮像領域を撮像することにより得られる複数の画像データに基づいて生成される仮想視点画像に係る画像処理方法であって、
     前記複数の画像データを入力する入力工程と、
     撮像設定情報、撮像状況情報、撮像対象情報、撮像権利情報の少なくとも1つをメタ情報として前記入力工程で入力された画像データに付与する付与工程と
    を含むことを特徴とする画像処理方法。
  16.  複数の撮像装置によって撮像領域を撮像することにより得られる複数の画像データに基づいて仮想視点画像を生成する画像処理方法であって、
     撮像設定情報、撮像状況情報、撮像対象情報、撮像権利情報の少なくとも1つをメタ情報として付与された画像データを格納する格納工程と、
     前記画像データの検索条件を入力する入力工程と、
     前記格納工程で格納された画像データのメタ情報を取得する取得工程と、
     前記検索条件に合致する前記メタ情報が存在する場合に、当該メタ情報を有する画像データから仮想視点画像を生成する生成工程と、
     前記メタ情報を有する画像データから分離したメタ情報を、前記生成工程で生成された仮想視点画像に付与する付与工程と
    を含むことを特徴とする画像処理方法。
  17.  複数の撮像装置によって撮像領域を撮像することにより得られる複数の画像データに基づいて仮想視点画像を生成する画像処理方法であって、
     撮像設定情報、撮像状況情報、撮像対象情報、撮像権利情報の少なくとも1つをメタ情報として付与された仮想視点画像を格納する格納工程と、
     前記仮想視点画像の検索条件を入力する入力工程と、
     前記格納工程で格納された仮想視点画像のメタ情報を読み出す読出し工程と、
     前記検索条件に合致する前記メタ情報が存在する場合に、当該メタ情報を有する仮想視点画像を出力する出力工程と
    を含むことを特徴とする画像処理方法。
  18.  コンピュータを、請求項1乃至14のいずれか1項に記載の画像処理装置として機能させるためのプログラム。
PCT/JP2019/028014 2018-09-14 2019-07-17 画像処理装置、画像処理方法、及び、プログラム WO2020054212A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/194,728 US20210203905A1 (en) 2018-09-14 2021-03-08 Image processing apparatus, image processing method, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-172675 2018-09-14
JP2018172675A JP7199886B2 (ja) 2018-09-14 2018-09-14 画像処理装置、画像処理方法、及び、プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/194,728 Continuation US20210203905A1 (en) 2018-09-14 2021-03-08 Image processing apparatus, image processing method, and storage medium

Publications (1)

Publication Number Publication Date
WO2020054212A1 true WO2020054212A1 (ja) 2020-03-19

Family

ID=69777113

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/028014 WO2020054212A1 (ja) 2018-09-14 2019-07-17 画像処理装置、画像処理方法、及び、プログラム

Country Status (3)

Country Link
US (1) US20210203905A1 (ja)
JP (2) JP7199886B2 (ja)
WO (1) WO2020054212A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009055444A (ja) * 2007-08-28 2009-03-12 Toshiba Corp 映像検索システム及び映像検索装置
JP2010109783A (ja) * 2008-10-31 2010-05-13 Casio Computer Co Ltd 電子カメラ
WO2015037473A1 (ja) * 2013-09-11 2015-03-19 ソニー株式会社 画像処理装置および方法
JP2017200200A (ja) * 2012-04-27 2017-11-02 パナソニックIpマネジメント株式会社 コンテンツ再生方法、コンテンツ再生装置およびコンテンツ再生プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3035282A4 (en) 2013-09-11 2017-07-05 Sony Corporation Image processing device and method
KR20170132187A (ko) * 2015-03-03 2017-12-01 오픈에이치디 피티와이 엘티디 분산된 라이브 퍼포먼스 스케줄 오디오 레코딩, 클라우드 기반 오디오 컨텐츠 편집 및 오디오 트랙 및 관련 메타 데이터의 온라인 컨텐츠 배포를 위한 시스템, 컨텐츠 편집 서버, 오디오 레코딩 슬레이브 장치 및 컨텐츠 편집 인터페이스
US20170134162A1 (en) * 2015-11-10 2017-05-11 Shannon Code System and process for verifying digital media content authenticity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009055444A (ja) * 2007-08-28 2009-03-12 Toshiba Corp 映像検索システム及び映像検索装置
JP2010109783A (ja) * 2008-10-31 2010-05-13 Casio Computer Co Ltd 電子カメラ
JP2017200200A (ja) * 2012-04-27 2017-11-02 パナソニックIpマネジメント株式会社 コンテンツ再生方法、コンテンツ再生装置およびコンテンツ再生プログラム
WO2015037473A1 (ja) * 2013-09-11 2015-03-19 ソニー株式会社 画像処理装置および方法

Also Published As

Publication number Publication date
JP7199886B2 (ja) 2023-01-06
US20210203905A1 (en) 2021-07-01
JP2023033322A (ja) 2023-03-10
JP2020047991A (ja) 2020-03-26

Similar Documents

Publication Publication Date Title
JP6309749B2 (ja) 画像データ再生装置および画像データ生成装置
JP6960528B2 (ja) メディアコンテンツを生成および処理するための方法、装置、およびコンピュータプログラム
US6559846B1 (en) System and process for viewing panoramic video
TWI709325B (zh) 用於編解碼視訊資料的方法及裝置
US20200169754A1 (en) Method and apparatus for presenting vr media beyond omnidirectional media
JP2022133439A (ja) メディアコンテンツを送信するための方法、装置及びコンピュータプログラム
US10931930B2 (en) Methods and apparatus for immersive media content overlays
CN114095737B (zh) 媒体文件封装及解封装方法、装置、设备及存储介质
CN113949829B (zh) 媒体文件封装及解封装方法、装置、设备及存储介质
JP2006041811A (ja) 自由視点画像ストリーミング方式
KR101843025B1 (ko) 카메라워크 기반 영상합성 시스템 및 영상합성방법
CN112153472A (zh) 一种画面特效的生成方法及装置、存储介质及电子设备
WO2020054212A1 (ja) 画像処理装置、画像処理方法、及び、プログラム
US20220394230A1 (en) Generation apparatus, generation method, and storage medium
US20210382931A1 (en) Information processing apparatus, control method of information processing apparatus, and non-transitory computer-readable storage medium
JP2010171561A (ja) 動画情報管理装置、および方法
CN114556962B (zh) 多视点视频处理方法和装置
JP7218105B2 (ja) ファイル生成装置、ファイル生成方法、処理装置、処理方法、及びプログラム
KR20220103109A (ko) 파일 처리 장치 및 파일 처리 방법
JP2008072572A (ja) コンテンツ撮影装置
US20170287521A1 (en) Methods, circuits, devices, systems and associated computer executable code for composing composite content
JP2014030267A (ja) 撮像装置
KR102418020B1 (ko) Xr 기반의 디지털 스튜디오를 위한 계층적 콘텐츠 블록체인 시스템
JP2022552853A (ja) メディアリソースの再生およびテキストレンダリング方法、装置、機器および記憶媒体
CN115883871A (zh) 媒体文件封装与解封装方法、装置、设备及存储介质

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

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

Country of ref document: EP

Kind code of ref document: A1