Live commentary announcement output control method, live commentary announcement output control device and program

The system enhances the virtual marathon experience by dynamically updating commentary with the user's performance, simulating a real marathon race through live commentary and realistic performance tracking.

JP2026110051APending Publication Date: 2026-07-02CASIO COMPUTER CO LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CASIO COMPUTER CO LTD
Filing Date
2024-12-20
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

In virtual marathons, participants lack a sense of presence due to running alone, making it difficult to simulate the experience of a real marathon race.

Method used

A system that derives a user's virtual running rank based on their running time, replaces runner names in live commentary data with the user's name, and outputs commentary through wireless earphones, simulating the experience of a real marathon by incorporating real Olympic race data and commentary.

Benefits of technology

Provides a realistic simulation of participating in a marathon race by dynamically updating commentary based on the user's performance, enhancing the sense of presence and realism.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026110051000001_ABST
    Figure 2026110051000001_ABST
Patent Text Reader

Abstract

It provides the feeling of actually participating in a marathon race. [Solution] The CPU 21 of the smartphone 20 derives the user's running rank in the marathon race when the user runs a predetermined distance, based on running time data that stores the running time when the user runs a predetermined distance and the running times when multiple runners in past Olympic marathon races passed predetermined distance points. The CPU 21 obtains the announcement content AC related to the group in which the user's running rank is included from the live announcement data AD of the marathon race, replaces the name of the runner corresponding to the user's running rank included in the announcement content AC with a name set by the user (for example, the user's name), and instructs the wireless earphone 40 to output the announcement content AC with the set name replaced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a live announcement output control method, a live announcement output control device, and a program.

Background Art

[0002] Conventionally, a virtual marathon in which users participate by running to a desired location at a convenient time is known. Regarding this virtual marathon, Patent Document 1 below discloses an information processing device that calculates the finish time of a virtual race by a user based on the running information obtained by a sensor device worn by the user when the user runs on an indoor aerobic exercise device, and determines the ranking of the participating users in the virtual marathon (virtual race) based on the calculated finish time.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] By the way, in the above virtual marathon, since each user runs alone, it is difficult to obtain a sense of presence of participating in a marathon race.

[0005] The present invention has been made in view of such problems, and an object thereof is to provide a sense of presence of participating in a marathon race.

Means for Solving the Problems

[0006] To solve the above problems, the live commentary announcement output control method according to the present invention derives the user's virtual running rank in the race when the user has run the predetermined distance, based on the user's running time when the user has run a predetermined distance and running time data which stores the running times of multiple runners in a predetermined race held in the past when each runner has passed the predetermined distance point, obtains the announcement content relating to the group in which the virtual running rank is included from the live commentary announcement data of the race, replaces the name of the runner corresponding to the virtual running rank included in the announcement content with a name set by the user based on the announcement content, and instructs the output means to output the announcement content with the set name replaced. [Effects of the Invention]

[0007] According to the present invention, it is possible to provide a sense of realism as if participating in a marathon race. [Brief explanation of the drawing]

[0008] [Figure 1] Block diagram of a virtual race system according to an embodiment of the present invention. [Figure 2] This is a block diagram showing the functional configuration of a sensor device. [Figure 3] This is a block diagram showing the functional configuration of a smartphone. [Figure 4] This is a block diagram showing the functional configuration of the server. [Figure 5] This figure shows an example of the content of live commentary data. [Figure 6] This diagram shows an example of the contents of the ranking change announcement (DOWN) database. [Figure 7] This diagram shows an example of the contents of the ranking change announcement (UP) database. [Figure 8] This diagram shows the procedure for starting the live commentary announcement output process. [Figure 9] This is a flowchart showing the control procedure for outputting live commentary announcements. [Figure 10] This flowchart shows the control procedure for outputting ranking change announcements. [Figure 11] This flowchart shows the control procedure for outputting the commentary announcement for a race where the race is running solo. [Figure 12] This figure shows an example of a handicap setting screen. [Figure 13] This diagram shows an example of a list screen. [Modes for carrying out the invention]

[0009] The embodiments of the present invention will now be described with reference to the drawings. First, the configuration of the virtual race system according to the embodiment of the present invention will be described with reference to Figure 1. The virtual race system is a system that allows users to virtually experience marathon races from past Olympic Games (registered trademark). As shown in Figure 1, the virtual race system 1 comprises a sensor device 10, a smartphone (live commentary output control device) 20, a server 30, and wireless earphones (output means) 40.

