Automated table tennis referee

Abstract
The automated table tennis referee includes sensors that detect bounces of a table tennis ball on first or second side of a table tennis table, the sides being divided by a net. The sensors detect when the ball touches the net. A digital signal processor acquires and processes the sensor data to determine ball hits unique to each sensor. A logic processor determines whether the ball hit occurred on the table's first side, second side, or net. The logic processor subsequently processes the sequence of ball bounces to determine the winner of the last volley, the count of points each player has accrued, who the server for the next serve should be, and the winner at the end of the game. A display unit shows the number of points counted for each player, which player owns the serve, which player won the last serve and the winner of the game.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention


The present invention relates to scoring apparatus, and more particularly to an automated table tennis referee for scoring a table tennis game.


2. Description of the Related Art


Table tennis is a sport in which two or four players hit a lightweight, hollow ball back and forth with rackets. The game takes place on a hard table divided by a net. Except for the initial serve, players must allow a ball played toward them only one bounce on their side of the table and must return it so that it bounces on the opposite side. Points are scored when a player fails to return the ball within the rules. Depending on the skills of the players, play can be fast and often demands a high degree of mental concentration and very small reaction times. A skilled player often imparts spin to the ball, thereby altering its trajectory with the intent of limiting an opponent's response options.


The game is played with two or four players hitting a ball with rackets back and forth to each other on a table, in a manner similar to tennis. The rules are slightly different, but conceptually very similar. In singles play, the serve is not required to cross from the server's right-hand court to the receiver's right-hand court (or left to left) as it is in tennis. However, serving across is required in doubles play. Ball spin, speed, placement, strategy and tactics play an important part in competitive table tennis matches. The speed of the ball can vary from slow serves with much spin to smashes that travel as fast as approximately 70 miles per hour.


The winner is the first to score 11 points or more while being ahead by 2 points or more. Players alternate serves every two points. At 10-10 (or deuce) the players alternate with every serve. The winner is then the first person to gain a two point advantage over her opponent. The 11 point game is an International Table Tennis Federation (ITTF) change which occurred in 2001. Previously, the first player to gain 21 points (except in case of a deuce, handled as described above) won the game. All games played at national level and at international tournaments (ITTF) are now played to 11 points in either a best of five games preliminaries or best of seven games format (championship matches). Generally, the players, or a human official referees the game. For a variety of reasons, however, it would, be desirable to have a dispassionate, mechanized means for score keeping and other referee duties associated with game play.


Thus, an automated table tennis referee solving the aforementioned problems is desired.


SUMMARY OF THE INVENTION

The automated table tennis referee includes sensors that sense bounces of a table tennis ball on the first or the second side of a table tennis table, the sides being divided by a net. The sensors detect when the ball touches the net. A digital signal processor acquires and processes the sensor data to determine ball hits unique to each sensor. A logic processor determines whether the ball hit occurred on the table's first side, second side, or net. The logic processor subsequently processes the sequence of ball bounces to determine the winner of the last volley, the count of points each player has accrued, who the server for the next serve should be, and the winner at the end of the game. A display unit shows the number of points counted for each player, which player owns the serve, which player won the last serve, and the winner of the game.


These and other features of the present invention will become readily apparent upon further review of the following specification and drawings.





BRIEF DESCRIPTION OF THE DRAWINGS

The sole FIGURE is a block diagram of an automated table tennis referee according to the present invention.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

As shown in the drawing, the automated table tennis referee includes sensors 102 operably connected to a table 101. The table 101 in the drawing represents a table tennis table, which has the characteristic first side, second side, and net dividing the two sides. The sensors 102 sense bounces of a table tennis ball on first or second side of the table tennis table. The sensors also detect when the ball touches the net. Sensor data output is operably connected to a digital signal processor (DSP) 104, which acquires and processes the sensor data to determine ball hits unique to each one of sensors 102.


A logic processor 106 is in operable communication with the DSP 104 and determines whether the ball hit occurred on the table's first side, second side, or net. The logic processor 106 subsequently processes the sequence of ball bounces to determine the winner of the last volley, the count of points each player has accrued, who the server for the next serve should be, and the winner at the end of the game. The logic processor 106 is in operable communication with the results display unit 108 thereby enabling the display unit 108 to display the number of points counted for each player, which player owns the serve, which player won the last serve, and the winner of the game.


