WO2023032303A1 - 映像処理装置、映像処理方法およびプログラム - Google Patents

映像処理装置、映像処理方法およびプログラム Download PDF

Info

Publication number
WO2023032303A1
WO2023032303A1 PCT/JP2022/012162 JP2022012162W WO2023032303A1 WO 2023032303 A1 WO2023032303 A1 WO 2023032303A1 JP 2022012162 W JP2022012162 W JP 2022012162W WO 2023032303 A1 WO2023032303 A1 WO 2023032303A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
information
trigger
event
player
Prior art date
Application number
PCT/JP2022/012162
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 WO2023032303A1 publication Critical patent/WO2023032303A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/86Watching games played by other players

Definitions

  • the present technology relates to a video processing device, a video processing method, and a program.
  • images are used to provide the viewer with the game situation. For example, if there is a venue that viewers can enter, the video is displayed on a screen installed in the venue, or the video is provided through a video distribution site or the like.
  • the video provided may be, for example, a player's play video in a game currently being played, a processed video of the player's play, or a highlight scene that cuts out the highlights of the game.
  • Japanese Patent Application Laid-Open No. 2002-300000 discloses a technique for extracting a highlight scene from a video that can be used for such purposes.
  • Patent Document 1 has the problem that it is not possible to simultaneously identify the video of another player that is related to the highlight in the video of a specific player.
  • the present technology has been developed in view of these points, and is a video processing device that can identify events corresponding to certain events in a plurality of input videos and create an output video that includes those events. , aims to provide a video processing method and program.
  • the first technique includes an information creation unit that creates video creation information based on a plurality of triggers detected from a plurality of input videos, and based on the video creation information, and a video processing unit 106 that determines, from among a plurality of input videos, a material video to be associated with creation of an output video.
  • the second technique creates video creation information based on a plurality of triggers detected from a plurality of input videos, and creates an output video from a plurality of input videos based on the video creation information.
  • a third technique is to create video creation information based on a plurality of triggers detected from a plurality of input videos, and to create an output video from a plurality of input videos based on the video creation information. It is a program that causes a computer to execute a video processing method for determining a material video to be associated with.
  • FIG. 1A is a diagram showing an example of a game play video
  • FIG. 1B is a diagram showing an example of a player video
  • FIG. 2A is a diagram showing an example of a map image
  • FIG. 2B is a diagram showing an example of a free viewpoint image.
  • 2 is a block diagram showing the configuration of the video processing device 100
  • FIG. 4 is a flowchart showing the overall processing of the video processing device 100
  • 4 is a flowchart showing processing of a preprocessing unit 101
  • FIG. 4 is an explanatory diagram of video information
  • 4 is a flowchart showing processing of a first information creating unit 103
  • 4 is a flowchart showing trigger detection processing
  • 4 is a table showing types of trigger detection methods
  • FIG. 4 is an explanatory diagram of a trigger detection method;
  • FIG. 4 is an explanatory diagram of a trigger detection method;
  • FIG. 4 is an explanatory diagram of a trigger detection method;
  • FIG. 4 is an explanatory diagram of trigger information;
  • 9 is a flowchart showing event identification processing;
  • FIG. 4 is an explanatory diagram of an evaluation method of a corresponding trigger;
  • FIG. 4 is an explanatory diagram of an evaluation method of a corresponding trigger;
  • FIG. 4 is an explanatory diagram of an evaluation method of a corresponding trigger;
  • FIG. 4 is an explanatory diagram of an evaluation method of a corresponding trigger;
  • FIG. 4 is an explanatory diagram of an evaluation method of a corresponding trigger;
  • FIG. 4 is an explanatory diagram of an evaluation method of a corresponding trigger;
  • FIG. 4 is an explanatory diagram of an evaluation method of a corresponding trigger;
  • FIG. 4 is an explanatory diagram of an evaluation method of a
  • FIG. 4 is an explanatory diagram of event information; 4 is a flowchart showing processing of a second information creating unit 105; 9 is a flowchart showing event scene information creation processing; FIG. 4 is an explanatory diagram of event scene information; FIG. 10 is an explanatory diagram of creating event scene information; FIG. 4 is a diagram showing a first example of an output image; FIG. FIG. 10 is a diagram showing a second example of an output image; FIG. 11 is a diagram showing a third example of an output image; 4 is a flowchart showing processing of the video processing unit 106.
  • FIG. FIG. 12 is an explanatory diagram of the premise of the second embodiment; FIG. 11 is a diagram showing an example of a game play image in the second embodiment; FIG. FIG.
  • FIG. 10 is a diagram showing information associated with a video ID; 10 is a flow chart showing processing of a first information creating unit 103 in the second embodiment; FIG. 10 is a diagram showing estimated position information associated with video IDs; FIG. 10 is a flowchart showing event identification processing in the second embodiment; FIG. FIG. 4 is an explanatory diagram of a method of calculating an evaluation value; FIG. 4 is an explanatory diagram of event information; FIG. 11 is an explanatory diagram of player posture estimation;
  • First Embodiment> [1-1. premise] [1-2. Configuration of video processing device 100] [1-3. Processing by video processing device 100] [1-3-1. Overall processing] [1-3-2. Processing in preprocessing unit 101] [1-3-3. Processing in first information creating unit 103] [1-3-4. Processing in Second Information Creation Unit 105] [1-3-5. Processing in video processing unit 106] ⁇ 2. Second Embodiment> [2-1. premise] [2-2. Processing in video processing device 100] [2-3. Another example of trigger detection processing] [2-3-1. First example] [2-3-2. Second example] ⁇ 3. Variation>
  • a player is a person who plays a game.
  • a viewer is a person other than the player, and is a spectator who watches the video of the game displayed on the screen or monitor installed at the venue or distributed by video distribution service on the Internet. Also, the person who provides the video is called a sponsor.
  • the video processing device 100 processes images to be processed (hereinafter referred to as , referred to as input video) to be provided for viewing by viewers (hereinafter referred to as output video).
  • Video sources that supply input video to the video processing device 100 include game machines used by each player (including home-use game machines, portable game machines, personal computers, etc.), video output from game machines and displayed.
  • game play video shooting devices such as capture boards that shoot , player shooting cameras such as web cameras that shoot each player, and game servers that manage game execution and output information and images for watching games.
  • the input video includes video output from the game machine used by each player, gameplay video captured by the gameplay video recording device, video of the player captured by the player camera, and video for managing the game execution and watching the game. It is an image output from a game server that outputs information and images. These input images are input from the image source to the image processing apparatus 100 via the network.
  • the network may be a wired network or a wireless network, or any network capable of transmitting input video.
  • the network may be wired or wireless, and may be a dedicated line or the Internet.
  • FIG. 1A is an example of a game play video from a player's viewpoint captured by a game play video capturing device such as a capture board that captures video input from a game machine or video output from a game machine and displayed.
  • a game play video the video of the game from the player's viewpoint will be referred to as a game play video.
  • the gameplay video may be a so-called FPS (First Person Shooter) that displays the game space from the point of view of the character controlled by the player.
  • the gameplay video may be a so-called TPS (Third Person Shooter), in which the player character controlled by the player is displayed on the screen, and the space in the game is displayed from a different perspective than the character controlled by the player, such as over the shoulder or from a bird's-eye view.
  • FPS First Person Shooter
  • TPS Transmissiond Person Shooter
  • other display formats are also possible.
  • Gameplay footage includes, for example, the state of the game field, characters controlled by players, enemy characters controlled by other players, and information about characters and game situations.
  • FIG. 1A a map showing the player's position on the game field is displayed in the upper left corner of the game play video.
  • a gauge indicating the player's survivability (sometimes referred to as armor depending on the game), HP (sometimes referred to as physical strength, life, etc. depending on the game), and abilities is displayed as information about the player in the lower left.
  • numerical values and gauges directly related to the survival of a character, including survival power and HP will be referred to as survival power.
  • FIG. 1A shows a situation where both survival and HP exist. Your survivability will decrease if you are attacked by other players, or if the gauge disappears due to tricks on the game field, or if the gauge with the highest priority set by each game disappears first. , it can be determined that the player has been defeated.
  • information about the weapon used by the player is displayed in the lower right corner of the gameplay video.
  • Information on weapons includes, for example, icons indicating the types of weapons, and numerical information such as the number of balls of weapons and the maximum number of times the weapon can be used.
  • information about tools (items) used by players may also be displayed.
  • the content and display position of the player information and weapon information are only examples.
  • the gauge indicating the survival power may be a specific numerical value
  • the representation position of the map may be another place such as the lower right
  • other information may be displayed in the game play video.
  • FIG. 1B is an example of a video of a player captured by an imaging device such as a web camera. This video allows viewers to see the facial expressions and behavior of the players participating in the game. Hereinafter, this image will be referred to as a player image.
  • Fig. 2A is an example of a map image showing the entire game field.
  • the triangles shown in FIG. 2A represent each player, and the triangles visually represent the player's position and orientation on the map.
  • the map image may be an image in which the information regarding the player's position and orientation is not represented by characters, graphics, or the like.
  • this map image may be replaced with a map image showing the entire game field prepared in advance without being received from the image source.
  • Fig. 2B is an example of a free-viewpoint video that can be freely moved on the game field.
  • This free-viewpoint video is a video from a viewpoint different from the player's viewpoint, and the viewpoint position can be moved by the host or the like at any time during the continuation of the game play.
  • the image processing device 100 speculates and identifies images related to the players involved in the battle or attack in the battle-type game, for example, the attacking player and the attacked player, thereby increasing the viewer's interest. Create an output video that draws and an output video that viewers can enjoy more.
  • various image sources continuously supply input images to the image processing device 100 during the game, and the image processing device 100 can obtain game play images of all players participating in the game.
  • the video processing apparatus 100 includes a preprocessing unit 101 , a video storage unit 102 , a first information generation unit 103 , an information storage unit 104 , a second information generation unit 105 and a video processing unit 106 .
  • the arrows connecting each part indicate the main flow of images and information, and images and information can be exchanged by connecting them physically or wirelessly.
  • the preprocessing unit 101 adds image information to the input image input from the image source, and outputs a set of the input image and the image information to the image storage unit 102, the first information creation unit 103, and the second information creation unit 105. . Also, when the game ends, game end information is output to the video storage unit 102 and the second information creating unit 105 .
  • the video storage unit 102 stores the input video and video information acquired from the preprocessing unit 101 in a format that each processing unit can refer to.
  • the image storage unit 102 is in a standby state until it acquires the input image and the image information from the preprocessing unit 101.
  • the image storage unit 102 stores the match ID unique to each match and the start time of the match. After saving the current time as , it shifts to the video saving state.
  • the match end information is received from the preprocessing unit 101 in the video storage state, the current time is stored as the match end time for the current match ID, and then the standby state is entered again.
  • the first information creation unit 103 detects a plurality of triggers from the input video based on the input video and video information acquired from the preprocessing unit 101, and creates trigger information and event information, which are information for video creation. First information creating unit 103 outputs the created trigger information and event information to information storage unit 104 .
  • a trigger is a characteristic event in the game, such as a change in the image. Specifically, for example, a player attacked another player or an enemy, a player was attacked by another player or an enemy, a player defeated another player or an enemy, or a player defeated another player or an enemy It is an event such as
  • target triggers There are target triggers and corresponding triggers for triggers. If the target trigger is "attacked another player” detected in one player's gameplay video, the corresponding event is “attacked by another player” in another player's gameplay video. A trigger should be detected. A trigger having a relationship corresponding to such a target trigger is defined as a corresponding trigger.
  • An event is an event that can be identified and estimated as a relationship between players that changes the game situation, including target triggers and corresponding triggers.
  • the information storage unit 104 receives the trigger information and event information created by the first information creation unit 103, and stores them in a format that each processing unit can refer to. Also, when statistical information, event scene information, and the like created by the second information creating unit 105 are received, they are saved in a format that each processing unit can refer to.
  • the second information creation unit 105 reads the trigger information and event information stored in the information storage unit 104, and creates statistical information and event scene information, which are information for video creation.
  • the second information creation unit 105 can output part or all of the created statistical information and event scene information to the information storage unit 104 .
  • An event scene is a temporal section containing multiple events, that is, a temporal section in which the game situation changes. Specifically, there are, for example, scenes in which a certain player defeats another player, scenes in which a plurality of players hit an attack, or a skirmish scene that occurred frequently despite being attacked.
  • the second information creating unit 105 receives match end information from the preprocessing unit 101, it performs match end processing.
  • the image processing unit 106 acquires necessary input images and trigger information as information for image creation, event information, event scene information, and statistical information from the image storage unit 102, the information storage unit 104, and the second information generation unit 105, Using them, a video (hereinafter referred to as a material video) to be associated with creation of an output video is determined from among a plurality of input videos. Then, the video processing unit 106 creates an output video using the material video. The created output video is output to the outside via a network or the like and provided to the viewer. The output video is displayed on a screen or monitor installed at a venue or the like, or is provided to viewers by making it available through a video distribution service on the Internet.
  • a material video to be associated with creation of an output video
  • the video processing device 100 is configured as described above. Each part constituting the video processing device 100 includes an arithmetic processing unit such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit), a primary storage device such as a DRAM (Dynamic Random Access Memory), a HDD (Hard Disc Drive) and an SSD. (Solid State Drive) or other secondary storage device.
  • the first information creating unit 103, the second information creating unit 105, and the image processing unit 106 which configure the video processing apparatus 100, use a primary storage device, a secondary storage device, or the like to hold data and information necessary for processing by themselves. shall be able to
  • additional connections corresponding to arrows may be implemented to exchange images and information.
  • the time required for passing through the image storage unit 102 may be reduced by adding a connection so that the input image output from the preprocessing unit 101 and information about the input image can be supplied to the image processing unit 106 .
  • An electronic device such as a personal computer, a tablet terminal, a smartphone, or a server device may have the function of the video processing device 100.
  • the video processing device 100 may be configured as a device that operates in those electronic devices or server devices.
  • a plurality of processing units may be integrated into a single electronic device or server device, or a single processing unit may be distributed among a plurality of electronic devices or server devices. It is also assumed that the electronic devices and server devices used here are all adjusted to indicate the same current time.
  • the video processing device 100 may be implemented by executing a program.
  • the program may be installed in advance in the above-described electronic device or server device, or may be downloaded or distributed in a storage medium, and installed by the user himself/herself. You may do so.
  • step S1001 the preprocessing unit 101 that has acquired the input video from the video source performs processing.
  • step S1002 the preprocessing unit 101 determines whether or not a game is currently being played.
  • Whether or not a game is in progress can be determined, for example, by inputting information indicating that the game has started directly to the video processing device 100 by a game administrator or the like. Further, it is also possible to determine whether or not a specific image in the game, for example, characters such as "game start" displayed at a predetermined position of the image are recognized by pattern recognition processing and character recognition processing. Alternatively, the determination may be made based on the operation status of the game device.
  • step S1003 If the match is ongoing, the process proceeds to step S1003 (Yes in step S1002), and the first information creating unit 103 performs the process.
  • step S1004 the second information creation unit 105 performs processing.
  • step S1005 the image processing unit 106 performs processing to create an output image. After that, the process returns to step S1001, and the video processing apparatus 100 repeats steps S1001 to S1005 as long as the match continues.
  • step S101 it is determined whether or not the game is currently in progress. If the game is in progress, the process proceeds to step S102 (Yes in step S101), and the preprocessing unit 101 acquires a plurality of input images from the image source.
  • step S103 image information is associated with each input image.
  • the preprocessing unit 101 associates one piece of image information with one piece of input image data.
  • the video information includes at least a video ID for identifying the input video in the video storage unit 102, and a video type indicating what the input video shows.
  • the video types include, for example, game play video, player video, map video, and free viewpoint video, which have been described with reference to FIGS. 1 and 2 .
  • FIG. 6A is an example of video information associated with an input video whose video type is game play video.
  • FIG. 6B is an example of video information associated with an input video whose video type is player video.
  • the organizer or the like input information indicating the video type into the video processing device 100 in advance based on the video source and communication route.
  • the input video from Play Station 5 (a registered trademark of Sony Corporation), which is a game machine, is the game play video
  • the input video from the web camera is the player video of player A, and so on.
  • the preprocessing unit 101 receives input video together with device identification information from a device that is a video source, and identifies which device has output the input video. It can be associated with the input video.
  • the preprocessing unit 101 may automatically determine the video type based on the communication path or the like.
  • the video type may be determined by recognizing a scene or an object in the input video by scene recognition processing, object recognition processing, or the like.
  • the video information includes the player name to identify the player.
  • the player name is included in the video information
  • the player name set in advance is associated with the video whose video type is "player video" or "game play video". Note that the player name is not essential and may be included in the video information as needed.
  • step S104 the preprocessing unit 101 outputs the set of the input image and the image information to the image storage unit 102 and the first information creation unit 103. Then the process ends.
  • step S101 If the game is not in progress in step S101, the process proceeds to step S105 (No in step S101), the game is regarded as over, and the preprocessing unit 101 outputs game end information to the video storage unit 102 and the second information generation unit 105.
  • the match end information includes at least information that can be recognized as match end information by the video storage unit 102 and the second information creation unit 105 .
  • step S201 the first information creating unit 103 acquires a set of input video and video information output from the preprocessing unit 101. It should be noted that the first information creating unit 103 executes the processing of FIG. 7 for each pair of input video and video information, and assumes that each stage in FIG. 7 is synchronized. It is assumed that the acquired input image is held in the first information creating unit 103 and can be freely referred to until the processing in FIG. 7 is completed.
  • step S202 the first information creating unit 103 performs trigger detection processing.
  • the process proceeds from step S203 to step S204, and the first information creation unit 103 performs event identification processing.
  • step S203 the process ends without performing the event identification process.
  • the processing in the first information creating unit 103 is performed as described above.
  • step S202 the trigger detection process in step S202 will be described with reference to FIG.
  • the first information generating unit 103 refers to the video type of the video information associated with the input video, and determines whether the input video is the video type that is the target of trigger detection processing set in advance. determine whether
  • trigger detection processing it is necessary to set in advance which video type of input video is to be subjected to trigger detection processing.
  • the video types of the game play video and the player video are set as the trigger detection target video types. Any input video can be set as the trigger detection target video type.
  • the process ends without performing the trigger detection process (No in step S301).
  • step S302 If there are a plurality of input images that are the trigger detection target type, the processing from step S302 is performed for each of the plurality of input images.
  • the first information creating unit 103 performs trigger detection processing on the input video that is the trigger detection target video type.
  • the trigger detection process executes a plurality of preset detection methods, and when a trigger is detected, it is assumed that the trigger corresponding to each detection method has been detected. It should be noted that in the trigger detection process, detailed trigger information corresponding to each trigger detection method can be acquired.
  • trigger detection processing As shown in FIG. 9, a plurality of combinations of trigger detection target video types, trigger types, trigger detection methods, and trigger detailed information are set in advance.
  • Example 1 of FIG. 9 the trigger detection process is performed on the game play video, the type of trigger to be detected is an in-game event of "destroying an enemy", and the trigger detection method is a predetermined area in the game play video. It is to detect the characters " ⁇ was defeated” specified in advance in the inside. Furthermore, the name of the defeated player is acquired as detailed trigger information.
  • FIG. 9 is only an example, and it is possible to add or delete combinations or change each item such as the trigger type and trigger detection method according to the game and its play mode.
  • FIG. 10 shows a trigger detection method by detecting pre-specified characters in a game play video.
  • a character is, for example, "We defeated !".
  • the trigger is detected.
  • FIG. 10B if the specified character is not detected within the character detection area, it means that the trigger has not been detected.
  • the player name detected within the character detection area can be saved as detailed trigger information.
  • characters such as "(Enemy player name) has been defeated! !” can detect the trigger. Note that characters may be detected from the entire game play video without specifying the character detection area.
  • FIGS. 11 and 12 are examples of a trigger detection method by detecting a video pattern when a predetermined event occurs in a game and calculating pattern detailed information.
  • the predetermined event is the event "the attack hits”.
  • a binary edge image (correct image) of a pattern prepared in advance as shown in FIG. Get them and compare them pixel by pixel. Then, the number of px in which both the correct image and the edge image obtained from the specified position of the video have edges is calculated, and it is determined whether or not the degree of matching calculated by the following formula (1) is equal to or greater than the threshold th2.
  • Another method is to pre-calculate indexes such as the average brightness and average RGB color at the specified positions of the pattern, and detect the trigger when the difference from the same indexes at the specified positions of the image is less than the threshold th3.
  • indexes such as the average brightness and average RGB color
  • the difference between the survivability displayed in the game play video and the maximum survivability in the game that is known in advance is calculated, and the ratio when the state where the survivability is at its maximum is set to 1. can be used as trigger detailed information.
  • a brightness binary image of the display at the time of maximum viability in the game is created using the threshold th6, and the difference with the image subjected to the same processing at the pre-specified position of the video is calculated, There is a method of calculating the ratio of the difference when the time of maximum viability is set to 1.
  • the threshold th7 the binary edge image of the gauge at the maximum survivability in the game was obtained, and after calculating the area of the area surrounded by the edge, the area of the area obtained by performing the same processing on the image and
  • There is a method of calculating the difference of and calculating the ratio of the difference when the area at the time of maximum viability is set to 1.
  • the viability display is a numerical value instead of a gauge
  • the detailed trigger information in this case indicates how much the viability has decreased from the maximum viability.
  • Fig. 13 is a specific example of a method of comparing the current viability with the immediately preceding viability and detecting a trigger based on whether or not the decrease in viability is equal to or greater than the threshold th8.
  • the immediately preceding vitality is, for example, the vitality one second before the current time, but this is only an example, and the immediately preceding vitality may be specified in terms of milliseconds, frames, or the like.
  • the trigger detection method as shown in FIG. 13A, the value of the last viability is held in the first information creating unit 103, and the last viability and the current viability in the current game play video are combined. Assume that the trigger is detected when the amount of decrease is equal to or greater than the threshold th8.
  • the method of calculating the amount of reduction is the same as the method described above. On the other hand, as shown in FIG. 13B, comparing the immediately preceding viability with the current viability, if the amount of decrease is not equal to or greater than the threshold th8 or if there is no difference, the trigger is not detected.
  • step S303 the process proceeds from step S303 to step S304 (Yes in step S303).
  • the first information creating unit 103 creates trigger information.
  • the trigger information includes at least a trigger ID for uniquely identifying the trigger in the information storage unit 104 or the like, a trigger type indicating the type of the trigger, the trigger detection time, and the input video at which the trigger was detected. This includes the video ID for triggering, detailed trigger information, and a map image showing the position on the game field held by the video when the trigger was detected.
  • the trigger detection time is the time when an in-game event detected as a trigger occurred.
  • the first information creating unit 103 creates trigger information by collecting these pieces of information and associating them with each other.
  • the first information creating unit 103 creates trigger information for each of the multiple triggers in step S304.
  • step S305 the first information creation unit 103 outputs the created trigger information to the information storage unit 104.
  • the trigger information is saved in the information storage unit 104, and can be referenced in the event identification process.
  • step S306 the first information creating unit 103 holds the trigger information by itself so that the trigger information can be referenced in the event identification process.
  • the first information creating unit 103 performs trigger detection processing.
  • step S204 the event specifying process in step S204 will be described with reference to FIG. Note that when multiple triggers are detected in the trigger detection process, the event identification process is performed for each of those multiple triggers.
  • step S401 among a plurality of detected triggers, a search is made for a corresponding trigger within the past n [msec] based on the current time or the detection time of the target trigger, which is the target of event identification processing.
  • the search is performed on the trigger information stored in the information storage unit 104 and the trigger information held in the first information creation unit 103 .
  • This n[msec] is a preset value that hides the effects of the communication time with the game server, the delay time of each input video received from the video source, the time required for trigger detection processing of each input video, etc. It has the role of enabling detection of response triggers.
  • a corresponding trigger is a trigger other than the target trigger that corresponds to the target trigger among the multiple detected triggers.
  • the target trigger is a trigger whose trigger type is "destroyed the enemy" detected in player A's gameplay video
  • the corresponding trigger is "enemy (player A) defeated” in another player's gameplay video
  • Destroyed is a trigger type trigger.
  • An event is composed of a combination of a target trigger and a corresponding trigger.
  • the trigger type "attacked by enemy” detected in player B's gameplay video is the target trigger, the corresponding trigger is "enemy (player B) attacked”.
  • the target trigger and the corresponding trigger have a corresponding relationship between "one has an effect such as an attack on the other" and "the other is affected by the other.”
  • trigger detailed information may be used to search for corresponding triggers. For example, if the detailed trigger information for a trigger whose trigger type is "destroyed an enemy" includes the name of the defeated enemy player, it is possible to search for a corresponding trigger using that player's name.
  • step S406 If there is no corresponding trigger, the process proceeds to step S406 (No in step S402). In this case, event information is not created. On the other hand, if the corresponding trigger exists, the process proceeds to step S403 (Yes in step S402).
  • step S403 an evaluation value is calculated for the corresponding triggers, and the corresponding triggers are rearranged according to the evaluation value.
  • This evaluation and rearrangement of the corresponding triggers is performed, for example, in order to more correctly infer the corresponding relationship between the target trigger and each corresponding trigger when battles occur at multiple locations at the same time.
  • the evaluation value of the corresponding trigger can be calculated using map information indicating the position of each player on the game field.
  • a binary edge image is obtained using the threshold th9 for the map information held by the trigger information of the target trigger and the map information held by the trigger information of the corresponding trigger.
  • the edge image of the corresponding trigger is shifted vertically and horizontally from the edge of the target trigger by a fixed size.
  • the denominator is the edge px number of the binary edge image that the target trigger has, and the numerator is the px number where the two edge images are both edges in the overlapping area.
  • Ask for This is repeated while changing the amount of vertical and horizontal shift, and the maximum degree of matching is taken as the evaluation value of the corresponding trigger.
  • a method of calculating the evaluation value of the corresponding trigger using a map image showing the entire game field Using the threshold value th10, a binary edge image of the map image showing the entire game field is created. The position on the map image showing the entire game field of the place that becomes the degree of matching is assumed to be the player's estimated position. Then, using the distance from the estimated position of each trigger, the maximum possible distance on the game field is used as the denominator, and the numerator is the value obtained by subtracting the distance between the target trigger and each corresponding trigger from the denominator. can be calculated.
  • edge-based identification we used edge-based identification as an example, but we also calculated SIFT features (Scaled Invariance. Feature Transform features) and HOG features (Histograms of Oriented Gradients features) for each map image and video.
  • the denominator is the sum of the squares of the feature values of the detection trigger, and the numerator is the sum of the squares of the feature value of the detection trigger minus the feature value of the corresponding trigger. It is also possible to set it and use it as an evaluation value.
  • the first information creation unit 103 creates event information based on the trigger information.
  • the event information includes at least an event ID for uniquely identifying the event information in the information storage unit 104 or the like, an event type indicating the type of the event, an event occurrence time, and a target trigger constituting the event. Includes the target trigger ID and corresponding trigger ID for identifying the corresponding trigger, and the evaluation value of the corresponding trigger.
  • the first information creating unit 103 creates event information by collecting these pieces of information and associating them with each other.
  • the event occurrence time is the time when an in-game event detected as a trigger occurred.
  • step S405 the first information creation unit 103 outputs the event information to the information storage unit 104.
  • step S406 among the trigger information held by the first information creating unit 103, the trigger information whose detection time is older than the past n [msec] with respect to the current time is deleted. This is because trigger information older than n [msec] in the past is unnecessary when creating event information.
  • the event identification process is performed as described above.
  • an event "attacked” is detected as a trigger and set as a target trigger
  • an event "attacked” is detected as a corresponding trigger
  • the target trigger and its corresponding trigger are detected.
  • step S501 it is determined whether or not the value obtained by subtracting the variable last from the current time is equal to or greater than the threshold th11. If the value is equal to or greater than the threshold th11, the process proceeds to step S502 (Yes in step S501).
  • the initial value of the variable last is 0.
  • step S502 the current time is set as the variable last.
  • Steps S501 and S502 are for determining whether or not a certain period of time has elapsed since steps S503 to S506 were performed in the previous process. Due to the nature of the processing of the second information generating unit 105, the processing from step S503 to step S506 may be executed all the time, or the number of seconds is determined in advance and executed at regular intervals from the start of the game. Because it is good.
  • the trigger information and event information regarding the game currently being played are acquired from the information storage unit 104.
  • the trigger detection time is after the time when the trigger information and the event information were obtained from the information storage unit 104 last time
  • the event occurrence time is after the time when the trigger information and the event information were obtained from the information storage unit 104 last time.
  • Get event information for Since the acquired trigger information and event information are referred to in subsequent processing, they are held in the second information creating unit 105 for a period set in advance and can be freely referred to.
  • the second information creation unit 105 creates statistical information from the acquired trigger information and event information.
  • Examples of statistical information include, but are not limited to, the number of trigger detections for each trigger type in a game, the number of trigger detections for each player, and the number of trigger detections for each trigger type.
  • By creating statistical information from the trigger information, the event information, and the video information it is possible to obtain information such as which player was involved in the event and how much, and that information can be used in video creation in the video processing unit 106. .
  • the created statistical information is held in the second information creating unit 105 .
  • event scene information is created using the trigger information and event information held in the second information creation unit 105 and the trigger information and event information stored in the information storage unit 104. Creation of event scene information will be described later.
  • the event scene information is created when there is an event scene that satisfies the event scene conditions.
  • An event scene is a temporal section composed of a plurality of events and regarded as an exciting scene or a highlight scene of a game.
  • An event scene condition is a condition for determining whether an event scene is sufficient, which is composed of a predetermined threshold value, a conditional statement, and the like. Details of the event scene information and creation of the event scene information will be described later.
  • the second information creation unit 105 outputs the created statistical information and event scene information to the information storage unit 104.
  • part of the output statistical information and event scene information may be held by the second information creating unit 105 and used in the next processing of the second information creating unit 105 . For example, by storing the total number of trigger detections, which is statistical information, and adding the newly detected trigger detection processing number to the total number of trigger detections the next time the statistical information is recalculated, can save time.
  • step S507 it is determined whether or not game end information has been received from the preprocessing unit 101.
  • the process proceeds to step S508 (Yes in step S507), and the game end process is performed.
  • the game end processing by deleting the trigger information, event information, statistical information, etc. held in the second information creation unit 105, when the information of the next game is input, the influence of the information of the previous game is eliminated. avoid receiving
  • step S505 the creation of event scene information in step S505 will be described with reference to FIG.
  • the second information creation unit 105 acquires event information (referred to as defeat event information) having an event type of "Player A defeated Player B" in step S503 will be described as an example.
  • event information referred to as defeat event information
  • an event scene can be created each time event information having an event type of "destroyed the enemy” or “destroyed by the enemy” is received.
  • step S601 search and acquire event information related to player A and player B that occurred within the past s [msec] from the event occurrence time held by the defeat event information.
  • the search is performed on the event information stored in the information storage unit 104 and the event information stored in the second information creation unit 105 .
  • s[msec] is a value set in advance, and means the maximum interval length for an event scene.
  • Event information related to player A and player B refers to trigger information that can be specified by the target trigger ID of the event information, and the player name of the video information that can be specified by the video ID of the trigger information is player A or player B is the event information.
  • detailed trigger information in trigger information that can be specified by the target trigger ID may be referred to.
  • the acquired event information is hereinafter referred to as acquired event information.
  • Steps S602 to S607 are processing for extracting event information one by one from the acquired event information and determining whether or not to include it in the event scene.
  • step S602 the event occurrence time included in the defeat event information is set as the variable time.
  • step S603 if there is acquired event information that has not yet been extracted, the process proceeds to step S604 (Yes in step S603). On the other hand, if there is no obtained event information that has not been retrieved, or if the search result is 0, the process proceeds to step S608 (No in step S603).
  • step S604 the event information whose event occurrence time is closest to the current time is extracted from the acquired event information that has not been extracted. Note that the fetching process is different from the acquiring process.
  • step S605 the difference diff_1 between the event occurrence time closest to the current time and the variable time is calculated.
  • step S607 is a reference value for determining whether the extracted event information should be included in the event scene. If the difference diff_1 is equal to or less than the threshold lim, it is determined that the extracted event information should be included in the event scene.
  • step S607 the value of the variable time is updated to the event occurrence time of the extracted event information.
  • the process then returns to step S603.
  • the difference diff_1 is not equal to or less than the threshold lim, the process proceeds to step S608 (No in step S606).
  • step S608 the difference diff_2 between the event occurrence time of the defeat event information and the oldest event occurrence time among the event occurrence times of the event information determined to be included in the event scene up to step S607 is calculated. . If there is no event information determined to be included in the event scene, 0 is set for the difference diff_2.
  • the threshold min means the minimum section length to be recognized as an event scene.
  • step S609 it is determined whether or not the difference diff_2 is greater than or equal to the threshold min. If the difference diff_2 is greater than or equal to the threshold min, the process proceeds to step S610 (Yes in step S609).
  • step S610 the second information creation unit 105 creates event scene information.
  • the event scene information is created as including the information shown in FIG.
  • the event scene ID is an ID for uniquely identifying event scene information in the information storage unit 104 or the like.
  • the event scene type indicates what the event scene is like. Here, since the event scene information is created when the defeat event information is acquired, the event scene type is "destroyed the enemy".
  • the event scene start time is the oldest event occurrence time among the event occurrence times of the event information to be included in the event scene found up to step S607.
  • the event scene end time is the event occurrence time of the acquired event information whose event type is "destroyed the enemy".
  • the number of events and the event ID are the number of pieces of event information to be included in the event scene found up to step S607 and the event ID of the event information.
  • the target video ID is the video ID of the trigger information that can be specified by the trigger ID of the event information.
  • the corresponding video IDs are a plurality of video IDs of trigger information that can be identified by corresponding trigger IDs of certain event information or event information to be included in the event scene identified up to step S607.
  • the target image ID is the image ID of the trigger information that can be specified by the trigger ID included in the defeat event information, because it corresponds to the event information with the defeat event information.
  • the corresponding video IDs are a plurality of video IDs including the target video ID. This is because events such as attacking the enemy and being attacked by the enemy will occur as long as the battle is not one-sided.
  • the number of corresponding videos is the number of corresponding videos included in the event scene.
  • the evaluation value for each video ID indicates the degree to which the input video was involved in the event scene. For example, in the example of FIG. 22, since video ID 5 has a higher evaluation value than video IDs other than the target video ID, there is a possibility that the player corresponding to video ID 7 defeated the player corresponding to video ID 5. can be inferred to be high.
  • the evaluation values of video ID1 and video ID2 are clearly lower than the evaluation values of the other video IDs. It can be inferred that there is a high possibility that it is an unrelated video ID that does not exist.
  • the evaluation value of the corresponding video ID can be obtained, for example, as follows. First, all the corresponding trigger IDs and their evaluation values (shown in FIG. 19) of the event information to be included in the event scene are acquired, and based on the event occurrence time of the event information to be included in the event scene, the corresponding trigger weight the evaluation value of
  • the evaluation value of the corresponding trigger of the event information with the latest event occurrence time is multiplied by 1
  • the evaluation value of the corresponding trigger of the event information with the second latest event occurrence time is multiplied by 0.9
  • the event occurrence time is multiplied by 0.9
  • the evaluation value of the corresponding trigger of the third newest event information is multiplied by 0.8.
  • FIG. 23 shows the obtained event information arranged in chronological order, and is an example showing the flow from step S603 to step S607 and the event scene start time and event scene end time.
  • An event ID 17 having an event occurrence time farther than the time obtained by subtracting a threshold lim from the event occurrence time of the event ID 21 is not included in the event scene because it does not greatly affect the event scene to be created. By doing so, the unnecessary time of the event scene can be cut, and the event scene can be created for the more exciting scene.
  • the second information creating unit 105 can create and organize information considered necessary for the video processing unit 106 in addition to the processing described above. For example, in the event type of the event information, change the event type "attacked by the enemy" to the event type "attacked the enemy", and change the corresponding trigger ID with the highest evaluation value to the target trigger ID, It is also possible to replace the target trigger ID with the corresponding trigger ID with the maximum evaluation value. By reducing the types of event types in such a way, the attacking player will have the image ID of the trigger information that can be specified with the target trigger ID, and the attacked player will have the image ID of the trigger information that can be specified with the corresponding trigger ID. , the processing of the video processing unit 106 can be made more efficient. In particular, it is possible to reduce the possibility that humans will misunderstand the correspondence relationships in the event at the stage of determining the video creation method, which will be described later.
  • the image processing unit 106 uses the input image acquired from the image storage unit 102 and the trigger information, event information, statistical information, and event scene information, which are information for image creation acquired from the information storage unit 104, from the input image.
  • a video (material video) to be associated with the creation of the output video is determined, and the output video is created using the material video. For example, when there are five players, there are at least five game play images and five player images, for a total of ten input images. Decide whether to use it as a video, and create an output video using the material video.
  • the video creation method consists of placement information indicating what to place where in the output video, and how to determine the video ID associated with the creation of the output video. 24, 25, and 26 are examples of created output images.
  • FIG. 24 is an example of an output video created using event information and trigger information. Acquire the latest event information that has the event type "attacked the enemy" and one corresponding trigger ID for one target trigger. are placed to create the output video.
  • the output video is composed of the upper, middle and lower stages.
  • the game play images of each player are arranged on the left and right in the upper row, the player images of the players corresponding to the game play images in the upper row are arranged in the lower row, and the name of each player is arranged in the middle row.
  • the video ID of the gameplay video located on the left side of the upper row is the video ID of the trigger information that can be identified by the target trigger ID of the latest event information.
  • the video ID of the player video arranged on the left side of the lower row is the video ID of the video showing the same player as the video on the upper left.
  • the player name can be confirmed by the player name of the video information that can be identified from the video ID of the trigger information. In this way, the video processing unit 106 determines the input video that can be specified by the video ID of the trigger information as the material video.
  • the video ID of the gameplay video located on the upper right side is the video ID of the trigger information that can be identified by the corresponding trigger ID with the highest evaluation value in the latest event information.
  • the video ID of the video on the lower right is the video ID of the video showing the same player as the video on the upper right.
  • the video processing unit 106 determines the input video that can be specified by the video ID of the trigger information that can be specified by the trigger ID of the event information as the material video.
  • the characters on the left side of the middle row are the player names corresponding to the video displayed on the left side of the output video
  • the characters on the right side of the middle row are the player names corresponding to the video displayed on the right side of the output video.
  • Gameplay footage and player footage of the attacking player and gameplay footage and player footage of the player being attacked as you can instantly identify who is currently fighting who, using up-to-date event information , and can be included in one output video as a material video. As a result, it is possible to create an output video that expresses a situation in which it is not known who will win.
  • This video creation method can be applied to a situation where there are multiple corresponding trigger IDs but only one video ID with an evaluation value equal to or higher than the preset threshold th12. ID can also be used.
  • FIG. 25 is an example of an output video created using event scene information. Specifically, it is an example of an output video created using event scene information having an event scene type of "destroyed by an enemy". This example is useful in creating an output video for providing highlights after a game of enemy defeats in that game.
  • This output video is the corresponding video ID of the event scene information, and is the output video when there are two video IDs with an evaluation value equal to or greater than the threshold th12, excluding the target video ID.
  • the corresponding video ID of the event scene information whose event scene type is "destroyed by the enemy" includes the game play video of the defeated player.
  • the fact that there are two image IDs other than the target image ID whose evaluation value is equal to or greater than the threshold th12 means that there are two players who attacked the defeated player. Therefore, using those video IDs, it is possible to create an output video of one player being attacked by two players. In this way, the video processing unit 106 determines the input video that can be specified by the video ID of the event scene information as the material video.
  • the positional relationship can be determined by estimating the position instead of calculating the evaluation value by using the evaluation value calculation method of the corresponding trigger using the map image showing the position of each image on the game field as shown in FIG. It can be calculated and the result of the calculation can be reflected in the creation of the output video.
  • the positioning information is determined to reflect the positional relationship of the players, and the game play video is arranged, or the output video is created by selecting and projecting the player B who is closest to the position. can do.
  • the method of determining the video ID in the video creation method used to create the output video in FIG. 25 the method described above can be used.
  • Placement information can be set with multiple functions.
  • the first function is to input the position information of the corresponding video ID and the target video ID whose evaluation value in the event scene information is equal to or higher than the threshold th13, so that it is arranged at the position on the output video that matches the position information.
  • the second function inputs the event scene type in the event scene information, the information whether each video is a target video or a corresponding video, and the position information on the created video of each video. This is a function that outputs a figure corresponding to the event scene type, such as an arrow extending to the image being displayed.
  • FIG. 26 is an example of creating an output video using trigger information.
  • the arrangement information and the video ID determination method of this video creation method are the same as those in the upper part of FIG. 24 .
  • gauges indicating the survivability of the player corresponding to each game play video arranged in the upper row are arranged in the lower row, and player names corresponding to each game play video arranged in the upper row are arranged in the middle row. are placed.
  • the lower part shows the current status of each player using the "difference between the maximum survivability and the current survivability", which is the trigger detailed information when the trigger type is "attacked the enemy", as explained in FIG. It is to calculate the survivability and express it in a graph. By updating these numerical values and video expressions each time a player's trigger is detected, it is possible to convey the superiority or inferiority of the battle situation for each trigger.
  • When and which image creation method should be used to create an output image can be determined by preparing multiple image creation methods in advance and manually viewing each piece of information, or automatically by setting conditions in advance. may decide. Information obtained from trigger information, event information, event scene information, statistical information, and the like can be used as conditions for determining the video creation method.
  • FIGS. 24 to 26 Templates for video creation methods as shown in FIGS. 24 to 26 are prepared in advance, and the video processing unit 106 uses any of them to create an output video.
  • FIG. 27 shows an example of processing in which the video processing unit 106 automatically determines the video creation method. By periodically executing this processing at short intervals such as several milliseconds, it is possible to appropriately determine an image creation method and create an output image according to that method.
  • step S701 it is determined whether or not new event information has been created since the previous output video was created, by combining the event information held by the first information creation unit 103 with the event information saved in the information storage unit 104. to check. If new event information has been created, the process proceeds to step S702 (Yes in step S701).
  • step S702 it is determined whether the time set as the variable end is past the current time.
  • the variable end represents the time to continue the output image created by the image setting method in the situation where the image creation method is determined based on the event information. If the variable end is past the current time, the process proceeds to step S703 (Yes in step S702).
  • an evaluation value is calculated for the new event information. This is especially effective when there are multiple pieces of new event information.
  • This evaluation value is a numerical value from 0 to 1 that serves as an index when selecting which event information to create an output video. This evaluation value can be set by combining conditional statements that can be created using information such as trigger information, event information, statistical information, and video ID used in the video creation method used immediately before.
  • the video ID used in the previous video creation method matches the video ID of the trigger information that can be specified by the target trigger ID in the event information, or the video ID of the trigger information that can be specified by the corresponding trigger ID. If it does, the evaluation value is set to 1.
  • the video information is specified using the video ID from the trigger information that can be specified by the target trigger ID, and the player name that the video information has is used, and the number of trigger occurrences of the player so far is divided by the total number of trigger occurrences. may be used as the evaluation value.
  • the evaluation values may be set to 1, 0.8, 0.6, .
  • an evaluation value may be set according to the event type.
  • the evaluation value may be obtained by weighting and accumulating the evaluation values calculated under the above-described conditions. Note that these examples of evaluation values are examples, and the evaluation values are not limited to these.
  • step S704 the event information with the highest evaluation value calculated in step S703 is selected.
  • step S705 a preset constant number of seconds is added to the event occurrence time of the event information selected in step S704, and the result is set as the variable end.
  • step S706 using the event information selected in step S704, a new output video is created by the video creation method specified in advance. 24 to 26. If the image creation method shown in FIG. 24 is specified in advance, the image creation method shown in FIG. 24 is used to create the output image.
  • step S702 if the time set as the variable end is not earlier than the current time, the process proceeds to step S707 (No in step S702). Then, in step S707, an output image is created by continuing to use the image creation method used in the last output image creation.
  • step S701 if new event information has not been created since the previous output video was created, the process proceeds to step S708 (No in step S701).
  • step S708 it is determined whether or not the output video created by the video creation method used to create the immediately preceding output video continues for a preset time or longer.
  • the preset time indicates the minimum time for continuously outputting the output video created by the same video creation method to the viewer. By setting this time, it is possible to avoid situations in which the created output video changes rapidly over time.
  • step S709 a new output image is created by the previously designated image creation method.
  • a method of creating a pre-specified video in step S709 for example, there is a method of randomly specifying one video ID and outputting a video that can be specified by that video ID as it is as an output video.
  • step S708 if it is determined in step S708 that the image created by the image creation method used to create the immediately preceding output image has not continued for the preset time or longer, the process proceeds to step S710 (No in step S708).
  • step S710 the output video is created by continuing to use the video creation method used in the last output video creation.
  • the video processing unit 106 may determine a template for video creation based on the number of corresponding triggers.
  • one video creation method is pre-specified in steps S706 and S709, but multiple video creation methods can be pre-specified by adding further conditions.
  • step S706 it is possible to randomly select between the image creation method shown in FIG. 26 and the image creation method shown in FIG.
  • the image creation method set in the process of FIG. 27 is held in the image processing unit 106 using a storage device or the like as the image creation method selected immediately before so that it can be referred to.
  • the processing of the video processing unit 106 may be started after a certain period of time has passed since the game started.
  • a fixed time delay may be provided between the match start time and the video creation start time.
  • trigger information, event information, event scene information, and statistical information as information for video creation are created by the first information creation unit 103 and the second information creation unit 105, and created by the video processing unit 106. do.
  • events corresponding to certain events are specified in the form of triggers and events in a plurality of input videos, and an output video is created so as to include those events.
  • the width of the output video is widened, the output video that the viewer feels more enjoyable can be created, and the viewer can be informed of the situation in which he or she does not know who will win.
  • the triggers included in the event information can identify which players are involved in the event, and the output video can be created to include the video of the players involved in the event.
  • the organizer can grasp which player is involved with which player (whether they are fighting), which can be used as a basis for judgment when outputting video, and output video that attracts more viewers. can be created.
  • event information it is possible to express information such as players involved in the event and players who hit more attacks using numerical values, so that viewers can see how hard each player worked. visually conveyed.
  • the viewer is shown a video of the two players who are likely to fight in advance, and when the battle actually occurs, an output video that captures the battle from start to finish is created.
  • the output video can be provided without missing the timing of the excitement.
  • FIG. 28 exemplifies video switching in such a situation.
  • FIG. 28 shows a case in which the input video is a game play video (video ID [1]), and at time t+1, the organizer etc. converts the game play video of the video ID [1] from the game play video of player A to player B. This is the case when switching to the game play video of Although the player corresponding to the game play video has been changed, the video ID of the game play video of player A at time t and the video ID of the game play video of player B at time t+2 are the same.
  • Video processing apparatus 100 includes preprocessing unit 101, video storage unit 102, first information generation unit 103, information storage unit 104, second information generation unit 105, and video processing unit 106, as in the first embodiment. configured with.
  • the video information associated with each input video in the preprocessing unit 101 includes a player name.
  • FIG. 29 is an example of a game play video in the situation of the second embodiment.
  • characters and numerical values such as the player's name indicating which player's game play video the game play video belongs to are always displayed in the game play video.
  • a character detection area in advance in the gameplay video, recognizing the characters using known character recognition technology, etc., and specifying the player name, it is possible to determine which player's gameplay video is the gameplay video. is specified, and the input video is associated with the player name as video information. If the character detection area overlaps with objects in the game play video due to player switching or other in-game processing, and the player name cannot be identified, the player name may be blank, or the player name may be the same as the previous player name. You can take measures such as naming it.
  • the display position of the characters indicating the player's name is not limited to the position shown in FIG. 29, and may be anywhere as long as it is displayed within the game play video.
  • the preprocessing unit 101 determines which section of the game play video belongs to which player for the video ID associated with the game play video as video information.
  • Match information Specifically, the video ID is associated with the start time, end time, and player name. The point in time when the player name identified from the game play video changes is taken as the end time of the player name so far, and the player name after the change is taken as the start time.
  • the trigger detection processing by the first information generation unit 103 of the first embodiment as shown in FIG. 13, the method of determining that the trigger is detected when the amount of decrease in viability is equal to or greater than the threshold th8 has been described.
  • the first information creation unit 103 displays the immediately preceding survival ability for a certain period of time after detecting that the game play video has been switched to another player's game play video. Only update the viability display of , and do not perform trigger detection processing.
  • the video information supplied from the preprocessing unit 101 is held in the first information creation unit 103, and the previously referenced video information and the latest video information are stored. It can be detected by comparison. By doing so, false trigger detection can be prevented.
  • step S221 is performed between steps S201 and S202.
  • the player's position on the game field is estimated from the currently input game play video, and stored in the information storage unit 104 as a set of current time, video ID, and estimated position.
  • Position estimation processing can be performed using a map image showing the entire game field.
  • FIG. 32 shows an example of estimated position information stored in the information storage unit 104 in association with the video ID.
  • the estimated position information is described, for example, by values corresponding to latitude and longitude on the game field.
  • the time at which the position was estimated is also stored in association with the video ID. As a result, the estimated positions of some players at the specified time can be obtained.
  • FIG. 33 is a flowchart of event identification processing in the first information creation unit 103 of the second embodiment. Note that steps S401, S404, S405, and S406 are the same as the processes in the first embodiment.
  • Step S421 performs basically the same processing as step S403 in the first embodiment. Execute the method of calculating the evaluation value of the corresponding trigger using the projected map image and the player's estimated position.
  • the position of the detection trigger estimated in the process of calculating the evaluation value is held in the first information creating unit 103 . Note that if the number of corresponding triggers is 0, there is no need to calculate the difference from the corresponding triggers.
  • step S422 the extent to which each player is involved in the event for which the event information was created in step S404 is calculated and added to the event information as the corresponding player name.
  • the section information indicating which section of the game play video is the game play video of which player, as shown in FIG.
  • time position information indicating when and where each player was on the game field is obtained. If multiple estimated positions are known for the same player name, the estimated position closest to the current time is taken as the estimated position of that player.
  • the evaluation value is a value that can be calculated by inputting the time of each player, the estimated position at that time, and the estimated position of the detection trigger, and indicates the possibility that each player is involved in the event. be.
  • the evaluation value can be calculated by the method shown in FIG. In the calculation formula for calculating the evaluation value shown in FIG. 34, it can be determined that the closer the evaluation value is to 1, the higher the possibility that the player was involved in the event.
  • a simple calculation formula was used as an example, but it is not limited to this formula, and it is also possible to weight the calculation for distance and the calculation for time, or give a higher evaluation value as the distance or time is closer.
  • a calculation method or the like may be adopted. After calculating the rating value for the player whose estimated position is known, add the player name and its rating value pair to the event information.
  • FIG. 35 shows the event information after the addition.
  • the information storage unit 104 stores the set of current time, video ID, and estimated position additionally created by the first information creation unit 103 . Also, the name of the corresponding player in the event information newly created by the first information creating unit 103 is additionally saved.
  • the image processing unit 106 uses the information newly created in the second embodiment to determine the material image to be associated with the creation of the output image, and uses the material image to create the output image.
  • the player name with the highest evaluation value among the corresponding player names is used to create the output video. can do. This can be realized by using the player name to switch the game play video of an appropriate player to that player's and prepare it as the video ID of the video creation method.
  • the processing in the second embodiment is performed as described above.
  • the event can be performed from the player's estimated position.
  • Players who may have been involved in the game can be estimated and reflected in the creation of the output video.
  • the players involved in the event are estimated by calculating the distance between the players, but the distance between the players can also be used as a trigger. By calculating the distance between players, it can be treated as a trigger when the distance between players approaches.
  • the method of obtaining a pair of the corresponding player name and its evaluation value is used.
  • an estimated position that can be obtained from the player's game play video acquired from the preprocessing unit 101 instead of the detection trigger estimated position, a pair of the corresponding player name and its evaluation value is calculated.
  • the highest evaluation value is equal to or greater than the threshold th14, it is assumed that a trigger that the distance between the two players has approached has been detected.
  • the trigger detailed information of the detected trigger is the name of the player with the highest evaluation value.
  • Video creation method can be added.
  • the video type of player video is set in advance as the trigger detection target video type.
  • the first information creating unit 103 performs trigger detection processing on the input video whose video type is the player video. Specifically, first, posture estimation processing as state estimation is performed on the player image, the posture of the player (position of the bones) is estimated, and a set of the estimated posture information, the current time, and the player name is generated as a first The information creation unit 103 holds the information.
  • FIG. 36 is an example of bone positions detected by posture estimation.
  • FIG. 36A shows the player image of player A
  • FIG. 36B shows the orientation estimation result of the player image.
  • FIG. 37C shows the player video of player A after a certain period of time has elapsed
  • FIG. 36D shows the posture estimation result of the player video.
  • trigger detection processing can be performed based on the amount of change.
  • the trigger detected from the estimated bone information By setting the trigger detected from the estimated bone information to have no corresponding trigger, it is possible to prevent the creation of unnecessary events.
  • changes in the player's state are not limited to changes in bone positions.
  • joint positions may be estimated and trigger detection processing may be performed based on the amount of change in the joint positions.
  • the player's line of sight detection processing may be performed, and the trigger detection processing may be performed based on the amount of change in the position of the player's line of sight.
  • trigger detection processing By performing trigger detection processing based on the player's state in the player video, it is possible to detect triggers that cannot be sufficiently detected in the gameplay video. For example, consider a case where an event "destroyed by an enemy" could not be detected as a trigger due to an unexpected player's operation. For example, when the posture of a player defeated by an enemy during a game changes to a posture of holding his/her head, trigger detection processing can be performed by detecting the change in the player's state by the above-described method.
  • a battle-type game in which a large number of players fight in a field and the goal is to win and survive has been described as an example, but the game is not limited to this. It may be a game in which an enemy team fights on a game field, a competitive game such as a race, a puzzle game, or any other game in which a plurality of players participate. In that case, it is necessary to preset the trigger detection method and the like according to the image of each game.
  • this technology can be used not only for games, but also for creating digest videos and highlight videos from videos of various events such as music events and talk events.
  • two information creating units create the video creating information. good.
  • the present technology can also take the following configurations.
  • an information creation unit that creates video creation information based on a plurality of triggers detected from a plurality of input videos;
  • a video processing unit that determines, from among the plurality of input videos, a material video to be associated with creation of an output video based on the video creation information.
  • the information creating unit creates trigger information as the video creating information based on a plurality of the triggers.
  • the trigger information includes a video ID for identifying the input video in which the trigger is detected.
  • the trigger information includes trigger type information indicating the type of the trigger.
  • the video processing device (1), wherein the trigger is a characteristic event occurring in the input video.
  • the information creating unit creates event information as the video creating information based on the trigger information.
  • the event information includes a trigger ID for identifying a target trigger, which is one of the plurality of triggers, and a corresponding trigger corresponding to the target trigger, which constitutes the event.
  • the event information includes event type information indicating a type of event.
  • the information creating unit creates event scene information as the video creating information based on the event information.
  • the event scene information includes event IDs for identifying the events forming the event scene.
  • the information creating unit creates statistical information as the video creating information based on the trigger information.
  • the video processing unit determines the input video that can be specified by the video ID included in the trigger information as the material video.
  • the video processing unit determines, as the material video, the input video that can be specified by the video ID included in the trigger information indicated by the trigger ID included in the event information.
  • the video processing device determines the input video that can be specified by the video ID included in the event scene information as the material video.
  • the image processing unit creates the output image using the material image associated with creation of the output image.
  • the image processing unit arranges the plurality of material images in one image to create the output image.
  • the input image is a game play image output by a game machine.
  • the input image is an image of a player playing a game.
  • Video processing device 103... First video processing unit 105... Second information creating unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