[0010] The sensor device 10 is a wearable terminal used by users of the virtual race system 1 when they want to simulate a marathon race from past Olympic Games, and is worn on their body (for example, around their waist). The smartphone 20 is a terminal device carried by the user. The server 30 is a database server that stores various data (for example, a race database 331, a live commentary database 332, a ranking change announcement (DOWN) database 333, a ranking change announcement (UP) database 334, and a solo run announcement database 335) used in the live commentary announcement output processing described later (see Figure 9). The wireless earphone 40 is an ear device worn by the user. The smartphone 20 is connected to the sensor device 10 and the wireless earphone 40 via BLE (Bluetooth® Low Energy) or Wi-Fi®. The smartphone 20 and the server 30 are also connected via a communication network 50. The communication network 50 is a network that relays communication between the smartphone 20 and the server 30, and is, for example, the internet.

[0011] Next, the functional configuration of the sensor device 10 will be explained with reference to Figure 2. As shown in Figure 2, the sensor device 10 comprises a CPU (Central Processing Unit) 11, a RAM (Random Access Memory) 12, a storage unit 13, a display unit 14, an operation unit 15, a sensor unit 16, a sound output unit 17, and a communication unit 18. Each part of the sensor device 10 is connected via a bus 19.

[0012] The CPU 11 controls each part of the sensor device 10. The CPU 11 reads a specified program from the system programs and application programs stored in the memory unit 13, loads it into the RAM 12, and executes various processes in cooperation with that program. The CPU 11 also includes a timing circuit (not shown) and acquires the current time measured by this timing circuit. The RAM 12 is a volatile memory and forms a work area for temporarily storing various data and programs. The memory unit 13 is composed of flash memory, EEPROM (Electrically Erasable Programmable ROM), etc. The memory unit 13 stores system programs and application programs executed by the CPU 11, as well as data necessary for the execution of these programs.

[0013] The display unit 14 is composed of a plurality of LED lamps and can display the ON / OFF state of the power supply, the data acquisition state (e.g., whether data is being acquired), the data transmission state (e.g., whether data is being transmitted), the ON / OFF state of the GPS receiver, etc. The operation unit 15 includes a power button (not shown) for switching the ON / OFF of the power supply. Based on the instructions from this operation unit 15, the CPU 11 controls each part. The sensor unit 16 includes at least one of sensors such as an acceleration sensor, an angular velocity sensor, and a GPS receiver, and outputs the measurement results to the CPU 11. For example, when traveling only outdoors, the sensor unit 16 may only use the GPS receiver. When the reception sensitivity of GPS data is insufficient indoors or outdoors, the acceleration sensor or the angular velocity sensor may be used to obtain the traveling speed, etc. The sensor unit 16 outputs the measurement results to the CPU 11 at a predetermined period (e.g., every 1 second, every step). Here, the measurement results include information such as traveling distance, traveling time, pitch, and stride. The sensor unit 16 may further have sensors other than those described above. The sound output unit 17 is composed of a DA converter, an amplifier, a speaker, etc. The sound output unit 17 converts sound data into analog audio data and outputs it from the speaker when outputting sound. The communication unit 18 performs wireless data communication with the second communication unit 28 of the smartphone 20 according to the communication standard related to wireless communication by BLE or Wi-Fi.

[0014] Next, the functional configuration of the smartphone 20 will be described while referring to FIG. 3. As shown in FIG. 3, the smartphone 20 includes a CPU 21, a RAM 22, a storage unit 23, a display unit 24, an operation unit 25, a sound output unit 26, a first communication unit 27, and a second communication unit 28. Each part of the smartphone 20 is connected via a bus 29.

[0015] The CPU (Derivation means, Announcement content acquisition means, Replacement means, Output control means) 21 controls various parts of the smartphone 20. The CPU 21 reads a specified program from the system programs and application programs stored in the memory unit 23, loads it into the RAM 22, and executes various processes in cooperation with the program. The CPU 21 also includes a timing circuit (not shown) and acquires the current time measured by this timing circuit. The RAM 22 is a volatile memory and forms a work area for temporarily storing various data and programs. The memory unit 23 is composed of flash memory, EEPROM (Electrically Erasable Programmable ROM), etc. The memory unit 23 stores system programs and application programs (for example, a running app 231) executed by the CPU 11, and data necessary for the execution of these programs. The running app 231 is an application for recording running data such as the running trajectory, distance, running time, pace, and cadence when the user runs. This running data is acquired sequentially from the sensor device 10 during running. Additionally, the running app 231 has a virtual race mode that allows users to virtually experience marathon races from past Olympic Games.

[0016] The display unit 24 is composed of an LCD (Liquid Crystal Display) or the like, and performs screen display according to the display control signal from the CPU 21. Further, a touch sensor is provided on the display screen of the display unit 24, and functions as an operation display means of the touch panel method. The operation unit 25 is configured to have a push button switch, a touch sensor provided on the display unit 24, etc., receives the user's input operation, converts the operation content into an electrical signal, and outputs it to the CPU 21. The sound output unit 26 is composed of a DA converter, an amplifier, a speaker, etc. The sound output unit 26 converts sound data into analog audio data and outputs it from the speaker when outputting sound. The first communication unit 27 performs a communication operation according to a predetermined communication standard. The first communication unit 27 performs transmission and reception of information with the server 30 via the communication network 50 by this communication operation. The second communication unit 28 performs wireless data communication with the communication unit 18 of the sensor device 10 and the communication unit (not shown) of the wireless earphone 40 according to a communication standard related to wireless communication by BLE or Wi-Fi.