Digital signal acoustic or audio processing and ball frequency recognition are preferred. This method is applicable since it was already implemented and published in IEEEXplore, “Ball Hit Detection in Table Tennis Games Based on Audio Analysis”. This method determines the ball hits and hit locations by exploiting the fact that every sound has special characteristics comprised of a unique frequency spectrum. This fact aids the system in deciding whether the received signals from the microphones of sensors 102 are initiated from a ball hit or another rigid body hitting the table 101, or even another sound created in the environment.


For example, a first algorithm (algorithm 1) employed to detect a ball hit at a single point without significant noise assumes that a ball hit can be detected by the use of one microphone sensor at a single point. A ball hit produces unique frequencies within finite regions FR1-3 in the frequency spectrum, where FR1 is comprised of experimentally tuned frequencies (a1,b1), FR2 is comprised of experimentally tuned frequencies (a2,b2), and FR3 is comprised of experimentally tuned frequencies (a3,b3). The relationship between the maximum amplitudes at frequency regions FR1-3 produced by a ball hit are always maintained. Thus, the effect of noise is assumed to have either no effect or an equal effect over the aforementioned frequency regions.


Step 1 of the algorithm defines and tunes frequency constant values (a1,b1), (a2,b2), and (a3,b3). Step 2 defines FR1, FR2, FR3 as frequency regions (a1,b1), (a2,b2), and (a3,b3), respectively. Step 3 defines logic test comparisons between FR1, FR2, and FR3 determined by experimental results, e.g., FR3>FR2>FR1. Step 4 reads the frequency spectrum. Step 5 finds the maximum amplitudes within each of FR1, FR2, and FR3. At step 6, a ball hit is declared if all of the aforementioned logic comparisons are true, i.e., ball hit=True if comparison test passes, otherwise ball hit=False. Step 7 directs the processor 106 to resume execution at (GoTO) step 4.


Alternatively, a second algorithm (algorithm 2) employed to detect a ball hit at a single point with limited noise assumes that a ball hit can be detected by the use of one microphone at a single point.


A ball hit produces unique frequencies within finite regions FR1-3 in the frequency spectrum, where FR1 is comprised of experimentally tuned frequencies (a1,b1), FR2 is comprised of experimentally tuned frequencies (a2,b2), and FR3 is comprised of experimentally tuned frequencies (a3,b3).


The effect of noise is assumed to have partial effect over only the frequency region that is nearest a fundamental frequency of the noise. The relationship between the maximum amplitudes at frequency regions FR1-3 produced by a ball hit are still maintained at the frequency regions farthest away from the noise spectrum.


The steps of algorithm 2 include steps 1 through 5, which are the same as steps 1 through 5 in the first algorithm (algorithm 1). Step 6 determines the frequency noise (Fnsmax) having the highest amplitude Fns (test only for frequencies less than a1, OR greater than b3). At step 7, a ball hit is declared if all of the aforementioned logic comparisons are true, i.e., if ball hit=True, the processor 106 is directed to resume execution at (GoTO) step 4; otherwise, ball hit=False, and the processor 106 is directed to resume execution at (GoTO) step 8. At step 8, if Fns<a1, then apply the logic relationship test between FR2 and FR3 only, i.e., neglect comparisons with FRI. If Fns>b3, then apply the logic relationship test between FR2 and FR1 only, i.e., neglect comparisons with FR3. If either of the aforementioned logic comparisons is true, then a ball hit is declared, i.e., ball hit=True. Otherwise, the ball hit=False. Processing is resumed at step 4.


Additionally, the sensors 102 detect sufficient vibrations in the net to determine whether a ball touches the net during play. Accelerometers are very sensitive to this case, and may be used to determine if specific vibration has occurred in the net of table 101.


Logic analysis is divided into two main functions. The first function is to analyze the outputs of the sensors and determine at which side of the table the ball hit occurred. Using a simple algorithm, as indicated below, can initially solve the problem.


