System and method for resolving sink data merging during controller device programming - Patents.com

The system addresses inaccuracies in sink data merging by evaluating E-EDID data using keywords and blacklists to ensure accurate identification and control of connected display devices, improving user satisfaction and reducing support inquiries.

JP2025526215AActive Publication Date: 2025-08-13HOME CONTROL SINGAPORE
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024543448
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-07-18
Publication Date
2025-08-13
Estimated Expiration
2042-07-18

AI Technical Summary

Technical Problem

Existing controller devices struggle to accurately identify connected display devices due to inaccuracies in sink data merging caused by repeater devices altering E-EDID fields, leading to incorrect feature code uploads and user dissatisfaction.

Method used

A system and method for evaluating sink data fusion using keywords, whitelists, and blacklists to determine a preferred display device match, enabling accurate selection of function codes for controller devices through a controller device programming system.

Benefits of technology

Ensures accurate identification and control of connected display devices by resolving sink data fusion issues, enhancing user satisfaction and reducing customer support inquiries.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025526215000001_ABST
    Figure 2025526215000001_ABST
Patent Text Reader

Abstract

A controller device programming system and method for identifying connected display devices 30 connected to a content management device 20 via at least one connected relay device 40. The system and method evaluates details contained in a sink data fusion including sink identification data from both the connected display devices 30 and at least one of the connected relay devices 40. Keywords, whitelists, and blacklists can be used to evaluate the content of the sink data fusion and determine a match for one or more preferred display devices to improve the selection of a set of function codes for controlling the connected display devices 30 using a controller device 50 paired with the content management device 20.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD OF THE DISCLOSURE The present disclosure relates to programming controller devices, and more particularly, to systems and methods for resolving sink data merging during programming of controller devices. [Background technology]

[0002] Programmable controller devices are often referred to as general purpose controller devices because they are designed to work with a wide range of devices (rather than a single device model).

[0003] Recently, set-top boxes have been paired with and / or supplied with controller devices that can control both the set-top box and the television connected to the set-top box. To aid in programming the controller device, the set-top box can determine the manufacturer and / or display product name of the television connected to the set-top box and use that identification data to determine the appropriate set of feature codes that can be loaded into the controller device to control the television. Such efforts are subject to inaccuracies in the identification data received by the set-top box.

[0004] Common published standards for communication protocols between set-top boxes and televisions include the HDMI specification, the VESA E-EDID standard, and the CEA standard. This application references tables and other details from the following documents: (1) Reference to the HDMI Specification is to "High-Definition Multimedia Interface Specification", version 1.3a, published by HDMI Licensing LLC, dated 10 November 2006; (2) Reference to the VESA E-EDID standard is to "VESA Enhanced Extended Display Identification Data Standard," structure version 1, revision 4, release A, revision 2, published by the Video Electronics Standards Association, dated 25 September 2006; (3) References to the CEA standard are as follows: “CEA Standard, A DTV Profile for Uncompressed High Speed Digital Interfaces”, version CEA-861-D, published by the Consumer Electronics Association, dated July 2006 Common acronyms used in background documents and related technology include: ASCII: American Standard Code for Information Interchange AV: audio / video BLE: Bluetooth Low Energy CD: controller device CEA: Consumer Electronics Association CEC: Consumer Electronics Control DDC: Display Data Channel DTV: digital television DVD: digital versatile disc D-VHS: digital video home system (VHS) DVI: Digital Visual Interface E-EDID: enhanced extended display identification data EDID: extended display identification data HDMI: high-definition multimedia interface IEEE: Institute of Electrical and Electronics Engineers IR: infrared ISA: Industry Standard Architecture PNPID: Plug and Play Device Identifier PROM: programmable read-only memory PVR: personal video recorder RF: radio frequency ROM: read-only memory STB: set-top box TMDS: transition minimized differential signaling VESA: Video Electronics Standards Association

[0005] FIG. 1 is a block diagram detailing wired communication between an HDMI source 11 and an HDMI sink 12 in the prior art of the HDMI communication protocol. This block diagram is derived from Figure 3-1 of the HDMI specification. In summary, the HDMI system architecture is defined to include an HDMI source 11 and an HDMI sink 12. A given device may have one or more HDMI inputs and one or more HDMI outputs. To comply with the HDMI specification, each HDMI input of these devices must follow all the rules of the HDMI sink 12. Similarly, each HDMI output must follow all the rules of the HDMI source 11. The HDMI cable 23C (see FIG. 5) between the HDMI source 11 and the HDMI sink 12 carries a transition minimized differential signaling (TMDS) channel 14, a display data channel (DDC) 15, and a Consumer Electronics Control (CEC) line 16. 1, the enhanced extended display identification data (E-EDID) can be stored in ROM 13, which may be a programmable read-only memory or a dynamic random access memory. The HDMI source 11 includes an HDMI transmitter, and the HDMI sink 12 includes an HDMI receiver.

[0006] Figure 2 shows Chart 2-00, excerpted from Table 3.1 of the VESA E-EDID standard, detailing the E-EDID structure in the prior art. All sinks must include a CEA-861-D compliant E-EDID structure accessible via DDC 15. The HDMI source 11 reads the E-EDID and the first CEA extension to determine the capabilities supported by the HDMI sink 12. Additional extensions can be read to discover additional capabilities. The HDMI source 11 is responsible for any format conversion that may be required to provide audio and video to the HDMI sink 12 in a format understandable to the HDMI sink 12. The overall structure of the HDMI sink 12's E-EDID must conform to the E-EDID structure defined in the VESA E-EDID standard. The first 128 bytes of the E-EDID contain an E-EDID structure that also meets the requirements of the CEA standard. The first E-EDID extension must include the CEA extension defined in the CEA standard, including the two-byte source physical address field (see Figures 4A and 4B for a detailed discussion).

[0007] For purposes of this application, asterisks have been added to Chart 2-00 in Figure 2 to highlight the fields most important to the present invention: ID Manufacturer Name, ID Product Code, ID Serial Number, and Display Descriptor (see Figures 3A and 3B below). The ID Manufacturer Name field is a required element of the E-EDID structure. The ID Manufacturer Name field contains a two-byte representation of the device manufacturer's ISA3-character ID code. These codes are also known as the ISA (Industry Standard Architecture) Plug and Play Device Identifier (PNPID) published by Microsoft Corporation. The ID Product Code field is a required element of the E-EDID structure. The ID Product Code field contains a two-byte product code assigned by the manufacturer. The ID Product Code field is used to distinguish between different models from the same manufacturer, for example, using the model number. The ID Serial Number is a 32-bit serial number used to distinguish between individual instances of the same display model. The Display Descriptor is detailed in Figures 3A and 3B below. As described below in this application, the ID manufacturer name is a very important field to the present invention (along with the display product names listed in Chart 3A-00 of FIG. 3A, which are described below). In accordance with Section 3.10.3.4 of the VESA E-EDID standard, it is recommended that the display product name include a model name. Therefore, as used herein, the term "display product name" can include, but is not limited to, the model name.

[0008] 3A is Chart 3A-00 from Table 3.23 of the VESA E-EDID standard, which details an overview of the display descriptor in the prior art. For purposes of this application, asterisks have been added to Chart 3A-00 to highlight the fields most important to the present invention: the display product serial number, the alphanumeric data string (ASCII), and the display product name.

[0009] The charts in Figure 3B provide additional details regarding these asterisked fields, with Chart 3B-01 providing details on the display product serial number definition, Chart 3B-02 providing details on the alphanumeric data string definition, and Chart 3B-03 providing details on the display product name definition in the prior art. Charts 3B-01, 3B-02, and 3B-03 are taken from Tables 3.24, 3.25, and 3.29, respectively, of the VESA E-EDID standard. As explained below in this application, the display product name (along with the ID manufacturer name listed in Chart 2-00 of Figure 2, as discussed above) is a critical field to the present invention.

[0010] FIG. 4A is a cropped chart 4A-00 detailing a first E-EDID extension with a CEA extension to the source physical address from the HDMI specification from Table 8-6 of the prior art HDMI specification. The first E-EDID extension includes a two-byte source physical address field. The source physical address is received by the HDMI source 11 in wired communication with the HDMI sink 12 as part of the E-EDID extension, as shown in cluster 60 of FIG. 4B. Cluster 60 shown in FIG. 4B is adapted from Figure 8-3 of the prior art HDMI specification.