[0017] Next, the functional configuration of the server 30 will be described while referring to FIG. 4. As shown in FIG. 4, the server 30 includes a CPU 31, a RAM 32, a storage unit 33, and a communication unit 34. Each part of the server 30 is connected via a bus 35. Note that the server 30 may further include an operation unit, a display unit, etc. used by the administrator of the server 30.

[0018] The CPU 31 controls various parts of the server 30. The CPU 31 reads a specified program from the system programs and application programs stored in the memory unit 33, loads it into the RAM 32, and executes various processes in cooperation with that program. The RAM 32 is a volatile memory and forms a work area for temporarily storing various data and programs. The memory unit 33 is a non-temporary recording medium readable by the CPU 31 and stores various data in addition to the system programs and application programs mentioned above. The various data stored in the memory unit 33 include a race database 331, a live commentary announcement database 332, a ranking change announcement (DOWN) database 333, a ranking change announcement (UP) database 334, and a solo lead announcement database 335. The communication unit 34 performs communication operations according to predetermined communication standards. Through these communication operations, the communication unit 34 sends and receives information to and from the smartphone 20 via the communication network 50.

[0019] Race Database 331 contains data on marathon races from past Olympic Games. Specifically, Race Database 331 records the actual running time data of athletes (runners) from each country who participated in each marathon race, such as the 2024 Paris Olympics, the 2020 Tokyo Olympics, and the 2016 Rio de Janeiro Olympics. This running time data is assumed to be split time (elapsed time) for each fixed section (e.g., 0.1 km). Therefore, for example, by using the running time data of athletes from each country who participated in the 2020 Tokyo Olympics marathon race recorded in Race Database 331, it is possible to recreate the marathon race itself. In other words, it is possible to recreate when and where each athlete was running in the 2020 Tokyo Olympics marathon race.

[0020] The commentary database 332 records commentary data AD for announcing the race developments of past Olympic marathon races. Commentary data AD is provided for each marathon race. As shown in Figure 5, the commentary data AD (for example, the commentary data for the 2020 Tokyo Olympics) includes announcement content (base commentary) AC for each group of five runners, such as 1st-5th place, 6th-10th place, 11th-15th place, ..., 45th-50th place, ... For example, the announcement content AC for the group of five runners in 1st-5th place focuses on the race developments of these five athletes. Therefore, this announcement content AC includes the names of the five athletes in 1st-5th place. In other words, this announcement content AC is tagged (linked) with the names of the five athletes in 1st-5th place and their respective rankings. Furthermore, the commentary data AD includes announcement content (base commentary) AC for four points: 5km, 15km, 25km, and 35km from the start. In other words, the commentary data AD has announcement content (base commentary) AC for each of the five groups of runners mentioned above, for the four points: 5km, 15km, 25km, and 35km. Note that in Figure 5, only the announcement content at the 5km point for the group of five runners in 1st to 5th place is marked with the symbol "AC" to indicate that announcement content. In addition, the commentary data AD includes announcement content for the start of the marathon (for example, "Now, for the Tokyo Olympics, only the men's marathon remains as the last athletics event. According to the organizers, the temperature at the start is 26℃, the humidity is 80%, and the wind speed is expected to be 6m due to the approaching typhoon...").

[0021] The rank change announcement (DOWN) database 333 records rank change announcement data for announcing when a user's running rank (virtual running rank) has dropped. As shown in Figure 6, the rank change announcement (DOWN) database 333 consists of a first data group 333A which records various rank change announcement data used when the user's distance traveled is 5km or more but less than 10km, a second data group 333B which records various rank change announcement data used when the user's distance traveled is 10km or more but less than 20km, a third data group 333C which records various rank change announcement data used when the user's distance traveled is 20km or more but less than 30km, a fourth data group 333D which records various rank change announcement data used when the user's distance traveled is 30km or more but less than 35km, a fifth data group (not shown) which records various rank change announcement data used when the user's distance traveled is 35km or more but less than 40km, and a sixth data group (not shown) which records various rank change announcement data used when the user's distance traveled is 40km or more. Here, since the first data group 333A to the sixth data group (not shown) all have similar data structures, we will explain the first data group 333A as a representative example, and omit the explanation of the second data group 333B to the sixth data group (not shown). As shown in Figure 6, the first data group 333A contains various rank change announcement data that correspond to how many places the user's rank (virtual driving rank) has dropped and the user's current driving rank (virtual driving rank). For example, if the user's driving rank has dropped by one place and the user's current driving rank is 2nd, the first data group 333A contains the rank change announcement data "DW_A announcement 12" corresponding to this case.