A sensor network algorithm determines on which side the ball has hit. The sensor network algorithm utilizes the fact that in a network of “n” microphones on each side of the table, all n microphones have captured the ball hit. Microphones closer to the ball hit capture a higher amplitude signal than more distant microphones.


As shown in Table 1, the sensor network algorithm analyzes the different amplitudes of the microphones and weights analytical criteria to decide which side the ball hit occurred.












TABLE 1







Criteria of mics amp.
Assumed Weight



















Maximum
0.1



Minimum
−0.1



Greater Sum
0.2



Highest 2 of 3
0.3



Lowest 2 of 3
−0.3










For example, as shown in Table 2, if there are 3 microphones distributed in each side of the table, all the microphones have captured the signal of ball hit with different amplitudes. The passed criteria are then collected.














TABLE 2







Criteria
Assumed Weight
Side A
Side B





















Maximum
0.1
*




Minimum
−0.1

*



Greater Sum
0.2
*



Highest 2 of 3
0.3
*



Lowest 2 of 3
−0.3

*




Sum
1
0










Moreover, the logic processor 106 accepts processed sensor data from DSP 104 to assess progression of the game and decide the winner point (of a volley), to determine the next point server, to determine a count of points for a player and his/her opponent, and finally to determine the winner of the game.


The logic processor 106 utilizes general inputs, which include a ball touches side A input, a ball touches side B input, and a ball touches the net input.


Specific outputs of logic processor 106 include point for A, Counter_A, point for B, Counter_B, serve, and deciding. Based on the aforementioned specific outputs, the logic processor 106 determines general outputs, A wins, B wins, or Deuce (10-10).


A serve mode and a game mode of system 100 observe the initial state of the table tennis match and subsequent states of the match, respectively. A plurality of functions is provided to analyze the game in the serve mode and in the game mode.


For example, if at the start of a game Player_A is to serve from side_A, the serve mode needs to know this initial state. In order to do this, the serve mode has an enabler that utilizes the three general inputs.


The three scenarios that could happen and the resultant Serve Mode outputs are: (1) If only Side_A is “ON”, or only Side_B is “ON”, or one of them combined with Net_C is “ON”, or neither of them is “ON”, output is a fault for the server and a point will add to Counter_B; (2) If three inputs are “ON” (ball touches side_A, side_B, and net), order is not important here for the logic, the output is Net, and the serve is repeated; (3) If side_A and side_B are both “ON”, then the processor 106 transitions from the serve mode to the game mode because the serve was successful, the game is now in progress, and serve mode is disabled. During the game, when a point is registered, the serve mode is enabled again.


In the game mode, the net is ignored. The game mode addresses the case where the ball goes outside and does not touch one of the sides. To solve this problem, programmed logic executed by logic processor 106 assigns the game point to the opponent whose side was last touched by the ball. This algorithm uses a timer to decide whether the ball went outside. For example, if A smashed ball at side_B, the ball touching side_B and not touching side_A within a predetermined time, then the point is for A. The aforementioned timing procedure works successfully with all cases. Additionally, in a normal volley, the ball touches the sides alternately, viz., side_A, side_B, side_A, side_B, etc. To detect normal volleys, logic processor 106 checks to see that the ball does not touch a side more than once a time. A twice observer function is used to accomplish this checking. The twice observer function operates during game mode and checks whether the ball touches one of the sides two or more consecutive times without having an intervening touch of the opposing side.


The checking algorithm employed by the twice observer function addresses the scenario where the ball touches side_B once, the side_B counter is now set equal to 1 and the side_A counter is reset to equal 0, then player B returns the ball to side_A, the ball then touches side_A, the processor 106 sets side_A counter to 1 and resets side_B counter to zero. This procedure continues until the ball goes outside or hits a single side at least twice consecutively, thus the point is assigned to the winner of the volley.


Moreover, the twice observer function addresses scenario 2 in which the ball touches side_B twice, B failing to return the ball perfectly, resulting in the processor 106 incrementing the side_B counter two 2 and deciding and displaying via results display 108 a fault for side_B because the twice hit occurred. After the fault display, the processor 106 resets Side_A Counter and Side_B Counter thereby allowing game play to resume.


Additionally, a point counter function counts the points for A and B. Counter_A increments when player B makes fault and vice versa. For example, the following faults for B detected by processor 106 cause processor 106 to increment the point counter for A: (1) Serve mode fault; (2) Game mode where the ball touches side_B last and time-out of timer; and (3) Game mode where the twice observer function counter of side_B has incremented to a value of 2.


The serve decision function determines who the server should be based on input data to processor 106. The winning decision function determines who the winner is based on input data to processor 106. The winning decision function reports the side having the most points which points have reached 11 points as the winning side.


The deuce function detects when the score becomes 10-10 and then forces the alternate serve rule until the difference between the two scores is two.


It is to be understood that the present invention is not limited to the embodiment described above, but encompasses any and all embodiments within the scope of the following claims.

Claims
  • 1. An automated table tennis referee, comprising: sensors monitoring first side, second side, and net dividing first and second sides of a table tennis table;a digital signal processor operably connected to the sensors, the digital signal processor acquiring the data from the sensors, eliminating noisy channels of the sensor data, and processing relatively noiseless channels of the sensor data to determine ball hits unique to each of the sensors;a logic processor operably connected to the digital signal processor, the logic processor determining whether the ball hit occurred on the table's first side, second side, or net, the logic processor further determining a winner of the last volley, the count of points each player has accrued, who the server for the next serve should be, and the winner at the end of the game; anda display unit operably connected to the logic processor, the display unit displaying the number of points counted for each player, which player owns the serve, which player won the last serve and the winner of the game.
  • 2. The automated table tennis referee according to claim 1, wherein the sensors comprise more than two table hit-detecting microphones.
  • 3. The automated table tennis referee according to claim 2, wherein the automated table tennis referee includes three table hit-detecting microphone sensors positioned near the first table side and three table hit-detecting microphone sensors positioned near the second table side.
  • 4. A computer implemented automated table tennis referee method, comprising the steps of: acquiring acoustics and vibration data of first side, second side, and net dividing first and second sides of a table tennis table;eliminating noisy channels of the acoustic and vibration data;processing relatively noiseless channels of the acoustic and vibration data to determine ball hits unique to the first table side, the second table side, and set net;initially determining whether the ball hit occurred on the table's first side, second side, or net;determining the winner of the last volley, the count of points each player has accrued, who the server for the next serve should be, and the winner at the end of the game based on analysis of results of the initially determining step; anddisplaying the number of points counted for each player, which player owns the serve, which player won the last serve and the winner of the game.
  • 5. The computer implemented automated table tennis referee method according to claim 4, wherein said noisy channel elimination step further comprises the step of analyzing ball hit acoustic data in a second frequency spectral range separated from a first frequency spectral range, the first frequency spectral range being proximate a fundamental frequency of noise creating the noisy channel.
  • 6. The computer implemented automated table tennis referee method according to claim 5, further comprising the step of defining logic test comparisons between said second frequency spectral range associated with the first table side and the second table side, the logic test comparisons determining whether the ball hit the first table side and whether the ball hit the second table side.
  • 7. The computer implemented automated table tennis referee method according to claim 6, further comprising the step of determining whether the ball hit the net.
  • 8. The computer implemented automated table tennis referee method according to claim 6, further comprising the step of determining whether the ball failed to hit either of the table sides within a predetermined time period.
  • 9. The computer implemented automated table tennis referee method according to claim 6, further comprising the step of applying multiplicative weights to amplitudes of said second spectral frequency range data, the multiplicative weights being associated with sensors providing said second spectral frequency range data.
  • 10. The computer implemented automated table tennis referee method according to claim 6, further comprising the steps of: entering a serve mode;determining which player is to serve during a serve phase of a table tennis match;determining if the serve was successful;entering a game mode;determining, in the game mode, volley point results and game point results during a table tennis match.
  • 11. The computer implemented automated table tennis referee method according to claim 6, further comprising the steps of: determining whether the ball hit either of the first and second sides twice consecutively; anddisplaying a player fault if the ball hit either of the first and second sides twice consecutively.
  • 12. The computer implemented automated table tennis referee method according to claim 6, further comprising the steps of: detecting when the score becomes 10-10;forcing an alternate serve rule until a difference between opposing side scores is numerically equal to two; anddeclaring a win for the side accumulating a higher of the scores.