複数の入力映像において、ある事象に対応する事象を特定して、それらの事象を含めるように出力映像を作成することができる映像処理装置、映像処理方法およびプログラムを提供する。 複数の入力映像から検知された複数のトリガーに基づいて、映像作成用情報を作成する情報作成部と、映像作成用情報に基づいて、複数の入力映像の中から出力映像の作成に関連付ける素材映像を決定する映像処理部106とを備える映像処理装置100である。

Description

映像処理装置、映像処理方法およびプログラム
 本技術は、映像処理装置、映像処理方法およびプログラムに関する。
 様々な対戦型のテレビゲームやeスポーツ(electronicスポーツ)と呼ばれるような競技では、映像を用いて視聴者にゲームの状況を提供している。例えば、視聴者が入場できる会場がある場合は、その会場に設置されたスクリーンに映像が映し出されたり、動画配信サイト等を通して映像を提供している。提供している映像は、例えば現在行われているゲームにおけるプレイヤーのプレイ映像やそれを加工したものであったり、試合の見どころ部分を切り出したハイライトシーンであったりする。そのような用途に用いることができる、映像からそのハイライトシーンを抽出する技術として特許文献1がある。
特開2020-179045号公報
 しかし、特許文献1記載の技術では、特定のプレイヤーの映像におけるハイライトに関係している他のプレイヤーの映像を同時に特定することができない、という問題点がある。
 例えば、あるゲームにおいてプレイヤーが他のプレイヤーに勝利したという事象の映像が抽出された際、負けたプレイヤーのゲームプレイ映像は同時には特定されない。その場合、負けたプレイヤーの視点で、勝利したプレイヤーがどのように見えていたのかを伝えることができない。また、どちらが勝つかわからないという緊張した状況そのものをリアルタイムに視聴者に伝えることができない、という問題点がある。
 本技術はこのような点に鑑みなされたものであり、複数の入力映像において、ある事象に対応する事象を特定して、それらの事象を含めるように出力映像を作成することができる映像処理装置、映像処理方法およびプログラムを提供することを目的とする。
 上述した課題を解決するために、第1の技術は、複数の入力映像から検知された複数のトリガーに基づいて、映像作成用情報を作成する情報作成部と、映像作成用情報に基づいて、複数の入力映像の中から出力映像の作成に関連付ける素材映像を決定する映像処理部106とを備える映像処理装置である。
 また、第2の技術は、複数の入力映像から検知された複数のトリガーに基づいて、映像作成用情報を作成し、映像作成用情報に基づいて、複数の入力映像の中から出力映像の作成に関連付ける素材映像を決定する映像処理方法である。
 また、第3の技術は、複数の入力映像から検知された複数のトリガーに基づいて、映像作成用情報を作成し、映像作成用情報に基づいて、複数の入力映像の中から出力映像の作成に関連付ける素材映像を決定する映像処理方法をコンピュータに実行させるプログラムである。