[0022] The Rank Change Announcement (UP) Database 334 records rank change announcement data used to announce when a racer's race position (virtual race position) has improved. As shown in Figure 7, the rank change announcement (UP) database 334 consists of a first data group 334A which records various rank change announcement data used when the user's distance traveled is 5km or more but less than 10km, a second data group 334B which records various rank change announcement data used when the user's distance traveled is 10km or more but less than 20km, a third data group 334C which records various rank change announcement data used when the user's distance traveled is 20km or more but less than 30km, a fourth data group 334D which records various rank change announcement data used when the user's distance traveled is 30km or more but less than 35km, a fifth data group (not shown) which records various rank change announcement data used when the user's distance traveled is 35km or more but less than 40km, and a sixth data group (not shown) which records various rank change announcement data used when the user's distance traveled is 40km or more. Here, since the first data group 334A to the sixth data group (not shown) all have similar data structures, we will explain the first data group 334A as a representative example, and omit the explanation of the second data group 334B to the sixth data group (not shown). As shown in Figure 7, the first data group 334A contains various rank change announcement data that correspond to how many ranks the user has moved up (virtual racing rank) and the user's current racing rank (virtual racing rank). For example, if the user's rank has moved up by one place and the user's current racing rank is 1st, the first data group 334A contains the rank change announcement data "UP_A announcement 11" corresponding to this case.

[0023] Returning to Figure 4, the solo run announcement database 335 records solo run announcement data for announcing that a user is in first place by a large margin. If the user's running position (virtual running position) is up to second place, the commentary can be done without disrupting the feel of the Olympic race using the commentary data AD recorded in the commentary announcement database 332 (base commentary AC). However, if the user takes first place and then runs away with the race, the race will unfold differently from the actual marathon, and the above-mentioned commentary data AC will no longer be sufficient. Therefore, in such cases, the above-mentioned commentary data AC will not be used for the announcement, and a solo run announcement based on the solo run announcement data will be made. Here, as data for announcing a runaway victory, there is a 10-second runaway announcement data used when the gap to the second-place runner is 10 seconds or more but less than 20 seconds; a 20-second runaway announcement data used when the gap to the second-place runner is 20 seconds or more; a 10-second return runaway announcement data used when the gap to the second-place runner narrows from 20 seconds or more to 10 seconds or more but less than 20 seconds; and a 5-second return runaway announcement data used when the gap to the second-place runner narrows from 10 seconds or more to 5 seconds or more but less than 10 seconds.

[0024] Next, the operation of the virtual race system 1 will be explained. Specifically, the live commentary output processing performed by the CPU 21 of the smartphone 20 will be explained with reference to Figure 9. As shown in Figure 8, this live commentary output processing is triggered when the race selection screen G1 in the virtual race mode of the running app 231 is displayed on the display unit 24, the selection button G11 corresponding to the race the user wants to virtually experience (for example, "2020 Tokyo") is operated, and the live commentary start confirmation screen G2 is displayed on the display unit 24, and the YES button G21 is operated. At this point, when the live commentary output processing starts, the smartphone 20 sequentially acquires running data such as the user's running trajectory, distance, running time, pace, and cadence from the sensor device 10.

[0025] As shown in Figure 9, when the live announcement output processing starts, first the CPU 21 of the smartphone 20 obtains live announcement data AD (see Figure 5) corresponding to the marathon race selected on the race selection screen G1 (see Figure 8) from the live announcement database 332 of the server 30 via the first communication unit 27, and outputs the content of the marathon start announcement (for example, "Now, for the Tokyo Olympics, there is only one track and field event left: the men's marathon. According to the organizer's information, the temperature at the start is 26℃, the humidity is 80%, and the wind speed is expected to be 6m due to the approaching typhoon...") from the wireless earphone (output means) 40 (step S1). Next, the CPU 21 determines whether the user has passed a predetermined point beyond 5km based on the running data sequentially acquired from the sensor device 10 (step S2). Here, the predetermined points beyond 5km are, for example, four points: 5km, 15km, 25km, and 35km.

[0026] In step S2, if it is determined that the user has passed a predetermined point beyond 5km (for example, the 5m point) (step S2; YES), the CPU 21 derives the running rank (virtual running rank) at the predetermined point passed (step S3). Here, the running rank is derived based on the running time data of each athlete in the target race (for example, the marathon race of the 2020 Tokyo Olympics) obtained from the race database 331 of the server 30 via the first communication unit 27. Specifically, when deriving the running rank at the 5km point, the CPU 21 extracts the athlete whose running time is closest to the user's running time at the 5km point (user running time) and slower than the user's running time (participant running time) based on the running time data of each athlete at the 5km point of the target race, and derives the running rank of the extracted athlete as the running rank at the 5km point.