[0011] The CEC line 16 connects directly to all devices in the cluster 60. After discovering its physical address, each device transmits its physical and logical addresses to all other devices, allowing any device in the cluster 60 to create a map of the cluster 60. The physical address of each device is determined by a physical address discovery process. This process is dynamic in that it automatically adjusts the physical address as needed when devices are physically or electrically added or removed from the cluster 60. All physical addresses, in the format nnnn in the following description, are four digits long, allowing for a hierarchy of five devices deep. An HDMI sink 12 or repeater acting as a CEC root device generates its physical address 0.0.0.0. An HDMI source 11 or repeater reads its physical address from the E-EDID of the connected HDMI sink 12 to which it is connected. Each HDMI sink 12 (or repeater) is responsible for generating the physical addresses of all HDMI sources 11 connected to it by adding a port number to its own physical address and placing that value in the port's E-EDID for reading by the connected HDMI sources 11. As discussed above in connection with Chart 4A-00 in Figure 4A, the Source Physical Address field in the HDMI specification contains the four-digit source physical address that is read by the HDMI source 11.

[0012] As background to the present invention, the important devices in FIG. 4B are the connected display device (CDD) 30, the connected intermediary device (CID) 40, and the content management device (CMD) 20. In this cluster 60, the connected display device 30 is the CEC root device and has a physical address of 0.0.0.0. An exploded view of the connected display device (CDD) 30 (see the bottom right of FIG. 4B) shows two E-EDIDs, one for each input to this CEC root device: the upper E-EDID contains a source physical address of 1.0.0.0, and the lower E-EDID contains a source physical address of 2.0.0.0. When the connected intermediary device reads the E-EDID of the connected display device 30, it receives its own physical address of 2.0.0.0. In turn, the content management device 20 receives its own physical address of 2.3.0.0 from the E-EDID of the connected intermediary device 40. Note that the nnnn value shown for each device in cluster 60 in Figure 4B represents the physical address of the device itself, not the source physical address stored in the E-EDID within that device. Thus, as enabled by the HDMI specification and the VESA E-EDID standard, content management device 20 can detect the presence of a connected relay device 40 located between content management device 20 and connected display device 30. As shown, cluster 60 in Figure 4B also includes a DVD with physical address 2.1.0.0, a D-VHS with physical address 2.2.0.0, and a PVR with physical address 2.3.1.0.

[0013] FIG. 5 is a block diagram illustrating an HDMI connection between a content management device 20 and a connected display device 30 in the prior art. In this block diagram, there is no connected relay device 40 located between the content management device 20 and the connected display device 30. An HDMI cable 23C connects a CMD audio / visual output 23A to a CMD audio / visual input 23B, enabling the HDMI communication protocol. The connected display device 30 includes a CMD radio frequency (RF) transceiver 24B and a CMD infrared receiver 25B. The content management device 20 of FIG. 5 also includes a CMD audio / visual input 21A (shown in FIG. 5 as a coaxial input 21A), an Ethernet input 22, a CMD radio frequency (RF) transceiver 24A, a CMD infrared receiver 25A, and a power input 26A. The CMD audio / visual input 21A is in data communication with a coaxial cable outlet 21C via a coaxial cable 21B. The power input 26A is electrically connected to a power output 26C via a power cable 26B. The connected display device 30 includes a CDD radio frequency (RF) transceiver 24B and a CDD infrared receiver 25B. The CDD RF transceiver 24B and the CDD RF transceiver 24A are shown as Bluetooth Low Energy (BLE) transceivers, but may be any type of radio frequency (RF) transceiver. For example, a BLE transceiver is a type of RF transceiver. Bluetooth is a registered trademark of the Bluetooth Special Interest Group (SIG).

[0014] It should be noted that although FIG. 5 shows a system with a single connected relay device 40, a hierarchy of two or more connected relay devices 40 may be connected in series between the content management device 20 and the connected display device 30.

[0015] As will become clear later in the detailed description of the present invention, the addition of a repeater device 40 connected between the content management device 20 and the connected display device 30 makes it difficult to accurately identify the make and model of the connected display device 30. One reason for this difficulty is apparent in the glossary and Appendix A of the HDMI Specification. Glossary section 2.2 of the HDMI Specification defines the following: (a) HDMI Source 11 as a device with an HDMI output; (b) HDMI Sink 12 as a device with an HDMI input; and (c) HDMI Repeater as a device with one or more HDMI inputs and one or more HDMI outputs. Thus, a repeater can simultaneously function as both an HDMI Sink 12 and an HDMI Source 11. Appendix A of the HDMI Specification also states that the E-EDID presented by a repeater should reflect the "capabilities" of the downstream HDMI Sink 12, and that with respect to E-EDID processing, repeaters typically fall into one of two categories: (a) Repeaters with a "Stored E-EDID Type" Here, the repeater typically stores an E-EDID structure configured with the capabilities of the downstream HDMI sink 12. (b) "Forward E-EDID type" repeater: Here, the repeater does not store an E-EDID structure, but when an E-EDID read request comes from the HDMI source 11, the repeater forwards the read request to the HDMI sink 12, and the E-EDID data from the HDMI sink 12 is sent back to the HDMI source 11 in unaltered form by the repeater.

[0016] Therefore, the HDMI specification allows the connected repeater device 40, in its role as a repeater, to process E-EDID data differently when communicating with the content management device 20, potentially communicating either interpreted "capabilities" or accurately transmitted E-EDID instead. When communicating "capabilities," the connected repeater device 40 may modify the E-EDID of the connected display device 30 and pass the interpreted "capabilities" of the connected display device 30 within the E-EDID field transmitted to the content management device 20. When communicating accurately transmitted E-EDID, the connected repeater device 40 may simply pass the E-EDID of the connected display device 30 through in a "transmitted E-EDID type" transmission without modification.

[0017] The difference between the interpreted "capabilities" and the accurately transmitted E-EDID impacts the ability of a content management device 20, such as a set-top box paired with a controller device 50, to accurately identify a connected display device 30 when connected through a connected relay device 40 (acting as a repeater). For example, the content management device 20 may receive an E-EDID from a connected relay device 40 that is a sink data amalgamation that includes some fields from the E-EDID of the connected display device 30 and other fields from the E-EDID of the connected relay device 40. As an example, the sink data amalgamation received by the set-top box may include the ID and manufacturer name of an audio device connected between the set-top box and the television, along with the television's display product name (which, as described above, may be or include the model name). Such a fused or scrambled E-EDID makes it difficult for the set-top box and controller device 50 to correctly identify the appropriate set of function codes for controlling the television using the controller device 50.

[0018] Audio devices may intentionally insert their audio capabilities into the E-EDID to allow the set-top box to send audio in the format best suited to the audio device (especially if the audio format used by the audio device is not supported by the connected display device 30). For example, according to Section 3 of the HDMI specification, basic audio functionality includes a single IEC 60958L-PCM audio stream at a sample rate of 32 kHz, 44.1 kHz, or 48 kHz. This can accommodate a regular stereo stream. Optionally, HDMI can carry such audio with three to eight audio channels at a sample rate up to 192 kHz. HDMI can also carry IEC 61937 compressed (e.g., surround sound) audio streams at bit rates up to 24.576 Mbps. HDMI can also carry two to eight channels of one-bit audio and a compressed format of one-bit audio called DST. Thus, if both content management device 20 and an audio device support surround sound, the audio device can provide surround sound to the user when content management device 20 delivers audio to the audio device in a surround sound audio format. The delivery of such audio formats over the HDMI communications protocol is specified by data within fields of the E-EDID. Note also that Glossary Section 2.2 of the HDMI Specification details that the CEA Extension Block can be used to enable the declaration of audio formats beyond those defined in the basic E-EDID structure of the HDMI sink 12.

[0019] During repeater design, reliability of the data within the E-EDID fields may be a low priority. For example, when designing firmware for an audio device to function as a repeater for a particular television, the audio device manufacturer may intentionally alter the data within the E-EDID fields for the particular television (perhaps within the guidance of the HDMI specification) to instead identify another television with the required audio capabilities recommended for the audio device. In this way, the audio device manufacturer prioritizes the details within the E-EDID fields that best represent the audio capabilities of their product. Similarly, repeaters used for HDMI switching and HDMI emulation may be intentionally designed to swap out or otherwise alter the data within the E-EDID fields. Such editing of the data within the E-EDID fields may result in sink data merging (or scrambling of the E-EDID), affecting the set-top box's ability to properly identify the make and model of the particular television. Improper identification of the particular television may result in incorrect identification of the set of feature codes to be uploaded to the controller device 50 for user control of the particular television.

[0020] If the controller device 50 does not properly control the television, the user is likely to blame the manufacturer of the controller device 50 due to a malfunction that occurs during use of the controller device 50. Eliminating the effects of sink data fusion is important to maintaining a good business reputation and reducing customer support inquiries. Therefore, a system is needed that evaluates each E-EDID received by the set-top box to determine whether a field in the E-EDID is sink data fused, and if so, to determine a preferred display device match for the television. This preferred display device match for the television can then be used to appropriately identify a set of function codes operable with the television and upload them to the controller device 50. Summary of the Invention