図1Aはゲームプレイ映像の例を示す図であり、図1Bはプレイヤー映像の一例を示す図である。 図2Aは地図映像の例を示す図であり、図2Bは自由視点映像の例を示す図である。 映像処理装置100の構成を示すブロック図である。 映像処理装置100の全体処理を示すフローチャートである。 前処理部101の処理を示すフローチャートである。 映像情報の説明図である。 第1情報作成部103の処理を示すフローチャートである。 トリガー検知処理を示すフローチャートである。 トリガー検知方法の種類を示す表である。 トリガー検知方法の説明図である。 トリガー検知方法の説明図である。 トリガー検知方法の説明図である。 トリガー検知方法の説明図である。 トリガー情報の説明図である。 イベント特定処理を示すフローチャートである。 対応トリガーの評価方法の説明図である。 対応トリガーの評価方法の説明図である。 対応トリガーの評価方法の説明図である。 イベント情報の説明図である。 第2情報作成部105の処理を示すフローチャートである。 イベントシーン情報作成処理を示すフローチャートである。 イベントシーン情報の説明図である。 イベントシーン情報作成の説明図である。 出力映像の第1の例を示す図である。 出力映像の第2の例を示す図である。 出力映像の第3の例を示す図である。 映像処理部106の処理を示すフローチャートである。 第2の実施の形態の前提の説明図である。 第2の実施の形態におけるゲームプレイ映像の例を示す図である。 映像IDに対応付ける情報を示す図である。 第2の実施の形態における第1情報作成部103の処理を示すフローチャートである。 映像IDに対応付ける推定位置情報を示す図である。 第2の実施の形態におけるイベント特定処理を示すフローチャートである。 評価値の計算方法の説明図である。 イベント情報の説明図である。 プレイヤーの姿勢推定の説明図である。
 以下、本技術の実施の形態について図面を参照しながら説明する。なお、説明は以下の順序で行う。