[0027] Next, the CPU 21 determines whether the running position derived in step S3 is 1st place or not (step S4). If it is determined in step S4 that the running position is not 1st place (step S4; NO), the CPU 21 proceeds to step S6. If it is determined in step S4 that the running position is 1st place (step S4; YES), the CPU 21 determines, based on the running time data of each player described above, whether the difference between the player in 2nd place and the player in 2nd place is 10 seconds or more (step S5).

[0028] In step S5, if it is determined that the difference between the user and the second-place runner is not 10 seconds or more (step S5; NO), the CPU 21 obtains the announcement content AC (see Figure 5) corresponding to the user's running position in the live announcement data AD of the target race (for example, the marathon race of the 2020 Tokyo Olympics) from the server 30's live announcement database 332 via the first communication unit 27 (step S6). Next, the CPU 21 replaces the name of the runner corresponding to the user's running position in the announcement content AC obtained in step S6 with a name set by the user and outputs the announcement content AC from the wireless earphone 40 (step S7). Specifically, if the announcement content AC obtained in step S6 is "Passed the 5km mark, Athlete A [6th place] is currently in 6th place, approximately ** seconds behind the leader, and is chasing in a second group with Athletes B [7th place], C [8th place], D [9th place], and E [10th place]," and the user's running position is 6th, then the name of Athlete A in 6th place will be replaced with the name set by the user (for example, "Sato"), and the announcement content "Passed the 5km mark, Athlete Sato [6th place] is currently in 6th place, approximately ** seconds behind the leader, and is chasing in a second group with Athletes B [7th place], C [8th place], D [9th place], and E [10th place]" will be output from the wireless earphone 40.

[0029] Next, the CPU 21 determines whether the user has reached the 42.195km point (step S9). If it is determined in step S9 that the user has not reached the 42.195km point (step S9; NO), the CPU 21 returns to step S2 and continues the subsequent processing. If it is determined in step S9 that the user has reached the 42.195km point (step S9; YES), the CPU 21 terminates the live commentary announcement output process.

[0030] Furthermore, in step S2, if it is determined that the user has not passed a predetermined point beyond 5km (for example, the 10km point) (step S2; NO), the CPU 21 determines whether the user has already passed the 5km point (step S10). In step S10, if it is determined that the user has not yet passed the 5km point, that is, if the user is running at a point between 0km and 5km (step S10; NO), the CPU 21 returns to step S2 and proceeds with the subsequent processing. Also, in step S10, if it is determined that the user has already passed the 5km point (step S10; YES), the CPU 21 derives the running rank at the current point (step S11). Specifically, based on the running time data of each runner at the current point of the target race, the CPU 21 extracts the runner whose running time is closest to the user's current running time (user running time) and slower than the user's running time (runner running time), and derives the running rank of the extracted runner as the user's running rank at the current point.

[0031] Next, the CPU 21 determines whether or not there has been a change in the running order derived in step S11 (step S12). If it is determined in step S12 that there has been no change in the running order (step S12; NO), the CPU 21 returns to step S2 and continues the subsequent processing. If it is determined in step S12 that there has been a change in the running order (step S12; YES), the CPU 21 starts the process of outputting a running order change announcement (step S13).

[0032] As shown in Figure 10, when the rank change announcement output process is started, the CPU 21 first determines whether the running rank has improved or not (step S21). If it is determined in step S21 that the running rank has not improved (step S21; NO), the CPU 21 derives the rank that has decreased in the past 5 minutes (step S22). Next, the CPU 21 obtains rank change announcement data corresponding to the current user's running distance, the rank that has decreased in the past 5 minutes derived in step S22, and the running rank at the current location derived in step S11 of the live announcement output process from the server 30's rank change announcement (DOWN) database 333 (see Figure 6) via the first communication unit 27 (step S23). Specifically, if the current user's distance traveled is 5.5km, the rank dropped by 1 in the past 5 minutes as derived in step S22, and the current running rank at the current location as derived in step S11 of the rank change announcement output processing is 5th, then the rank change announcement data "DW_A announcement 15" (see Figure 6) is acquired. Next, the CPU 21 outputs the announcement content related to the rank change announcement data acquired in step S23 from the wireless earphone 40 (step S26). Then, the CPU 21 returns the processing to the live commentary announcement output processing (see Figure 9).