[0021] A general embodiment of the present invention is a programming system and method for a controller device for identifying connected display devices connected to a content management device via at least one connected relay device. The system and method evaluate details contained in a sink data fusion including sink identification data from both the connected display device and at least one of the connected relay devices. Keywords, whitelists, and blacklists can be used to evaluate the content of the sink data fusion and determine a match for one or more preferred display devices to improve the selection of a set of function codes for controlling the connected display devices using a controller device paired with the content management device.

[0022] A first embodiment of the present invention is a controller device programming system for executing at least one programming request on a controller device (CD), the controller device being paired with a content management device (CMD) in indirect data communication with a connected display device (CDD) via at least one connected relay device (CID). The controller device includes: (i) a CD radio frequency (RF) transceiver, (ii) a CD memory, and (iii) a code set test module. The content management device includes: (1) a CMD audio / visual input configured to receive first audio / visual content according to a first communication protocol, (2) a CMD audio / visual output configured to transmit second audio / visual content directly or indirectly to at least one connected relay device according to a second communication protocol, (3) a CMD RF transceiver configured to wirelessly communicate with the controller device according to a third communication protocol, (4) a discovery module, a test module, and a CD programmer. The content management device stores or links to: (1) a code set database having a plurality of code set records; and (2) a sink database having a plurality of sink records. Each code set record includes or links to: (i) at least one code set identifier of the plurality of code set identifiers, (ii) a set of function codes associated with the at least one code set identifier of the code set record. Each sink record includes or links to: (i) at least one sink identifier of the plurality of sink identifiers, each sink identifier associated with at least one of the plurality of sink devices, (ii) at least one code set identifier of the code set identifiers, the at least one code set identifier specifying a set of function codes for the at least one sink device associated with the sink record, and (iii) a set of keywords for the at least one sink device associated with the sink record.The keyword set of each sink record includes at least one of the following: (1) a manufacturer name of at least one sink device associated with the sink record, (2) a device name of at least one sink device associated with the sink record, and (3) a serial number of at least one sink device associated with the sink record. Each of the at least one connected relay device includes: (i) a CID audio / visual input configured to receive second audio / visual content directly or indirectly from the content management device according to the second communication protocol, and (ii) a CID audio / visual output configured to transmit third audio / visual content directly or indirectly from the connected relay device to the connected display device according to the second communication protocol. The connected display device includes: (i) a CDD audio / visual input configured to receive third audio / visual content from the content management device according to the second communication protocol, and (ii) at least one of a CDD RF transceiver and a CDD infrared receiver.

[0023] As used herein, the term "device name" is intended to include any of the following: (i) the display product name of a device as identified under the VESA E-EDID standard, (ii) the model name included in the display product name of a device in the VESA E-EDID standard, or (iii) a common usage name given to a device by the device's distributor or manufacturer. The terms "device" and "device name" are not limited to display products. For example, a device may include products other than an attached display device.

[0024] In a first embodiment of the present invention, for each programming request, the discovery module of the content management device is configured to: (1) receive physical address data of a cluster including a connected display device, at least one connected relay device, and the content management device; (2) confirm the existence of indirect data communication between the content management device and the connected display device based on the physical address data; and (3) request and receive sink identification data via a second communication protocol. For each programming request, the sink identification data is: (1) configured according to a device identification data structure; and (2) includes sink data fusion. The sink data fusion includes at least two of the following: (a) a manufacturer name of at least one of the connected relay devices, (b) a manufacturer name of the connected display device, (c) a device name of at least one of the connected relay devices, (d) a device name of the connected display device, (e) a serial number of at least one of the connected relay devices, and (f) a serial number of the connected display device. For each programming request, the inspection module of the content management device is configured to: (i) access the sink identification data received by the discovery module, (ii) access the sink records in the sink database, (iii) use at least a portion of the sink identification data to perform a keyword search of a keyword set of the sink records in the sink database, (iv) identify at least one preferred display device match, and (v) cross-reference each preferred display device match with at least one code set identifier in the sink records in the sink database. A priority for each preferred display device match is calculated according to at least one of the following: (1) a first reliability score for the manufacturer name, (2) a second reliability score for the device name, and (3) a third reliability score for the serial number.For each programming request, the CD programmer is configured to: (i) access the code set database, (ii) initialize communications with the controller device via the third communications protocol, and (iii) for each code set identifier cross-referenced by the inspection module with a match for at least one preferred display device, transfer at least a portion of the set of feature codes associated with the code set identifier to the controller device via the third communications protocol. For each programming request, the controller device is configured to: (i) test the functionality of at least a subset of each set of feature codes received by the controller device from the CD programmer of the content management device to identify at least one feature code set, (ii) store the at least one feature code set within a CD memory of the controller device, and (iii) use the at least one feature code set to control operation of the connected display device based on user input.

[0025] In another embodiment of the present invention, sink records in the sink database are categorized into at least one of the following: (i) a manufacturer name whitelist associated with a plurality of confirmed display manufacturers, and (ii) a manufacturer name blacklist associated with at least one of a plurality of audio device manufacturers, a plurality of non-display device manufacturers, and a plurality of repeater device manufacturers. For each programming request, the inspection module: (i) identifies the manufacturer name identified by the sink identification data as mapped by the device identification data structure, and (ii) searches the sink database for the identified manufacturer name. For each programming request, the inspection module may optionally further: (i) increase the reliability score of the manufacturer name for the programming request if the manufacturer name included in the sink identification data for the programming request is included in the manufacturer name whitelist, and (ii) decrease the reliability score of the manufacturer name for the programming request if the manufacturer name included in the sink identification data for the programming request is included in the manufacturer name blacklist.

[0026] In another embodiment of the present invention, sink records in the sink database are categorized into at least one of the following: (i) a device name whitelist associated with a plurality of confirmed display device names, and (ii) a device name blacklist associated with at least one of a plurality of audio device names, a plurality of non-display device names, and a plurality of repeater device names. For each programming request, the inspection module: (i) identifies the device name identified by the sink identification data as mapped by the device identification data structure, and (ii) searches the sink database for the identified device name. For each programming request, the inspection module may optionally further: (i) increase the confidence score of the programming request's device name if the programming request's device name is included in the device name whitelist, and (ii) decrease the confidence score of the programming request's device name if the programming request's device name is included in the device name blacklist.

[0027] In another embodiment of the present invention, the device identification data structure is an enhanced extended display identification data (E-EDID) structure that includes: (a) a set of vendor and product identification fields, and (b) a set of display descriptor fields. The set of vendor and product identification fields includes at least one of the following: (i) ID manufacturer name, (ii) ID product code, (iii) ID serial number, (iv) manufacture week, and (v) manufacture year. The set of display descriptor fields includes at least one of the following: (i) display product serial number, (ii) an alphanumeric data string in ASCII format, and (iii) display product name. In this alternative embodiment of the present invention, the sink data fusion can include: (a) ID manufacturer name of at least one of the connected relay devices, and (b) display product name of the connected display device.In this alternative embodiment of the present invention, the keyword set for each sink record: (a) may be assembled from at least one of the following: from the datasheet specifications of at least one sink device associated with the sink record, and from empirical information in fields of an empirical E-EDID received via the second communication protocol from at least one sink device associated with the sink record; and (b) may include at least one of the following: an ID manufacturer name of at least one sink device associated with the sink record, an ID product code of at least one sink device associated with the sink record, an ID serial number of at least one sink device associated with the sink record, a manufacturing week of at least one sink device associated with the sink record, a manufacturing year of at least one sink device associated with the sink record, a display product serial number of at least one sink device associated with the sink record, an alphanumeric data string in ASCII format of at least one sink device associated with the sink record, a display product name of at least one sink device associated with the sink record, a device type of at least one sink device associated with the sink record, a brand identifier of at least one sink device associated with the sink record, and a keyword for at least one sink device associated with the sink record. In this alternative embodiment of the present invention, for the calculation of the matching priority of each preferred display device by the inspection module: (a) the manufacturer name may be the ID manufacturer name in the sink identification data as mapped by the E-EDID structure, (b) the device name may be the ID display product name in the sink identification data as mapped by the E-EDID structure, and (c) the serial number may be the ID serial number in the sink identification data as mapped by the E-EDID structure.

[0028] In this alternative embodiment of the present invention, the content management device further includes: (i) an Ethernet connection connectable to an offsite server via a network; and (ii) an update module. The offsite server includes: (i) a current sync database and (ii) a current code set database. The update module of the content management device is configured to perform at least one of the following: (i) download at least a portion of the current sync database and at least a portion of the current code set database from the offsite server and store them within the content management device; and (ii) link the current sync database and link the current code set database.