<1.第1の実施の形態>
[1-1.前提]
[1-2.映像処理装置100の構成]
[1-3.映像処理装置100による処理]
[1-3-1.全体処理]
[1-3-2.前処理部101における処理]
[1-3-3.第1情報作成部103における処理]
[1-3-4.第2情報作成部105における処理]
[1-3-5.映像処理部106における処理]
<2.第2の実施の形態>
[2-1.前提]
[2-2.映像処理装置100における処理]
[2-3.トリガー検知処理の他の例]
[2-3-1.第1の例]
[2-3-2.第2の例]
<3.変形例>
<1.第1の実施の形態>
[1-1.前提]
 本技術は、テレビゲームやPC(Personal Computer)ゲームにおける、広大なフィールドに多くのプレイヤーが降り立ち、そこでプレイヤー同士で銃撃や格闘などの戦闘を行い、勝利して生き残ることを目標とする対戦型ゲームの映像を視聴者に提供する例で説明を行う。以降、このプレイヤーがプレイ中であるゲームを試合と表現し、プレイヤーがゲームをプレイ中であることを試合中と表現することがある。
 プレイヤーとはゲームをプレイする人物である。視聴者とはプレイヤー以外の人物であり、会場に設置されたスクリーンやモニターなどに映し出されたり、インターネット上の動画配信サービスなどで配信されているゲームの映像を見る観客などである。また、映像を提供する側のことを主催者と呼称する。
 映像処理装置100は、ネットワークを介して入力される、ゲームのプレイ映像を撮影した映像やゲーム機などから出力されたゲームのプレイ映像、プレイヤーをカメラで撮影した映像などを処理対象の映像(以下、入力映像と称する)として、視聴者の視聴用に提供する映像(以下、出力映像と称する)を作成する。
 入力映像を映像処理装置100に供給する映像ソースとしては、各プレイヤーが使用するゲーム機(家庭用ゲーム機、携帯ゲーム機、パーソナルコンピュータなどを含む)、ゲーム機から出力されて表示されている映像を撮影するキャプチャーボードなどのゲームプレイ映像撮影装置、各プレイヤーを撮影するウェブカメラ等のプレイヤー撮影用カメラ、ゲーム実行を管理しゲーム観戦用の情報や映像を出力するゲームサーバーなどがある。
 入力映像は、各プレイヤーが使用するゲーム機から出力される映像、ゲームプレイ映像撮影装置で撮影されたゲームプレイ映像、プレイヤー撮影用カメラで撮影したプレイヤーの映像、ゲーム実行を管理しゲーム観戦用の情報や映像を出力するゲームサーバーなどから出力される映像などである。これらの入力映像は映像ソースからネットワークを介して映像処理装置100に入力される。ネットワークは有線ネットワークでも無線ネットワークでもよく、入力映像を伝送することができればどのようなものでもよい。ネットワークは有線、無線を問わず、専用回線でもよいし、インターネットでもよい。
 図1Aは、ゲーム機から入力される映像、または、ゲーム機から出力されて表示されている映像を撮影するキャプチャーボードなどのゲームプレイ映像撮影装置で撮影したプレイヤー視点のゲームプレイ映像の例である。以下、このプレイヤー視点のゲームの映像をゲームプレイ映像と称する。
 ゲームプレイ映像は、プレイヤーが操作するキャラクターの本人視点でゲーム中の空間を表示するいわゆるFPS(First Person Shooter)でもよい。または、ゲームプレイ映像は、操作するプレイヤーキャラクターが画面上に表示され、プレイヤーが操作するキャラクターとは異なるキャラクターの肩越しや俯瞰した視点でゲーム中の空間を表示するいわゆるTPS(Third Person Shooter)でもよいし、その他の表示形式でもよい。
 ゲームプレイ映像には、例えば、ゲームフィールド上の様子、プレイヤーが操作するキャラクター、他のプレイヤーが操作する敵キャラクター、キャラクターやゲームの状況を示す情報などが含まれている。
 例えば、図1Aに示すようにゲームプレイ映像の左上にはプレイヤーのゲームフィールド上の位置を示した地図が表示されている。また、左下にはプレイヤーに関する情報としてプレイヤーの生存力(ゲームによってはアーマーなどと称する場合がある)やHP(ゲームによっては体力、ライフなどとも称する場合がある)、能力などを示すゲージが表示されている。以降、生存力やHP等を含む、キャラクターの生存に直接関係する数値やゲージを生存力と呼称する。この生存力は、ゲームによっては1つだけの場合もあれば、複数存在することもあり、図1Aでは生存力とHPの2つが存在している状況を示している。生存力は他プレイヤーからの攻撃を受けた場合や、ゲームフィールド上の仕掛けなどで減少し、ゲージがすべて消失したり、各ゲームによって設定された優先度が高いゲージが先に消失したりした場合に、そのプレイヤーが撃破されたと判定できる。
 また、ゲームプレイ映像の右下にはプレイヤーが使用する武器に関する情報が表示されている。武器に関する情報としては例えば、武器の種類を示すアイコンや武器の球数や使用限度回数などの数値の情報がある。武器以外にもプレイヤーが使用する道具(アイテム)に関する情報なども表示される場合がある。
 なお、これらのプレイヤーに関する情報、武器に関する情報の内容や表示位置はあくまで例にすぎない。例えば生存力を示すゲージは具体的な数値などでもよく、地図の表現位置が右下などの別の場所であってもよいし、他の情報をゲームプレイ映像中に表示してもよい。
 図1Bは、ウェブカメラ等の撮像装置によってプレイヤーを撮影した映像の例である。この映像により、視聴者はゲームに参加しているプレイヤーの表情や挙動を見ることができる。以下、この映像をプレイヤー映像と称する。
 図2Aは、ゲームフィールド全体を映した地図映像の例である。図2Aに示されている複数の三角形は各プレイヤーを表しており、三角形によって地図上にプレイヤーの位置と向きが視覚的に表されている。ただし、地図映像はプレイヤーの位置と向きに関する情報が文字や図形などによって表現されていない映像であってもよい。また、この地図映像は、映像ソースから受け取らずに事前に準備したゲームフィールド全体を映している地図画像で代替してもよい。
 図2Bは、ゲームフィールド上を自由に移動できる自由視点映像の例である。この自由視点映像はプレイヤーの視点とは異なる視点の映像であり、その視点位置は主催者等によってゲームプレイの継続中いつでも移動させることができる。
 映像処理装置100は、上述した対戦型ゲームにおける戦闘や攻撃の発生時にそれに関与したプレイヤー、例えば攻撃したプレイヤーと攻撃されたプレイヤーに関係する映像を推測、特定することにより、視聴者がより興味を引く出力映像や、視聴者がより楽しめる出力映像を作成する。
 なお第1の実施の形態では、各種映像ソースはゲームの試合中は絶えず入力映像を映像処理装置100に供給し続け、映像処理装置100は試合に参加する全プレイヤーのゲームプレイ映像を入手できるものとする。
[1-2.映像処理装置100の構成]
 次に図3を参照して、映像処理装置100の構成について説明する。映像処理装置100は、前処理部101、映像記憶部102、第1情報作成部103、情報記憶部104、第2情報作成部105、映像処理部106を備えて構成されている。なお、各部をつなぐ矢印は映像や情報の主な流れを示しており、物理的、または無線などを介して接続することで映像や情報等をやり取りすることができる。
 前処理部101は、映像ソースから入力された入力映像に映像情報を付与し、入力映像と映像情報の組を映像記憶部102、第1情報作成部103、第2情報作成部105に出力する。また、試合終了時には試合終了情報を映像記憶部102と第2情報作成部105に出力する。
 映像記憶部102は、前処理部101から取得した入力映像と映像情報を各処理部が参照可能な形式で保存する。映像記憶部102は、前処理部101から入力映像と映像情報を取得するまで待機状態であり、前処理部101から入力映像と映像情報を受け取ると、各試合固有の試合IDと、試合開始時間として現在時刻を保存したのち、映像保存状態に移行する。映像保存状態において前処理部101から試合終了情報を受信した場合、現在の試合IDに対して試合終了時間として現在時刻を保存したのち、再び待機状態に移行する。
 第1情報作成部103は、前処理部101から取得した入力映像と映像情報に基づいて、入力映像から複数のトリガーを検知し、映像作成用情報であるトリガー情報とイベント情報を作成する。第1情報作成部103は作成したトリガー情報とイベント情報を情報記憶部104に出力する。
 トリガーとは、ゲームにおける特徴的な事象、例えば映像上の変化などである。具体的には、例えば、プレイヤーが他のプレイヤーや敵を攻撃した、プレイヤーが他のプレイヤーや敵に攻撃された、プレイヤーが他のプレイヤーや敵を撃破した、プレイヤーが他のプレイヤーや敵に撃破された、などの事象である。
 トリガーには対象トリガーと対応トリガーがある。あるプレイヤーのゲームプレイ映像において検知された「他のプレイヤーを攻撃した」というトリガーを対象トリガーとした場合、それに対応する事象として、別のプレイヤーのゲームプレイ映像では「他のプレイヤーから攻撃された」というトリガーが検知されるはずである。このような対象トリガーに対応する関係を有するトリガーのことを対応トリガーと定義する。
 イベントとは、対象トリガーと対応トリガーを含み、ゲームの状況を変化させるようなプレイヤー間の関係が特定、推定できた事象を意味する。
 情報記憶部104は、第1情報作成部103によって作成されたトリガー情報とイベント情報を受け取り、各処理部が参照可能な形式で保存する。また、第2情報作成部105によって作成された統計情報やイベントシーン情報等を受け取った場合も、各処理部が参照可能な形式で保存する。
 第2情報作成部105は、情報記憶部104に保存されているトリガー情報とイベント情報を読み込み、映像作成用情報である統計情報とイベントシーン情報を作成する。第2情報作成部105は作成した統計情報とイベントシーン情報の一部または全てを情報記憶部104に出力することができる。
 イベントシーンとは、複数のイベントを含む時間的な区間、つまりはゲームの状況が変化した時間的な区間である。具体的には、例えば、あるプレイヤーが別のプレイヤーを撃破したシーンや、複数プレイヤー間で攻撃を当てた、攻撃を当てられたが頻繁に発生した小競り合いシーンなどがある。
 また、第2情報作成部105は前処理部101から試合終了情報を受け取った場合、試合終了処理を行う。
 映像処理部106は、映像記憶部102、情報記憶部104、第2情報作成部105から必要な入力映像や映像作成用情報としてのトリガー情報、イベント情報、イベントシーン情報、統計情報を取得し、それらを用いて、複数の入力映像の中から出力映像の作成に関連付ける映像(以下、素材映像と称する)を決定する。そして、映像処理部106は素材映像を用いて出力映像を作成する。作成された出力映像はネットワークなどを介して外部に出力されて視聴者に提供される。出力映像は会場などに設置されたスクリーンやモニターに映し出されたり、インターネット上の動画配信サービスで利用可能とすることなどにより視聴者に提供される。
 映像処理装置100は以上のようにして構成されている。映像処理装置100を構成する各部は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の演算処理装置、DRAM(Dynamic Random Access Memory)等の一次記憶装置、HDD(Hard Disc Drive)やSSD(Solid State Drive)等の二次記憶装置により構成される。映像処理装置100を構成する第1情報作成部103、第2情報作成部105、映像処理部106は一次記憶装置や二次記憶装置などを用いて、処理に必要なデータや情報を自身で保持することができるものとする。
 なお、必要に応じて図示していない矢印に相当する接続を追加で実装し、映像や情報をやりとりしてもよい。例えば、前処理部101の出力である入力映像とその入力映像に関する情報を映像処理部106に供給できるように接続を追加することで、映像記憶部102を介す時間を削減してもよい。
 パーソナルコンピュータ、タブレット端末、スマートフォンなどの電子機器やサーバ装置が映像処理装置100としての機能を備えるようにしてもよい。また、映像処理装置100はそれらの電子機器やサーバ装置において動作する装置として構成してもよい。また、複数の処理部を一つの電子機器やサーバ装置などにまとめてもよいし、一つの処理部を複数の電子機器やサーバ装置などで分散して構成してもよい。また、ここで使用される電子機器やサーバ装置などはすべて同じ現在時刻を示すよう調整されているものとする。
 また、映像処理装置100はプログラムの実行により実現されてもよい。映像処理装置100がプログラムの実行により実現される場合、プログラムは予め上述の電子機器やサーバ装置内にインストールされていてもよいし、ダウンロード、記憶媒体などで配布されて、使用者が自らインストールするようにしてもよい。