[0033] Furthermore, if it is determined in step S21 that the running rank has improved (step S21; YES), the CPU 21 derives the rank achieved in the past 5 minutes (step S24). Next, the CPU 21 obtains the current user's running distance, the rank achieved in the past 5 minutes derived in step S24, and the rank change announcement data corresponding to the running rank at the current location derived in step S11 of the live announcement output processing from the server 30's rank change announcement (UP) database 334 (see Figure 7) via the first communication unit 27 (step S25). Specifically, if the current user's running distance is 15.5 km, the rank achieved in the past 5 minutes derived in step S22 is 3, and the running rank at the current location derived in step S11 of the rank change announcement output processing is 5th, the CPU 21 obtains the rank change announcement data "UP_B announcement 35" (see Figure 7). Next, the CPU 21 outputs the announcement content related to the rank change announcement data acquired in step S25 from the wireless earphone 40 (step S26). Then, the CPU 21 returns to the live commentary announcement output processing (see Figure 9).

[0034] Returning to Figure 9, if in step S5 it is determined that the difference between the runner and the runner in second place is 10 seconds or more (step S5; YES), the CPU 21 starts the process of outputting a commentary announcement for the runner who is running solo (step S8).

[0035] As shown in Figure 11, when the solo race commentary output process begins, the CPU 21 first determines whether the user has reached the 42.195km point (step S31). If it is determined in step S31 that the user has reached the 42.195km point (step S31; YES), the CPU 21 returns to the commentary output process. If it is determined in step S31 that the user has not reached the 42.195km point (step S31; NO), the CPU 21 derives the current running position (step S32). Specifically, based on the running time data of each runner at the current point of the target race, the CPU 21 extracts the runner whose running time is closest to the user's current running time (user running time) and slower than the user's running time (runner running time), and derives the running position of the extracted runner as the user's running position at the current point.

[0036] Next, the CPU 21 determines whether the running position derived in step S32 is 1st place or not (step S33). If it is determined in step S33 that the running position derived in step S32 is not 1st place (step S33; NO), the CPU 21 returns to the live commentary output process. If it is determined in step S33 that the running position derived in step S32 is 1st place (step S33; YES), the CPU 21 determines, based on the running time data of each player described above, whether the difference between the player in 2nd place and the player in 2nd place is 5 seconds or more but less than 10 seconds (step S34).

[0037] In step S34, if it is determined that the difference between the runner-up and the runner-up is not between 5 seconds and less than 10 seconds (step S34; NO), CPU 21 determines whether the difference between the runner-up and the runner-up is between 10 seconds and less than 20 seconds (step S35). In step S35, if it is determined that the difference between the runner-up and the runner-up is not between 10 seconds and less than 20 seconds (step S35; NO), CPU 21 determines whether the difference between the runner-up and the runner-up is 20 seconds or more (step S36).

[0038] In step S36, if it is determined that the difference between the first and second place is not 20 seconds or more (step S36; NO), the CPU 21 returns to step S31 and continues the subsequent processing. If, in step S36, it is determined that the difference between the first and second place is 20 seconds or more (step S36; YES), the CPU 21 obtains 20-second lead announcement data from the server 30's lead announcement database 335 via the first communication unit 27 and outputs the announcement content related to the 20-second lead announcement data from the wireless earphone 40 (step S37). Next, the CPU 21 sets the 20-second lead flag to "1" (step S38). Then, the CPU 21 returns to step S31 and continues the subsequent processing.

[0039] Furthermore, in step S35, if it is determined that the difference between the runner in first place and the runner in second place is between 10 seconds and less than 20 seconds (step S35; YES), the CPU 21 determines whether the 20-second solo flag is in the state of "1" (step S39). In step S39, if it is determined that the 20-second solo flag is not in the state of "1", that is, if it is determined that the 20-second solo flag is in the state of "0" (step S39; NO), the CPU 21 obtains 10-second solo announcement data from the solo announcement database 335 of the server 30 via the first communication unit 27 and outputs the announcement content related to the 10-second solo announcement data from the wireless earphone 40 (step S40). Next, the CPU 21 sets the 10-second solo flag to "1" (step S41). Then, the CPU 21 returns to step S31 and performs the subsequent processing. Furthermore, if it is determined in step S39 that the 20-second solo run flag is in the state of "1" (step S39; YES), the CPU 21 obtains the return 10-second solo run announcement data from the server 30's solo run announcement database 335 via the first communication unit 27, and outputs the announcement content related to the return 10-second solo run announcement data from the wireless earphone 40 (step S42). Next, the CPU 21 sets the 10-second solo run flag to "0" (step S43). Then, the CPU 21 returns to step S31 and performs the subsequent processing.