[0029] A second embodiment of the present invention is a controller device programming method for executing at least one programming request on a controller device (CD), the controller device being paired with a content management device (CMD) in indirect data communication with a connected display device (CDD) via at least one connected relay device (CID). The controller device includes: (i) a CD radio frequency (RF) transceiver, (ii) a CD memory, and (iii) a code set test module. The content management device includes: (1) a CMD audio / visual input configured to receive first audio / visual content according to a first communication protocol, (2) a CMD audio / visual output configured to transmit second audio / visual content directly or indirectly to at least one connected relay device according to a second communication protocol, (3) a CMD RF transceiver configured to wirelessly communicate with the controller device according to a third communication protocol, (4) a discovery module, a test module, and a CD programmer. The content management device stores or links to: (1) a code set database having a plurality of code set records; and (2) a sink database having a plurality of sink records. Each code set record stores or links to: (i) at least one code set identifier of the plurality of code set identifiers, (ii) a set of function codes associated with the at least one code set identifier of the code set record. Each sink record contains or links to: (i) at least one sink identifier of the plurality of sink identifiers, each sink identifier associated with at least one of the plurality of sink devices, (ii) at least one code set identifier of the code set identifiers, the at least one code set identifier specifying a set of function codes for the at least one sink device associated with the sink record, and (iii) a set of keywords for the at least one sink device associated with the sink record.The keyword set of each sink record includes at least one of the following: (1) a manufacturer name of at least one sink device associated with the sink record, (2) a device name of at least one sink device associated with the sink record, and (3) a serial number of at least one sink device associated with the sink record. Each of the at least one connected relay device includes: (i) a CID audio / visual input configured to receive second audio / visual content directly or indirectly from the content management device according to the second communication protocol, and (ii) a CID audio / visual output configured to transmit third audio / visual content directly or indirectly from the connected relay device to the connected display device according to the second communication protocol. The connected display device includes: (i) a CDD audio / visual input configured to receive third audio / visual content from the content management device according to the second communication protocol, and (ii) at least one of a CDD RF transceiver and a CDD infrared receiver.

[0030] In a second embodiment of the present invention, for each programming request, the discovery module of the content management device performs the following steps: (1) receiving physical address data of a cluster including a connected display device, at least one connected relay device, and the content management device; (2) confirming the existence of indirect data communication between the content management device and the connected display device based on the physical address data; and (3) requesting and receiving sink identification data via a second communication protocol. For each programming request, the sink identification data is: (1) configured according to a device identification data structure; and (2) includes sink data fusion. The sink data fusion includes at least two of the following: (a) a manufacturer name of at least one of the connected relay devices, (b) a manufacturer name of the connected display device, (c) a device name of at least one of the connected relay devices, (d) a device name of the connected display device, (e) a serial number of at least one of the connected relay devices, and (f) a serial number of the connected display device. For each programming request, the inspection module of the content management device performs the following steps: (i) accessing the sink identification data received by the discovery module, (ii) accessing the sink records in the sink database, (iii) performing a keyword search of a keyword set of the sink records in the sink database using at least a portion of the sink identification data, (iv) identifying at least one preferred display device match, and (v) cross-referencing each preferred display device match with at least one code set identifier in the sink records in the sink database. A priority for each preferred display device match is calculated according to at least one of the following: (1) a first confidence score for the manufacturer name, (2) a second confidence score for the device name, and (3) a third confidence score for the serial number.For each programming request, the CD programmer performs the following: (i) accessing the code set database, (ii) initializing communication with the controller device via the third communication protocol, and (iii) for each code set identifier cross-referenced by the inspection module with a match for at least one preferred display device, transferring at least a portion of the set of feature codes associated with the code set identifier to the controller device via the third communication protocol. For each programming request, the controller device performs the following: (i) testing the functionality of at least a subset of each set of feature codes received by the controller device from the CD programmer of the content management device to identify at least one feature code set, (ii) storing the at least one feature code set in a CD memory of the controller device, and (iii) using the at least one feature code set to control operation of the connected display device based on user input. [Brief explanation of the drawings]

[0031] Embodiments of the present disclosure are described with reference to the following drawings. [Figure 1] FIG. 1 is a block diagram detailing wired communication between an HDMI source and an HDMI sink from the HDMI specification, as detailed in the prior art. [Figure 2] 1 is a truncated chart detailing the E-EDID structure from the VESA E-EDID standard, as detailed in the prior art; [Figure 3A] 1 is a chart detailing an overview of display descriptors from the VESA E-EDID standard, as detailed in the prior art. [Figure 3B] 1 provides additional details of the display descriptor summary field from the VESA E-EDID standard, detailed in the prior art. [Figure 4A]1 is a truncated chart detailing the first E-EDID extension with CEA extensions to the source physical address from the HDMI specification, as detailed in the prior art; [Figure 4B] 1 is an adapted block representation of a cluster with physical addresses from the HDMI specification, as detailed in the prior art. [Figure 5] FIG. 1 is a block diagram illustrating an HDMI connection between a content management device and a connected display device, as known in the prior art. [Figure 6] 1 is a block diagram showing an HDMI connection between a content management device and a display device connected via a connected relay device in an embodiment of the present invention. [Figure 7] 1 is a block diagram showing a controller device paired with a content management device in an embodiment of the present invention. FIG. DETAILED DESCRIPTION OF THE INVENTION

[0032] In the following detailed description, reference is made to the accompanying drawings, which form a part hereof. The illustrative embodiments described in the detailed description, drawings, and claims are not intended to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. Unless otherwise specified, as used herein, the terms "comprising," "comprise," "including," and "include," and grammatical variations thereof, are intended to express "open" or "inclusive" language such that the recited elements are included, but may also include additional, unrecited elements.

[0033] As used herein, the term "controller device" can be embodied in (i) a traditional remote control device, (ii) a universal remote control device, and (iii) a computing device with a native or downloaded remote control software application. The computing device may be a laptop, desktop computer, notepad, smartphone, game controller, or tabletop device. Examples of tabletop devices include virtual assistant products sold under the brand names Amazon Alexa, Amazon Echo, Echo Dot, Echo Studio, and Amazon Tap. Each controller device is programmable and can select and / or receive specific function codes. The controller device can transmit function codes to a connected display device (CDD) via a wireless transmission protocol, such as a radio frequency transmission (e.g., BLE, Wi-Fi, or other RF transmission protocol) and / or an infrared transmission protocol.

[0034] As used herein, "user input" may be implemented by a display, keyboard, mouse, touch screen, touch pad, voice recognition capabilities, and / or similar dedicated means for receiving instructions from a user. In a traditional or universal remote control, the user display is most likely the physical keys of the device. In a computing device, the user display may be a capacitive touch screen and / or voice recognition capabilities.

[0035] As used herein, "server" software and hardware may be implemented within a single standalone computer, a standalone server, multiple dedicated servers, and / or a virtual server and / or cloud-based service running on a larger network of servers.

[0036] As used herein, a "database" may store and access data from a small storage controller device (CD) memory, a single standalone computer, a laptop, a tablet, a data server, multiple dedicated data servers, a cloud-based service, and / or a virtual server running on a network of servers. As described herein, use of the term "database" refers to a collection of linked information of tables, records, and / or data records. As described and illustrated in the figures, each database may be maintained individually and / or collectively within a single database or through links to other databases. The databases illustrated in the description and figures may be on the same server or on separate servers. Data links between tables may be within a single database or between separate databases.

[0037] Figures 1, 2, 3A, 3B, 4A, 4B, and 5 represent the prior art and are described in the background section of this application.

[0038] For convenience, the following table identifies the reference item numbers used in the drawings of this application. Number: Description 11: HDMI source 12: HDMI sink 13: ROM 14: TMDS channel 15: Display Data Channel (DDC) 16: CEC Line 20: Content Management Device (CMD) 21A: CMD audio / visual input 21B: Coaxial cable 21C: Coaxial cable output 22: Ethernet Input 23A: CMD audio / visual output 23B: CDD Audio / Visual Input 23C: HDMI cable 23C-1: 1st HDMI cable 23C-2: Second HDMI cable 24A: CMD Radio Frequency (RF) Transceiver 24B: CDD Radio Frequency (RF) Transceiver 24C: CD Radio Frequency (RF) Transceiver 25A: CMD infrared receiver 25B: CDD infrared receiver 25C: CD infrared transmitter 26A: Power input 26B: Power cable 26C: Power output 27A: Discovery Module 27B: Inspection module 27C: CD Programmer 27D: Update Module 27E: Codeset Database 27F: Sync Database 30: Connected Display Device (CDD) 40: connected intermediary device (CID) 41A: CID audio / visual output 41B: CID audio / visual input 50: Controller device (CD) 51: CD Memory 52: Code Set Module 60: Cluster