[1-3.映像処理装置100による処理]
[1-3-1.全体処理]
 次に映像処理装置100による処理について説明する。まず図4を参照して、全体処理について説明する。なお、図4を含めた全てのフローチャートにおいては、矢印はあくまで処理の順序のみを示しており、情報の受け渡しはこの限りではない。また、映像記憶部102、情報記憶部104の処理は適宜複数の部にまたがって処理をする為記述していない。
 まずステップS1001で、映像ソースから入力映像を取得した前処理部101が処理を行う。次にステップS1002で、前処理部101は現在試合中であるか否かを判定する。
 試合中であるか否かは、例えば、ゲーム競技の管理者などにより直接映像処理装置100に試合が開始したことを示す情報が入力されたことで判定することができる。また、ゲームにおける特定の映像、例えば、映像の所定位置に表示される「試合開始」等の文字をパターン認識処理、文字認識処理で認識したか否かで判定することもできる。また、ゲーム装置の動作状況に基づいて判定してもよい。
 試合が終了した場合は、処理は終了となる(ステップS1002のNo)。
 試合が継続中である場合、処理はステップS1003に進み(ステップS1002のYes)、第1情報作成部103が処理を行う。
 次にステップS1004で、第2情報作成部105が処理を行う。そして、ステップS1005で、映像処理部106が処理を行って出力映像を作成する。その後、処理はステップS1001に戻り、試合が継続している限り、映像処理装置100はステップS1001乃至ステップS1005を繰り返して処理を行う。
[1-3-2.前処理部101における処理]
 次に、図5を参照して前処理部101による処理について説明する。
 まずステップS101で、現在試合中であるか否かを判定する。試合中である場合、処理はステップS102に進み(ステップS101のYes)、前処理部101は映像ソースから複数の入力映像を取得する。
 次にステップS103で、入力映像のそれぞれに映像情報を対応付ける。前処理部101は一つの入力映像のデータに一つの映像情報を対応付ける。映像情報とは図6に示すように、少なくとも、映像記憶部102において入力映像を識別可能とするための映像ID、その入力映像が何を映しているのかを示す映像種別を含む。映像種別としては、例えば、図1および図2を参照して説明したゲームプレイ映像、プレイヤー映像、地図映像、自由視点映像等がある。図6Aは映像種別がゲームプレイ映像である入力映像に対応付けられる映像情報の例である。図6Bは映像種別がプレイヤー映像である入力映像に対応付けられる映像情報の例である。
 映像種別は、映像ソースや通信経路に基づいて、主催者等が事前に映像種別を示す情報を映像処理装置100に入力しておくとよい。例えば、ゲーム機であるPlay Station 5(ソニー株式会社の登録商標)からの入力映像はゲームプレイ映像であり、ウェブカメラからの入力映像はプレイヤーAのプレイヤー映像である、などである。前処理部101は、映像ソースである機器から入力映像と共に機器識別情報を受信してその入力映像を出力したのがどの機器であるかを特定することにより、事前に人が入力した映像種別と入力映像とを対応付けることができる。
 また、通信経路などに基づいて前処理部101が自動で映像種別を決定してもよい。さらに、シーン認識処理、物体認識処理などにより入力映像中のシーンや物体を認識して映像種別を決定してもよい。
 また、映像情報にはプレイヤーを識別するためのプレイヤー名が含まれる。プレイヤー名を映像情報に含める場合、映像種別が「プレイヤー映像」または「ゲームプレイ映像」である映像に対して、事前に設定したプレイヤー名を対応付ける。なお、プレイヤー名は必須のものではなく必要に応じて映像情報に含めるようにしてもよい。
 次にステップS104で、前処理部101は入力映像と映像情報の組を映像記憶部102と第1情報作成部103に出力する。そして処理は終了となる。
 説明はステップS101に戻る。ステップS101で試合中ではない場合、処理はステップS105に進み(ステップS101のNo)、試合終了とみなし、前処理部101は映像記憶部102と第2情報作成部105に試合終了情報を出力する。試合終了情報には少なくとも、映像記憶部102と第2情報作成部105が試合終了情報であると認識できる情報が含まれている。
[1-3-3.第1情報作成部103における処理]
 次に図7を参照して第1情報作成部103における処理について説明する。
 まずステップS201で、第1情報作成部103は前処理部101から出力された入力映像と映像情報の組を取得する。なお、第1情報作成部103は入力映像と映像情報の各組ごとに図7の処理を実行するが、図7の各段階において同期をとるものとする。なお、取得した入力映像は図7の処理が終了するまで第1情報作成部103で保持して自由に参照できるものとする。
 次にステップS202で、第1情報作成部103はトリガー検知処理を行う。トリガーを検知した場合、ステップS203からステップS204に進み、第1情報作成部103はイベント特定処理を行う。
 一方、トリガーを検知しなかった場合、イベント特定処理は行わず処理は終了となる(ステップS203のNo)。以上のようにして第1情報作成部103における処理が行われる。
 次に図8を参照して、ステップS202におけるトリガー検知処理について説明する。
 まずステップS301で、第1情報作成部103は、入力映像に対応付けられている映像情報が持つ映像種別を参照して、入力映像が事前に設定したトリガー検知処理の対象である映像種別か否かを判定する。
 このために、事前にどの映像種別の入力映像に対してトリガー検知処理を行うかを設定しておく必要がある。例えば、ゲームプレイ映像とプレイヤー映像に対してトリガー検知処理を行う場合には、ゲームプレイ映像とプレイヤー映像という映像種別をトリガー検知対象映像種別に設定しておく。なお、どのような入力映像もトリガー検知対象映像種別に設定することができる。
 入力映像がトリガー検知対象の映像種別でない場合はトリガー検知処理を行わずに終了する(ステップS301のNo)。
 一方、入力映像がトリガー検知対象映像種別である場合、処理はステップS302に進む(ステップS301のYes)。トリガー検知対象種別である入力映像が複数ある場合にはそれら複数の入力映像のそれぞれに対してステップS302以降の処理を行う。
 次にステップS302で、第1情報作成部103はトリガー検知対象映像種別である入力映像に対してトリガー検知処理を行う。トリガー検知処理は、事前に設定した複数の検知方法を実行し、トリガーを検知した際は各検知方法に対応するトリガーが検知されたものとする。なお、トリガー検知処理においては、各トリガー検知方法に応じたトリガー詳細情報を取得できるものとする。
 トリガー検知処理を行うためには図9に示すように、事前にトリガー検知対象映像種別、トリガー種別、トリガー検知方法、トリガー詳細情報の組み合わせを複数設定しておく。
 図9の例1では、ゲームプレイ映像に対してトリガー検知処理を行い、検知するトリガーの種別は「敵を撃破した」というゲーム内の事象であり、トリガー検知方法はゲームプレイ映像内の所定領域内において事前に指定した「○○を撃破した」という文字を検知することである。さらに、撃破したプレイヤーの名前をトリガー詳細情報として取得する。
 なお、図9の内容はあくまで一例であり、ゲームやそのプレイモードなどに合わせて、組み合わせの追加削除をしたり、トリガー種別やトリガー検知方法等の各項目を変更したりすることができる。
 ここで、図10乃至図13を参照してトリガー検知方法について説明する。図10は、ゲームプレイ映像内において事前に指定した文字を検知することによるトリガー検知方法である。文字とは例えば「を撃破した!!」である。この方法では、事前にゲームプレイ映像内に文字検知領域を指定しておく必要がある。そして、既知の文字認識技術を用いて、図10Aに示すように指定した文字が文字検出領域内において検知された場合、トリガーを検知したことになる。一方、図10Bに示すように、指定した文字が文字検出領域内において検知されない場合、トリガーを検知していないことになる。
 その際、文字検知領域内で検知されたプレイヤー名をトリガー詳細情報として保存することができる。なお、撃破された側のプレイヤーのゲームプレイ映像に「(敵プレイヤー名)に撃破された!!」などの文字が表示される場合、同様の方法で文字検出領域内の文字「撃破された!!」を検知することでトリガーを検知することができる。なお、文字検出領域を指定せず、ゲームプレイ映像全体から文字を検知するようにしてもよい。
 図11および図12は、ゲーム内の所定の事象発生時の映像パターンを検知し、パターン詳細情報を計算することによるトリガー検知方法の例である。ここでは所定の事象が「攻撃が命中した」という事象である例で説明する。
 この方法では、事前に攻撃命中時に表示される映像のパターンの位置、形状、色等といった情報を把握しておき、ゲームプレイ映像中から同じパターンが検出された場合にトリガーが検知されたとする。図11では、点線で示すX字状の形状が攻撃命中時に映像中に表示されるパターンであるとする
 パターンを検出したか否かの判定は、まず、図12のように事前準備したパターンの2値エッジ画像(正解画像)と、ゲームプレイ映像の指定位置で閾値th1により2値化したエッジ画像を取得して、それらをピクセル単位で比較する。そして、正解画像と映像の指定位置から取得したエッジ画像ともにエッジがあるpx数を計算し、それを下記の式(1)で計算した一致度が閾値th2以上かどうかで判定する。
[式1]
一致度=(比較後の白色のpx数)/(正解画像の白色のpx数)
 その結果、図11Aに示すように入力映像中からパターンが検知された場合、トリガーを検知したことになる。一方、図11Bに示すように入力映像中からパターンが検知されなかった場合、トリガーは検知されなかったことになる。
 他にも、パターンの事前指定位置における輝度平均やRGB色平均等の指標をあらかじめ計算し、映像の指定位置における同様の指標との差が閾値th3以下であるときにトリガーを検知したとする方法もある。さらに、指定位置の正解パターン画像や正解パターン輝度画像を準備し、そのパターン画像と事前指定位置の映像との差分が閾値th4以下であるときにトリガーを検知したと判定する方法もある。トリガー検知方法は上述した方法いずれかを用いてもよいし、それらを組み合わせて用いてもよい。
 また、攻撃命中時に表示されるパターンの位置や色などが一定でない場合も、それらの範囲を広く指定し、範囲内に対して正解画像をずらして一致度や指標等を複数回計算し、上述した方法でパターンを検知したかどうか判定することで対応できる。また、パターンをディープラーニングなどの技術を用いて学習し、トリガー検知に利用することが可能である。さらに、パターンが文字や数値である場合も既知の文字認識技術を用いて文字や数値が存在するかどうかでトリガー検知を行うことが可能である。
 トリガーを検知した場合、ゲームプレイ映像内に表示される生存力について、事前に把握している試合における最大生存力との差分を計算し、生存力が最大である状態を1としたときの割合として数値にしたものをトリガー詳細情報とすることができる。
 差分を計算する方法としては、閾値th6を用いて試合における最大生存力時の表示の輝度2値画像を作成し、映像の事前指定位置に同様の処理を施した画像との差分を計算し、最大生存力時を1としたときの差分の割合を計算する方法がある。また、閾値th7を用いて試合における最大生存力時のゲージの2値エッジ画像を求め、エッジによって囲まれた領域の面積を計算したのち、映像に同様の処理をして求めた領域の面積との差分を計算し、最大生存力時の面積を1としたときの差分の割合を計算する方法がある。さらに、生存力表示がゲージではなく数値の場合は、既知の文字認識技術を用いて生存力を数値として取得し、最大生存力時を1としたときの差分の割合をとる方法がある。この場合のトリガー詳細情報は、最大生存力時からどのくらい生存力が減少しているのかを示すこととなる。
 図13は、現在の生存力と直前の生存力を比較し、生存力の減少量が閾値th8以上か否かでトリガーを検知する方法の具体例である。直前の生存力は例えば現在時刻から1秒前の生存力であるが、それはあくまで一例であり、ミリ秒やフレーム数等で直前の生存力を指定してもよい。このトリガー検知方法では、図13Aに示すように、直前の生存力の値を第1情報作成部103で保持しておき、その直前の生存力と現在のゲームプレイ映像中における現在の生存力と比較して、その減少量が閾値th8以上である場合にトリガーを検知したとする。減少量を計算する方法は上述の方法と同じである。一方、図13Bに示すように、直前の生存力と現在の生存力と比較して、その減少量が閾値th8以上ではないまたは差分がない場合はトリガーを検知していないとする。
 図8のフローチャートの説明に戻る。トリガーを検知しなかった場合、トリガー情報を作成せずに処理は終了となる(ステップS303のNo)。
 一方、トリガーを検知した場合、処理はステップS303からステップS304に進む(ステップS303のYes)。
 次にステップS304で、第1情報作成部103はトリガー情報を作成する。トリガー情報は、図14に示すように、少なくとも、トリガーを情報記憶部104などで一意に識別するためのトリガーID、トリガーの種別を示すトリガー種別、トリガー検知時刻、トリガーを検知した入力映像を識別するための映像ID、トリガー詳細情報、トリガー検知時の映像が持つゲームフィールド上の位置を示した地図画像を含む。トリガー検知時刻はトリガーとして検知されたゲーム内の事象が起きた時刻である。第1情報作成部103はこれらの情報を集めて互いに対応付けることによりトリガー情報を作成する。
 なお、トリガーを複数検知した場合、第1情報作成部103はステップS304で複数のトリガーのそれぞれについてトリガー情報を作成する。
 次にステップS305で、第1情報作成部103は作成したトリガー情報を情報記憶部104に出力する。トリガー情報は情報記憶部104に保存され、イベント特定処理において参照可能な状態になる。
 次にステップS306で、第1情報作成部103はトリガー情報をイベント特定処理で参照可能なように自身でトリガー情報を保持する。
 以上のようにして第1情報作成部103はトリガー検知処理を行う。
 次に図15を参照して、ステップS204におけるイベント特定処理について説明する。
なお、イベント特定処理は、トリガー検知処理において複数のトリガーが検知された場合にはそれら複数のトリガーのそれぞれについて行われる。
 まずステップS401で、検知された複数のトリガーのうちのイベント特定処理の対象である対象トリガーについて、現在時刻または対象トリガーの検知時刻を基準として、過去n[msec]以内における対応トリガーを検索する。検索は、情報記憶部104が保存するトリガー情報および第1情報作成部103が保持するトリガー情報に対して行う。このn[msec]は事前に設定する値であり、ゲームサーバーとの通信時間、映像ソースから受け取れる入力映像それぞれが持つ遅延時間、各入力映像のトリガー検知処理にかかる時間などの影響を隠し、正しく対応トリガーを検知できるようにする役割がある。
 対応トリガーとは、検知された複数のトリガーのうち、対象トリガーに対応する、対象トリガー以外のトリガーである。例えば、プレイヤーAのゲームプレイ映像において検知された、トリガー種別が「敵を撃破した」であるトリガーが対象トリガーである場合、対応トリガーは他のプレイヤーのゲームプレイ映像における「敵(プレイヤーA)に撃破された」というトリガー種別のトリガーである。対象トリガーと対応トリガーの組合わせによりイベントが構成される。
 また、プレイヤーBのゲームプレイ映像において検知された、トリガー種別が「敵に攻撃された」であるトリガーが対象トリガーである場合、対応トリガーは他のプレイヤーのゲームプレイ映像における「敵(プレイヤーB)を攻撃した」というトリガー種別のトリガーである。
 このように、対象トリガーと対応トリガーには「一方が他方に攻撃などの影響を及ぼした」に対する「他方が一方に影響を及ぼされた」という対応関係がある。
 また、対応トリガーの検索にはトリガー詳細情報を用いてもよい。たとえば、トリガー種別が「敵を撃破した」というトリガーのトリガー詳細情報に撃破した敵プレイヤーの名前がある場合、そのプレイヤー名を用いて対応トリガーを検索することができる。
 対応トリガーが存在しない場合、処理はステップS406に進む(ステップS402のNo)。この場合イベント情報は作成されない。一方、対応トリガーが存在する場合、処理はステップS403に進む(ステップS402のYes)。
 次にステップS403で、対応トリガーについて評価値を計算し、その評価値に従って対応トリガーの並べ替えを行う。この対応トリガーの評価と並べ替えは、例えば、複数箇所で同時に戦闘が発生した際に、対象トリガーと各対応トリガーの対応関係をより正しく推測するために行うものである。
 対応トリガーの評価値の計算は、図16、図17に示すように、各プレイヤーのゲームフィールド上における位置を示す地図情報を用いて行うことができる。
 まず、対象トリガーのトリガー情報が持つ地図情報と、対応トリガーのトリガー情報が持つ地図情報について、閾値th9を用いた2値エッジ画像を求める。その後、図16に示すように、対応トリガーのエッジ画像を対象トリガーのエッジに一定サイズだけ縦横をずらして配置する。二つのエッジ画像が重なっている領域における、対象トリガーが持つ2値エッジ画像のエッジpx数を分母とし、重なっている領域において二つのエッジ画像がともにエッジとなっているpx数を分子として一致度を求める。これを縦と横におけるずらす量を変化させながら繰り返し行い、その最大の一致度を対応トリガーの評価値とする。
 この方法を使用すると、図17のように一度に複数の対応トリガーが検知された場合でも、より対象トリガーとの位置が近い対応トリガーほど高い評価値を持つことになり、対象トリガーと各対応トリガーの対応関係をより正確に推測できる。
 さらに図18のように、ゲームフィールド全体を映した地図映像を用いて対応トリガーの評価値を計算する方法もある。閾値th10を用いてゲームフィールド全体を映した地図映像の2値エッジ画像を作り、同様にして求めた各トリガーのエッジを図16で示したように縦横に動かしながらその一致度を求め、最大の一致度となる場所のゲームフィールド全体を映した地図映像上の位置をそのプレイヤーの推定位置とする。そして、各トリガーの推定位置との距離を用いて、ゲームフィールド上で取りうる最大の距離を分母とし、分母の値から対象トリガーと各対応トリガーとの距離を引いた値を分子とする評価値を計算することができる。
 ここではエッジによる特定方法を例に挙げたが、それだけでなく、各地図画像や映像についてSIFT特徴量(Scaled Invariance. Feature Transform特徴量)やHOG特徴量(Histograms of Oriented Gradients特徴量)などを計算し、分母に検知トリガーが持つ特徴量の2乗和を分母に持ち、検知トリガーが持つ特徴量から対応トリガーが持つ特徴量を引いた値の二乗和を分母の値から引いたものを分子に置き、評価値とすることも可能である。
 各対応トリガーの評価値を計算すると、その評価値の降順で対応トリガーを並べ替える。
 次にステップS404で、第1情報作成部103はトリガー情報に基づいてイベント情報を作成する。イベント情報は、図19に示すように、少なくとも、イベント情報を情報記憶部104などで一意に識別するためのイベントID、イベントの種別を示すイベント種別、イベント発生時刻、イベントを構成する対象トリガーと対応トリガーを識別するための対象トリガーIDと対応トリガーID、対応トリガーの評価値を含む。第1情報作成部103はこれらの情報を集めて互いに対応付けることによりイベント情報を作成する。イベント発生時刻は、トリガーとして検知されたゲーム内の事象が起きた時刻である。
 次にステップS405で、第1情報作成部103はイベント情報を情報記憶部104に出力する。
 そしてステップS406で、第1情報作成部103で保持しているトリガー情報のうち、現在時刻を基準として検知時刻が過去n[msec]よりも古いトリガー情報を削除する。これは、過去n[msec]よりも古いトリガー情報はイベント情報作成時には不要であるからである。
 イベント特定処理は以上のようにして行われる。第1情報作成部103の処理により、例えば、「攻撃した」という事象がトリガーとして検知され、それを対象トリガーとした場合、「攻撃された」という事象が対応トリガーとして検知され、対象トリガーとその対応トリガーを含めてイベント情報を作成することで、攻撃したプレイヤーの特定と同時に攻撃されたプレイヤーの特定や推定を行うことができる。