[0040] Furthermore, in step S34, if it is determined that the difference between the second-place runner and the current runner is between 5 seconds and less than 10 seconds (step S34; YES), the CPU 21 determines whether the 10-second solo lead flag is in the state of "1" (step S44). In step S44, if it is determined that the 10-second solo lead flag is not in the state of "1", that is, if it is determined that the 10-second solo lead flag is in the state of "0" (step S44; NO), the CPU 21 returns to step S31 and proceeds with the subsequent processing. Also, in step S44, if it is determined that the 10-second solo lead flag is in the state of "1" (step S44; YES), the CPU 21 obtains the return 5-second solo lead announcement data from the server 30's solo lead announcement database 335 via the first communication unit 27 and outputs the announcement content related to the return 5-second solo lead announcement data from the wireless earphone 40 (step S45). Next, the CPU 21 sets the 10-second solo lead flag to "0" (step S46). Then, CPU21 returns to step S31 and performs the subsequent processing.

[0041] As described above, the CPU 21 of the smartphone 20 in this embodiment derives the user's running rank (virtual running rank) in the marathon race when the user runs a predetermined distance, based on running time data that stores the running time when the user runs a predetermined distance (user running time) and the running times (runner running times) when multiple runners in past Olympic marathon races (predetermined races) passed predetermined distance points, and obtains announcement content AC related to the group in which the user's running rank is included from the live announcement data AD of the marathon race, replaces the name of the runner corresponding to the user's running rank included in the announcement content AC with a name set by the user (for example, the user's name), and instructs the wireless earphone (output means) 40 to output the announcement content AC with the name set by the user.Therefore, the smartphone 20 can provide a sense of realism as if participating in a marathon race by outputting the announcement content AC with the name set by the user (for example, the user's name) from the wireless earphone (output means) 40.

[0042] Furthermore, the CPU 21 determines whether or not there has been a change in the user's running position (virtual running position). If a change in position has been determined, it acquires position change announcement data and instructs the wireless earphone (output means) 40 to output the announcement content regarding the position change based on the position change announcement data. Therefore, according to the smartphone 20, if the user runs fast, they will overtake other runners, and if they run slow, they will be overtaken by other runners. This provides an even greater sense of realism as if the user is participating in a marathon race.

[0043] Furthermore, if the user's running position (virtual running position) is 1st and the user's running time (user running time) meets a predetermined condition (a difference of 10 seconds or more from 2nd place), the CPU 21 acquires solo running commentary data and, based on the solo running commentary data, instructs the wireless earphone (output means) 40 to output the announcement that the user is running solo. Therefore, according to the smartphone 20, in situations where the user is running solo, which differs from the actual marathon race, the commentary can be performed without any sense of incongruity by outputting the announcement that the user is running solo through the wireless earphone 40. As a result, the sense of realism of participating in a marathon race can be maintained.

[0044] Furthermore, the CPU 21 accepts user input to select a marathon race to simulate from a predetermined list of candidate races. Therefore, according to the smartphone 20, users can simulate various marathon races.

[0045] The above description of the embodiment is merely an example of the live announcement output control method, live announcement output control device, and program according to the present invention, and is not limited thereto. For example, in the above embodiment, the virtual race system 1 consists of a sensor device 10, a smartphone 20, a server 30, and wireless earphones 40, but the sensor device 10 and the smartphone 20 do not need to be separate devices and may be an integrated device, and wired earphones may be used instead of wireless earphones 40. Also, in the above embodiment, a smartphone 20 is exemplified as the live announcement output control device, but wearable devices including wrist devices such as smartwatches may also be used.

[0046] Furthermore, in the above embodiment, when starting the live commentary output processing, the user selects a marathon race to simulate on the race selection screen G1 (see Figure 8). However, the marathon race to be selected is not limited to Olympic marathon races; it may also be possible to select citizen marathon races or virtual marathon races that simulate what would happen if Olympic athletes ran on a specific course.

[0047] Furthermore, in the above embodiment, the live commentary announcement output processing assumes that the user travels 42.195 km, but the user may change the distance traveled, for example, to 9 / 10, 8 / 10, 7 / 10, ..., 1 / 10 of 42.195 km. In such a case, the predetermined point where the live commentary announcement is made will be changed according to the changed distance.

[0048] Furthermore, in the higher-level embodiment, announcement content AC based on live announcement data AD is output from the wireless earphone 40, but the announcement content AC may also be output from the sound output unit 26 of the smartphone 20.

[0049] Furthermore, in the above embodiment, when starting the live commentary output processing, the user may set a handicap to be imposed on each participant in the marathon race they are simulating. Specifically, as shown in Figure 12, the handicap setting screen G3 is displayed on the display unit 24, and based on user operation, the user sets a handicap (weight of a weight) to be imposed on each participant in the marathon race they are simulating. When a handicap (weight of a weight) is set on the handicap setting screen G3, the running time data of each participant is converted into running time data that takes the handicap into account. Here, a weight of 1 kg results in a time increase of 3 minutes (over 42.195 km), so for example, if the weight of the weight is set to 40 kg, the time increase will be 120 minutes. In other words, a runner whose race result time is 2 hours and 10 minutes will finish in 4 hours and 10 minutes. Furthermore, when setting the handicap (weight of the counterweight), as shown in Figure 13, a list screen G4 may be displayed on the display unit 24, showing a list of the race results times of each participant in the marathon race that the user will experience. Alternatively, the user's actual running time or speed may be multiplied by a coefficient to set the running time or speed to be at the same level as the running time or speed of each participant in the marathon race.

[0050] Furthermore, while the above embodiment uses a marathon race as the subject of live commentary, it is not limited to this; any event in which multiple competitors move and compete for the best time, such as race walking or cycling, may also be used as the subject of live commentary.

[0051] Furthermore, while the above description discloses examples in which the flash memory, EEPROM, etc. of the storage unit 23 are used as a computer-readable medium for the program according to the present invention, the invention is not limited to these examples. Other computer-readable mediums that can be used include information recording media such as HDD (Hard Disk Drive), SSD (Solid State Drive), and CD-ROM. In addition, a carrier wave can also be used as a medium for providing the data of the program according to the present invention via a communication line.

[0052] Furthermore, the detailed configuration and operation of each component of the sensor device 10, smartphone 20, and server 30 in the above embodiment can be appropriately modified without departing from the spirit of the present invention. For example, the server 30 may process, instead of the smartphone 20, derive the user's running rank (virtual running rank) in the marathon race when the user runs a predetermined distance, based on running time data that stores the running time when the user runs a predetermined distance (user running time) and the running times when multiple runners in past Olympic marathon races (predetermined races) passed predetermined distance points (runner running times). The server 30 may also process, instead of the smartphone 20, obtaining the announcement content AC related to the group in which the user's running rank is included from the live announcement data AD of the marathon race. The server 30 may also process, instead of the smartphone 20, replacing the name of the runner corresponding to the user's running rank included in the announcement content AC with a name set by the user (for example, the user's name). [Explanation of Symbols]