[0039] 6 is a block diagram illustrating an HDMI connection between a content management device 20 and a connected display device 30 via a connected relay device 40 in accordance with an embodiment of the present invention. FIG. 6 differs from the block diagram of FIG. 5 in that it includes a connected relay device 40 disposed between the content management device 20 and the connected display device 30. First audio / visual content is received by the content management device 20, second audio / visual content is transmitted from the content management device 20 to the connected relay device 40 via a first HDMI cable 23C-1 via the HDMI communication protocol, and third audio / visual content is transmitted from the connected relay device 40 to the connected display device 30 via a second HDMI cable 23C-2 via the HDMI communication protocol.

[0040] The first audio / visual content may include one or more channels of content. The content management device 20 may select a single channel of content in the second audio / visual content to distribute to the connected relay device 40. For example, the second audio / visual content may be a subset and / or a specially formatted version of the first audio / visual content. The second audio / visual content and the third audio / visual content may be identical or substantially similar. For example, the connected relay device 40 may act as a repeater and forward the audio / visual content without modification.

[0041] 5, the content management device 20 of FIG. 6 includes a CMD audio / visual input 21A (shown in FIG. 5 as coaxial input 21A), an Ethernet input 22, a CMD radio frequency (RF) transceiver 24A, a CMD infrared receiver 25A, and a power input 26A. As in FIG. 5, the connected display device 30 includes a CMD RF transceiver 24B and a CMD infrared receiver 25B. Although not shown in FIGS. 5 and 6, the content management device 20 may also include a Wi-Fi transceiver for receiving audio / visual content rather than the coaxial cable 21B, or may receive audio / visual content via the Ethernet input 22.

[0042] CMD RF transceiver 24A and CDD RF transceiver 24B are shown as Bluetooth Low Energy (BLE) transceivers, but may be any type of radio frequency (RF) transceiver. For example, a BLE transceiver is a type of RF transceiver. Bluetooth is a registered trademark of the Bluetooth Special Interest Group (SIG).

[0043] Infrared communication protocols require line of sight and are, in most cases, one-way. Thus, the CD infrared transmitter 25C on the controller device 50 can transmit function codes from the controller device 50 to the CDD infrared receiver 25B of a connected display device 30 (e.g., a television) or the CMD infrared receiver 25A of a content management device 20 (e.g., a set-top box). Common modulation techniques for infrared transmitters include pulse-to-distance coding and Manchester coding. The infrared communication protocol is transmitted by the infrared transmitter and received by the infrared receiver.

[0044] To support updates to the programming of the controller device 50, radio frequency transmission can be used, even though function codes are later transmitted to the connected display device 30 via an infrared communication protocol by the CD infrared transmitter 25C and received by the CDD infrared receiver 25B. The controller device (CD) radio frequency (RF) transceiver 24C provides both higher data bandwidth and bidirectional communication. A BLE transceiver is a type of RF wireless transceiver. BLE has the advantage of being an open standard protocol, allowing various companies to harmonize communication protocols between various controller devices 50, set-top boxes, and televisions. However, the BLE protocol includes a broader command set and therefore greater firmware and memory overhead to support its use. An RF transceiver operating under a reduced, simplified command set can reduce the complexity, energy usage, and cost of the controller device 50.

[0045] 6 shows a system with a single connected relay device 40, it should be noted that the present invention is not limited to use with only a single connected relay device 40. As an example, the system may include a hierarchy of multiple connected relay devices 40 connected in series between a content management device 20 and a connected display device 30.

[0046] FIG. 7 is a block diagram illustrating a controller device 50 paired with a content management device 20 in an embodiment of the present invention. The controller device 50 includes a CD radio frequency (RF) transceiver 24C, a CD infrared transmitter 25C, a CD memory 51, and a code set test module 52. As shown in FIGS. 5 and 6, the content management device 20 includes a CMD audio / visual input 21A (shown as a coaxial input 21A in FIG. 5), an Ethernet input 22, a CMD radio frequency (RF) transceiver 24A, a CMD infrared receiver 25A, and a power input 26A. As shown in FIG. 7, the content management device 20 further includes a discovery module 27A, a test module 27B, a CD programmer 27C, an update module 27D, a code set database 27E, and a sink database 27F.

[0047] A general embodiment of the present invention is a controller device programming system and method for identifying connected display devices 30 connected to a content management device 20 via at least one connected relay device 40. The system and method evaluates details contained in a sink data fusion including sink identification data from both the connected display device 30 and at least one of the connected relay devices 40. Keywords, whitelists, and blacklists can be used to evaluate the content of the sink data fusion and determine a match for one or more preferred display devices to improve the selection of a set of function codes for controlling the connected display devices 30 using a controller device 50 paired with the content management device 20.

[0048] A first embodiment of the present invention is a controller device programming system for executing at least one programming request to a controller device (CD) 50 paired with a content management device (CMD) 20 in indirect data communication with a connected display device (CDD) 30 via at least one connected relay device (CID) 40. The controller device 50 includes: (i) a CD radio frequency (RF) transceiver, (ii) a CD memory, and (iii) a codeset test module 52. The content management device 20 includes: (1) a CMD audio / visual input 21A configured to receive first audio / visual content according to a first communication protocol, (2) a CMD audio / visual output 23A configured to transmit second audio / visual content directly or indirectly to at least one connected relay device 40 according to a second communication protocol, (3) a CMD RF transceiver 24A configured to wirelessly communicate with the controller device 50 according to a third communication protocol, and (4) a discovery module 27A, a test module B, and a CD programmer 27C. The content management device 20 stores or links to: (1) a code set database 27E having a plurality of code set records, and (2) a sync database 27F having a plurality of sync records, each code set record storing or linking to: (i) at least one code set identifier of the plurality of code set identifiers, and (ii) a set of function codes associated with the at least one code set identifier of the code set record.Each sink record includes or links to the following: (i) at least one sink identifier of the plurality of sink identifiers, each sink identifier associated with at least one of the plurality of sink devices, (ii) at least one code set identifier of the code set identifiers, the at least one code set identifier specifying a set of function codes for the at least one sink device associated with the sink record, and (iii) a keyword set for the at least one sink device associated with the sink record. The keyword set of each sink record includes at least one of the following: (1) a manufacturer name of the at least one sink device associated with the sink record, (2) a device name of the at least one sink device associated with the sink record, and (3) a serial number of the at least one sink device associated with the sink record. Each of the at least one connected relay device includes: (i) a CID audio / visual input 41B configured to receive, directly or indirectly, second audio / visual content from the content management device 20 according to the second communication protocol, and (ii) a CID audio / visual output 41A configured to transmit, directly or indirectly, third audio / visual content from the connected relay device 40 to the connected display device 30 according to the second communication protocol. The connected display device 30 includes: (i) a CDD audio / visual input 23B configured to receive the third audio / visual content from the content management device 20 according to the second communication protocol, and (ii) at least one of a CDD RF transceiver 24B and a CDD infrared receiver 25B.

[0049] As used herein, the term "device name" is intended to include any of the following: (i) the display product name of a device as identified under the VESA E-EDID standard, (ii) the model name included in the display product name of a device in the VESA E-EDID standard, or (iii) a common usage name given to a device by the device's distributor or manufacturer. The terms "device" and "device name" are not limited to display products. For example, a device may include products other than an attached display device.

[0050] In a first embodiment of the present invention, for each programming request, the discovery module 27A of the content management device 20 is configured to: (1) receive physical address data of a cluster including the connected display device 30, at least one connected relay device 40, and the content management device 20; (2) confirm the existence of indirect data communication between the content management device 20 and the connected display device 30 based on the physical address data; and (3) request and receive sink identification data via the second communication protocol. For each programming request, the sink identification data is: (1) configured according to a device identification data structure; and (2) includes sink data fusion. The sink data fusion includes at least two of the following: (a) a manufacturer name of at least one of the connected relay devices 40, (b) a manufacturer name of the connected display device 30, (c) a device name of at least one of the connected relay devices 40, (d) a device name of the connected display device 30, (e) a serial number of at least one of the connected relay devices 40, and (f) a serial number of the connected display device 30. For each programming request, inspection module 27B of content management device 20 is configured to: (i) access the sink identification data received by discovery module 27A, (ii) access the sink records in sink database 27F, (iii) use at least a portion of the sink identification data to perform a keyword search of the keyword set of the sink records in sink database 27F, (iv) identify at least one preferred display device match, and (v) cross-reference each preferred display device match with at least one code set identifier in the sink records in sink database 27F. The priority of each preferred display device match is calculated according to at least one of the following: (1) a first reliability score for the manufacturer name, (2) a second reliability score for the device name, and (3) a third reliability score for the serial number.For each programming request, CD programmer 27C is configured to: (i) access code set database 27E, (ii) initialize communication with controller device 50 via the third communication protocol, and (iii) for each code set identifier cross-referenced by inspection module 27B with a match for at least one preferred display device, transfer at least a portion of the set of feature codes associated with the code set identifier to controller device 50 via the third communication protocol. For each programming request, controller device 50 is configured to: (i) test the functionality of at least a subset of each set of feature codes received by controller device 50 from CD programmer 27C of content management device 20 to identify at least one feature code set, (ii) store the at least one feature code set in CD memory 51 of controller device 50, and (iii) use the at least one feature code set to control operation of connected display device 30 based on user input.