[1-3-4.第2情報作成部105における処理]
 次に図20を参照して、第2情報作成部105における処理について説明する。
 まずステップS501で、現在時刻から変数lastを引いた値が閾値th11以上かどうか判定し、閾値th11以上である場合、処理はステップS502に進む(ステップS501のYes)。変数lastの初期値は0とする。
 次にステップS502で、現在時刻を変数lastとして設定する。ステップS501とステップS502は、前回の処理においてステップS503からステップS506を行ってから一定時間が経過したか否かを判定するためのものである。これは、第2情報作成部105の処理の性質上、ステップS503からステップS506の処理を常に実行してもよいし、事前に秒数などを決め、試合開始から一定秒数ごとに実行してもよいためである。
 次にステップS503で、情報記憶部104から現在行われている試合に関するトリガー情報とイベント情報を取得する。具体的には、トリガー検知時刻が前回情報記憶部104からトリガー情報とイベント情報を取得した時刻以降のトリガー情報と、イベント発生時刻が前回情報記憶部104からトリガー情報とイベント情報を取得した時刻以降のイベント情報を取得する。なお、取得したトリガー情報とイベント情報はこの後の処理で参照されるため、事前に設定した期間だけ第2情報作成部105で保持し、自由に参照できるものとする。
 次にステップS504で、第2情報作成部105は、取得したトリガー情報とイベント情報から統計情報を作成する。統計情報とは例えば、試合におけるトリガー種別ごとのトリガーの検知回数、各プレイヤーのトリガー検知回数、トリガー種別ごとのトリガー検知回数などであるが、それらに限定されるものではない。
 プレイヤーを基準とした統計情報を作成する場合は、トリガー情報がトリガー詳細情報として持つプレイヤー名や、トリガー情報が持つ映像IDで特定できる映像情報が持つプレイヤー名を取得することで実現できる。トリガー情報とイベント情報、映像情報から統計情報を作成することにより、どのプレイヤーがどのくらいイベントに関与したのかといった情報を得ることができ、その情報を映像処理部106における映像作成で使用することができる。作成した統計情報は第2情報作成部105で保持しておく。
 次にステップS505で、第2情報作成部105で保持しているトリガー情報とイベント情報や、情報記憶部104に保存されているトリガー情報とイベント情報を用いてイベントシーン情報を作成する。イベントシーン情報の作成について後述する。なお、イベントシーン情報は、イベントシーン条件を達成するイベントシーンがある場合に作成される。イベントシーンとは、複数のイベントにより構成され、試合の盛り上がりシーンやハイライトシーンなどとされる時間的な区間である。イベントシーン条件とは、所定の閾値や条件文などによって構成される、イベントシーン足りえるかどうかを判定する条件である。イベントシーン情報の詳細とイベントシーン情報作成については後述する。
 次にステップS506で、第2情報作成部105は作成した統計情報とイベントシーン情報を情報記憶部104へ出力する。その際、出力した統計情報とイベントシーン情報の一部を第2情報作成部105で保持し、第2情報作成部105の次回の処理において使用してもよい。例えば、統計情報であるトリガー総検知回数を保持しておき、次回統計情報を計算しなおす際に、保持していたトリガー総検知回数に新しく検知されたトリガー検知処理回数を加算することで、処理時間を削減することができる。
 次にステップS507で、前処理部101から試合終了情報を受信したか否かを判定する。試合終了情報を受信した場合、処理はステップS508に進み(ステップS507のYes)、試合終了処理を行う。試合終了処理として、第2情報作成部105内に保持していたトリガー情報、イベント情報、統計情報などを削除することで次の試合の情報が入力されたときに、前の試合の情報の影響を受けないようにする。
 ここで、図21を参照して、ステップS505におけるイベントシーン情報作成について説明する。
 ここでは、第2情報作成部105がステップS503で、「プレイヤーAがプレイヤーBを撃破した」というイベント種別を持つイベント情報(撃破イベント情報と称する)を取得した場合を例として説明を行う。この方法をより一般化して、「敵を撃破した」、もしくは「敵に撃破された」というイベント種別を持つイベント情報を受け取るごとにイベントシーン作成することができる。
 まずステップS601で、撃破イベント情報が持つイベント発生時刻から過去s[msec]以内に発生した、プレイヤーAとプレイヤーBに関連するイベント情報を検索して取得する。検索は、情報記憶部104が保存するイベント情報と第2情報作成部105が保持するイベント情報に対して行う。ここでのs[msec]は事前に設定される値であり、イベントシーンとする最大の区間長を意味している。
 プレイヤーAとプレイヤーBに関連するイベント情報とは、イベント情報が持つ対象トリガーIDによって特定できるトリガー情報を参照し、そのトリガー情報がもつ映像IDによって特定できる映像情報が持つプレイヤー名がプレイヤーAもしくはプレイヤーBであるイベント情報である。またその際、対象トリガーIDによって特定できるトリガー情報のトリガー詳細情報を参照してもよい。関連するイベント情報は一つの場合もあるし、複数の場合もある。取得したイベント情報は以降、取得イベント情報と称する。
 ステップS602からステップS607は、取得イベント情報から1つずつイベント情報を取り出して、イベントシーンに含むべきかを判定する処理である。
 次にステップS602で、撃破イベント情報が持つイベント発生時刻を変数timeとして設定する。
 次にステップS603で、まだ取り出していない取得イベント情報が存在する場合、処理はステップS604に進む(ステップS603のYes)。一方、取り出していない取得イベント情報が存在しない、もしくは検索結果が0件であった場合、処理はステップS608に進む(ステップS603のNo)。
 次にステップS604で、取り出していない取得イベント情報の中で、最もイベント発生時刻が現在時刻の直近であるイベント情報を取り出す。なお、取り出す処理は取得する処理とは異なる処理である。次にステップS605で、その現在時刻に最も直近であるイベント発生時刻と変数timeとの差分diff_1を計算する。
 差分diff_1が事前に設定した閾値lim以下である場合、処理はステップS607に進む(ステップS606のYes)。閾値limは、取り出したイベント情報をイベントシーンに含むべきかどうかを判定する基準値である。差分diff_1が閾値lim以下である場合、取り出したイベント情報はイベントシーンに含むべきものであると判定する。
 次にステップS607で、変数timeの値を、取り出したイベント情報のイベント発生時刻に更新する。そして処理はステップS603に戻る。一方、差分diff_1が閾値lim以下ではない場合、処理はステップS608に進む(ステップS606のNo)。
 次にステップS608で、撃破イベント情報のイベント発生時刻と、ステップS607まででイベントシーンに含むべきと判定されたイベント情報が持つイベント発生時刻の中で最も古いイベント発生時刻との差分diff_2を計算する。イベントシーンに含むべきと判定されたイベント情報が存在しない場合は、差分diff_2に対し0を設定する。閾値minは、イベントシーンとして認める最小の区間長を意味している。
 そしてステップS609で、差分diff_2が閾値min以上であるか否かを判定する。差分diff_2が閾値min以上である場合は、処理はステップS610に進む(ステップS609のYes)。
 そしてステップS610で、第2情報作成部105はイベントシーン情報を作成する。
 イベントシーン情報は図22に示す情報を含むものとして作成される。イベントシーンIDは情報記憶部104などでイベントシーン情報を一意に識別するためのIDである。イベントシーン種別はそのイベントシーンがどのようなものなのかを示し、ここでは撃破イベント情報を取得した場合のイベントシーン情報の作成であるため、イベントシーン種別は「敵を撃破した」である。
 イベントシーン開始時刻はステップS607までで判明したイベントシーンに含むべきイベント情報のイベント発生時刻の中で最も古いイベント発生時刻である。イベントシーン終了時刻はイベント種別が「敵を撃破した」である取得イベント情報のイベント発生時刻である。また、イベント個数とイベントIDはステップS607までで判明したイベントシーンに含むべきイベント情報の個数とそのイベント情報のイベントIDである。
 あるイベント情報を取得した際に作成されるイベントシーン情報において、対象映像IDは、あるイベント情報が持つトリガーIDによって特定できるトリガー情報が持つ映像IDである。対応映像IDは、あるイベント情報やステップS607までで判明したイベントシーンに含むべきイベント情報が持つ対応トリガーIDによって特定できるトリガー情報が持つ複数の映像IDである。この説明では、撃破イベント情報があるイベント情報に対応するため、対象映像IDは撃破イベント情報に含まれるトリガーIDによって特定できるトリガー情報が持つ映像IDである。なお、対応映像IDは、対象映像IDを含む複数の映像IDである。これは戦闘が一方的ではない限り、敵を攻撃した、敵に攻撃されたというイベントがそれぞれ発生するためである。
 対応映像個数は、イベントシーンに含まれる対応映像の個数である。
 映像IDごとの評価値は、その入力映像がイベントシーンにどの程度関与したかの度合いを示すものである。例えば図22の例では、例えば映像ID5は、対象映像ID以外の映像IDよりも高い評価値を持っているため、映像ID7に対応するプレイヤーが、映像ID5に対応するプレイヤーを撃破した可能性が高いと推測することができる。
 また図22の例では、映像ID1と映像ID2の評価値は、他の映像IDの評価値より明らかに低く、今回例示したイベント情報の評価値計算方法も含めて考えると、このイベントシーンに関与していない、関係ない映像IDである可能性が高いと推測できる。
 対応映像IDの評価値は例えば次のようにして求めることができる。まず、イベントシーンに含むべきイベント情報が持つ全ての対応トリガーIDとその評価値(図19に示すもの)を取得し、そのイベントシーンに含むべきイベント情報が持つイベント発生時刻に基づいて、対応トリガーの評価値に重み付けを行う。
 例えば、イベント発生時刻が最新のイベント情報が持つ対応トリガーの評価値は1倍し、イベント発生時刻が2番目に新しいイベント情報が持つ対応トリガーの評価値は0.9倍し、イベント発生時刻が3番目に新しいイベント情報が持つ対応トリガーの評価値は0.8倍する。その後、イベントシーンに含むべきイベント情報が持つ全ての対応トリガーIDを、その対応トリガーIDによって特定できるトリガー情報が持つ映像IDに変換し、映像IDごとに評価値を合計し、評価値で降順に並べて対応映像IDとその評価値との組とする。
 図23は、取得イベント情報を時系列に並べたものであり、ステップS603からステップS607までの流れと、イベントシーン開始時刻とイベントシーン終了時刻を図示した例である。イベントID21のイベント発生時刻から閾値limを引いた時刻よりも遠いイベント発生時刻を持つイベントID17は、作成しようとしているイベントシーンに大きな影響を与えないとして、イベントシーンに含めないようにする。そうすることでイベントシーンの不要な時間を削り、より盛り上がる場面についてイベントシーンを作成することができる。
 ここでは、敵を撃破したイベント情報を取得した場合におけるイベントシーン情報の作成について説明したが、それに限らず、例えば、あるプレイヤーに関係のあるトリガー情報が一定時間内に大量に検知された区間をイベントシーンとすることもできる。
 なお、第2情報作成部105は、上述した処理だけでなく、映像処理部106にとって必要と考えられる情報の作成や情報の整理を行うことができる。例えば、イベント情報が持つイベント種別において、「敵に攻撃された」というイベント種別を、「敵を攻撃した」というイベント種別に変更し、評価値が最も高い対応トリガーIDを対象トリガーIDに、元の対象トリガーIDを評価値最大の対応トリガーIDに置き換えることも可能である。そのようにイベント種別の種類を減らし、攻撃したプレイヤーは対象トリガーIDで指定できるトリガー情報が持つ映像ID、攻撃されたプレイヤーは対応トリガーIDで指定できるトリガー情報が持つ映像IDというようにすることで、映像処理部106の処理をより効率化することができる。特に人間が後述する映像作成方法を決定する段階において、イベントにおける対応関係を勘違いする可能性を減らすことができる。
