A remote learning method
By determining the correspondence between infrared protocol parameters and button-key value during the remote control learning process, the problem of operation errors caused by remote control signal errors is solved, and fast and stable remote control learning is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN IPANEL TECH LTD
- Filing Date
- 2024-05-24
- Publication Date
- 2026-05-26
AI Technical Summary
During the remote control learning process, errors may occur due to the difference between the received signal of the new remote control and the transmitted signal of the original remote control. This can lead to operational errors or functional failures. In addition, users need to perform multiple operations to complete the learning of all buttons, which is especially inconvenient for complex remote controls.
When the learning remote controller receives the infrared signal from the target remote controller, it determines the infrared protocol parameters and preliminary timing data, performs preprocessing to construct a bitmap, and configures the infrared protocol parameters and all button-key value correspondences of the target remote controller according to the infrared protocol parameters and button-key value correspondences, thereby reducing the number of learning operations.
It improves signal stability and reliability, avoids operational errors or functional failures, and enables rapid learning and convenient use.
Smart Images

Figure CN118411815B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of remote control technology, specifically to a remote control learning method. Background Technology
[0002] Remote learning refers to a function of a remote control that allows users to transfer the button codes of an existing remote control to another remote control via a learning function, saving it as a new code sequence. In subsequent use, the user can then use this new remote control to simulate the original remote control for corresponding operations and controls. Typically, remote control learning requires two remote controls: one to be learned and one with the learning function. During learning, the remote control with the learning function sends a signal, which the remote control to be learned receives, parses, and sends the corresponding button codes back to the remote control with the learning function. The remote control with the learning function saves the received codes and assigns a corresponding button to each code, thus achieving the learning of the original remote control.
[0003] Remote control learning is essentially a recording method that transfers the button encoding sequence of an existing remote control to a new one. During recording, the new remote control receives the signal from the original remote control via an infrared sensor and converts it into the corresponding button encoding sequence. Due to the instability of infrared sensors and potential interference during signal transmission, the signal received by the new remote control may differ from the signal transmitted by the original remote control, leading to malfunctions or errors in operation. Furthermore, during the learning process, the user needs to learn each button individually. This means the user may need to perform multiple operations to complete the learning process for all buttons. This is especially problematic for complex remote controls, which may require learning a large number of buttons, causing inconvenience and hassle for the user.
[0004] Therefore, how to avoid operational errors or functional failures caused by the error between the received signal of the new remote control and the transmitted signal of the original remote control, while reducing the number of remote control learning operations, is a technical problem that urgently needs to be solved by those skilled in the art. Summary of the Invention
[0005] To address the aforementioned issues, this application provides a remote control learning method that can avoid operational errors or functional failures caused by the difference between the received signal of the new remote control and the transmitted signal of the original remote control, while also reducing the number of remote control learning operations.
[0006] The embodiments of this application disclose the following technical solutions:
[0007] A remote learning method, the method comprising:
[0008] In response to the learning remote control receiving a first infrared signal from the target remote control, the infrared protocol parameters of the first infrared signal are determined, and the first preliminary timing data of the first infrared signal is determined; the learning remote control has entered learning mode; the first infrared signal is the infrared signal of the first button to be learned; the first button to be learned is the first button existing on the target remote control in the button learning list; the infrared protocol parameters include a preamble, an infrared technology encoding method, and an infrared technology encoding duration;
[0009] The first preliminary time series data is preprocessed to obtain the first target time series data;
[0010] A first bitmap is constructed based on the infrared protocol parameters of the first infrared signal, the timing data of the first target, and the pre-stored remote control library on the learning remote control. The first key value is obtained by decoding the timing data of the first target based on the infrared protocol parameters of the first infrared signal. The first bitmap has N bits, and the value of each bit is 1. The first key value has a one-to-one correspondence with the first learned button. N is a positive integer.
[0011] Based on the one-to-one correspondence between the first key value and the first learned key, the first bitmap is set to zero to obtain the first set bitmap;
[0012] The infrared protocol parameters of the target remote control and the correspondence between all buttons and key values are determined based on the number of 1 values in the first bitmap, and the infrared protocol parameters of the target remote control and the correspondence between all buttons and key values are configured on the learning remote control.
[0013] In one possible implementation, the preprocessing of the first preliminary time series data to obtain the first target time series data includes:
[0014] The first preliminary time series data is divided into multiple groups of time series data using a clustering algorithm;
[0015] Calculate the rounded average value of the time series data for each group; the rounded average value corresponds to the data in the first preliminary time series data used to calculate the rounded average value.
[0016] Search the standard parameter library on the learning remote control for the first floating range corresponding to the rounded average value and the second floating range corresponding to the guide code;
[0017] If the first floating range of the rounded average exists in the standard parameter library, the rounded average is aligned with the middle value of the first floating range to obtain the target value; if the first floating range of the rounded average does not exist in the standard parameter library, the rounded average is used as the target value; the target value and the rounded average have a one-to-one correspondence.
[0018] Based on the one-to-one correspondence between the target value and the rounded average value, and the correspondence between the rounded average value and the data in the first preliminary time series data, the data in the first preliminary time series data are replaced one by one with the target value that has a corresponding relationship, and the guide code is replaced with the middle value of the second floating range to obtain the first target time series data.
[0019] In one possible implementation, the construction of the key learning list includes:
[0020] Select several remote controls;
[0021] Select M buttons to be learned and their key values from the plurality of remote controls, and place the M buttons to be learned into a candidate list; the M buttons to be learned are buttons that are available in all of the plurality of remote controls; each button to be learned has multiple identical key values and / or different key values, and the number of key values of each button to be learned is equal to the number of remote controls; M is a positive integer;
[0022] The key value that can uniquely identify the remote control from all the key values of the button to be learned is used as the unique key value;
[0023] The number of unique key values for each learned key is counted. Keys whose number of unique key values meets the requirement are added to the key learning list as the first key in the key learning list. The learned key is then removed from the candidate list. The only remote control whose unique key value can be identified is also removed. Keys added to the key learning list are no longer called learned keys.
[0024] The remaining learned keys in the candidate list are combined one by one with the keys in the key learning list to form a candidate sequence;
[0025] Querying whether all keys in the candidate sequence exist can identify a unique set of key values from the remaining undeleted remote controls, and this set of key values is used as the unique key value group.
[0026] The number of unique key value groups in each candidate sequence is counted. The learned key in the candidate sequence whose number of unique key value groups meets the quantity requirement is added to the key learning list as the second key in the key learning list. The learned key is then deleted from the candidate list. The only remote control that can be determined by the first key and the second key is deleted.
[0027] Repeat the above steps to form a candidate sequence and follow up until the candidate list is empty;
[0028] Specifically, when there is only one key to be learned in the candidate list, the key to be learned is directly added to the key learning list as the Xth key in the key learning list, and the key to be learned is deleted from the candidate list; the Xth key is the last key in the key learning list, and X is a positive integer.
[0029] In one possible implementation, determining the infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values based on the number of 1 values in the first bitmap includes:
[0030] When the number of 1 values in the first set bitmap is equal to 1, the infrared protocol parameters of the remote control corresponding to that position and the correspondence between all buttons and key values are obtained as the infrared protocol parameters and correspondence between all buttons and key values of the target remote control.
[0031] When the number of 1 values in the first bitmap is greater than 1, the second learnable key in the key learning list is determined, the infrared protocol parameters of the target remote control and the correspondence between all keys and key values are determined according to the second learnable key, and the correspondence between the second learnable key and its key value is recorded in the memory of the learning remote control; the second learnable key is the second key that exists on the target remote control in the key learning list.
[0032] In one possible implementation, determining the infrared protocol parameters of the target remote control and all key-value correspondences based on the second learned key includes:
[0033] In response to the learning remote control receiving a second infrared signal from the target remote control, the infrared protocol parameters of the second infrared signal are determined, and the second preliminary timing data of the second infrared signal is determined; the second infrared signal is the infrared signal of the second button being learned.
[0034] The second preliminary time series data is preprocessed to obtain the second target time series data;
[0035] The second target timing data is decoded according to the infrared protocol parameters of the second infrared signal to obtain the second key value; the second key value has a one-to-one correspondence with the second learned key.
[0036] The first set bitmap is set to zero based on the second key value to obtain the second set bitmap;
[0037] When the number of 1 values in the second bitmap is equal to 1, the infrared protocol parameters of the remote control corresponding to that position and the correspondence between all buttons and key values are obtained as the infrared protocol parameters and correspondence between all buttons and key values of the target remote control.
[0038] When the number of 1 values in the second set bitmap is greater than 1, a new learnable key is determined from the key learning list and the above steps are repeated until the number of 1 values in the new set bitmap is equal to 1. In the process of selecting a new learnable key and repeating the above steps, if the number of 1 values in a set bitmap after the new learnable key is set to zero is equal to 0, the learning remote control is controlled to enter the full key learning mode.
[0039] In one possible implementation, the characteristic is that,
[0040] When the number of 1 values in the bitmap is equal to 0, the learning remote control is controlled to enter the full-key learning mode.
[0041] In one possible implementation, the full-key learning mode includes:
[0042] The user is prompted to press the unlearned button on the target remote control.
[0043] When the learning remote controller receives the infrared signal of the unlearned learning button emitted by the target remote controller, it determines the infrared protocol parameters of the infrared signal of the unlearned learning button and determines the third preliminary timing data of the infrared signal of the unlearned learning button.
[0044] The third preliminary time series data is preprocessed to obtain the third target time series data;
[0045] Based on the infrared protocol parameters of the infrared signal of the button being learned, the key-key value correspondence of the third target timing data is searched from the pre-stored remote control library, the key-key value correspondence of the third target timing data is configured on the learning remote control, and the key-key value correspondence of the third target timing data is recorded in the memory of the learning remote control.
[0046] Repeat the above steps until all the buttons on the target remote control are learned by the learning remote control.
[0047] In one possible implementation, constructing the first-bit graph based on the infrared protocol parameters of the first infrared signal, the first target timing data, and the pre-stored remote control library on the learning remote control includes:
[0048] The target timing data is grouped in the pre-stored remote controller library according to the infrared protocol parameters of the first infrared signal, and is used as the target group.
[0049] Query the number of remote controllers in the target group;
[0050] The first bitmap is constructed based on the number of remote controllers in the target group;
[0051] Wherein, the number of bits N in the first bitmap is equal to the number of remote controllers in the target group.
[0052] In one possible implementation, the construction process of the pre-stored remote control library includes:
[0053] Collect infrared data from multiple remote controls; the infrared data includes infrared signal data and infrared protocol parameters for all buttons on the remote controls;
[0054] The infrared signal data of each button on each remote control is determined to obtain multiple fourth preliminary timing data.
[0055] The preprocessing is performed on the fourth preliminary time series data to obtain the fourth target time series data;
[0056] Based on the infrared protocol parameters of each remote control and the timing data of each fourth target, the key values of each button on each remote control are restored, and the key-key value correspondence is generated.
[0057] The pre-stored remote control is obtained by marking all the button-key value correspondences and their infrared protocol parameters on each remote control.
[0058] Pre-stored remote controllers with the same infrared protocol parameters are grouped into the same group, and all groups are combined into a pre-stored remote controller library.
[0059] The number of each group in the pre-stored remote control library is the number of pre-stored remote controls contained in that group.
[0060] In one possible implementation, the construction process of the standard parameter library includes:
[0061] Collect all infrared signals from common remote controls and extract the timing data of all infrared signals;
[0062] A fluctuation percentage is set for each time series data to obtain multiple fluctuation ranges; the fluctuation percentage is set according to the mean or standard deviation of the time series data of each infrared signal; the mean and the standard deviation are calculated by collecting all infrared signals of common remote controls and extracting their time series data;
[0063] All floating ranges are combined into a standard parameter library.
[0064] Compared with the prior art, this application has the following beneficial effects:
[0065] This application provides a remote control learning method. Specifically, when executing the remote control learning method provided in this application embodiment, firstly, when the learning remote control, which has entered learning mode, receives a first infrared signal from the target remote control, the infrared protocol parameters and first preliminary timing data of the first infrared signal are determined. The first infrared signal is the infrared signal of the first button to be learned, and the first button to be learned is the first button present on the target remote control in the button learning list. Next, the first preliminary timing data is preprocessed to obtain first target timing data. A first bit map is constructed using the infrared protocol parameters of the infrared signal, the target timing data, and a pre-stored remote control library on the learning remote control. The first target timing data is decoded according to the infrared protocol parameters of the first infrared signal to obtain the corresponding first key value. The first bit map has N bits, and the value of each bit is 1. Then, based on the one-to-one correspondence between the first key value and the first button to be learned, the first bit map is set to zero to obtain a first set bit map. Then, based on the number of 1 values in the first set bit map, the infrared protocol parameters of the target remote control and the correspondence between all buttons and key values are determined. The infrared protocol parameters of the target remote control and the correspondence between all buttons and key values are configured on the learning remote control. This application, after the learning remote control receives the first infrared signal from the target remote control, preprocesses the initial timing data to make the received signal more stable and reliable. This avoids operational errors or functional failures caused by errors between the signals received by the new remote control and those transmitted by the original remote control. Furthermore, based on the infrared protocol parameters and key-value correspondences of the target remote control, these parameters and correspondences can be directly configured on the learning remote control, enabling rapid learning and convenient use without the need for individual button-by-button learning. Attached Figure Description
[0066] To more clearly illustrate the technical solutions in this embodiment or the prior art, the drawings used in the description of the embodiment or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0067] Figure 1 A schematic diagram illustrating an exemplary application scenario provided in this application embodiment;
[0068] Figure 2 A flowchart of a remote learning method provided in this application embodiment;
[0069] Figure 3 A flowchart illustrating a method for constructing a key learning list, as provided in this application embodiment;
[0070] Figure 4a A remote control-button-key value lookup table is provided for embodiments of this application;
[0071] Figure 4b A remote control-button-key value lookup table is provided for embodiments of this application;
[0072] Figure 4c A remote control-button-key value lookup table is provided for embodiments of this application;
[0073] Figure 4d A remote control-button-key value lookup table is provided for embodiments of this application;
[0074] Figure 4e A remote control-button-key value lookup table is provided for embodiments of this application;
[0075] Figure 4f A remote control-button-key value lookup table is provided for embodiments of this application;
[0076] Figure 4g A remote control-button-key value lookup table is provided for embodiments of this application;
[0077] Figure 4h A remote control-button-key value lookup table is provided for embodiments of this application;
[0078] Figure 5 A flowchart illustrating a method for removing errors from infrared time-series data, provided in an embodiment of this application;
[0079] Figure 6 A flowchart illustrating a method for constructing a pre-stored remote control library, as provided in this application embodiment;
[0080] Figure 7 This is a schematic diagram of the structure of a remote learning device provided in an embodiment of this application. Detailed Implementation
[0081] To facilitate understanding of the technical solutions provided in the embodiments of this application, the background technology involved in the embodiments of this application will be described below.
[0082] Remote learning functionality is typically used in the following two scenarios:
[0083] Remote Control Replacement: When we lose or damage our original remote control, we can use a universal remote control with a learning function to replace it. In this process, we need to transfer the button codes of the original remote control to the universal remote control via the learning function and save it as a new code sequence. This way, in subsequent use, we can use the universal remote control to simulate the original remote control and perform corresponding operations and controls.
[0084] Remote Control Merging: When we need to control multiple devices simultaneously, we can use one remote control to replace multiple original remote controls, thus merging the remote controls. In this process, we need to use the set-top box remote control's learning function to learn the encoding sequence of the TV remote control and save it in the set-top box remote control. This way, in subsequent use, we can use the set-top box remote control to simultaneously control both the TV and the set-top box, making operation and control convenient and quick.
[0085] Regardless of the scenario, the button encoding sequence of the original remote control needs to be transmitted to the new remote control via recording. During recording, the new remote control receives the signal sent by the original remote control through an infrared sensor and converts it into the corresponding button encoding sequence. Due to the instability of infrared sensors and potential interference during signal transmission, the signal received by the new remote control may differ from the signal sent by the original remote control, leading to remote control malfunction or incorrect operation. Furthermore, during the learning process, the user needs to learn each button individually. This means the user needs to perform multiple operations to complete the learning process for all buttons. This is especially problematic for complex remote controls, which may require learning a large number of buttons, causing considerable inconvenience and hassle for the user.
[0086] To address this issue, this application provides a remote control learning method. When the learning remote control receives a first infrared signal from a target remote control, it determines the target remote control's infrared protocol parameters and its first preliminary timing data. Next, the first preliminary timing data is preprocessed to obtain first target timing data, and a first bit map is constructed based on the infrared signal's protocol parameters, the target timing data, and a pre-stored remote control library. The first target timing data is decoded according to the infrared protocol parameters of the first infrared signal to obtain a first key value, and the bits corresponding to remote controls in the first bit map that do not include the one-to-one correspondence between the first key value and the first learned key are set to 0 to obtain a first set bit map. Finally, the infrared protocol parameters of the target remote control and all key-key correspondences are determined by calculating the number of 1 values in the first set bit map, and these are configured on the learning remote control. This method improves signal stability and reliability, avoiding operational errors or functional failures caused by inaccuracies. It also allows for rapid learning and convenient use.
[0087] To facilitate understanding of the remote control learning method provided in the embodiments of this application, the following is combined with... Figure 1 The example scenario is shown below. See also... Figure 1 This figure is a schematic diagram of an exemplary application scenario provided in the embodiments of this application.
[0088] Once the user activates the learning remote control into learning mode, they will actively press the first learn button on the target remote control. When this button is pressed, the target remote control emits an infrared signal, which the learning remote control can receive to perform remote control learning. A pre-defined operation can be performed, such as pressing and holding a specific button on the learning remote control, or pressing a combination of buttons, to activate the learning mode.
[0089] Once the remote control learning process is complete, a pre-set flashing indicator light will notify the user that learning is finished. The specific indicator light can indicate the completion of learning through color, on / off time, or the number of flashes.
[0090] After the remote control learning process is complete, the learning results need to be verified using the controlled device. Specifically, this can be done by checking if the controlled device (such as a TV or set-top box) responds correctly to all buttons on the learning remote control. If all buttons respond normally, the matched pre-stored remote control is considered identical to the target remote control, indicating that the learning result is correct. If some buttons are unresponsive, it means the target remote control is not in the remote control library, indicating that the learning result is incorrect and requires further full-key learning.
[0091] Those skilled in the art will understand that Figure 1 The schematic diagram shown is merely one example in which embodiments of this application can be implemented. The scope of application of the embodiments of this application is not limited by any aspect of this framework.
[0092] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0093] See Figure 2 The figure is a flowchart of a remote learning method provided in an embodiment of this application, as shown below. Figure 2 As shown, the remote control learning method may include steps S201-S205:
[0094] S201: In response to the learning remote controller receiving the first infrared signal from the target remote controller, determine the infrared protocol parameters of the first infrared signal and determine the first preliminary timing data of the first infrared signal.
[0095] The infrared signal from a remote control is actually a data format composed of digital or pulse signals, typically consisting of two parts: a preamble and data bits. Different protocol parameters use different encoding protocols, and different encoding protocols use different data formats and encoding methods to represent remote control operation commands. Therefore, when parsing an infrared signal, it is necessary to determine the infrared protocol parameters of the first infrared signal and perform corresponding decoding processing for the specific infrared protocol parameters.
[0096] Specifically, when receiving an infrared signal from a remote control with unknown infrared protocol parameters, the received infrared signal needs to be converted into a digital signal. Then, based on the characteristics and patterns of different infrared protocol parameters, the digital signal is decoded to obtain the specific operation commands sent by the remote control.
[0097] Infrared signals are transmitted as time-series data. Remote controls typically use infrared light to transmit signals, which are encoded into a series of digital or electrical signals for transmission. The time-series data of the infrared signal contains a wealth of information, primarily including infrared light intensity, time interval, start bit, stop bit, and the encoding of each button.
[0098] In addition, the parsed data bits need to be verified to ensure that the received signal is valid.
[0099] This process requires understanding the infrared protocol parameters used by the target remote control in order to correctly interpret the infrared signals and execute the corresponding operations. If the necessary information is lacking or the signal cannot be identified, it may be necessary to analyze and test more infrared signals to extract more useful information, thereby achieving the decoding of infrared signals with unknown infrared protocol parameters.
[0100] It should be noted that only a learning remote control in learning mode can receive infrared signals from a target remote control for learning. After the user enters learning mode, they can press the first button to be learned to emit the first infrared signal. This first button to be learned is the first button on the target remote control listed in the button learning list.
[0101] For example, suppose the button learning list is [K5, K4, K3, K2, K1]. If K5 exists on the target remote control, then K5 is the first button to be learned. If K5 does not exist on the target remote control, but K4 exists, then K4 is the first button to be learned.
[0102] See Figure 3 , Figure 3 This application provides a flowchart of a method for constructing a key learning list. Accordingly, the construction of the key learning list can be achieved through steps A1-A8:
[0103] A1: Select several remote controls.
[0104] To build the button learning list, several reference remote controls are first selected. Because remote controls of different brands and models may have design differences, and to improve the accuracy of button recognition, multiple reference remote controls are needed as comparison standards.
[0105] A2: Select M buttons to be learned and their key values from the plurality of remote controls, and add the M buttons to be learned to a candidate list.
[0106] Select M buttons to be learned and their key values from these reference remote controllers, and add these buttons to a candidate list. The selected buttons must be buttons present on all reference remote controllers, each button must have multiple key values, and the key values of each button can be the same or different. Furthermore, the number of key values should equal the number of reference remote controllers.
[0107] Example 1: Suppose there are eight reference remote controls: remote control 1, remote control 2, remote control 3, remote control 4, remote control 5, remote control 6, remote control 7, and remote control 8. These eight reference remote controls have five buttons to be learned: K1, K2, K3, K4, and K5, with M = 5. (See also...) Figure 4a The key values for K1 in remote controls 1, 2, 3, 4, 5, 6, 7, and 8 are all "14, 14, 4, 251". The key values for K2 in remote controls 1, 2, 3, and 4 are all "14, 14, 5, 250". The key values for K2 in remote controls 5, 6, 7, and 8 are all "14, 14, 6, 249". The key values for K3 in remote controls 1 and 2 are all "14, 14, 6, 249". The key values for K3 in remote controls 3 and 4 are all "14, 14, 7, 248". The key values for K3 in remote controls 5 and 6 are all "14, 14, 8, 247". The key values for K3 in remote controls 7 and 8 are all "14, 14, 8, 247". The key values in device 8 are all "14, 14, 9, 246". The key values of K4 in remote control 1 and remote control 8 are all "14, 14, 7, 248". The key values of K4 in remote control 2 and remote control 5 are all "14, 14, 10, 245". The key values of K4 in remote control 3 and remote control 6 are all "14, 14, 12, 243". The key values of K4 in remote control 4 and remote control 6 are "14, 14, 13, 242". The key values of K5 in remote control 1 are "14, 14, 8, 247". The key values of K5 in remote control 2 are "14, 14, 9, 256". The key values of K5 in remote control 3, remote control 4, remote control 5, remote control 6, remote control 7 and remote control 8 are "14, 14, 11, 244". The five learned numbers K1, K2, K3, K4, and K5 are added to the candidate list [ ], resulting in the candidate list [K1, K2, K3, K4, K5].
[0108] A3: Select the key value from all the key values of the button to be learned that can uniquely identify the remote control as the unique key value.
[0109] By querying the unique key value of each learned button, the remote control corresponding to that button can be uniquely identified through that key value.
[0110] Example 2, taking Example 1 as an example, shows that K1, K2, K3 and K4 do not have a unique key value that can identify a unique remote control, while K5 has two key values that can identify a unique remote control: "14, 14, 8, 247" and "14, 14, 9, 256". "14, 14, 8, 247" can identify remote control 1, and "14, 14, 9, 256" can identify remote control 2.
[0111] A4: Count the number of unique key values for each learned key, add the learned key with the required number of unique key values to the key learning list as the first key of the key learning list, and delete the learned key from the candidate list. Delete the only remote control whose unique key value can be determined.
[0112] Count the number of unique key values for each learned button. Since the learned button may have different key values on different remote controls, it is necessary to count the key values of that button on all remote controls and record the frequency of each key value. Then, add the learned button with the most unique key values (i.e., meeting the quantity requirement) to the button learning list as the first button. Because the more unique key values a button has, the stronger its recognition ability across different remote controls, we can prioritize the button with the most unique key values as the reference standard and add it to the button learning list as the first button. Next, remove the first button from the candidate list and remove the only remote control whose unique key value can identify it. Since the unique key values of the first button can identify its corresponding remote control, we can match these key values with specific remote controls and remove all identified key values contained in this remote control from the candidate list for subsequent searching and filtering. When multiple buttons meet the quantity requirement, select one.
[0113] Example 3, using Example 2 as an example, determines the number of unique remote controls based on the key values of each button in Example 2, thus identifying K5 as the first button. K5 is then added to the button learning list [] as the first button in the learning list, resulting in the button learning list [K5]. The learned button is then removed from the candidate list to obtain a new candidate list [K1, K2, K3, K4]. Simultaneously, remote control 1, identified by the unique key value "14, 14, 8, 247", and remote control 2, identified by the unique key value "14, 14, 9, 256", are deleted. Figure 4b As shown.
[0114] It should be noted that the keys added to the key learning list are no longer referred to as the learned keys, but as the first key, the second key, the third key, etc.
[0115] A5: Combine the remaining learned keys in the candidate list with the keys in the key learning list to form a candidate sequence.
[0116] At this point, there is only one first button in the candidate list. Therefore, the remaining learned buttons that have not been deleted are combined with the first button one by one to form a candidate sequence. In other words, given the first button, we can try combining other buttons with it to see if we can uniquely determine the remote control they correspond to.
[0117] Example 4, using Example 3 as an example, shows that the key learning list is [K5], and the candidate list is [K1, K2, K3, K4]. K5 needs to form candidate sequences with K1, K2, K3, and K4 respectively, resulting in four candidate sequences: {K5, K1}, {K5, K2}, {K5, K3}, and {K5, K4}. The candidate sequence {K5, K1} corresponds to... Figure 4c Candidate sequences {K5, K2} correspond to Figure 4d Candidate sequences {K5, K3} correspond to Figure 4e Candidate sequences {K5, K4} correspond to Figure 4f .
[0118] A6: Query whether there exists a set of key values for a unique remote control from the remaining undeleted remote controls in the candidate sequence, and use this set of key values as the unique key value group.
[0119] It is necessary to query each candidate sequence to see if a key-value pair exists, and then determine a unique set of key-value pairs from the remaining undeleted remote controls as the unique key-value pair.
[0120] If a key-value pair corresponds to only one remote control, then the key-value pair is considered reliable, and we can treat it as a unique key-value group. If all key-value pairs in a candidate sequence meet the requirements, then all buttons in that sequence can be considered reliable, and their corresponding key-value groups become valid unique key-value groups.
[0121] By repeating this process, we can check if any of the keys in each candidate sequence contains a set of key values that can be used to uniquely identify a remote control from the remaining, undeleted remote controls. If such a set of key values exists, the corresponding key can be added to the key learning list.
[0122] Example 5, using Example 4 as an example for illustration, is derived from... Figure 4c , Figure 4d , 4e as well as Figure 4fIt can be seen that the key-value pairs in candidate sequences {K5, K1} cannot identify a unique remote control, the key-value pairs in candidate sequences {K5, K2} also cannot identify a unique remote control, and the key-value pairs in candidate sequences {K5, K3} also cannot identify a unique remote control. However, the key-value pairs "14, 14, 10, 245" and "14, 14, 11, 244" in candidate sequences {K5, K3} can identify a unique remote control. The key-value pairs “14, 14, 7, 248” and “14, 14, 11, 244” in the candidate sequence {K5, K3} can identify the unique remote controller 8. That is to say, the key-value pairs “14, 14, 10, 245” and “14, 14, 11, 244”” are a unique key-value pair, and the key-value pairs “14, 14, 7, 248” and “14, 14, 11, 244”” are also a unique key-value pair.
[0123] In summary, checking whether all buttons in each candidate sequence exist and identifying a unique set of key values from the remaining undeleted remote controls is a crucial step in the button learning process. Only by filtering out reliable buttons in this way can the response accuracy and speed of the target device be improved.
[0124] A7: Count the number of unique key value groups in each candidate sequence, add the learned key in the candidate sequence whose number of unique key value groups meets the quantity requirement to the key learning list as the second key in the key learning list, and delete the learned key from the candidate list. Delete the unique remote control that can be determined by the first key and the second key.
[0125] Count the number of unique key-value groups in each candidate sequence. Add the learned key from the candidate sequence with the most unique key-value groups (i.e., meeting the quantity requirement) to the key learning list as the second key, and remove the learned key from the candidate list. At the same time, delete the only remote control that can be identified by the first key and the second key. If multiple keys meet the quantity requirement, select one.
[0126] Example 6, using Example 5 as an example, shows that candidate sequences {K5, K1}, {K5, K2}, and {K5, K3} all have 0 unique key value groups, while candidate sequence {K5, K4} has 2 unique key value groups. Therefore, the learned key K4 in candidate sequence {K5, K4} is added to the key learning list, resulting in a new key learning list [K5, K4]. After being added to the key learning list, the learned key K4 is called the second key and is no longer called the learned key. K4 is then deleted from the candidate list to obtain a new candidate list [K1, K2, K3]. Simultaneously, the unique remote control 5, which can be determined by the unique key pairs "14, 14, 10, 245" and "14, 14, 11, 244", is deleted, as is the remote control 8, which can be determined by the unique key pairs "14, 14, 7, 248" and "14, 14, 11, 244". Figure 4g As shown.
[0127] It should be noted that the buttons in the button learning list are arranged in the order they were added.
[0128] A8: Repeat steps A5-A7 until the candidate list is empty.
[0129] Repeat the above steps until the candidate list is empty. The final generated key learning list reflects the name, location, and corresponding key value of all keys on the target device.
[0130] When only one key remains in the candidate list, it is directly added to the key learning list as the last key in the key learning list, and named the Xth key, where X is a positive integer.
[0131] Example 7, using Example 6 as an example, shows that the current candidate list is [K1, K2, K3], and the key learning list is [K5, K4]. There are still 3 keys in the candidate list, so a new candidate list {K5, K4, K1}, {K5, K4, K2}, and {K5, K4, K3} needs to be constructed. The key-value pairs in the candidate sequence {K5, K4, K1} cannot identify a unique remote control, and the key-value pairs in the candidate sequence {K5, K4, K2} also cannot identify a unique remote control. Furthermore, the key-value pairs in the candidate sequence {K5, K4, K3} such as "14, 14, 8, 247" and "14, 14, 12, 243" are not unique. The key value set "14, 14, 11, 244" can identify the unique remote control 6. Another set of key values in the candidate sequence {K5, K4, K3}, "14, 14, 9, 246", "14, 14, 13, 242", and "14, 14, 11, 244" can identify the unique remote control 7. That is to say, the key value set "14, 14, 8, 247", "14, 14, 12, 243", and "14, 14, 11, 244" is a unique key value set, and the key value set "14, 14, 9, 246", "14, 14, 13, 242", and "14, 14, 11, 244" is also a unique key value set. Therefore, the candidate list {K5, K4, K1} has 0 unique key-value pairs, the candidate list {K5, K4, K2} has 0 unique key-value pairs, and the candidate list {K5, K4, K3} has 2 unique key-value pairs. Then, the key K3 to be learned from the candidate sequence {K5, K4, K3} is added to the key learning list, resulting in a new key learning list [K5, K4, K3]. After being added to the key learning list, the key K3 is referred to as the third key and is no longer called the learned key. Finally, K3 is removed from the candidate list to obtain a new candidate list [K1, K2]. Simultaneously delete the unique remote control 6 that can be identified by the unique key pairs "14, 14, 8, 247", "14, 14, 12, 243", and "14, 14, 11, 244", and delete the unique remote control 7 that can be identified by the unique key pairs "14, 14, 9, 246", "14, 14, 13, 242", and "14, 14, 11, 244". Figure 4h As shown.
[0132] The current candidate list is [K1, K2], and the button learning list is [K5, K4, K3]. There are still two buttons in the candidate list, so we need to construct new candidate lists {K5, K4, K3, K1} and {K5, K4, K3, K2}. The key values "14, 14, 4, 251", "14, 14, 7, 248", "14, 14, 12, 243", and "14, 14, 11, 244" in the candidate sequence {K5, K4, K3, K1} can identify the unique remote control 3. Another set of key values in the candidate sequence {K5, K4, K3, K1}, "14, 14, 4, 251", "14, 14, 7, 248", "14, 14, 12, 243", and "14, 14, 11, 244" can identify the unique remote control 3. The key values “14, 14, 13, 242” and “14, 14, 11, 244” in the candidate sequence {K5, K4, K3, K2} can identify the unique remote control 4. The key values “14, 14, 5, 250”, “14, 14, 7, 248”, “14, 14, 12, 243”, and “14, 14, 11, 244” in the candidate sequence {K5, K4, K3, K2} can identify the unique remote control 3. The key values “14, 14, 5, 250”, “14, 14, 7, 248”, “14, 14, 13, 242”, and “14, 14, 11, 244” in the candidate sequence {K5, K4, K3, K2} can identify the unique remote control 4. Therefore, both the candidate lists {K5, K4, K3, K1} and {K5, K4, K3, K2} have two unique key value groups. We then arbitrarily select one candidate sequence; in this example, we select {K5, K4, K3, K2}. We add the learned key K2 from the candidate sequence {{K5, K4, K3, K2} to the key learning list, resulting in a new key learning list [K5, K4, K3, K2]. After being added to the key learning list, the learned key K3 is referred to as the third key and is no longer called the learned key. We then delete K2 from the candidate list to obtain a new candidate list [K1]. Simultaneously, we delete the unique key pairs for remote controls 3 and 4.
[0133] The current candidate list is [K1], and the key learning list is [K5, K4, K3, K2]. There is still one key in the candidate list, so the key to be learned, K1, is directly added to the key learning list to obtain a new key learning list [K5, K4, K3, K2, K1]. Then, K1 is deleted from the candidate list to obtain a new candidate list []. The process can be stopped when the candidate list is empty.
[0134] It should also be noted that the infrared protocol parameters include the preamble, the infrared encoding method, and the infrared encoding duration:
[0135] Preamble: A preamble is a special coded sequence used in infrared signal transmission to synchronize the timing between the transmitter and receiver. In infrared remote controls, a preamble typically uses a 2ms high level followed by a 1.5ms low level.
[0136] Infrared technology encoding method: The infrared technology encoding method refers to the encoding method of the signals sent by the infrared remote control.
[0137] Infrared technology encoding duration: Infrared technology encoding duration refers to the duration of each encoded sequence element in an infrared signal.
[0138] Regarding infrared technology encoding methods, there are generally two different methods: Pulse Width Encoding and Frequency Shift Keying.
[0139] Pulse Width Encoding: In pulse width encoding, bit 0 and bit 1 are represented by pulses of different lengths. For example, in the NEC protocol, bit 0 represents a 560-microsecond high-level pulse followed by a 1680-microsecond low-level pulse, while bit 1 represents a 560-microsecond high-level pulse followed by a 560-microsecond low-level pulse. Therefore, during decoding, digital signals can be decoded based on different pulse lengths.
[0140] Dual-frequency keying: In dual-frequency keying, bit 0 and bit 1 are represented by signals of different frequencies. For example, in the Remote Control 5 (RC5) protocol, bit 0 represents the switch between square wave signals at 36 kHz and 19 kHz, while bit 1 represents the switch between square wave signals at 36 kHz and 22 kHz. Therefore, during decoding, digital signals can be decoded based on different frequency combinations.
[0141] Therefore, the specific method for determining the infrared protocol parameters of the first infrared signal is as follows: By analyzing a segment of the infrared signal and identifying the recurring encoding sequence that differs from other parts, the preamble can be determined. By observing the duration and frequency of high and low levels in the infrared signal, the encoding method used by the remote control can be roughly determined. For example, in pulse width encoding, the encoding sequence of each button consists of several high and low levels. By calculating the duration and frequency of each high and low level, the encoding method used by the remote control can be inferred. By observing the duration of each high and low level in the infrared signal, the duration of each encoding element can be calculated, and thus the duration of the entire encoding sequence can be determined. For example, in pulse width encoding, the duration of each encoding element is determined by the duration of the high and low levels. By adding the durations of all encoding elements, the duration of the entire encoding sequence can be obtained.
[0142] S202: Preprocess the first preliminary time series data to obtain the first target time series data.
[0143] When the learning remote controller receives the first infrared signal from the target remote controller, the actual received value will fluctuate and produce errors. This is because after obtaining the first preliminary timing data, the data needs to be preprocessed to reduce the errors.
[0144] See Figure 5 , Figure 5 This application provides a flowchart of a method for removing errors from infrared time-series data. Accordingly, the first preliminary time-series data is preprocessed to obtain the first target time-series data, which can be specifically achieved through steps B1-B5:
[0145] B1: The first preliminary time series data is divided into multiple groups of time series data using a clustering algorithm.
[0146] The raw, preliminary time-series data is clustered using methods such as similarity or distance metrics to obtain multiple groups of time-series data. These time-series data share similar characteristics and attributes, which can better describe the signal properties and facilitate further analysis and processing.
[0147] B2: Calculate the rounded average of the time series data for each group.
[0148] For each group of time series data, an average value is calculated. The average value has a one-to-one correspondence with the data in the first preliminary time series data used to calculate the average value. This correspondence will be used in subsequent processing.
[0149] Example 8, suppose the first preliminary time series data received is:
[0150] "4514, 4483, 576, 554, 576, 1673, 590, 1677, 576, 1673, 576, 554, 577, 554, 574, 576, 574, 575, 1673, 576, 1674, 591, 1680, 592, 558, 577, 554, 577, 555, 577" 555, 577, 554, 576, 554, 576, 554, 576, 554, 576, 554, 575, 552, 575, 1670, 589, 557, 576, 1674, 576, 1673, 590, 1677, 576, 1673, 590, 1677, 590, 1677, 591, 558, 577, 1676”.
[0151] They can be divided into three groups using a clustering algorithm.
[0152] The first group is:
[0153] 576, 554, 576, 590, 576, 576, 554, 577, 554, 576, 574, 576, 574, 575, 576, 591, 592, 558, 577, 554, 577, 555, 577, 555, 577, 574, 576, 574, 576, 574, 576, 575, 552, 575, 589, 557, 576, 576, 590, 576, 590, 590, 591, 558, 577.
[0154] The average value of the first set of data is 570.66, and the rounded average value is 570. This rounded average value corresponds to each data point in the first set.
[0155] The second group is:
[0156] 1673, 1677, 1673, 1673, 1674, 1680, 1670, 1674, 1673, 1677, 1673, 1677, 1677, 1677, 1676.
[0157] The average value of the second set of data is 1674.78, and the rounded average value is 1674. Similarly, this rounded average value corresponds to each data point in the second set.
[0158] The third group is:
[0159] 4514, 4483.
[0160] The average value of the third set of data is 4498.5, and the rounded average value is 4498. Similarly, this rounded average value corresponds to each data point in the third set.
[0161] B3: Find the floating range corresponding to the rounded average value from the standard parameter library.
[0162] Find the floating range corresponding to the rounded average value in the standard parameter library.
[0163] In one possible implementation, the construction process of the standard parameter library includes:
[0164] Collect all infrared signals from common remote controls and extract the timing data of all infrared signals. Then, set the fluctuation percentage for each timing data to obtain multiple fluctuation ranges. Finally, combine all fluctuation ranges into a standard parameter library.
[0165] Specifically, the construction process of a standard parameter library typically involves the following steps:
[0166] (1) Collect remote control signals: First, it is necessary to collect common infrared remote control signals and save them on the device. These signals can come from existing remote controls, open-source infrared remote control code libraries, or professional testing instruments, etc.
[0167] (2) Decoding the signal: The collected signal then needs to be decoded to obtain the timing data of each infrared signal in order to determine its infrared protocol parameters. This can be done by using tools such as infrared signal decoders.
[0168] (3) Standard value determination: Once the infrared protocol parameters are determined, the standard value of the timing data can be determined.
[0169] (4) Constructing the floating range: Construct a standard floating range based on the standard value. This range usually consists of an intermediate value and a preset upper and lower fluctuation percentage (e.g., 10%).
[0170] (5) Store in library: Finally, store the standard floating range of each known infrared protocol parameter in the parameter library for later use. This library can be used during remote control learning to quickly match and decode received signals.
[0171] It should be noted that the fluctuation percentage is set based on the mean or standard deviation of the time-series data for each infrared signal. The mean and standard deviation are calculated by collecting all infrared signals from common remote controls and extracting their time-series data.
[0172] B41: If the standard parameter library contains the floating range of the rounded average value, align the rounded average value with the middle value of the floating range to obtain the target value.
[0173] If a range for the average value exists in the standard parameter library, the average value is aligned with the midpoint of the range to obtain the target value. There is a one-to-one correspondence between the target value and the rounded average value.
[0174] B42: If the floating range of the rounded average value does not exist in the standard parameter library, the rounded average value shall be used as the target value.
[0175] If the standard parameter library does not contain a range for the average value, the rounded average value will be used as the target value. There is a one-to-one correspondence between the target value and the rounded average value.
[0176] B5: Based on the one-to-one correspondence between the target value and the rounded average value, and the correspondence between the rounded average value and the data in the first preliminary time series data, the data in the first preliminary time series data are replaced one by one with the target value that has a corresponding relationship, to obtain the first target time series data.
[0177] By utilizing the correspondence between target values and average values, the data in the first preliminary time series data are replaced with target values. This results in first target time series data that more accurately reflects the characteristics of infrared signals, enabling the remote control to better identify and learn these signals.
[0178] Example 9, using Example 8 as an example, assumes that the fluctuation range corresponding to the rounded average of 570 in Example 1 is 560±10%, then the rounded average of 570 is aligned with 560; the fluctuation range corresponding to the rounded average of 1674 is 1680±10%, then the rounded average of 1674 is aligned with 1680; the fluctuation range corresponding to the rounded average of 4498 is 5000±10%, then the rounded average of 4498 is aligned with 5000. Accordingly, the first target time series data after replacing the first preliminary time series data is:
[0179] 5000, 5000, 560, 560, 560, 168 ... 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 1680, 560, 560, 560, 1680, 560, 1680, 560, 1680, 560, 1680, 560, 1680, 560, 1680, 560, 560, 1680.
[0180] S203: Construct a first bit map based on the infrared protocol parameters of the first infrared signal, the first target timing data, and the pre-stored remote control library on the learning remote control; decode the first target timing data based on the infrared protocol parameters of the first infrared signal to obtain a first key value.
[0181] Based on the infrared protocol parameters of the first infrared signal and the target timing data, an N-bit bitmap (i.e., the first bitmap) with all values equal to 1 is constructed. The key value corresponding to the first target timing data is determined as the first key value. The first key value corresponds one-to-one with the first key being learned. N is a positive integer.
[0182] The first bitmap has N bits, all of which are 1, representing a bitmap of length N, where all bits are set to 1.
[0183] Furthermore, the infrared signal corresponding to each remote control button is independent in terms of infrared protocol parameters. Therefore, based on the infrared protocol parameters of the learned first infrared signal, the signal can be decoded to obtain the corresponding key value, which is then used as the first key value. One key value corresponds to one button, thus there is a one-to-one correspondence between the first key value and the first learned button.
[0184] See Figure 6 , Figure 6 This application provides a flowchart of a method for constructing a pre-stored remote control library. Accordingly, the construction process of the pre-stored remote control library can be specifically implemented using C1-C6:
[0185] C1: Collects infrared data from multiple remote controls.
[0186] To build a pre-stored remote control library, it's first necessary to collect infrared data from multiple remote controls, including infrared signal data and infrared protocol parameters for all buttons. Specifically, this involves acquiring the infrared signal emitted by each button and recording the infrared protocol parameters used, encoding duration, and preamble. These parameters will play a crucial role in subsequent processing, such as decoding and recognizing infrared signals. Therefore, when collecting infrared data, it's essential to cover as many common remote control and button types as possible to obtain more comprehensive and accurate infrared signal data and protocol parameters.
[0187] It should be noted that the duration of infrared coding is usually represented by "bit 0" and "bit 1". "Bit 0" and "bit 1" are two different pulse durations in the National Electronic Code (NEC) infrared coding format. In NEC coding, each binary digit is represented by two different pulse durations, usually referred to as "bit 0" and "bit 1".
[0188] Specifically, "bit 0" represents the pulse duration of logic "0", typically around 560 microseconds; while "bit 1" represents the pulse duration of logic "1", typically around 1690 microseconds. Different combinations of these pulse durations can represent different binary values, thereby enabling the recognition and control of buttons.
[0189] In the infrared protocol parameters, this information needs to be clearly defined and specified so that the program can correctly parse the infrared encoded sequence and convert it into the corresponding operation instructions.
[0190] C2: Determine the infrared signal data of each button on each remote control to obtain multiple fourth preliminary timing data.
[0191] These infrared signal data are typically recorded in time series format, that is, the time point and duration of infrared signal emission are recorded. By recording this information, multiple preliminary fourth-order time series data, also known as "raw data sequences," can be obtained.
[0192] C3: Perform the aforementioned preprocessing on the fourth preliminary time series data to obtain the fourth target time series data.
[0193] After obtaining the fourth preliminary timing data of each remote controller, the fourth preliminary timing data also needs to be preprocessed. The preprocessing method is similar to that of the first preliminary timing data, and will not be described in detail here.
[0194] C4: Based on the infrared protocol parameters of each remote control and the timing data of each fourth target, restore the key values of each button on each remote control and generate the key-key value correspondence.
[0195] The time-series data of each remote control needs to be decoded and analyzed to determine the specific command information represented by each button.
[0196] During the decoding process, it's necessary to consider that different remote controls may use different infrared protocol parameters. Therefore, when decoding time-series data, appropriate processing and judgment are required based on the different infrared protocol parameters. Typically, the decoding process includes the following steps:
[0197] (1) Identifying the preamble: By analyzing and comparing the leading part of the time series data, the preamble used by different remote controllers can be identified. The preamble is the start marker of the remote controller signal, used to identify the starting position of subsequent data.
[0198] (2) Decode binary data: According to the NEC infrared encoding format and other protocols, convert the time series data into binary values, and determine the specific size of each value according to the pulse duration of "bit 0" and "bit 1".
[0199] (3) Determine the key value: By analyzing and matching the binary data obtained from decoding, the specific command information corresponding to each key can be determined.
[0200] (4) Generate button-key value correspondence: Based on the button key value information obtained by decoding, a button-key value correspondence table can be generated for subsequent remote control learning and simulation operation.
[0201] Through these steps, valid information can be extracted from the time-series data of each remote control, the key values of each button can be restored, and a button-key value correspondence can be generated.
[0202] C5: Mark the key-value correspondence and infrared protocol parameters of all buttons on each remote control to obtain the pre-stored remote control.
[0203] For each remote control, information such as its infrared protocol parameters needs to be recorded, and a specific command code needs to be assigned to each button based on the parsed button-key value correspondence. These command codes are usually represented in numbers or hexadecimal and are used for identification and matching during subsequent simulation operations and learning processes.
[0204] The purpose of generating pre-stored remote controls is to provide the device with a basic remote control library, enabling the device to simulate and learn the operation of other remote controls. During subsequent learning and simulation processes, the device can identify and match instruction codes from the pre-stored remote control library, thereby achieving simulated control of other remote controls.
[0205] C6: Group pre-stored remote controllers with the same infrared protocol parameters into the same group, and combine all groups into a pre-stored remote controller library.
[0206] All pre-stored remote controls need to be categorized, grouping those with the same infrared protocol parameters into the same group. For each group in the pre-stored remote control library, a unique number needs to be generated for subsequent identification and matching. Typically, the number of pre-stored remote controls contained in the group can be used as the group number. For example, if a group contains 5 pre-stored remote controls, its number would be set to "5".
[0207] By categorizing and numbering all the pre-stored remote controls, a complete pre-stored remote control library can be obtained. During subsequent learning and simulation processes, the device can use this library to identify and simulate the operation of other remote controls.
[0208] In one possible implementation, the construction of the first bit map based on the infrared protocol parameters of the first infrared signal, the first target timing data, and the pre-stored remote control library on the learning remote control can be achieved through the following steps:
[0209] Since the pre-stored remote control library contains multiple groups with different infrared protocol parameters between groups, while remote controls within the same group use the same infrared protocol parameters, we can first determine the group of the first target timing data in the pre-stored remote control library based on the infrared protocol parameters of the first infrared signal, and use this group as the target group. Then, we query how many remote controls are included in the target group and construct a first-bit graph based on the number of remote controls in the target group. That is, the number of bits in the first-bit graph corresponds to the number of remote controls in the target group, and all bits in the first-bit graph are set to 1. The number of bits N in the first-bit graph is equal to the number of remote controls in the target group.
[0210] S204: Based on the one-to-one correspondence between the first key value and the first learned key, the first bitmap is set to zero to obtain the first set bitmap.
[0211] The first bitmap is obtained by setting the bits corresponding to the remote control that do not include the one-to-one correspondence between the first key value and the first learned key in the first bitmap to 0.
[0212] S205: Determine the infrared protocol parameters of the target remote control and the correspondence between all buttons and key values based on the number of 1 values in the first bitmap, and configure the infrared protocol parameters of the target remote control and the correspondence between all buttons and key values on the learning remote control.
[0213] Based on the number of 1 values in the first set bitmap, the infrared protocol parameters of the target remote control and the correspondence between all buttons and their corresponding values can be determined. Specifically, if the first set bitmap contains only one 1 value, the infrared protocol parameters and button-to-key correspondence used by the remote control can be determined without needing to learn each button press individually. If there are multiple remote controls in the first subgroup, further processing and comparison are required to determine the final infrared protocol parameters and button-to-key correspondence.
[0214] In one possible implementation, determining the infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values based on the number of 1 values in the first bitmap includes:
[0215] When the number of 1 values in the first bitmap is equal to 1, the infrared protocol parameters of the remote control corresponding to that position and the correspondence between all buttons and key values are obtained from the pre-stored remote control library as the infrared protocol parameters and correspondence between all buttons and key values of the target remote control.
[0216] When the number of 1 values in the first set bitmap is greater than 1, the second learnable key in the key learning list is determined. Based on the second learnable key, the infrared protocol parameters of the target remote control and the correspondence between all keys and key values are determined, and the correspondence between the second learnable key and its key value is recorded in the memory of the learning remote control. The second learnable key is the second key that exists on the target remote control in the key learning list.
[0217] In one possible implementation, if the number of 1 values in the first set bitmap is equal to 1, then the learning remote control will flash the indicator light in a predetermined pattern.
[0218] In one possible implementation, determining the infrared protocol parameters of the target remote control and all key-value correspondences based on the second learned key includes:
[0219] D1: In response to the learning remote control receiving the second infrared signal from the target remote control, determine the infrared protocol parameters of the second infrared signal and determine the second preliminary timing data of the second infrared signal; the second infrared signal is the infrared signal of the second button being learned.
[0220] This step is similar to S201 and will not be repeated here.
[0221] D2: Perform the preprocessing on the second preliminary time series data to obtain the second target time series data.
[0222] This step is similar to the preprocessing steps described above, and will not be repeated here.
[0223] D3: The second target timing data is decoded according to the infrared protocol parameters of the second infrared signal to obtain the second key value; the second key value has a one-to-one correspondence with the second learned key.
[0224] This step is similar to S203, and will not be repeated here.
[0225] D4: Set the first set bitmap to zero based on the second key value to obtain the second set bitmap.
[0226] This step is similar to S204, and will not be repeated here.
[0227] D5: When the number of 1 values in the second set bitmap is equal to 1, retrieve the infrared protocol parameters and all key-value correspondences of the remote control corresponding to that position from the pre-stored remote control library as the infrared protocol parameters and all key-value correspondences of the target remote control.
[0228] D6: When the number of 1 values in the second set bitmap is greater than 1, determine a new learnable key from the key learning list and repeat steps D1-D4 until the number of 1 values in the new set bitmap is equal to 1.
[0229] During the execution of steps D1-D4 above, if the number of 1 values in a bitmap based on the new learned key being set to zero is equal to 0, then the learning remote control is controlled to enter the full-key learning mode.
[0230] In one possible implementation, the full-key learning modes include E1-E6:
[0231] E1: Prompts the user to press the unlearned button on the target remote control.
[0232] Once the learning remote control enters full-key learning mode, the user needs to be prompted to press the learning button on the target remote control that has not yet been learned.
[0233] Optionally, when the learning remote control enters full-key learning mode, a pre-set mode flashing indicator light can be used to remind the user to press a button on the target remote control that has not yet been learned. The specific mode flashing indicator light can use color, on / off time, or number of flashes to remind the user to press the button on the target remote control that has not yet been learned.
[0234] E2: When the learning remote controller receives the infrared signal of the unlearned learning button emitted by the target remote controller, it determines the infrared protocol parameters of the infrared signal of the unlearned learning button, and parses the infrared signal of the unlearned learning button according to the infrared protocol parameters of the infrared signal of the unlearned learning button to obtain the third preliminary timing data.
[0235] The learning remote control will receive infrared signals from the corresponding buttons of the target remote control, preparing for the next step.
[0236] The steps of "determining the infrared protocol parameters of the infrared signal of the unlearned learning key, and parsing the infrared signal of the unlearned learning key to obtain the third preliminary timing data" are similar to steps S201, and will not be repeated here.
[0237] E3: Perform the preprocessing on the third preliminary time series data to obtain the third target time series data.
[0238] This step is similar to the preprocessing steps described above, and will not be repeated here.
[0239] E4: Based on the infrared protocol parameters of the infrared signal of the button being learned, search the key-value correspondence of the third target timing data from the pre-stored remote control library, configure the key-value correspondence of the third target timing data onto the learning remote control, and record the key-value correspondence of the third target timing data into the memory of the learning remote control.
[0240] It is necessary to match the key-value correspondence from the pre-stored remote control library based on the protocol parameters of the collected infrared signal, so as to compare the signal of the key to be learned with a pre-stored remote control library and find the corresponding key value.
[0241] E5: Repeat the above steps until all the buttons on the target remote control are learned by the learning remote control, and upload the historical button list to the cloud.
[0242] The remote control learning system will repeat the above steps until all buttons on the target remote control have been learned.
[0243] In one possible implementation, the method further includes:
[0244] After the remote control learning process is complete, the user is prompted to verify it. This involves checking if the controlled device (such as a TV or set-top box) responds correctly to all buttons on the learned remote. If all buttons respond correctly, the matched pre-stored remote is considered identical to the target remote. If some buttons do not respond correctly, it indicates the target remote is not in the remote control library, and further full-key learning is required to supplement the missing button information.
[0245] Specifically, after the remote control learning process is complete, the user needs to verify it to ensure the accuracy and completeness of the learning results. The specific steps are as follows:
[0246] First, remind users to verify the learning results of the learning remote control they have already learned.
[0247] Next, let the user check whether the target device (such as a TV or set-top box) used to respond to the remote control operations of the target remote can respond normally to all the buttons of the learning remote.
[0248] Then, if all buttons respond normally, it means that the matched pre-stored remote control is exactly the same as the target remote control, and at this point the verification process can be ended and normal use can begin.
[0249] Finally, if some buttons are not responding properly, it means that the target remote control is not in the remote control library and further full-key learning is needed to supplement the missing button information.
[0250] During the full-key learning process, the program will prompt the user to press each button on the target remote control in sequence so that the learning remote control can accurately record the corresponding button-key value relationship.
[0251] After all buttons have been learned, verify the learning results again to ensure that all buttons respond correctly. If the verification passes, the remote control can be put into normal use; otherwise, the learning and verification process needs to be repeated until it passes.
[0252] Based on the content of S201-S205, in learning mode, the learning remote control receives the first infrared signal from the target remote control and determines its infrared protocol parameters and preliminary timing data. The first infrared signal is the infrared signal of the first button to be learned, which is the first button present on the target remote control in the button learning list. Next, the preliminary timing data is preprocessed to obtain target timing data, and a first bit map is constructed based on the target timing data, the pre-stored remote control library on the learning remote control, and the protocol parameters. The first target timing data is decoded according to the protocol parameters to obtain the corresponding first key value. Bits in the first bit map that do not have a one-to-one correspondence between the first key value and the first button to be learned are set to 0 to obtain a first set bit map. Finally, the protocol parameters of the target remote control and all button-key value correspondences are calculated based on the number of 1 values in the first set bit map, and these are configured on the learning remote control. This method improves signal stability and reliability, while also achieving rapid learning and ease of use, eliminating the need for learning each button individually.
[0253] See Figure 7 , Figure 7 This is a schematic diagram of the structure of a remote-controlled learning device provided in an embodiment of this application. Figure 7 As shown, the remote-controlled learning device includes:
[0254] The first determining unit 701, in response to the learning remote controller receiving a first infrared signal from the target remote controller, determines the infrared protocol parameters of the first infrared signal to determine the first preliminary timing data of the first infrared signal; the learning remote controller has entered the learning mode; the first infrared signal is the infrared signal of the first button to be learned; the first button to be learned is the first button existing on the target remote controller in the button learning list; the infrared protocol parameters include a preamble, an infrared technology encoding method, and an infrared technology encoding duration.
[0255] The first preprocessing unit 702 is used to preprocess the first preliminary time series data to obtain the first target time series data;
[0256] The first-bit graph construction unit 703 is used to construct a first-bit graph based on the infrared protocol parameters of the first infrared signal, the timing data of the first target, and the pre-stored remote control library on the learning remote control.
[0257] The first decoding unit 704 is used to decode the first target timing data according to the infrared protocol parameters of the first infrared signal to obtain a first key value; the first bitmap has N bits and the value of each bit is 1; the first key value has a one-to-one correspondence with the first learned key; N is a positive integer;
[0258] The first zeroing unit 705 is used to zero out the first bitmap based on the one-to-one correspondence between the first key value and the first learned key, so as to obtain the first zeroed bitmap.
[0259] The configuration unit 706 is configured to determine the infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values based on the number of 1 values in the first bitmap, and configure the infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values on the learning remote controller.
[0260] In one possible implementation, the device further includes:
[0261] Clustering unit, used to divide the first preliminary time series data into multiple groups of time series data using a clustering algorithm;
[0262] The calculation unit is used to calculate the rounded average value of each group of time series data; the rounded average value corresponds to the data in the first preliminary time series data used to calculate the rounded average value.
[0263] The floating range lookup unit is used to look up the floating range corresponding to the rounded average value from the standard parameter library;
[0264] The target value setting unit, if the floating range of the rounded average exists in the standard parameter library, is used to align the rounded average with the middle value of the floating range to obtain the target value; if the floating range of the rounded average does not exist in the standard parameter library, the rounded average is used as the target value; the target value and the rounded average have a one-to-one correspondence.
[0265] The replacement unit is used to replace the data in the first preliminary time series data one by one with the target value that has a corresponding relationship, based on the one-to-one correspondence between the target value and the rounded average value and the correspondence between the rounded average value and the data in the first preliminary time series data, to obtain the first target time series data.
[0266] In one possible implementation, the device further includes:
[0267] The first selection unit is used to select several remote controls;
[0268] The second selection unit is used to select M buttons to be learned and their key values from the plurality of remote controllers, and to place the M buttons to be learned into a candidate list; the M buttons to be learned are buttons that are available in all of the plurality of remote controllers; each button to be learned has multiple identical key values and / or different key values, and the number of key values of each button to be learned is equal to the number of remote controllers; M is a positive integer;
[0269] The setting unit is used to identify the key value of the remote control that can be uniquely determined from all the key values of the button to be learned as the unique key value;
[0270] The second integration unit is used to count the number of unique key values of each learned key, add the learned key with the required number of unique key values to the key learning list as the first key of the key learning list, and delete the learned key from the candidate list. The unique key value can be used to delete the only remote control. The learned key added to the key learning list is no longer called the learned key.
[0271] A candidate sequence construction unit is used to construct candidate sequences by combining the remaining learned keys in the candidate list with the keys in the key learning list one by one.
[0272] The query setting unit is used to query whether there exists a set of key values among the remaining undeleted remote controls that can be used to determine the unique remote control from the remaining undeleted remote controls, and to use this set of key values as the unique key value group.
[0273] The second statistical addition unit is used to count the number of unique key value groups in each candidate sequence, add the learned key in the candidate sequence whose number of unique key value groups meets the quantity requirement to the key learning list as the second key of the key learning list, and delete the learned key from the candidate list, and delete the unique remote control that can be determined by the first key and the second key.
[0274] The first execution unit is used to continuously repeat the above-described candidate sequence and subsequent steps until the candidate list is empty;
[0275] Specifically, when there is only one key to be learned in the candidate list, the key to be learned is directly added to the key learning list as the Xth key in the key learning list, and the key to be learned is deleted from the candidate list; the Xth key is the last key in the key learning list, and X is a positive integer.
[0276] In one possible implementation, the configuration determination unit 706 specifically includes:
[0277] The first acquisition unit, when the number of 1 values in the first set bitmap is equal to 1, is used to acquire the infrared protocol parameters of the remote control corresponding to that position and the correspondence between all buttons and key values as the infrared protocol parameters and correspondence between all buttons and key values of the target remote control.
[0278] The second determining unit is used to determine the second learned key in the key learning list when the number of 1 values in the first set bitmap is greater than 1.
[0279] The correspondence determination unit is used to determine the infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values based on the second learned button.
[0280] The recording unit is used to record the correspondence between the second learned button and its key value into the memory of the learning remote control.
[0281] In one possible implementation, the correspondence determination unit specifically includes:
[0282] The third determining unit is configured to, in response to the learning remote controller receiving the second infrared signal from the target remote controller, determine the infrared protocol parameters of the second infrared signal and determine the second preliminary timing data of the second infrared signal; the second infrared signal is the infrared signal of the second button being learned;
[0283] The second preprocessing unit is used to perform the preprocessing on the second preliminary time series data to obtain the second target time series data.
[0284] The second decoding unit is used to decode the second target timing data according to the infrared protocol parameters of the second infrared signal to obtain the second key value; the second key value has a one-to-one correspondence with the second learned key.
[0285] The second zeroing unit is used to zero out the first set bitmap based on the second key value to obtain the second set bitmap;
[0286] The second acquisition unit, when the number of 1 values in the second set bitmap is equal to 1, is used to acquire the infrared protocol parameters of the remote control corresponding to that position and the correspondence between all buttons and key values as the infrared protocol parameters and correspondence between all buttons and key values of the target remote control.
[0287] The third integration unit, when the number of 1 values in the second set bitmap is greater than 1, is used to determine a new learnable key from the key learning list and repeat the above steps until the number of 1 values in the new set bitmap is equal to 1; in the process of selecting a new learnable key and repeating the above steps, if the number of 1 values in a set bitmap after the new learnable key is set to zero is equal to 0, then the learning remote control is controlled to enter the full key learning mode.
[0288] In one possible implementation, when the number of 1 values in the bitmap is equal to 0, it is used to control the learning remote control to enter the full-key learning mode.
[0289] In one possible implementation, the device further includes:
[0290] A prompting unit is used to prompt the user to press a button on the target remote control that has not been learned.
[0291] The fourth determining unit, when the learning remote controller receives the infrared signal of the unlearned learning button emitted by the target remote controller, is used to determine the infrared protocol parameters of the infrared signal of the unlearned learning button and determine the third preliminary timing data of the infrared signal of the unlearned learning button.
[0292] The third preprocessing unit is used to perform the preprocessing on the third preliminary time series data to obtain the third target time series data.
[0293] The fourth integration unit is used to search for the key-key value correspondence of the third target timing data from the pre-stored remote control library according to the infrared protocol parameters of the infrared signal of the learned key, configure the key-key value correspondence of the third target timing data on the learning remote control, and record the key-key value correspondence of the third target timing data in the memory of the learning remote control.
[0294] The second execution unit is used to repeat the above steps until all the buttons on the target remote control are learned by the learning remote control.
[0295] In one possible implementation, the device further includes:
[0296] The target group determination unit is used to determine the group of the first target timing data in the pre-stored remote controller library according to the infrared protocol parameters of the first infrared signal, and use it as the target group;
[0297] The query unit is used to query the number of remote controllers in the target group;
[0298] The second bitmap construction unit is used to construct the first bitmap based on the number of remote controllers in the target group;
[0299] Wherein, the number of bits N in the first bitmap is equal to the number of remote controllers in the target group.
[0300] In one possible implementation, the device further includes:
[0301] A collection unit is used to collect infrared data from multiple remote controls; the infrared data includes infrared signal data and infrared protocol parameters of all buttons on the remote controls;
[0302] The fifth determining unit is used to determine the infrared signal data of each button on each remote control and obtain multiple fourth preliminary timing data.
[0303] The fourth preprocessing unit is used to perform the preprocessing on the fourth preliminary time series data to obtain the fourth target time series data;
[0304] The reconstruction generation unit is used to reconstruct the key values of each button on each remote control based on the infrared protocol parameters of each remote control and the timing data of each fourth target, and to generate the key-key value correspondence.
[0305] The annotation unit is used to annotate all the button-key value correspondences and their infrared protocol parameters on each remote control to obtain the pre-stored remote control;
[0306] A grouping unit is used to group pre-stored remote controllers with the same infrared protocol parameters into the same group, and combine all groups into a pre-stored remote controller library.
[0307] The number of each group in the pre-stored remote control library is the number of pre-stored remote controls contained in that group.
[0308] In one possible implementation, the device further includes:
[0309] The collection and extraction unit is used to collect all infrared signals from common remote controls and extract the timing data of all infrared signals;
[0310] The fluctuation percentage setting unit is used to set the fluctuation percentage for each time series data to obtain multiple fluctuation ranges; the fluctuation percentage is set according to the mean or standard deviation of the time series data of each infrared signal; the mean and the standard deviation are calculated by collecting all infrared signals of common remote controls and extracting their time series data;
[0311] A combination unit is used to combine all floating ranges into a single standard parameter library.
[0312] The foregoing has provided a detailed description of a remote learning method, apparatus, and processor provided in this application. The various embodiments in the specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section. It should be noted that those skilled in the art can make several improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of the claims of this application.
[0313] It should also be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
Claims
1. A distance learning method characterized by comprising: The method includes: In response to the learning remote control receiving a first infrared signal from the target remote control, the infrared protocol parameters of the first infrared signal are determined, and the first preliminary timing data of the first infrared signal is determined; the learning remote control has entered learning mode; the first infrared signal is the infrared signal of the first button to be learned; the first button to be learned is the first button existing on the target remote control in the button learning list; the infrared protocol parameters include a preamble, an infrared technology encoding method, and an infrared technology encoding duration; The first preliminary time series data is preprocessed to obtain the first target time series data; A first bitmap is constructed based on the infrared protocol parameters of the first infrared signal, the timing data of the first target, and the pre-stored remote control library on the learning remote control. The first key value is obtained by decoding the timing data of the first target based on the infrared protocol parameters of the first infrared signal. The first bitmap has N bits, and the value of each bit is 1. The first key value has a one-to-one correspondence with the first learned button. N is a positive integer. Based on the one-to-one correspondence between the first key value and the first learned key, the first bitmap is set to zero to obtain the first set bitmap; The infrared protocol parameters of the target remote control and the correspondence between all buttons and key values are determined based on the number of 1 values in the first bitmap, and the infrared protocol parameters of the target remote control and the correspondence between all buttons and key values are configured on the learning remote control. The preprocessing of the first preliminary time series data to obtain the first target time series data includes: The first preliminary time series data is divided into multiple groups of time series data using a clustering algorithm; Calculate the rounded average value of the time series data for each group; the rounded average value corresponds to the data in the first preliminary time series data used to calculate the rounded average value. Search the standard parameter library on the learning remote control for the first floating range corresponding to the rounded average value and the second floating range corresponding to the guide code; If the first floating range of the rounded average exists in the standard parameter library, the rounded average is aligned with the middle value of the first floating range to obtain the target value; if the first floating range of the rounded average does not exist in the standard parameter library, the rounded average is used as the target value; the target value and the rounded average have a one-to-one correspondence. Based on the one-to-one correspondence between the target value and the rounded average value, and the correspondence between the rounded average value and the data in the first preliminary time series data, the data in the first preliminary time series data are replaced one by one with the target value that has a corresponding relationship, and the guide code is replaced with the middle value of the second floating range to obtain the first target time series data.
2. The method of claim 1, wherein, The construction of the key learning list includes: Select several remote controls; Select M buttons to be learned and their key values from the plurality of remote controls, and place the M buttons to be learned into a candidate list; the M buttons to be learned are buttons that are available in all of the plurality of remote controls; each button to be learned has multiple identical key values and / or different key values, and the number of key values of each button to be learned is equal to the number of remote controls; M is a positive integer; The key value that can uniquely identify the remote control from all the key values of the button to be learned is used as the unique key value; The number of unique key values for each learned key is counted. Keys whose number of unique key values meets the requirement are added to the key learning list as the first key in the key learning list. The learned key is then removed from the candidate list. The only remote control whose unique key value can be identified is also removed. Keys added to the key learning list are no longer called learned keys. The remaining learned keys in the candidate list are combined one by one with the keys in the key learning list to form a candidate sequence; Querying whether all keys in the candidate sequence exist can identify a unique set of key values from the remaining undeleted remote controls, and this set of key values is used as the unique key value group. The number of unique key value groups in each candidate sequence is counted. The learned key in the candidate sequence whose number of unique key value groups meets the quantity requirement is added to the key learning list as the second key in the key learning list. The learned key is then deleted from the candidate list. The only remote control that can be determined by the first key and the second key is deleted. Repeat the above steps to form a candidate sequence and follow up until the candidate list is empty; Specifically, when there is only one key to be learned in the candidate list, the key to be learned is directly added to the key learning list as the Xth key in the key learning list, and the key to be learned is deleted from the candidate list; the Xth key is the last key in the key learning list, and X is a positive integer.
3. The method of claim 1, wherein, The step of determining the infrared protocol parameters of the target remote controller and the correspondence between all buttons and key values based on the number of 1 values in the first bitmap includes: When the number of 1 values in the first bitmap is equal to 1, the infrared protocol parameters of the corresponding remote control and the correspondence between all buttons and key values are obtained as the infrared protocol parameters and the correspondence between all buttons and key values of the target remote control. When the number of 1 values in the first bitmap is greater than 1, the second learnable key in the key learning list is determined, the infrared protocol parameters of the target remote control and the correspondence between all keys and key values are determined according to the second learnable key, and the correspondence between the second learnable key and its key value is recorded in the memory of the learning remote control; the second learnable key is the second key that exists on the target remote control in the key learning list.
4. The method of claim 3, wherein, The step of determining the infrared protocol parameters of the target remote control and the correspondence between all buttons and key values based on the second learned button includes: In response to the learning remote control receiving a second infrared signal from the target remote control, the infrared protocol parameters of the second infrared signal are determined, and the second preliminary timing data of the second infrared signal is determined; the second infrared signal is the infrared signal of the second button being learned. The second preliminary time series data is preprocessed to obtain the second target time series data; The second target timing data is decoded according to the infrared protocol parameters of the second infrared signal to obtain the second key value; the second key value has a one-to-one correspondence with the second learned key. The first set bitmap is set to zero based on the second key value to obtain the second set bitmap; When the number of 1 values in the second bitmap is equal to 1, the corresponding infrared protocol parameters of the remote control and the correspondence between all buttons and key values are obtained as the infrared protocol parameters and the correspondence between all buttons and key values of the target remote control. When the number of 1 values in the second set bitmap is greater than 1, a new learnable key is determined from the key learning list and the above steps are repeated until the number of 1 values in the new set bitmap is equal to 1. In the process of selecting a new learnable key and repeating the above steps, if the number of 1 values in a set bitmap after the new learnable key is set to zero is equal to 0, the learning remote control is controlled to enter the full key learning mode.
5. The method according to claim 3 or 4, characterized in that, When the number of 1 values in the bitmap is equal to 0, the learning remote control is controlled to enter the full-key learning mode.
6. The method of claim 4, wherein, The full-key learning mode includes: The user is prompted to press the unlearned button on the target remote control. When the learning remote controller receives the infrared signal of the unlearned learning button emitted by the target remote controller, it determines the infrared protocol parameters of the infrared signal of the unlearned learning button and determines the third preliminary timing data of the infrared signal of the unlearned learning button. The third preliminary time series data is preprocessed to obtain the third target time series data; Based on the infrared protocol parameters of the infrared signal of the button being learned, the key-key value correspondence of the third target timing data is searched from the pre-stored remote control library, the key-key value correspondence of the third target timing data is configured on the learning remote control, and the key-key value correspondence of the third target timing data is recorded in the memory of the learning remote control. Repeat the above steps until all the buttons on the target remote control are learned by the learning remote control.
7. The method of claim 1, wherein, The step of constructing the first-position graph based on the infrared protocol parameters of the first infrared signal, the timing data of the first target, and the pre-stored remote control library on the learning remote control includes: The target timing data is grouped in the pre-stored remote controller library according to the infrared protocol parameters of the first infrared signal, and is used as the target group. Query the number of remote controllers in the target group; The first bitmap is constructed based on the number of remote controllers in the target group; Wherein, the number of bits N in the first bitmap is equal to the number of remote controllers in the target group.
8. The method of claim 1, wherein, The process of constructing the pre-stored remote control library includes: Collect infrared data from multiple remote controls; the infrared data includes infrared signal data and infrared protocol parameters for all buttons on the remote controls; The infrared signal data of each button on each remote control is determined to obtain multiple fourth preliminary timing data. The preprocessing is performed on the fourth preliminary time series data to obtain the fourth target time series data; Based on the infrared protocol parameters of each remote control and the timing data of each fourth target, the key values of each button on each remote control are restored, and the key-key value correspondence is generated. The pre-stored remote control is obtained by marking all the button-key value correspondences and their infrared protocol parameters on each remote control. Pre-stored remote controllers with the same infrared protocol parameters are grouped into the same group, and all groups are combined into a pre-stored remote controller library. The number of each group in the pre-stored remote control library is the number of pre-stored remote controls contained in that group.
9. The method of claim 1, wherein, The construction process of the standard parameter library includes: Collect all infrared signals from common remote controls and extract the timing data of all infrared signals; A fluctuation percentage is set for each time series data to obtain multiple fluctuation ranges; the fluctuation percentage is set according to the mean or standard deviation of the time series data of each infrared signal; the mean and the standard deviation are calculated by collecting all infrared signals of common remote controls and extracting their time series data; All floating ranges are combined into a standard parameter library.