[0051] In another embodiment of the present invention, sink records in sink database 27F are categorized into at least one of the following: (i) a manufacturer name whitelist associated with a plurality of confirmed display manufacturers, (ii) a manufacturer name blacklist associated with at least one of a plurality of audio device manufacturers, a plurality of non-display device manufacturers, and a plurality of repeater device manufacturers. For each programming request, verification module 27B: (i) identifies the manufacturer name identified by the sink identification data as mapped by the device identification data structure, and (ii) searches sink database 27F for the identified manufacturer name. For each programming request, verification module 27B can optionally further: (i) increase the reliability score of the manufacturer name of the programming request if the manufacturer name included in the sink identification data of the programming request is included in the manufacturer name whitelist; (ii) If the manufacturer name included in the sink identification data of the programming request is included in the manufacturer name blacklist, the trustworthiness score of the manufacturer name of the programming request is decreased.

[0052] The causes and effects of sink data amalgamation may change over time as new HDMI devices are introduced to the market. A significant initial technical problem identified during the research leading to the present invention involves the case of sink data amalgamation that includes the ID manufacturer name of an audio device (connected as a repeater) along with the display product name of a television (connected as a CEC root device). In this case, the ID manufacturer name can generally be ignored during selection or prioritization of a preferred display device match. Also, in this case, the keyword set in sink database 27F helps identify phrases or terms within the sink data amalgamation to identify the specific manufacturer and / or device name of the television.

[0053] In another embodiment of the present invention, sink records in the sink database are categorized into at least one of the following: (i) a device name whitelist associated with a plurality of confirmed display device names, (ii) a device name blacklist associated with at least one of a plurality of audio device names, a plurality of non-display device names, and a plurality of repeater device names. For each programming request, verification module 27B: (i) identifies the device name identified by the sink identification data as mapped by the device identification data structure, and (ii) searches the sink database for the identified device name. For each programming request, verification module 27B can optionally further: (i) increase the confidence score of the programming request's device name if the programming request's device name is included in the device name whitelist; (ii) decreasing the trustworthiness score of the programming request's device name if the programming request's device name is included in the device name blacklist;

[0054] In another embodiment of the present invention, the device identification data structure is an enhanced extended display identification data (E-EDID) structure that includes: (a) a set of vendor and product identification fields, and (b) a set of display descriptor fields. The set of vendor and product identification fields includes at least one of the following: (i) ID manufacturer name, (ii) ID product code, (iii) ID serial number, (iv) manufacture week, and (v) manufacture year. The set of display descriptor fields includes at least one of the following: (i) display product serial number, (ii) an alphanumeric data string in ASCII format, and (iii) display product name. In this alternative embodiment of the present invention, the sink data fusion may include: (a) ID manufacturer name of at least one of the connected repeater devices 40, and (b) display product name of the connected display device 30. In this alternative embodiment of the present invention, the keyword set for each sink record: (a) may be assembled from at least one of the following: from the datasheet specifications of at least one sink device associated with the sink record, and from empirical E-EDID received via the second communication protocol from at least one sink device associated with the sink record; and (b) may include at least one of the following: an ID manufacturer name of at least one sink device associated with the sink record, an ID product code of at least one sink device associated with the sink record, an ID serial number of at least one sink device associated with the sink record, a manufacturing week of at least one sink device associated with the sink record, a manufacturing year of at least one sink device associated with the sink record, a display product serial number of at least one sink device associated with the sink record, an alphanumeric data string in ASCII format of at least one sink device associated with the sink record, a display product name of at least one sink device associated with the sink record.In this alternative embodiment of the present invention, for the calculation of the matching priority of each preferred display device by inspection module 27B: (a) the manufacturer name may be the ID manufacturer name in the sink identification data as mapped by the E-EDID structure, (b) the device name may be the ID display product name in the sink identification data as mapped by the E-EDID structure, and (c) the serial number may be the ID serial number in the sink identification data as mapped by the E-EDID structure.

[0055] In an alternative embodiment of the present invention, content management device 20 further includes: (i) an Ethernet connection connectable to an off-site server via a network; and (ii) an update module 27D. The off-site server includes: (i) a current sync database and (ii) a current code set database. Update module 27D of content management device 20 is configured to perform at least one of the following: (i) download at least a portion of the current sync database and at least a portion of the current code set database from the off-site server and store them within content management device 20; and (ii) link the current sync database and the current code set database.

[0056] Update module 27D provides post-sale access to sync records for new television models, updated keyword sets for existing sync records, and updated whitelists and blacklists. These updates may serve as "bug fixes" for compatibility issues previously identified in the field by end customers or during ongoing certification testing by manufacturers of set-top box and / or controller devices 50. For example, specific patterns (e.g., specific combinations of ID manufacturer and display product name) can be cataloged, downloaded, or accessed by content management device 20 and used for future programming requests to resolve sync data fusion.

[0057] In another embodiment of the present invention, the second communication protocol is an HDMI communication protocol.

[0058] In alternative embodiments of the present invention, the third communication protocol is one of the following: (a) a Bluetooth Low Energy protocol, and (ii) an RF protocol other than the Bluetooth Low Energy protocol. An exemplary, non-limiting list of RF protocols other than the Bluetooth Low Energy protocol includes a Wi-Fi protocol, an RF4CE protocol, and a Matter protocol.

[0059] In an alternative embodiment of the present invention, at least one of the connected repeating devices 40 is an audio device.

[0060] In an alternative embodiment of the present invention, the connected display device 30 includes a CDD RF transceiver 24B, and based on user input, the controller device 50 transmits at least one of the feature codes of the at least one feature code set from the CDD RF transceiver 24C of the controller device 50 to the CDD RF transceiver 24B of the connected display device 30 via the third communication protocol.

[0061] In another embodiment of the present invention, the controller device 50 further includes a CDD infrared transmitter 25C, and the connected display device 30 includes a CDD infrared receiver 25B. Based on user input, the controller device 50 transmits at least one of the function codes of the at least one function code set from the CDD infrared transmitter 25C of the controller device 50 to the CDD infrared receiver 25B of the connected display device 30 via a fourth communication protocol. The fourth communication protocol may be one of the following: (a) a Bluetooth low energy protocol, and (ii) an RF protocol other than the Bluetooth low energy protocol. An exemplary, non-limiting list of RF protocols other than the Bluetooth low energy protocol includes a Wi-Fi protocol, an RF4CE protocol, and a Matter protocol.

[0062] In an alternative embodiment of the present invention, content management device 20 is further one of the following: (a) a set-top box, wherein CMD audio / visual input 21A is a coaxial cable input; (b) a digital media player, wherein CMD audio / visual input 21A is at least one of a first Ethernet input and a first Wi-Fi transceiver; (c) A desktop or laptop computer, wherein the CMD audio / visual input 21A is at least one of a second Ethernet input and a second Wi-Fi transceiver.

[0063] In an alternative embodiment of the present invention, at least one of the connected repeater devices 40 includes a hierarchy of connected repeater devices. The hierarchy of connected repeater devices 40 may be connected in series.

[0064] A second embodiment of the present invention is a controller device programming method for executing at least one programming request to a controller device (CD) 50 paired with a content management device (CMD) 20 in indirect data communication with a connected display device (CDD) 30 via at least one connected relay device (CID) 40. The controller device 50 includes: (i) a CD radio frequency (RF) transceiver, (ii) a CD memory, and (iii) a codeset test module 52. The content management device 20 includes: (1) a CMD audio / visual input 21A configured to receive first audio / visual content according to a first communication protocol, (2) a CMD audio / visual output 23A configured to transmit second audio / visual content directly or indirectly to at least one connected relay device 40 according to a second communication protocol, (3) a CMD RF transceiver 24A configured to wirelessly communicate with the controller device 50 according to a third communication protocol, and (4) a discovery module 27A, a test module B, and a CD programmer 27C. The content management device 20 stores or links to: (1) a code set database 27E having a plurality of code set records, and (2) a sync database 27F having a plurality of sync records, each code set record storing or linking to: (i) at least one code set identifier of the plurality of code set identifiers, and (ii) a set of function codes associated with the at least one code set identifier of the code set record.Each sink record includes or links to the following: (i) at least one sink identifier of the plurality of sink identifiers, each sink identifier associated with at least one of the plurality of sink devices, (ii) at least one code set identifier of the code set identifiers, the at least one code set identifier specifying a set of function codes for the at least one sink device associated with the sink record, and (iii) a keyword set for the at least one sink device associated with the sink record. The keyword set of each sink record includes at least one of the following: (1) a manufacturer name of the at least one sink device associated with the sink record, (2) a device name of the at least one sink device associated with the sink record, and (3) a serial number of the at least one sink device associated with the sink record. Each of the at least one connected relay device 40 includes: (i) a CID audio / visual input 41B configured to receive, directly or indirectly, second audio / visual content from the content management device 20 according to the second communication protocol, and (ii) a CID audio / visual output 41A configured to transmit, directly or indirectly, third audio / visual content from the connected relay device 40 to the connected display device 30 according to the second communication protocol. The connected display device 30 includes: (i) a CDD audio / visual input 23B configured to receive the third audio / visual content from the content management device 20 according to the second communication protocol, and (ii) at least one of a CDD RF transceiver 24B and a CDD infrared receiver 25B.

[0065] In a second embodiment of the present invention, for each programming request, the discovery module 27A of the content management device 20 performs the following steps: (1) receiving physical address data of a cluster including the connected display device 30, at least one connected relay device 40, and the content management device 20; (2) confirming the existence of indirect data communication between the content management device 20 and the connected display device 30 based on the physical address data; and (3) requesting and receiving sink identification data via a second communication protocol. For each programming request, the sink identification data is: (1) configured according to a device identification data structure; and (2) includes sink data fusion. The sink data fusion includes at least two of the following: (a) a manufacturer name of at least one of the connected relay devices 40, (b) a manufacturer name of the connected display device 30, (c) a device name of at least one of the connected relay devices 40, (d) a device name of the connected display device 30, (e) a serial number of at least one of the connected relay devices 40, and (f) a serial number of the connected display device 30. For each programming request, the verification module 27B of the content management device 20 performs the following steps: (i) accessing the sink identification data received by the discovery module 27A, (ii) accessing the sink records in the sink database 27F, (iii) using at least a portion of the sink identification data to perform a keyword search of the keyword set of the sink records in the sink database 27F, (iv) identifying at least one preferred display device match, and (v) cross-referencing each preferred display device match with at least one code set identifier in the sink records in the sink database 27F. The priority of each preferred display device match is calculated according to at least one of the following: (1) a first confidence score for the manufacturer name, (2) a second confidence score for the device name, and (3) a third confidence score for the serial number.For each programming request, CD programmer 27C performs the following: (i) accessing code set database 27E, (ii) initializing communication with controller device 50 via the third communication protocol, and (iii) for each code set identifier cross-referenced by inspection module 27B with a match for at least one preferred display device, transferring at least a portion of the set of feature codes associated with the code set identifier to controller device 50 via the third communication protocol. For each programming request, controller device 50 performs the following: (i) testing the functionality of at least a subset of each set of feature codes received by controller device 50 from CD programmer 27C of content management device 20 to identify at least one feature code set, (ii) storing the at least one feature code set in CD memory 51 of controller device 50, and (iii) using the at least one feature code set to control the operation of connected display device 30 based on user input.

[0066] While various aspects and embodiments have been disclosed herein, it will be apparent that various other modifications and adaptations of the present invention will be apparent to those skilled in the art upon reading the foregoing disclosure without departing from the spirit and scope of the invention, and all such modifications and adaptations are intended to fall within the scope of the appended claims. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit of the invention being indicated by the appended claims.

Claims

1. A controller device programming system for executing at least one programming request to a controller device (CD), said controller device being paired with a content management device (CMD) in indirect data communication with a connected display device (CDD) via at least one connected relay device (CID), a) the controller device includes: (i) CD radio frequency (RF) transceiver; (ii) CD memory, (iii) Code Set Test Module; b) the content management device, (i) Including: (1) a CMD audio / visual input configured to receive first audio / visual content according to a first communications protocol; (2) a CMD audio / visual output configured to transmit second audio / visual content according to a second communication protocol directly or indirectly to the at least one connected relay device; (3) a CMD RF transceiver configured to wirelessly communicate with the controller device according to a third communication protocol; (4) Discovery module, inspection module, and CD programmer; (ii) stores or links to: (1) a code set database having a plurality of code set records; (2) a sync database having a plurality of sync records; c) Each code set record contains or links to: (i) at least one code-set identifier of a plurality of code-set identifiers; (ii) a set of feature codes associated with the at least one code-set identifier of the code-set record; d) Each sync record contains or links to: (i) at least one sink identifier of a plurality of sink identifiers, each sink identifier associated with at least one of a plurality of sink devices; (ii) at least one code-set identifier among the code-set identifiers, the at least one code-set identifier specifying a set of function codes for at least one sink device associated with the sink record; (iii) a keyword set for the at least one sink device associated with the sink record, the keyword set including at least one of the following: (1) a manufacturer name of the at least one sink device associated with the sink record; (2) a device name of the at least one sink device associated with the sink record; (3) a serial number of the at least one sink device associated with the sink record; e) each of said at least one connected relay device includes: (i) a CID audio / visual input configured to receive the second audio / visual content directly or indirectly from the content management device according to the second communication protocol; (ii) a CID audio / visual output configured to transmit third audio / visual content directly or indirectly from the connected relay device to the connected display device according to the second communication protocol; f) the connected display device includes: (i) a CDD audio / visual input configured to receive the third audio / visual content from the content management device according to the second communication protocol; (ii) at least one of a CDD RF transceiver and a CDD infrared receiver; g) For each programming request, (i) the discovery module of the content management device is configured to: (1) receiving physical address data of a cluster including the connected display device, the at least one connected relay device, and the content management device; (2) confirming the existence of indirect data communication between the content management device and the connected display device based on the physical address data; (3) requesting and receiving sink identification data via the second communication protocol; (ii) the sink identification data is: (1) configured according to a device identification data structure; (2) Including at least two sink data fusions: (a) the manufacturer name of at least one of the connected relay devices; (b) the name of the manufacturer of the connected display device; (c) a device name of at least one of the connected relay devices; (d) the device name of the connected display device; (e) the serial number of at least one of the connected relay devices; (f) the serial number of said connected display device; h) the inspection module of the content management device is configured for each programming request as follows: (i) accessing sink identification data received by the discovery module; (ii) accessing a sync record in said sync database; (iii) performing a keyword search of a keyword set of sink records in the sink database using at least a portion of the sink identification data; (iv) identifying at least one preferred display device match, wherein a priority of each preferred display device match is calculated according to at least one of the following: (1) a first reliability score for the manufacturer name; (2) a second confidence score for the device name; (3) a third reliability score for the serial number; (v) cross-referencing each preferred display device match with at least one code-set identifier in a sync record of said sync database; i) for each programming request, said CD programmer: (i) accessing said code set database; (ii) initializing communication with the controller device via the third communication protocol; (iii) for each code-set identifier cross-referenced by the verification module for a match with at least one preferred display device, transmitting at least a portion of the set of feature codes associated with the code-set identifier to the controller device via the third communication protocol; j) For each programming request, the controller device is configured to: (i) testing the functionality of at least a subset of each set of feature codes received by the controller device from the CD programmer of the content management device to identify at least one set of feature codes; (ii) storing at least one set of feature codes within the CD memory of the controller device; (iii) using the at least one set of function codes based on user input to control operation of the connected display device; system.

2. a) the sync records in the sync database are classified into at least one of the following: (i) a manufacturer name whitelist associated with multiple verified display manufacturers; (ii) A manufacturer name blacklist associated with at least one of the following: (1) Multiple audio equipment manufacturers, (2) Multiple non-display device manufacturers; (3) Multiple repeater device manufacturers; b) the test module, for each programming request: (i) identifying the manufacturer name identified by the sink identification data as mapped by the device identification data structure; (ii) searching said Sync Database for said identified manufacturer name; The system of claim 1 .

3. The test module further, for each programming request: a) increasing a reliability score of the manufacturer name of the programming request if the manufacturer name included in the sink identification data of the programming request is included in the manufacturer name whitelist; b) decreasing the trustworthiness score of the manufacturer name of the programming request if the manufacturer name included in the sink identification data of the programming request is included in the manufacturer name blacklist; The system of claim 2 .

4. a) the sync records in the sync database are classified into at least one of the following: (i) a device name whitelist associated with multiple confirmed display device names; (ii) a device name blacklist associated with at least one of the following: (1) Multiple audio device names; (2) multiple non-display device names; (3) Multiple repeater device names; b) the test module, for each programming request: (i) determining the device name identified by the sink identification data as mapped by the device identification data structure; (ii) searching the sink database for the identified device name; The system of claim 1 .

5. The test module further, for each programming request: a) increasing a confidence score of the device name of the programming request if the device name of the programming request is included in the device name whitelist; b) decreasing the trustworthiness score of the device name of the programming request if the device name of the programming request is included in the device name blacklist; The system of claim 4.

6. The device identification data structure is an Extended Extended Display Identification Data (E-EDID) structure that includes: a) A set of vendor and product identification fields that includes at least one of the following: (i) ID manufacturer name, (ii) ID product code; (iii) ID serial number, (iv) week of manufacture; (v) Year of manufacture; b) A set of display descriptor fields including at least one of the following: (i) Display Product serial number; (ii) an alphanumeric data string in ASCII format; (iii) Display product name; The system of claim 1 .

7. The sink data fusion includes: a) the ID manufacturer name of at least one of the connected relay devices; b) the display product name of said connected display device; The system of claim 6.

8. The keyword set for each sync record is: a) Assembled from at least one of the following: (i) a datasheet specification of the at least one sink device associated with the sink record; (ii) an empirical E-EDID received via the second communication protocol from at least one sink device associated with the sink record; b) Contains at least one of the following: (i) an ID manufacturer name of the at least one sink device associated with the sink record; (ii) an ID product code of the at least one sink device associated with the sink record; (iii) an ID serial number of the at least one sink device associated with the sink record; (iv) the manufacturing date of the at least one sink device associated with the sink record; (v) the year of manufacture of the at least one sink device associated with the sink record; (vi) a display product serial number of the at least one sink device associated with the sink record; (vii) an alphanumeric data string in ASCII format of the at least one sink device associated with the sink record; (viii) a display product name of the at least one sink device associated with the sink record; (ix) a device type of the at least one sink device associated with the sink record; (x) a brand identifier of the at least one sink device associated with the sink record; (xi) a keyword of the at least one sink device associated with the sink record; The system of claim 6.

9. In calculating the priority of the match for each preferred display device by the inspection module, a) the manufacturer name is the ID manufacturer name in the sink identification data mapped by the E-EDID structure; b) the device name is an ID display product name in the sink identification data mapped by the E-EDID structure; c) the device name is a model name contained in the sink identification data, mapped by the E-EDID structure; d) the serial number is an ID serial number in the sink identification data mapped by the E-EDID structure; The system of claim 6.

10. a) the content management device further includes: (i) an Ethernet connection capable of connecting to an off-site server over a network; (ii) update modules; b) the off-site server includes: (i) the current sink database; (ii) the current code set database; c) the update module of the content management device is configured to perform at least one of the following: (i) downloading from said off-site server and storing within said content management device: (1) at least a portion of the current sink database; (2) at least a portion of the current code set database; (ii) a link to the current Sync Database and a link to the current Code Set Database; The system of claim 1 .

11. The system of claim 1 , wherein the second communication protocol is an HDMI communication protocol.

12. The third communication protocol is one of the following: a) Bluetooth Low Energy protocol, b) an RF protocol other than the Bluetooth Low Energy protocol; The system of claim 1 .

13. The system of claim 1 , wherein at least one of the connected repeater devices is an audio device.

14. a) the connected display device includes the CDD RF transceiver; b) based on the user input, the controller device transmits at least one of the function codes of the at least one set of function codes via the third communication protocol: (i) from the CD RF transceiver of the controller device; (ii) to the CDD RF transceiver of the connected display device; Send, The system of claim 1 .

15. a) the controller device further includes a CD infrared transmitter and the connected display device includes the CDD infrared receiver; b) based on the user input, the controller device transmits at least one of the function codes of the at least one set of function codes via a fourth communication protocol: (i) from the CD infrared transmitter of the controller device, (ii) to the CDD infrared receiver of the connected display device; Send, The system of claim 1 .

16. The content management device is at least one of the following: a) a set-top box, wherein the CMD audio / visual input is a coaxial cable input; b) a digital media player, wherein the CMD audio / visual input is at least one of a first Ethernet input and a first Wi-Fi transceiver; c) a desktop or laptop computer, wherein the CMD audio / visual input is at least one of a second Ethernet input and a second Wi-Fi transceiver; The system of claim 1 .

17. The system of claim 1 , wherein the device name is a model name.

18. The system of claim 1 , wherein the at least one connected relay device comprises a hierarchy of connected relay devices.

19. 1. A controller device programming method for executing at least one programming request to a controller device (CD), the controller device being paired with a content management device (CMD) in indirect data communication with a connected display device (CDD) via at least one connected relay device (CID), the method comprising: a) the controller device includes: (i) CD radio frequency (RF) transceiver; (ii) CD memory, (iii) Code Set Test Module; b) the content management device, (i) Including: (1) a CMD audio / visual input configured to receive first audio / visual content according to a first communications protocol; (2) a CMD audio / visual output configured to transmit second audio / visual content to the at least one connected relay device according to a second communication protocol; (3) a CMD RF transceiver configured to wirelessly communicate with the controller device according to a third communication protocol; (4) Discovery module, inspection module, and CD programmer; (ii) stores or links to: (1) a code set database having a plurality of code set records; (2) a sync database having a plurality of sync records; c) Each code set record contains or links to: (i) at least one code-set identifier of a plurality of code-set identifiers; (ii) a set of feature codes associated with the at least one code-set identifier of the code-set record; d) Each sync record contains or links to: (i) at least one sink identifier of a plurality of sink identifiers, each sink identifier being associated with at least one of a plurality of sink devices; (ii) at least one code set identifier among the code set identifiers, the at least one code set identifier specifying a set of the function codes of at least one sink device associated with the sink record; (iii) a keyword set for at least one sink device associated with the sink record, the keyword set including at least one of the following: (1) a manufacturer name of the at least one sink device associated with the sink record; (2) a device name of the at least one sink device associated with the sink record; (3) a serial number of the at least one sink device associated with the sink record; e) each of said at least one connected relay device includes: (i) a CID audio / visual input configured to receive the second audio / visual content directly or indirectly from the content management device according to the second communication protocol; (ii) a CID audio / visual output configured to transmit third audio / visual content directly or indirectly from the connected relay device to the connected display device according to the second communication protocol; f) the connected display device includes: (i) a CDD audio / visual input configured to receive the third audio / visual content from the content management device according to the second communication protocol; (ii) at least one of a CDD RF transceiver and a CDD infrared receiver; g) For each programming request, (i) the discovery module of the content management device performs the following: (1) receiving physical address data of a cluster including the connected display device, the at least one connected relay device, and the content management device; (2) confirming the existence of indirect data communication between the content management device and the connected display device based on the physical address data; (3) requesting and receiving sink identification data via the second communication protocol; (ii) The sink identification data is: (1) configured according to a device identification data structure; (2) Including fusion of sink data of at least two of the following: (a) the manufacturer name of at least one of the connected relay devices; (b) the name of the manufacturer of the connected display device; (c) a device name of at least one of the connected relay devices; (d) the device name of the connected display device; (e) the serial number of at least one of the connected relay devices; (f) the serial number of said connected display device; h) the inspection module of the content management device performs, for each programming request: (i) accessing sink identification data received by the discovery module; (ii) accessing the sync records in the sync database; (iii) performing a keyword search of the set of keywords of the sink records of the sink database using at least a portion of the sink identification data; (iv) identifying at least one preferred display device match, wherein a priority of each preferred display device match is calculated according to at least one of the following: (1) a first reliability score for the manufacturer name; (2) a second trustworthiness score for the device name; (3) a third reliability score for the serial number; (v) cross-referencing a match of each preferred display device against at least one code-set identifier in said sync record of said sync database; i) For each programming request, the CD programmer performs the following: (i) accessing said code set database; (ii) initiating communication with the controller device via the third communication protocol; (iii) for each code-set identifier cross-referenced by the verification module for a match with at least one preferred display device, transmitting at least a portion of the set of feature codes associated with the code-set identifier to the controller device via the third communication protocol; j) For each programming request, the controller device performs the following: (i) testing the functionality of at least a subset of each set of feature codes received by the controller device from the CD programmer of the content management device to identify at least one set of feature codes; (ii) storing at least one set of feature codes in the CD memory of the controller device; (iii) using said at least one set of function codes based on user input to control operation of said connected display device; method.

Citation Information

Patent Citations

  • Communication system

    JP2012138933A

  • Electronic device and control method for the same

    JP2020191626A

  • Custom edid content generation system and method

    US20070186015A1

  • Audio processing device, audio processing method, and program

    US20090281643A1

  • Communication apparatus, control method, and computer readable recording medium

    US20110047586A1