[1-3-5.映像処理部106における処理]
 次に映像処理部106における処理について説明する。
 映像処理部106は、映像記憶部102から取得した入力映像、情報記憶部104から取得した映像作成用情報であるトリガー情報、イベント情報、統計情報、イベントシーン情報を用いて、入力映像の中から出力映像の作成に関連付ける映像(素材映像)を決定し、その素材映像を用いて出力映像を作成する。例えば、プレイヤーが5人いる場合、少なくともゲームプレイ映像が5個、プレイヤー映像が5個で合計10個の入力映像が存在することになり、映像処理部106はその10個の映像のどれを素材映像にするかを決定し、その素材映像を用いて出力映像を作成する。
 映像作成方法は、出力映像内のどこに何を配置するかという配置情報と、出力映像の作成に関連付ける映像IDの決定方法とからなる。図24、図25、図26は作成された出力映像の例である。
 図24は、イベント情報とトリガー情報を用いて作成された出力映像の例である。「敵を攻撃した」というイベント種別と、一つの対象トリガーに対して一つの対応トリガーIDを有する最新のイベント情報を取得し、そのイベント情報を元に二人のプレイヤーのゲームプレイ映像とプレイヤー映像を配置して、出力映像を作成している。
 図24の例では、出力映像は上段、中段、下段によって構成されている。上段には左右に各プレイヤーのゲームプレイ映像が配置され、下段には上段のゲームプレイ映像に対応するプレイヤーのプレイヤー映像が配置され、中段には各プレイヤー名が配置されている。
 上段左側に配置されているゲームプレイ映像の映像IDは、最新のイベント情報が持つ対象トリガーIDで特定できるトリガー情報が持つ映像IDである。また、下段左側に配置されているプレイヤー映像の映像IDは、左上の映像と同じプレイヤーを映した映像の映像IDである。プレイヤー名はトリガー情報が有する映像IDから特定できる映像情報が持つプレイヤー名で確認することができる。このように、映像処理部106は、トリガー情報が持つ映像IDで特定できる入力映像を素材映像として決定する。
 上段右側に配置されているゲームプレイ映像の映像IDは、最新のイベント情報において最も高い評価値を持つ対応トリガーIDによって特定できるトリガー情報が持つ映像IDである。下段右側の映像の映像IDは、右上の映像と同じプレイヤーを映した映像の映像IDである。このように、映像処理部106はイベント情報が持つトリガーIDで特定できるトリガー情報が持つ映像IDで特定できる入力映像を素材映像として決定する。
 中段左側の文字は、出力映像の左側部分で表示している映像に対応するプレイヤー名であり、中段右側の文字は、出力映像の右側部分で表示している映像に対応するプレイヤー名である。
 最新のイベント情報を使用することで、現在誰と誰が戦っているかを瞬時に特定できるため、攻撃しているプレイヤーのゲームプレイ映像およびプレイヤー映像と、攻撃されているプレイヤーのゲームプレイ映像とプレイヤー映像の映像IDを特定して、それらの映像を素材映像として一つの出力映像に含めることができる。これにより、どちらが勝つのかわからないという状況を表現した出力映像を作成することができる。このような映像作成方法は、対応トリガーIDが複数あるが、事前に設定した閾値th12以上の評価値を持つ映像IDが一つしかないような状況にも適用できるし、最も評価値が高い映像IDを採用することもできる。
 図25は、イベントシーン情報を用いて作成された出力映像の例である。具体的には、「敵に撃破された」というイベントシーン種別を持つイベントシーン情報を用いて作成された出力映像の例である。この例は、試合後にその試合での敵撃破映像をハイライトとして提供するための出力映像の作成において有用である。
 この出力映像は、イベントシーン情報が持つ対応映像IDであって、評価値が閾値th12以上の値を持つ映像IDが、対象映像IDを除き二つ存在する場合の出力映像である。
 イベントシーン種別が「敵に撃破された」であるイベントシーン情報が持つ対応映像IDは、撃破したプレイヤーのゲームプレイ映像を含んでいる。また、評価値が閾値th12以上の映像IDが対象映像ID以外の二つあるということは、撃破されたプレイヤーを攻撃したプレイヤーが2人いることを意味する。よって、それらの映像IDを用いて、1人のプレイヤーが2人のプレイヤーから攻撃されている出力映像を作成することができる。このように、映像処理部106はイベントシーン情報が持つ映像IDで特定できる入力映像を素材映像として決定する。
 また、図18で示したような、各映像のゲームフィールド上の位置を示す地図映像を用いた対応トリガーの評価値計算方法を用いて、評価値計算ではなく位置推定を行うことで位置関係を計算し、その計算結果を出力映像の作成に反映させることができる。
 具体的には、図25のようにプレイヤーの位置関係を反映させて配置情報を決定してゲームプレイ映像を配置したり、最も位置が近いプレイヤーB人を選択して映し出すような出力映像を作成することができる。図25の出力映像の作成に用いた映像作成方法における映像IDの決定方法については前述したような方法が挙げられる。
 配置情報については、複数の関数で設定することができる。一つ目の関数は、イベントシーン情報における評価値が閾値th13以上の対応映像IDと対象映像IDの位置情報を入力することで、その位置情報に合致した出力映像上の位置に配置されるような関数である。二つ目の関数は、イベントシーン情報におけるイベントシーン種別、各映像が対象映像か対応映像かという情報、各映像の作成映像上の位置情報を入力することで、例えば攻撃している映像から攻撃されている映像へ矢印を伸ばすような、イベントシーン種別に対応した図形を出力する関数である。
 また、イベントシーン情報のイベントシーン開始時刻から定数秒前の時刻から、イベントシーン終了時刻の定数秒後の時刻までの出力映像を作成することで、ハイライトとして視聴者に提供する際、映像が何を示しているのか理解するための時間を確保することができる。
 図26は、トリガー情報を用いた出力映像の作成例である。この映像作成方法の配置情報と映像ID決定方法は、上部は図24の上段と同じである。図26の例では、下段には上段に配置された各ゲームプレイ映像に対応したプレイヤーの生存力を示すゲージが配置され、中段には上段に配置された各ゲームプレイ映像に対応したプレイヤー名が配置されている。
 下段は、図9で説明したような、トリガー種別が「敵を攻撃した」である場合のトリガー詳細情報である「最大生存力と現在の生存力の差分」を用いて、各プレイヤーの現在の生存力を計算してグラフで表現するというものである。この数値や映像表現は、各プレイヤーのトリガーが検出されるたびに更新することで、トリガーごとに戦況の優劣を伝えることができる。
 いつ、どの映像作成方法で出力映像を作成するかは、事前に映像作成方法を複数用意し、人間が各情報を閲覧して決定してもよいし、条件などを予め設定しておき自動で決定してもよい。映像作成方法決定の条件には、トリガー情報、イベント情報、イベントシーン情報、統計情報等から得られる情報を利用することができる。
 図24乃至図26に示したような映像作成方法のテンプレートを事前に用意しておき、映像処理部106はそのいずれかを用いて出力映像を作成する。図27は、映像処理部106が自動で映像作成方法を決定する処理の一例である。この処理を数msec等の短い間隔で定期的に実行することで、適宜映像作成方法を決定し、その方法に従って出力映像を作成することができる。
 まずステップS701で、前回の出力映像作成以降に、新しいイベント情報が作成されたか否かを、第1情報作成部103が保持しているイベント情報と、情報記憶部104に保存されているイベント情報を参照して確認する。新しいイベント情報が作成されている場合、処理はステップS702に進む(ステップS701のYes)。
 次にステップS702で、変数endとして設定されている時刻が、現在時刻より過去のものかを判定する。変数endは、イベント情報に基づいて映像作成方法を決定した状況において、その映像設定方法で作成した出力映像をいつまで継続するかという時刻を意味している。変数endが、現在時刻より過去のものである場合、処理はステップS703に進む(ステップS702のYes)。
 次にステップS703で、新しいイベント情報に対して評価値を計算する。これは特に新しいイベント情報が複数存在する場合に有効である。この評価値は、どのイベント情報に関する出力映像を作成するかを選択する場合における指標となる0から1までの数値である。この評価値は、トリガー情報、イベント情報、統計情報、直前に用いた映像作成方法で使用している映像ID等の情報を用いて作成できる条件文を組み合わせて設定することができる。
 例えば、直前に用いた映像作成方法で使用している映像IDと、イベント情報が持つ対象トリガーIDで特定できるトリガー情報が持つ映像IDや、対応トリガーIDで特定できるトリガー情報が持つ映像IDが一致する場合は評価値を1とする。また、対象トリガーIDで特定できるトリガー情報から映像IDを用いて映像情報を特定し、その映像情報が持つプレイヤー名を利用し、プレイヤーの今までのトリガー発生回数を全トリガー発生回数で割った値を評価値としてもよい。また、イベント情報の発生時刻が新しい順に評価値を1、0.8、0.6、…としてもよい。また、イベント種別に応じた評価値を設定してもよい。さらに、前述した条件で計算した評価値を重み付きで積算したものを評価値としてもよい。なお、これら評価値の例は一例であり、評価値はこれらに限らない。
 次にステップS704で、ステップS703で計算した評価値が最も高いイベント情報を選択する。
 次にステップS705で、ステップS704で選択したイベント情報のイベント発生時刻に対して、事前に設定した定数秒を加算し、それを変数endとして設定する。
 次にステップS706で、ステップS704で選択したイベント情報を用いて、事前に指定した映像作成方法で新たな出力映像を作成する。図24乃至図26で示した映像作成方法がある状態で図24の映像作成方法を事前に指定している場合にはその図24の映像作成方法で出力映像が作成される。
 説明はステップS702に戻る。ステップS702で、変数endとして設定されている時刻が現在時刻より過去ではない場合、処理はステップS707に進む(ステップS702のNo)。そしてステップS707で、直前の出力映像作成で用いた映像作成方法を引き続き使用し出力映像を作成する。
 説明はステップS701に戻る。ステップS701で、前回の出力映像作成以降に新しいイベント情報が作成されていない場合、処理はステップS708に進む(ステップS701のNo)。
 次にステップS708で、直前の出力映像作成で用いた映像作成方法によって作成された出力映像が、事前に設定した時間以上続いているかどうかを判定する。事前に設定した時間とは、視聴者に対して同じ映像作成方法で作成した出力映像を連続で出力する最低時間を示している。この時間を設定することで、作成する出力映像が時間と共に目まぐるしく変化するような状況を避けることができる。
 直前の出力映像作成で用いた映像作成方法によって作成された出力映像が事前設定した時間以上続いている場合、処理はステップS709に進む(ステップS708のYes)。そしてステップS709で、事前指定した映像作成方法で新たな出力映像を作成する。ステップS709における事前指定した映像作成方法としては、例えば、ランダムに映像IDを一つ指定し、その映像IDで特定できる映像をそのまま出力映像として出力とする方法がある。
 一方、ステップS708で、直前の出力映像作成で用いた映像作成方法によって作成された映像が、事前に設定した時間以上続いていない場合、処理はステップS710に進む(ステップS708のNo)。
 そして、ステップS710で、直前の出力映像作成で用いた映像作成方法を引き続き使用し出力映像を作成する。
 なお、映像処理部106は対応トリガーの数に基づいて映像作成用のテンプレートを決定してもよい。
 図27の処理では、ステップS706やステップS709における事前指定した映像作成方法を一つとしたが、さらに条件を付け加えることで複数の映像作成方法を事前指定することができる。例えば、ステップS706において、図26のような映像作成方法と図24のような映像作成方法をランダムに選択させることも可能である。
 図27の処理で設定された映像作成方法は、直前に選択された映像作成方法として、記憶装置などを用いて映像処理部106で保持し、参照できるようにする。
 なお、映像処理部106の処理開始は試合が開始されてから一定時間経過後としてもよい。つまり、試合開始時間と映像作成開始時間に一定時間の遅れを設けてもよい。この遅れを設けることにより、試合後に配信する映像を決定するために用いられてきたイベントシーン情報を利用することができる。それにより、イベントシーン情報には確実に含まれなかったイベント情報でも映像作成方法を切り替えているような状況を改善し、確実に試合に変化があった場面を含んだ出力映像を作成することができる。具体的には、図27におけるイベント情報をイベントシーン情報に置き換え、変数endの値をイベントシーン情報におけるイベントシーン終了時刻に定数秒加算した値を代入するような形で処理することができる。
 なお、人が映像処理装置100としてのパーソナルコンピュータなどを操作してドラッグアンドドロップなどで出力映像内における素材映像の配置などを決定し、それに基づいて映像処理部106が出力映像を作成してもよい。
 以上のようにして第1の実施の形態における処理が行われる。第1の実施の形態では、第1情報作成部103および第2情報作成部105によって映像作成用情報としてのトリガー情報、イベント情報、イベントシーン情報、統計情報を作成し、映像処理部106で作成する。そして、それらの情報に基づいて、複数の入力映像において、ある事象に対応する事象をトリガー、イベントという形式で特定して、それらの事象を含めるように出力映像を作成する。これにより、出力映像の幅が広がり、視聴者がより楽しいと感じる出力映像を作成でき、どちらが勝つのかわからないという状況を視聴者に伝えることができる。また、「どちらが勝つか」という緊張感を伝え、出力映像により視聴者をより盛り上げることができる。
 また、本技術によれば、対象トリガーと対応トリガーの関係により、どのプレイヤーとどのプレイヤーが関わっているか(戦っているか)ということが容易にわかる出力映像を作成することができる。これにより、視聴者はどのプレイヤーとどのプレイヤーが関わっているか(戦っているか)がわかりやすくなる。さらに、イベント情報に含まれるトリガーにより、そのイベントにどのプレイヤーが関わっているかを特定して、イベントに関わっているプレイヤーの映像を含めるよう出力映像を作成することができる。
 また、本技術によれば、主催者等側が、どのプレイヤーとどのプレイヤーが関わっているか(戦っているか)を把握し、出力映像をする際の判定材料になり、より視聴者を惹きつける出力映像を作成できる。
 さらに、イベント情報を用いることにより、イベントに関わったプレイヤーや、より攻撃を当てたプレイヤーなどの情報を数値を用いて表現することができ、視聴者に対して、各プレイヤーがどのくらい頑張ったのかを視覚的に伝えられる。視聴者に対して、戦闘が起こりそうな2人のプレイヤーの映像を先に見せておき、実際に戦闘が起きたときに、戦闘の様子を最初から最後まで収めた出力映像を作成して、盛り上がりのタイミングを逃さず出力映像を提供することができる。
<2.第2の実施の形態>
[2-1.前提]
 次に本技術の第2の実施の形態について説明する。
 第1の実施の形態では、試合に参加する全プレイヤーのゲームプレイ映像を同時に入手できることを前提としていたため、対応トリガーの発見が容易であり、イベント情報を作成することができた。
 しかしそのような環境を準備することは難しく、実際には視聴者に映像を提供するようなゲーム大会等においては、ゲームサーバーが提供するプレイヤー数人のゲームプレイ映像等といった、限られた映像を元に出力映像を作成し、視聴者に提供する事例が多く存在する。
 そこで第2の実施の形態では、そのような制限のある状況においても、出力映像の作成に関連付ける素材映像を決定し、その素材映像がどのプレイヤーの映像であるかを推定できる仕組みを提案する。
 第2の実施の形態では、最大P人のプレイヤーのゲームプレイ映像しか同時に取得できないような状況を考える。Pは1試合における全プレイヤー参加人数より小さい値である。これは、映像IDに対してプレイヤー名が一意に対応していない状況を指している。より具体的には、各種映像ソースからプレイヤー数人のゲームプレイ映像が入力される状況において、どのプレイヤーのゲームプレイ映像を受け取るかをリアルタイムに切り替える必要があり、かつ、その切り替えは、一つの映像IDに対応する映像上で行われることを想定している。
 図28はそのような状況における映像の切り替えを例示したものである。図28は、入力映像がゲームプレイ映像(映像ID[1])である場合で、主催者等が時刻t+1においてその映像ID[1]のゲームプレイ映像を、プレイヤーAのゲームプレイ映像からプレイヤーBのゲームプレイ映像に切り替えた場合である。ゲームプレイ映像に対応するプレイヤーは変更されたものの、時刻tにおけるプレイヤーAのゲームプレイ映像の映像IDと時刻t+2におけるプレイヤーBのゲームプレイ映像の映像IDは同一である。
[2-2.映像処理装置100における処理]
 次に第2の実施の形態における映像処理装置100における処理について説明する。映像処理装置100は、第1の実施の形態と同様に、前処理部101、映像記憶部102、第1情報作成部103、情報記憶部104、第2情報作成部105、映像処理部106を備えて構成されている。
 前処理部101で各入力映像に対応付ける映像情報にはプレイヤー名が含まれているが、第2の実施の形態では、入力映像を解析することにより各入力映像がどのプレイヤーのゲームプレイ映像であるかを特定する。
 図29は、第2の実施の形態の状況における、ゲームプレイ映像の例である。第2の実施の形態では、ゲームプレイ映像がどのプレイヤーのゲームプレイ映像であるかを示すプレイヤー名などの文字や数値が常にゲームプレイ映像内に表示されているものとする。
 事前にゲームプレイ映像内において文字検出領域を指定し、既知の文字認識技術などを用いてその文字を認識してプレイヤー名を特定することで、ゲームプレイ映像がどのプレイヤーのゲームプレイ映像であるかを特定し、入力映像に映像情報としてのプレイヤー名を対応付ける。もし、プレイヤー切り替え時やその他ゲーム内の処理によって文字検出領域にゲームプレイ映像内の物体などが重なってプレイヤー名を特定できなかった場合は、プレイヤー名を空白にしたり、直前のプレイヤー名と同じプレイヤー名にする、といった対応を取ることができる。
 なお、プレイヤー名を示す文字の表示位置は図29に示す位置に限定されず、ゲームプレイ映像内に表示されていればどこでもよい。
 前処理部101では、さらに、ゲームプレイ映像に映像情報として対応付けられている映像IDに対して、図30に示すように、ゲームプレイ映像のどの区間がどのプレイヤーのゲームプレイ映像であるかという情報を対応付ける。具体的には映像IDに対して、開始時刻、終了時刻、プレイヤー名を対応付ける。ゲームプレイ映像から特定したプレイヤー名が変化した時点をこれまでのプレイヤー名の終了時刻とし、変化した後のプレイヤー名をその開始時刻としている。
 第1の実施の形態の第1情報作成部103によるトリガー検知処理では、図13で示したように、生存力の減少量が閾値th8以上であるときにトリガーを検知した判定する方法を説明した。一方、第2の実施の形態では、第1情報作成部103は、ゲームプレイ映像が他のプレイヤーのゲームプレイ映像に切り替わったことを検知してから一定時間は、直前の生存力の表示を現在の生存力の表示に更新するだけにとどめ、トリガー検知処理しないようにする。
 なぜなら、ゲームプレイ映像が他のプレイヤーのゲームプレイ映像に切り替わった後の生存力の表示は切り替わる前の別のプレイヤーの生存力を示しているため、その生存力の違いが差分として検出されてしまうためである。
 ゲームプレイ映像における他のプレイヤーのゲームプレイ映像への切り替えは、前処理部101から供給される映像情報を第1情報作成部103で保持しておき、前回参照した映像情報と最新の映像情報を比較することで検知できる。そのようにすることでトリガーの誤検知を防ぐことができる。
 また、図31に示すように、第2の実施の形態の第1情報作成部103における処理では、ステップS201とステップS202の間に、ステップS221の位置推定処理を行う。
 ステップS221の位置推定処理では、現在入力されているゲームプレイ映像からプレイヤーのゲームフィールド上の位置を推定し、現在時刻、映像ID、推定位置の組として情報記憶部104に保存する。
 位置推定処理は、ゲームフィールド全体を映した地図映像を用いて行うことができる。図32は映像IDに対応付けて情報記憶部104に保存される推定位置情報の例である。推定位置情報は例えば、ゲームフィールド上における緯度経度に相当する値によって記述される。また、位置を推定した時刻も映像IDに対応付けて保存される。これにより、指定時刻における一部のプレイヤーの推定位置を得ることができる。
 図33は、第2の実施の形態の第1情報作成部103におけるイベント特定処理のフローチャートである。なお、ステップS401、ステップS404、ステップS405、ステップS406は第1の実施の形態における処理と同様である。
 ステップS421は第1の実施の形態におけるステップS403と基本的には同様の処理を行うが、第2の実施の形態では対応トリガーの評価値計算方法として、図18で示した、ゲームフィールド全体を映した地図映像とプレイヤーの推定位置を利用した対応トリガーの評価値計算方法を実行する。
 また、評価値計算の過程で推定する検知トリガーの位置は第1情報作成部103で保持しておく。なお、対応トリガーが0個の場合、対応トリガーとの差分を計算する必要はない。
 ステップS422では、各プレイヤーがステップS404でイベント情報が作成されたイベントにどの程度関与しているかを計算し、対応プレイヤー名としてイベント情報に追加する。
 まず、事前に設定した過去past[sec]以内のプレイヤーの推定位置をわかっている人数分取得する。具体的には、映像情報が持つ映像IDに追加で対応付けた、図30に示す、ゲームプレイ映像のどの区間がどのプレイヤーのゲームプレイ映像であるかという区間情報と、映像記憶部102に追加で保存した図32に示す推定位置情報を元に、各プレイヤーがいつ、ゲームフィールドのどの位置にいたのかという時刻位置情報を取得する。同じプレイヤー名に対し複数の推定位置が分かった場合、その中で最も現在時刻に近い時刻の推定位置をそのプレイヤーの推定位置とする。
 その後、区間情報、推定位置情報、時刻位置情報を用いて、プレイヤー名と評価値の組を作成する。ここでの評価値とは、各プレイヤーにおける時刻とその時刻における推定位置、そして検知トリガーの推定位置を入力として計算できる値であり、そのイベントにおける各プレイヤーが関与している可能性を示すものである。
 評価値は図34に示す方法で計算できる。図34に示す評価値を算出する計算式では、評価値が1に近づくほど、そのプレイヤーがイベントにかかわった可能性が比較的高いと判定できる。ここでは単純な計算式を例に挙げたが、この計算式に限らず、距離に対する計算と時間に対する計算に重み付けを行ってもよいし、距離や時刻がより近いほど高い評価値を出すような計算方法等を採用してもよい。推定位置がわかっているプレイヤーについて評価値を計算したのちは、プレイヤー名とその評価値の組をイベント情報に追加する。追加された後のイベント情報の図35のようになる。
 このように、各イベントに対して、わかる範囲で各プレイヤーがどのくらい関与している可能性があるかを数値化することで、対応トリガーが存在しない場合でもイベントに関与したプレイヤーを推測することができる。最もイベントに関与したプレイヤーの映像IDを用いて出力映像を作成することで、例えば、攻撃したプレイヤーと攻撃されたプレイヤーを同時に出力映像に含めることができる可能性を上げることができる。
 第2の実施の形態では、情報記憶部104は第1情報作成部103で追加作成した、現在時刻、映像ID、推定位置の組を保存する。また、第1情報作成部103で新たに作成したイベント情報内の対応プレイヤー名を追加で保存する。
 映像処理部106は、第2の実施の形態で新たに作成された情報を用いて出力映像の作成に関連付ける素材映像を決定し、その素材映像を用いて出力映像を作成する。
 例えば、イベント情報に対応トリガーIDがない場合や、イベント情報に対応トリガーIDがあるが評価値が極端に低い場合、対応プレイヤー名の中から最も評価値が高いプレイヤー名を用いて出力映像を作成することができる。そのプレイヤー名を用いて、適当なプレイヤーのゲームプレイ映像を、そのプレイヤーのものに切り替え、映像作成方法の映像IDとして準備することで実現できる。
 また、人間がイベント情報などを見て映像作成方法等を指定する場合においても、イベント情報の対応プレイヤー名とその評価値を見ることで、イベントに関与している可能性が高い映像を意識的に映像作成で使用することができる。これにより、盛り上がりそうな映像や、戦闘を行っている2人のプレイヤーの映像を出力できる可能性が増え、結果として視聴者をより楽しませることができる。
 以上のようにして第2の実施の形態における処理が行われる。第2の実施の形態では、全プレイヤーのゲームプレイ映像を同時に入手できない状況であっても、プレイヤーのゲームフィールド上の位置を推定して推定位置情報を蓄積することにより、プレイヤーの推定位置からイベントに関与した可能性があるプレイヤーを推定して出力映像の作成に反映させることができる。これにより、例えば、敵を攻撃したというイベントのイベント情報に基づいて出力映像を作成する場合、そのイベントに関与した可能性のあるプレイヤーを推測して、出力映像の作成に反映させることができる。