[0053] 20 Smartphone (live commentary announcement output control device), 21 CPU (derivation means, announcement content acquisition means, replacement means, output control means), 40 Wireless earphone (output means)

Claims

1. Based on the user's running time when the user travels a predetermined distance and running time data that stores the running times of multiple participants in a predetermined race held in the past when each participant passed the predetermined distance point, the system derives the user's virtual running position in the race when the user travels the predetermined distance. From the commentary data of the aforementioned race, the content of the announcements concerning the group that includes the hypothetical running order is obtained. Based on the announcement content, the names of the runners corresponding to the virtual running order included in the announcement content are replaced with the names set by the user. A live commentary announcement output control method that instructs the output device to output the announcement content, which has been replaced with the name set above.

2. Determine whether or not there has been a change in the virtual running order. If a change in ranking is detected, the system acquires ranking change announcement data and instructs the output device to output the announcement content regarding the ranking change based on the ranking change announcement data. The method for controlling the output of live commentary announcements according to feature 1.

3. If the virtual racing position is 1st and the user's racing time meets predetermined conditions, the system acquires live commentary data for solo racing and, based on the live commentary data for solo racing, instructs the output means to output an announcement indicating that the user is racing solo. The method for controlling the output of live commentary announcements according to feature 1.

4. The system accepts user input to select the aforementioned race from a predetermined list of candidate races. The method for controlling the output of live commentary announcements according to feature 1.

5. A handicap is set for the multiple participants, and a virtual running order is derived when the user passes a predetermined distance point based on the user's running time and the running time data of the participants taking the handicap into account. The method for controlling the output of live commentary announcements according to feature 1.

6. A derivation means for deriving the user's virtual running position in the race when the user has traveled the predetermined distance, based on the user's running time when the user has traveled a predetermined distance and running time data which stores the running times of multiple participants in a predetermined race held in the past when each participant passed the predetermined distance point, An announcement content acquisition means for acquiring the announcement content related to the group that includes the hypothetical running order from the live announcement data of the race, A replacement means that, based on the content of the announcement, replaces the name of the runner corresponding to the virtual running order included in the content of the announcement with a name set by the user, A live broadcast announcement output control device comprising: an output control means that instructs the output means to output the announcement content, which has been replaced with the aforementioned set name.

7. The computer of the live commentary announcement output control device, A derivation means for deriving the user's virtual running position in the race when the user has traveled the predetermined distance, based on the user's running time when the user has traveled a predetermined distance and running time data which stores the running times of multiple participants in a predetermined race held in the past when each participant passed the predetermined distance point, An announcement content acquisition means for acquiring the announcement content related to the group that includes the hypothetical running order from the live announcement data of the race, A replacement means that, based on the content of the announcement, replaces the name of the runner corresponding to the virtual running order included in the content of the announcement with a name set by the user, An output control means that instructs the output means to output the announcement content, which has been replaced with the name set above. A program characterized by being designed to function as such.