Control device
Patent Information
- Application Number
- GB2024018900
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-12-20
- Publication Date
- 2025-02-05
AI Technical Summary
Existing videoing assistants struggle to distinguish between a desired target and similar objects in the background, especially when the background environment changes, leading to inconsistent performance in tracking and recording.
A control system that processes multiple input signals, including voice commands, gestures, and conditions, to issue control commands for camera operations, utilizing a command buffer and condition recognition to ensure accurate tracking and recording.
Enables precise and adaptive tracking of targets by distinguishing between desired and similar objects, allowing for conditional execution of commands based on predefined conditions, enhancing the reliability and flexibility of video recording.
Abstract
Description
Field of the Invention The present invention relates to a control system or automated video assistant for controlling camera equipment such as a video camera or mobile device. More specifically, the present invention relates to a command interpretation system permitting simultaneous, sequential and / or conditional execution of commands. Background The applicant has developed an automated videoing assistant (“AVA”) in the form of a controllable stage comprising a mount or cradle for a camera. A camera so supported on a motorised stage is capable of following, or “tracking”, a target, such as a person or animal, for instance by rotating the stage to maintain the target in the centre of a video frame. The system works well in many scenarios such as recording of sports tutorials, e.g. tennis, and for certain animal recordings, such as horse dressage. Such a system may be provided as a cradle operatively connected with a motorised stage that can be used with portable devices such as mobile phones or tablets, which comprise a camera and memory access suitable for recording media. The present invention seeks to provide further improved functionality to such devices. Summary of the Invention In accordance with a first aspect of the invention, there is provided a control system for controlling a camera-to-be-controlled, the control system comprising a stage module for the camera-to-be-controlled, a command interpretation module, an input interface and an output interface for interfacing with a camera-to-be-controlled. The stage module comprises an actuation mechanism for moving the camera-to-be-controlled under the control of the control system. The command interpretation module comprises a configuration to identify input signals received via the input interface, and to determine whether or not identified input signals correspond to a control command. The output interface comprises a configuration to issue output signals corresponding the control commands to the stage module and to the camera-to-be-controlled. The control system is able to process a first control command for issuing a first output signal and one or more further control commands for issuing one or more further output signals. In other words, the control system is able to process multiple input signals and convert those into control commands for control of the camera and / or stage module. The control commands allow the operation of the stage module and / or of the camera, respectively, to be controlled. For instance, a control command issued to the stage may move and / or rotate the stage. A control command issued to the camera may turn on or off recording, or may control a zoom level or other recording parameter, such as image quality or effects. To facilitate the description of the invention, and unless defined otherwise herein, a distinction is made between an input signal, a control command, and an output signal. An input signal is a signal from a user or external source made to instruct a command, and may be an action, gesture or voice command, to be provided from a user or other external source to the control system. An input signal may or may not correspond to a control command. A control command is a command to be issued by the control system to control operation of the camera module and / or stage module. An output signal is a signal from the control system comprising or effecting the control command. For instance, a user may issue an input signal in the form of a voice command “start recording” or a hand gesture, and if interpreted by the control system as control command to “start recording”, then the control system issues an output signal in the form of a control command to the camera, in this example to record media. Two different control commands may be given effect by the same output signal. E.g., a control command “start recording” and a control command “pause recording” may be effected by the same output signal, if that is linked to a single start / stop switch. It will be appreciated that an input signal that is not associated with a control command will not result in the execution of a control command. For the purpose of the present disclosure, gesture recognition tools such as Yolo (RTM, Apple Inc) or OAK-D (Luxonis Inc.) are known to a skilled person, and a skilled person would know several different options to effect execution of a control command depending on whether or not an input signal was recognised. The term “camera” will be understood as meaning image and video recording equipment, capable of recording movie images, and may include audio recording capabilities. The camera may be an electronic recording device comprising access to memory, and capable of storing image and sound data in a memory of a device or operatively connected memory such as cloud storage. The camera may be a device comprising a buffer such as cache or ring buffer to temporarily store images for analysis. In some embodiments, the camera may be a camera and / or audio recording arrangement integrated with a mobile device such as a tablet or mobile phone. In some embodiments, the camera may be a recording device such as a surveillance camera, dashcam, or similar devices. The camera may be integral with the stage module. The camera-to-be-controlled and the stage module may be part of a self-contained device. The control system comprises a command buffer to queue for execution the one or more further control command, e.g. a second control command, third control command, etc., before the first output signal has been issued, or before several output signals have been issued. The command buffer may be provided in the form of a buffer module, which may be provided in the form of memory. The command buffer may be provided in the form of code, such as a script, command sequence, or the like. The command buffer may be created by an artificial intelligence system in response to input signals. A few or all of the command interpretation module, the input interface, the output interface and / or the command buffer may be combined into a common module. In some embodiments, the stage module comprises a mount for a camera-to-be-controlled, and the actuation mechanism is configured for moving the mount under the control of the control system, to thereby move said camera-to-be-controlled. The camera may be appropriately fixed, screwed on, clamped, strapped, or otherwise positioned on the stage. To this end, the control system may comprise a mount, in the form of a cradle, clamp, socket, or the like, to allow it to affix a camera device such as a mobile device. Thereby, movement of the stage results in movement of the camera. In some embodiments, the command interpretation module, the input interface, the output interface, and the command buffer are provided in the form of a software algorithm comprising machine readable instructions executable by a processor. In some embodiments, the software algorithm is comprised in a portable device comprising the camera. The algorithm may be embodied as a program, or application, to be installed on a portable device, such as a camera phone, tablet, or other suitable device. In some embodiments, the portable device may be constituted by, or may be part of, a surveillance camera, dashcam, or other recording device comprising a camera. In some embodiments, the system is configured to execute a plurality of control commands sequentially. Execution of a control command may be implemented by issuing one or more output signals to the camera and / or stage module. The control commands may be executed from a command buffer, which may be provided by the command buffer module, or may be constituted by a command script or other suitable code, which may have been generated by, or under the control, of the control system. For instance, the control system may generate a sequence of output signals, or a batch code of output signals, corresponding to one or more control commands. In some embodiments, the system comprises a configuration to identify as first or further control command one or more input signals defining one or more conditions for executing one or more further control commands. In accordance with some embodiments, the control system is configured to identify different input signals, such as a first input signal and one or more further input signals, the input signals being associated with control commands, wherein the input signals designate conditions that need to be met before a control command is executed. In embodiments, the camera may be used to record data used for analysis, e.g. to record images that are used by the system to determine the presence or absence of a condition, and also to record data as camera images or movies, e.g. movies that are recorded in depending on whether or not a condition was met. In some embodiments, the system comprises a configuration allowing it to be programmed to distinguish between input signals, so as to allow it to distinguish between similar input signals. To provide an illustrative example, the input signals may be hand or finger gestures. Alternatively, or in addition, an input signal may be the presence of a person or of an object, e.g. of a ball, to be followed by the stage module such that the camera-to-be-controlled keeps the object within a predetermined field of view. The object may be similar to another object, such as an orange ball and a red ball, which depending on circumstances may be considered different colours, or similar colours. The system may be programmable by a user to specifically identify these objects as distinct, e.g. to distinguish as different input signals between the presence of an orange ball and the presence of a red ball, which may be considered similar colours or different colours, depending on interpretation. In such an exemplary scenario, a user may provide a voice command as input signal “Follow the red ball, and distinguish between the red ball and the orange ball. Do not follow the orange ball.” In some embodiments, the system comprises a configuration to allow a training set to be defined to include at least two input signals to be distinguished as different control commands. The training set may allow a user to identify different input signals, including desired input signals and undesired input signals, and to associate a desired input signal with a control command and to associate an undesired input signal as a signal to be ignored. In a practical example, a user may have obtained recordings of a red ball and of an orange ball, and may with hindsight realise that one recording was undesired, or otherwise in conflict with intended instructions. The recordings may be used as a training set for future input signal interpretation. A practical scenario leading to the development of embodiments was that prototype videoing assistants work well when instructed, e.g., to follow a target such as a dressage horse or tennis ball, when such targets are without similar background, e.g. when used on a single tennis court. Such videoing assistants may struggle to distinguish a correct, desired target when other objects similar to the target are in the video background, e.g. a further tennis court behind the court intended to be recorded. A user may not know in advance what type of interference there may be and what type of distinction should be used, because this may depend on characteristic of outfit and equipment, which may change. E.g., a user may use an input signal “follow the person in the white shirt”. If several people wear a white shirt, the user may revise the input signal to “follow the person with white shirt and red shorts”. In some embodiments, the system comprises a configuration to prevent execution of the first or further control command while one or more of the conditions are not met. In some embodiments, the system comprises a configuration to execute the first or further control command when one or more of the conditions are met. In some embodiments, the system comprises a configuration to identify different sets of one or more conditions for different control commands. In some embodiments, the actuation mechanism is a motorised stage. The stage may be a rotational stage, and / or translational stage, and / or may be a stage capable of swivelling / tilting. For instance, the stage may be a 360-degree rotational stage. The actuation mechanism may comprise multiple stages. In some embodiments, the system comprises a configuration allowing it to control the stage module to follow a target identified by a control command. In this manner, the stage module may be operated to move a camera device to maintain an object within a predetermined field of view. In some embodiments, the system comprises a configuration allowing it control recording in response to a control command. In this manner, the stage module may be operated to start and / or stop, respectively, a recording process by the camera device. In some embodiments, the system comprises a configuration allowing it to control one or more changes to recording settings in response to one or more control commands. Recording settings may include zoom level, image parameters and other settings, as well as combinations thereof. In some embodiments, the system comprises a configuration allowing it to determine whether or not one or more input signals define conditional commands, and to control one or more changes to recording settings when conditions of the conditional commands are met. In some embodiments, the input interface accepts audio input as input signal, and wherein the command interpretation is configured to identify control commands from the audio input. In some embodiments, the input interface accepts gesture input as input signal, and wherein the command interpretation is configured to identify control commands from the gesture input. In some embodiments, the input interface accepts position and / or posture input as input signal, and wherein the command interpretation is configured to identify control commands from the position or posture input. In some embodiments, the system comprises a status indicator to display identified input signals and / or control commands. Herein, the status indicator may provide functionality other than the output interface. The output interface is understood to be an interface for issuing commands for the control of a camera or stage module. The status indicator is, herein, provided to communicate status messages to a user. The status indicator and the output interface may utilise the same communication channels, or different communication channels. The status indicator and the output interface may be constituted by a common output module, or different output modules. In some embodiments, the status indicator comprises a visual indicator and / or display. In some embodiments, the status indicator comprises an audio indicator and / or voice output. The visual indicator and / or audio indicator may present information to a user, such as whether or not a command was recognised, which input signals were recognised as command, which input signals were recognised as conditional command, which commands are in a buffer or queued for execution. Furthermore, the indicators may indicate which command is currently being executed and / or whether the device is currently executing a command, actively monitoring for the presence of input signals but not executing a command, actively monitoring for the presence of a condition while preventing execution of a command, and / or combinations of such data. In some embodiments, the output interface comprises a wireless communications protocol. The wireless communications protocol may be any suitable protocol such as WiFi, Bluetooth (TRM) etc. In some embodiments, the output interface comprises a wired communications protocol. The wired communications protocol may be any suitable protocol such as LAN, USB, etc. In some embodiments, the system comprises a wearable device, wherein the wearable device comprises one or more of a command interpretation module, an input interface, an output interface and / or a status indicator. The wearable device may be a watch, such as a smart watch. For example, the smart watch may be used as part of the input interface, to allow a user to provide input signals in the form of voice instructions, by speaking into the watch. As another example, the smart watch may provide functionality of a status indicator, to display status information relating to command execution, such as buffered commands and presence of conditions, to a user. Description of the Figures Exemplary embodiments of the invention will now be described with reference to the Figures, in which: Figure 1 is a schematic illustration of an embodiment in operation in an environment; Figure 2 is a schematic illustration of components of an embodiment; and Figure 3 shows steps of an exemplary method implemented in embodiments. Description Figure 1 illustrates a setup using an automated videoing assistant (AVA) 10 in an environment 1 such as a room or open area. The automated videoing assistant 10 is understood to be a control system for assisted operation of a recording device, specifically for tracking an object or person, comprising a stage to control the orientation of a camera associated with the automated videoing assistant 10. For the purposes of the present disclosure, the skilled person is familiar with automated videoing assistants including a motorised stage, such as the Applicant’s AVA system comprising a motorised stage and tracking system for a camera device. Furthermore, a skilled person is familiar with software solutions, such as TensorFlow (RTM), Yolo (RTM), OAK-D, or others, to allow a processor be programmed to identify and follow a target such as a person or object, such as a tennis ball, or a dressage horse, and to control a motorised stage to move a camera mounted on a stage to thereby control an orientation of the camera. Such a system may be able, for instance, to follow a target at one of different speeds around a 360 degree vertical axis (e.g. about a “y-Axis”), for instance to follow a rider on a horse. The automated videoing assistant 10 is part of a system comprising a stage module 14 and a camera module 12. The stage module 14 comprises an actuation mechanism and is capable of modifying the orientation and or position of the camera of the camera module 12. The stage module 14 may comprise a motorised actuator, such as a rotational stage and / or rotational stage. In a practical example, the stage module permits 360 degree rotation of a camera module 12 at different rotational speeds that can be set by the control system. The automated videoing assistant 10 further comprises a support 16, here in the form of a stand or tripod. As will be appreciated, the support 16 may be part of the stage module 14 or attachable to it. The automated videoing assistant 10 further comprises an interface module 18 to accept input signals and / or to provide output signals. The interface module 18 may provide functionality of an input interface, of an output interface and / or of a status indicator. In this embodiment, the automated videoing assistant 10 further comprises an interface to control imaging parameters of a camera, such as resolution, zoom level, image parameters, and others. In some embodiments, functionality of the interface module, the output interface and / or the status indicator may be provided by, or complemented by, a wearable device. A wearable device may be wirelessly connected to the automated videoing assistant 10 and may be carried by a user, remote (e.g. a view metres away) from the automated videoing assistant 10. For example, the wearable device may be a wrist-worn device such as a smart watch. The automated videoing assistant 10 comprises a processing system configured to recognise movement or movements, gestures, and posture / poses of a target, to be able to discern different movements of a target and to interpret the movements as an input signal to carry out a particular command. Several suitable types of camera module 12, interface 18, stage 14, and support 16 will be known to a skilled person, and are not described in detail herein. It will be appreciated that parameters such as frame rate, data transfer rate and / or image resolution may have to be selected in a manner appropriate to the input signal to be monitored. E.g. a system configured to monitor for arm gestures, head movements, and user movement (e.g., walking within a field of view of the camera module 12) may be able to operate sufficiently at a lower image resolution than a system monitoring eye movements or finger movements. The input signals may be analysed by a machine learning algorithm. The accuracy of the processing system may depend on the capabilities of the software and hardware components used, e.g. some software solutions may be able to discern arm movement but not yet finger gestures, and / or may be able to process specific spoken commands. For the purpose of the present disclosure, a skilled person is familiar with solutions such as software packages and / or libraries that allow the control system to discern different input signals such as audio commands, gestures, poses and others, as well as allowing the control system to track targets such as a person, animal or object, and need not be described in detail. The camera may be provided as part of a portable device, such as a portable computer, tablet device or mobile phone device. The automated videoing assistant may be provided as part of software or application to be installed on the portable device. For instance, functionality of the interface 18 may be provided by a camera arrangement of one or more cameras and / or by one or more microphones of a mobile device. Likewise, functionality of the interface 18 may be provided by a screen or speaker of the mobile device. Functionality of the camera module 12 may be provided by a camera arrangement of one or more cameras of the mobile device. Alternatively, or in addition, the automated videoing assistant may be provided with a stage module. In some embodiments, the stage module comprises a camera module. In some embodiments, a portable device comprises an integrated actuator capable of moving the portable device. Figure 1 illustrates three targets 22a, 22b, 22c, each of which may be captured by the camera 12. For the purpose of the disclosure, the camera module 12 may be able to follow any one of the targets 22a, 22b, 22c individually, but not necessarily all three at the same time. For instance, a target may be a ball in play during a game, another target may be a player, and another target may be another player or further object. When the present specification refers to targets, the invention may be used to track persons, animals, and / orobjects, or other suitable targets. A target may include a stationary target, such as a goal structure, that may or may not come into the view of the camera module 12 depending on orientation of the stage module 14. A user of an automated videoing assistant may desire that the automated videoing assistant 10 follows one of the three targets, herein a target 22a, and not the other targets, here targets 22b and 22c. A user may further desire that the camera records with a higher resolution and / or frame rate if the target 22a is within a target area 24, e.g. in a penalty area or close to a finishing line. During the development of the invention, it was found that several software solutions exist that allow a camera to trace a target person or object. The suggestion made in the present disclosure is that the automated videoing assistant is configured to accept control commands from a user, and to execute the control commands sequentially and / or based on a condition. In this manner, a user may program, or prompt, an automated videoing assistant to monitor for the presence of conditions, which may be scenarios envisaged by a user, such as a particular goal conversion or performance that may or may not take place, but that the user may wish to have recorded once occurring. A user may desire that the automated videoing assistant distinguishes between a desired target and a similar object that is not the desired target. For instance, such a similar object may be a person playing a similar sport in the background of the desired target. E.g., a user may instruct the automated videoing assistant to “track the yellow ball” (e.g., the target object 22a) and to “zoom closer when the yellow ball is in the penalty area” (e.g., the target object 22a is within the target area 24). Figure 2 illustrates components of the automated videoing assistant 10. The device 10 comprises a processor 30 and memory comprising instructions to be carried out by the processor 30, a camera interface module 12, a stage module 14, a tracking module 32, and a command module 34. The command module 34 comprises a command interpretation module 36, a condition recognition module 38, and a buffer module 40. The camera interface module 12 may allow the device 10 to communicate with a connected camera, such as a camera of a mobile device mounted in a cradle of the device 10. The stage module 14 comprises an actuation mechanism to control orientation and / or movement of a camera located on the stage module. The processor 30 is configured to issue control commands to the camera interface module 12 to thereby control operation of the camera. The processor 30 is configured to issue control commands to the stage module to thereby control operation of the stage module 14. The system 10 further comprises a tracking module 32 associated with a command interpretation module 36. In operation, the processor 30 may control the camera via the camera interface module 12 such that the camera provides an input interface to receive data comprising input signals from a user, e.g. video frames comprising gestures for analysis by the interpretation module 36. In addition, the processor may receive input signals from other controllers, such as from a remote-control device or others. The processor 30 may further provide an output interface to control operation of the camera, of the stage module 14, and / or of an indicator 18. The tracking module 32 may operate in coordination with the camera module 12, the stage module 14, and the processor 30 to allow the device 10 to follow a target. The command interpretation module 36 is associated with the processor module 30 and with the tracking module 32. The processor 30 coordinates interpretation of input signals received via the input interface, e.g. from the camera interface module 12, to establish whether or not the input signal corresponds to a command in the command interpretation module 36, and / or to a condition to be processed in the condition recognition module 38. Commands that are recognised as conditional commands are not necessarily executed unless a condition is met. Such commands may be stored in a buffer module 40. The system monitors, continuously, in regular intervals, or at predetermined times which may be instructed by a user, for the presence of a condition defined by the condition interpretation module 36. If the condition is present, the command may be executed, by providing an output signal, to control operation of the stage module 14 and / or the camera interface module 12. Two or more of the different modules shown in Figure 2 may be comprised within a single component or within common component. For instance, the processor 30, the tracking module 32 and the command interpretation module 36 may be comprised in a common device. Likewise, the processor 30, the tracking module 32 and the command interpretation module may be comprised, in the form of a software installation, on a mobile device comprising a camera. In some embodiments, the stage may be provided as an attachable device or clip-on device, such as a mobile device case, or such as a mobile device stand. The stage may comprise an actuator to allow it to move to thereby change orientation or position of the mobile device, and thereby the camera integrated with it, under control of a processor 30 of a mobile device. Figure 3 shows a method 50 of controlling operation of an automated videoing assistant 10. In step 52, a control system is provided comprising a stage and actuation mechanism for controlling camera orientation and / or position, such as orientation of the stage, and thereby the orientation of a camera mounted on the stage, and / or such as camera parameters such as recording settings, zoom level, and others. Several modules of the control system may be provided in the form of software instructions comprised in a stage module and / or camera module. In step 54, the system monitors for an input signal. An input signal may be a remote control command, voice command, gesture, and / or combinations of such input signals. In step 56, the system receives an input signal via the input interface, and makes a determination whether or not the input signal corresponds to a control command, and / or whether or not the input signal defines a conditional command. Step 56 may utilise command interpretation modules such as artificial intelligence based interpretation modules. Suitable command interpretation modules are, for the purposes of the present disclosure, known to a skilled person, e.g. to allow a control system to follow a person, and / or to track a particular target, such as a person, player, animal, or an object such as a ball. In step 58, one or more control commands are stored in a buffer module. Furthermore, a user may define one or more conditions that need to be met for execution of a control command. In step 60, a determination is made whether or not a condition was defined by a user for the execution of a control command. If, in step 60, a determination is made that no condition was defined, the method proceeds to step 66 to queue the control command, and / or the output signal effecting the control command, to the output interface. If, in step 60, a determination is made that a condition was defined, the method proceeds to step 62. In step 62, the system monitors for the presence or existence of the condition. For instance, in step 62, the system may determine whether or not a target area 24 is within the field of view of the camera. In step 64, a determination is made whether or not the condition is met. If, in step 64, it is determined that the condition is met, e.g. that the target object 22a is in the target area 24, the method proceeds to step 66 to queue the control command to the output interface. For instance, the camera module may be controlled to zoom closer to the target object 22a once the target object 22a is in the target area 24. If, in step 64, it is determined that the condition is not met, the method proceeds to step 68 to prevent or delay execution of the control command. For instance, the camera module may be controlled to avoid zooming closer to the target object 22a while the target object 22a is outside the target area 24. Steps 54 to 68 may be executed repeatedly. Some of the steps may be carried out concurrently and / or may be omitted. To provide an illustrative example, a condition may be for the camera module to zoom closer to a target object if the target object is within a target area. As will be appreciated, in that case, the system may be monitoring for the presence of a target object, and to control operation of the stage module to follow the target object. Simultaneously, the system may hold in a buffer a conditional command to zoom closer to the target object when the target object is in the target area. The system may prevent or delay the zoom command while the target object is not in the target area. While the system operates the stage to follow the target object, the target area may come into the field of view of the camera. In that case, the system may make a determination, or may repeat the determination, as the case may be, that the target object is now within, or sufficiently close to, the target area. In that case, the condition for executing the zoom control command in the command buffer is now met, and the system may issue an output signal to control the camera module to zoom closer to the target object. The control commands queued in step 66 for output via an output interface may then be provided as an output signal via the output interface in step 70. A user may combine conditions, e.g. such that two or more conditions may need to be met before a control command is executed. In a variant, a condition be the execution and / or completion of a preceding control command. For the recognition of gestures and user movements, the device 10 may employ machine learning and artificial intelligence systems, which may also be trained by a user. The exact method of recognising gestures is not disclosed in detail herein and a range of different methods will be known to a skilled user. In a simple embodiment, the device 10 may be an Automated Videoing Assistant device comprising a motorised stage or turntable, capable of 360-degree rotation, to support a mobile phone with camera. The device 10 may be programmable by voice command spoken as input signal into a smart watch, linked via an interface with the device 10, to instruct the device 10 to actuate the stage to stay in place, to turn left, or to turn right, to thereby change the phone orientation. As will be appreciated, the stage may be set up in a suitable location, e.g. on the side of a tennis court, placed to allow it to follow a tennis ball by turning left or right. A user may provide an input signal “follow the tennis ball”, or “follow the right player when the tennis ball is outside”, and the control system of the device will recognise the tennis ball and follow left or right, as the case may be, during game play, and / or stop following the ball and instead follow the the player once a condition, such as “is the ball outside”, is met. The conditions defining conditional commands may be the presence or proximity of a target, such as a user, animal or objects. The conditions may comprise an action, such as “when the yellow ball contacts the racket”, or “once the dog catches the stick”. The conditions may include a period of time, such as “follow the horse for ten seconds, then zoom out to a wider field of view”. Depending on the software used, the control system may be analysing video information or individual frames (or “still images”), or combinations thereof. During tests it was found that most software solutions are not yet able to process live video feed, but may be able to process still images extracted in short intervals, e.g. every few seconds, or indeed every frame e.g. 30 frames per second, if fed for analysis as still images. As such, the command interpretation module may continually analyse a sequence of images derived from a video feed to determine the presence of input signals. Different command interpretation modules may be used contemporaneously. E.g., one command interpretation module may be used to interpret audio data. Another command interpretation module may be used to identify the presence of a person from successive still images. Yet another command interpretation module may be used to identify gestures and movement made by the person in a video feed. The control system and / or the command buffer module may be incorporated in the form of executable code created by an Al system. For instance, an Al system may be capable of interpreting input signals, and to create an intermediate set of instructions that defines control commands including sequential control commands and / or conditional control commands. In that case, the intermediate set of instructions may serve as a command buffer. During the development of embodiments, it was attempted to use artificial intelligence chatbots, such as ChatGPT, to create sequential or conditional commands. A discovery during the development was that current chat tools are able to provide answers to questions, such as "Is there a dog in the image?" with relatively good accuracy and with relatively little knowledge of coding, or prompting, required from a user. A problem appreciated by the inventor was that many such chat tools may as a tendency provide answers in different forms, that even if correct are provided in random form. For instance, in response to a question "Is there a dog?", a chat tool may identify a dog correctly, but the reply might lack standardisation, e.g. might be "Yes", or "Yes I can see a dog." "There is a dog." and other responses. Such outputs are too heterogeneous for them to be used as reliable input for subsequent control commands. The solution suggested to address this problem is to program, or prompt, the tool to provide a class, state, category, or other classification, of response. To provide an illustrative example, a user voice input may be "start recording when the dog is on the screen". The command interpretation may be programmed that, if there is a dog, the Al interpretation model, which may be embodied by an interpretation module, should output a predefined integer, e.g. "state_class=='dog' ") The output may be combined with a conditional command, such as 1. choose_class('dog'), 2. call_back('start_record' if state_class=='dog'). This avoids the problem that an Al tool might correctly identify a target, (here: a dog), but might otherwise fail to provide a response that can be reliably interpreted as a conditional command. More generally, the command interpretation module may include a classification module to request answers to be categorised or standardised, from a range of members of a class. The control system of the invention may therefore be configured to use multiple, different interpretation tools, for analysis of image, video and / or audio, as the case may be. The interpretation tools may comprise a first interpretation tool such as an artificial intelligence tool for the processing of conditional commands, for instance to identify the presence of a target in a video image or frame. The artificial intelligence tool may be programmed to provide an answer in the form of a category. The interpretation tools may comprise a second interpretation tool such as a tracking tool for the processing of control commands, for instance to control operation of a motorised stage to follow a target. The command interpretation module utilises a command buffer to allow it to coordinate the sequential processing and / or conditional processing of control commands. For example, the command interpretation module may coordinate the use of the second interpretation tool, for camera control such as tracking, depending on outputs of the first interpretation module, which is used to identify the presence of a target and / or condition. Whilst the principle of the invention has been illustrated using exemplary embodiments, it will be understood that the invention is not limited to exemplary embodiments and that the invention may be embodied by other variants defined within the scope of the appended claims.
Claims
1. A control system for controlling a camera-to-be-controlled, the control system comprising a stage module for the camera-to-be-controlled, a command interpretation module, an input interface and an output interface for interfacing with said camera-to-be-controlled,wherein the stage module comprises an actuation mechanism for moving the camera-to-be-controlled under the control of the control system,wherein the command interpretation module comprises a configuration to identify input signals received via the input interface, and to determine whether or not identified input signals correspond to a control command, andwherein the output interface comprises a configuration to issue output signals corresponding the control commands to the stage module and to the camera-to-be-controlled;the control system being able to process a first control command for issuing a first output signal and one or more further control commands for issuing one or more further output signals;wherein the control system comprises a command buffer to queue for execution the one or more further control command before the first output signal has been issued.
2. The system according to claim 1, wherein the stage module comprises a mount for a camera-to-be-controlled, and wherein the actuation mechanism is configured for moving the mount under the control of the control system, to thereby move said ca m e ra-to- be-co ntro 11 ed.
3. The system according to claim 1 or 2, wherein the command interpretation module, the input interface, the output interface, and the command buffer are provided in the form of a software algorithm comprising machine readable instructions executable by a processor.
4. The system according to claim 3, wherein the software algorithm is comprised in a portable device comprising the camera.
5. The control system according to any one of the preceding claims, configured to execute a plurality of control commands sequentially.
6. The control system according to any one of the preceding claims, comprising a configuration to identify as first or further control command one or more input signals defining one or more conditions for executing one or more further control commands.
7. The control system according to claim 6, comprising a configuration allowing it to be programmed to distinguish between input signals, so as to allow it to distinguish between similar input signals.
8. The control system according to claim 7, comprising a configuration to allow a training set to be defined to include at least two input signals to be distinguished as different control commands.
9. The control system according to any one of claims 6 to 8, comprising a configuration to prevent execution of the first or further control command while one or more of the conditions are not met.
10. The control system according to any one of claims 6 to 9, comprising a configuration to execute the first or further control command when one or more of the conditions are met.
11. The control system according to any one of claims 6 to 10, comprising a configuration to identify different sets of one or more conditions for different control commands.
12. The control system according to any one of the preceding claims, wherein the actuation mechanism is a motorised stage.
13. The control system according to any one of the preceding claims, comprising a configuration allowing it to control the stage module to follow a target identified by a control command.
14. The control system according to any one of the preceding claims, comprising a configuration allowing it control recording in response to a control command.
15. The control system according to any one of the preceding claims, comprising a configuration allowing it to control one or more changes to recording settings in response to one or more control commands.
16. The control system according to claim 15, comprising a configuration allowing it to determine whether or not one or more input signals define conditional commands, and to control one or more changes to recording settings when conditions of the conditional commands are met.
17. The control system according to any one of the preceding claims, wherein the input interface accepts audio input as input signal, and wherein the command interpretation is configured to identify control commands from the audio input.
18. The control system according to any one of the preceding claims, wherein the input interface accepts gesture input as input signal, and wherein the command interpretation is configured to identify control commands from the gesture input.
19. The control system according to any one of the preceding claims, wherein the input interface accepts position and / or posture input as input signal, and wherein the command interpretation is configured to identify control commands from the position or posture input.
20. The control system according to any one of the preceding claims, comprising a status indicator to display identified input signals and / or control commands.
21. The control system according to claim 20, wherein the status indicator comprises a visual indicator and / or display.
22. The control system according to claim 20 or 21, wherein the status indicator comprises an audio indicator and / or voice output.
23. The system according to any one of the preceding claims, wherein the output interface comprises a wireless communications protocol.
24. The system according to any one of the preceding claims, wherein the output interface comprises a wired communications protocol.
25. The system according to any one of the preceding claims, comprising a 5 wearable device, wherein the wearable device comprises one or more of a command interpretation module, an input interface, an output interface and / or a status indicator.