[2-3.トリガー検知処理の他の例]
[2-3-1.第1の例]
 第2の実施の形態では、プレイヤー間の距離を計算することでイベントに関与したプレイヤーを推測したが、このプレイヤー間の距離はトリガーとしても利用することができる。プレイヤー間の距離を計算することでプレイヤー間の距離が近付いたことをトリガーとして扱うことができる。
 このトリガー検知処理の方法としては、図34で説明した、対応プレイヤー名とその評価値の組を求める方法を利用する。検知トリガー推定位置の代わりに、前処理部101から取得したプレイヤーのゲームプレイ映像から求めることができる推定位置を用いることで、対応プレイヤー名とその評価値の組を計算する。そして、最も高い評価値が閾値th14以上の時、2人のプレイヤー間の距離が近付いたというトリガーを検知したとみなす。検知したトリガーのトリガー詳細情報は、最も高い評価値を持っていたプレイヤー名とする。
 なお、このトリガーの対応トリガーは存在しない設定にすることで、不要なイベントの作成を防ぎ、このトリガー検知処理の方法で必要な情報やそれら情報を求める処理のみを第1の実施の形態に追加することで、第1の実施の形態でも同様のトリガーを追加することができる。
 このようにして、2人のプレイヤー間の距離が近付いたことをトリガーとして検知することで、特にリアルタイムな出力映像作成を行う場合において、近い将来戦闘やイベントが発生しそうな2人のプレイヤーを推定することができる。
 このトリガーにより、映像処理部106の映像作成方法として、現時点ではイベントやイベントシーンが存在していないが、近い将来イベントやイベントシーンが出現する可能性が高い映像IDを予め素材映像にしておくという映像作成方法を追加することができる。
[2-3-2.第2の例]
 他のトリガー検知方法の第2の例では、ゲームプレイ映像ではなく、プレイヤー映像においてプレイヤーの状態の変化があった場合にトリガーを検知したとする。
 この場合、プレイヤー映像という映像種別を事前にトリガー検知対象映像種別に設定しておく。第1情報作成部103は、映像種別がプレイヤー映像である入力映像に対してトリガー検知処理を行う。具体的には、まず、プレイヤー映像に対して状態推定としての姿勢推定処理を行い、プレイヤーの姿勢(骨の位置)を推定し、その推定姿勢情報と現在時刻とプレイヤー名との組を第1情報作成部103で保持する。
 そして、映像種別がプレイヤー映像である映像情報が持つプレイヤー名情報を取得後、現在時刻から過去一定時間以内の同じプレイヤー名を持つ映像情報を検索し、発見した場合は、その映像情報が持つ映像IDで特定できるプレイヤー映像に対しても姿勢推定処理を行う。そして、二つのプレイヤー映像における推定姿勢情報を用いて骨の位置の移動量を計算し、その総和が閾値th15以上である場合はトリガーを検知したとみなす。
 図36は姿勢推定によって検出された骨の位置の例である。図36AはプレイヤーAのプレイヤー映像であり、図36Bはそのプレイヤー映像における姿勢推定結果である。図37Cは一定時間経過後のプレイヤーAのプレイヤー映像であり、図36Dはそのプレイヤー映像における姿勢推定結果である。
 このように姿勢が変化すると骨の位置が変化する為、この変化量を元にトリガー検知処理を行うことができる。なお、推定骨情報から検知したトリガーには対応トリガーは存在しないという設定にすることで、不要なイベントの作成を防ぐことができる。
 なお、プレイヤーの状態の変化は骨の位置の変化に限られない。骨の位置に加え、または骨の位置に代えて、関節の位置を推定して関節の位置の変化量に基づいてトリガー検知処理をしてもよい。さらに、プレイヤーの視線の検出処理を行い、プレイヤーの視線の位置の変化量に基づいてトリガー検知処理をしてもよい。
 プレイヤー映像におけるプレイヤーの状態に基づいてトリガー検知処理することにより、ゲームプレイ映像では十分に検知できないトリガーを検知することができる。例えば、「敵に撃破された」という事象を、予期しないプレイヤーの操作によってトリガーとして検知できなかった場合を考える。例えば、敵に撃破されたプレイヤーの試合中の姿勢が頭を抱え込む姿勢に変化した場合、そのプレイヤーの状態の変化を上述の方法で検知することでトリガー検知処理することができる。
<3.変形例>
 以上、本技術の実施の形態について具体的に説明したが、本技術は上述の実施の形態に限定されるものではなく、本技術の技術的思想に基づく各種の変形が可能である。
 実施の形態は、多数のプレイヤーがフィールドで戦闘を行い、勝利して生き残ることを目標とする対戦型ゲームを例にして説明したがゲームはそれに限られない、例えば複数プレイヤーが一つのチームとなり、敵チームとゲームフィールド上で戦うゲームでもよいし、レースなど競争するゲームでもよいし、パズルなどのゲームでもよいし、複数のプレイヤーが参加するゲームであればどのようなものでもよい。その場合、各ゲームの映像に合わせたトリガー検知方法などを予め設定しておく必要がある。
 また、ゲームに限らず、音楽イベント、トークイベントなど各種イベントを撮影した映像からダイジェスト映像やハイライト映像を作成する場合にも本技術を用いることができる。
 実施の形態では第1情報作成部103と第2情報作成部105という2つの情報作成部で映像作成用情報を作成したが、一つの情報作成部で全ての映像作成用情報を作成してもよい。
 本技術は以下のような構成も取ることができる。
(1)
 複数の入力映像から検知された複数のトリガーに基づいて、映像作成用情報を作成する情報作成部と、
 前記映像作成用情報に基づいて、前記複数の入力映像の中から出力映像の作成に関連付ける素材映像を決定する映像処理部と
を備える
映像処理装置。
(2)
 前記情報作成部は、複数の前記トリガーに基づいて前記映像作成用情報としてのトリガー情報を作成する(1)に記載の映像処理装置。
(3)
 前記トリガー情報は、前記トリガーが検知された前記入力映像を識別するための映像IDを含む(2)に記載の映像処理装置。
(4)
 前記トリガー情報は、前記トリガーの種別を示すトリガー種別情報を含む(2)または(3)に記載の映像処理装置。
(5)
 前記トリガーは、前記入力映像内で起きた特徴的な事象である(1)に記載の映像処理装置。
(6)
 前記情報作成部は、前記トリガー情報に基づいて、前記映像作成用情報としてのイベント情報を作成する(2)に記載の映像処理装置。
(7)
 前記イベント情報は、イベントを構成する、前記複数のトリガーのうちのいずれかである対象トリガーと前記対象トリガーに対応する対応トリガーとを識別するためのトリガーIDを含む(6)に記載の映像処理装置。
(8)
 前記イベント情報は、イベントの種別を示すイベント種別情報を含む(7)に記載の映像処理装置。
(9)
 前記情報作成部は、前記イベント情報に基づいて前記映像作成用情報としてのイベントシーン情報を作成する(7)に記載の映像処理装置。
(10)
 前記イベントシーン情報は、イベントシーンを構成する前記イベントを識別するためのイベントIDを含む(9)に記載の映像処理装置。
(11)
 前記情報作成部は前記トリガー情報に基づいて前記映像作成用情報としての統計情報を作成する(1)から(10)のいずれかに記載の映像処理装置。
(12)
 前記映像処理部は、前記トリガー情報に含まれる前記映像IDで特定できる前記入力映像を前記素材映像として決定する(3)に記載の映像処理装置。
(13)
 前記映像処理部は、前記イベント情報に含まれる前記トリガーIDが示す前記トリガー情報に含まれる前記映像IDで特定できる前記入力映像を前記素材映像として決定する(7)に記載の映像処理装置。
(14)
 前記映像処理部は、前記イベントシーン情報に含まれる前記映像IDで特定できる前記入力映像を前記素材映像として決定する(10)に記載の映像処理装置。
(15)
 前記映像処理部は、前記出力映像の作成に関連付けられた前記素材映像を用いて前記出力映像を作成する(1)から(14)のいずれかに記載の映像処理装置。
(16)
 前記映像処理部は、複数の前記素材映像を一つの映像内に配置して前記出力映像を作成する(15)に記載の映像処理装置。
(17)
 前記入力映像は、ゲーム機が出力するゲームプレイ映像である(1)から(16)のいずれかに記載の映像処理装置。
(18)
 前記入力映像は、ゲームをプレイしているプレイヤーを撮影した映像である(1)から(17)のいずれかに記載の映像処理装置。
(19)
 複数の入力映像から検知された複数のトリガーに基づいて、映像作成用情報を作成し、
 前記映像作成用情報に基づいて、前記複数の入力映像の中から出力映像の作成に関連付ける素材映像を決定する
映像処理方法。
(20)
 複数の入力映像から検知された複数のトリガーに基づいて、映像作成用情報を作成し、
 前記映像作成用情報に基づいて、前記複数の入力映像の中から出力映像の作成に関連付ける素材映像を決定する
映像処理方法をコンピュータに実行させるプログラム。
100・・・映像処理装置。
103・・・第1映像処理部
105・・・第2情報作成部

Claims (20)

  1.  複数の入力映像から検知された複数のトリガーに基づいて、映像作成用情報を作成する情報作成部と、
     前記映像作成用情報に基づいて、前記複数の入力映像の中から出力映像の作成に関連付ける素材映像を決定する映像処理部と
    を備える
    映像処理装置。
  2.  前記情報作成部は、複数の前記トリガーに基づいて前記映像作成用情報としてのトリガー情報を作成する
    請求項1に記載の映像処理装置。
  3.  前記トリガー情報は、前記トリガーが検知された前記入力映像を識別するための映像IDを含む
    請求項2に記載の映像処理装置。
  4.  前記トリガー情報は、前記トリガーの種別を示すトリガー種別情報を含む
    請求項2に記載の映像処理装置。
  5.  前記トリガーは、前記入力映像内で起きた特徴的な事象である
    請求項1に記載の映像処理装置。
  6.  前記情報作成部は、前記トリガー情報に基づいて、前記映像作成用情報としてのイベント情報を作成する
    請求項2に記載の映像処理装置。
  7.  前記イベント情報は、イベントを構成する、前記複数のトリガーのうちのいずれかである対象トリガーと前記対象トリガーに対応する対応トリガーとを識別するためのトリガーIDを含む
    請求項6に記載の映像処理装置。
  8.  前記イベント情報は、イベントの種別を示すイベント種別情報を含む
    請求項7に記載の映像処理装置。
  9.  前記情報作成部は、前記イベント情報に基づいて前記映像作成用情報としてのイベントシーン情報を作成する
    請求項7に記載の映像処理装置。
  10.  前記イベントシーン情報は、イベントシーンを構成する前記イベントを識別するためのイベントIDを含む
    請求項9に記載の映像処理装置。
  11.  前記情報作成部は前記トリガー情報に基づいて前記映像作成用情報としての統計情報を作成する
    請求項1に記載の映像処理装置。
  12.  前記映像処理部は、前記トリガー情報に含まれる前記映像IDで特定できる前記入力映像を前記素材映像として決定する
    請求項3に記載の映像処理装置。
  13.  前記映像処理部は、前記イベント情報に含まれる前記トリガーIDが示す前記トリガー情報に含まれる前記映像IDで特定できる前記入力映像を前記素材映像として決定する
    請求項7に記載の映像処理装置。
  14.  前記映像処理部は、前記イベントシーン情報に含まれる前記映像IDで特定できる前記入力映像を前記素材映像として決定する
    請求項10に記載の映像処理装置。
  15.  前記映像処理部は、前記出力映像の作成に関連付けられた前記素材映像を用いて前記出力映像を作成する
    請求項1に記載の映像処理装置。
  16.  前記映像処理部は、複数の前記素材映像を一つの映像内に配置して前記出力映像を作成する
    請求項15に記載の映像処理装置。
  17.  前記入力映像は、ゲーム機が出力するゲームプレイ映像である
    請求項1に記載の映像処理装置。
  18.  前記入力映像は、ゲームをプレイしているプレイヤーを撮影した映像である
    請求項1に記載の映像処理装置。
  19.  複数の入力映像から検知された複数のトリガーに基づいて、映像作成用情報を作成し、
     前記映像作成用情報に基づいて、前記複数の入力映像の中から出力映像の作成に関連付ける素材映像を決定する
    映像処理方法。
  20.  複数の入力映像から検知された複数のトリガーに基づいて、映像作成用情報を作成し、
     前記映像作成用情報に基づいて、前記複数の入力映像の中から出力映像の作成に関連付ける素材映像を決定する
    映像処理方法をコンピュータに実行させるプログラム。
PCT/JP2022/012162 2021-09-03 2022-03-17 映像処理装置、映像処理方法およびプログラム WO2023032303A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-143777 2021-09-03
JP2021143777 2021-09-03

Publications (1)

Publication Number Publication Date
WO2023032303A1 true WO2023032303A1 (ja) 2023-03-09

Family

ID=85411784

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/012162 WO2023032303A1 (ja) 2021-09-03 2022-03-17 映像処理装置、映像処理方法およびプログラム

Country Status (1)

Country Link
WO (1) WO2023032303A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020174971A (ja) * 2019-04-19 2020-10-29 富士通株式会社 ハイライト動画生成プログラム、ハイライト動画生成方法および情報処理装置
JP2020179045A (ja) * 2019-04-26 2020-11-05 富士通株式会社 表示制御装置、表示制御方法及び表示制御プログラム
US10864447B1 (en) * 2015-06-29 2020-12-15 Amazon Technologies, Inc. Highlight presentation interface in a game spectating system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10864447B1 (en) * 2015-06-29 2020-12-15 Amazon Technologies, Inc. Highlight presentation interface in a game spectating system
JP2020174971A (ja) * 2019-04-19 2020-10-29 富士通株式会社 ハイライト動画生成プログラム、ハイライト動画生成方法および情報処理装置
JP2020179045A (ja) * 2019-04-26 2020-11-05 富士通株式会社 表示制御装置、表示制御方法及び表示制御プログラム

Similar Documents

Publication Publication Date Title
US10912998B2 (en) Network game system for executing event in network game
US10569175B2 (en) System and method for synchronizing and predicting game data from game video and audio data
US8636589B2 (en) Systems and methods that enable a spectator's experience for online active games
US9433865B2 (en) Game system, game control method, and information storage medium for distributing a game picture played by a given user to another user for game play
US10653965B2 (en) Information processing system, information processing method, program, server, and information processing terminal
CN113134237A (zh) 虚拟奖励资源的分配方法、装置、电子设备及存储介质
CN112156455A (zh) 一种游戏显示方法、装置、电子设备和存储介质
US9711008B2 (en) Game system, control method for game system, game control device, control method for game control device, and information storage medium
CN109806588A (zh) 属性值的恢复方法和装置、存储介质、电子装置
JP5739578B1 (ja) 情報処理システム、サーバ、プログラム、及び情報処理方法
CN110801629B (zh) 虚拟对象生命值提示图形的显示方法、装置、终端及介质
JP7314605B2 (ja) 表示制御装置、表示制御方法及び表示制御プログラム
CN114225402A (zh) 一种游戏中虚拟对象视频的编辑方法和编辑装置
CN112138379B (zh) 不同应用模式之间的交互方法和装置及存储介质
WO2023032303A1 (ja) 映像処理装置、映像処理方法およびプログラム
US11471779B2 (en) Spectating support apparatus, spectating support method, and spectating support program
US8267760B2 (en) Game device, game device control method, and information storage medium
JP2020156919A (ja) 情報処理装置、情報処理方法及びプログラム
WO2023119452A1 (ja) 判定方法、判定プログラム及び情報処理装置
US20210252404A1 (en) Computer-readable recording medium, game system, and method for game control
WO2022130568A1 (ja) 実況画像表示支援装置、ゲームシステム、および実況画像表示支援方法
JP2021061915A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2023151493A (ja) コンピュータプログラム、それに用いるゲームシステム、及び制御方法
CN117563225A (zh) 游戏对局控制方法、装置、设备及计算机存储介质
WO2019111361A1 (ja) イベント活性化装置、イベント活性化方法、及びコンピュータ読み取り可能な記録媒体

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE