Abstract:
A control system for controlling consumer apparatus. In the system, a command item is generated in one apparatus and supplied to another apparatus via a bus. The command item includes an operation code followed by zero or more operand codes for, in an addressee apparatus, addressing a command table. The latter thereupon outputs appropriate information for the addressee apparatus, without the addressor apparatus needing to specify the latter information.

Description:
This is a continuation of application Ser. No. 07/954,737, filed Sep. 30, 1992, abandoned which is a continuation-in-part of application Ser. No. 07/668,804, filed Mar. 7, 1991, abandoned, which is a continuation of application Ser. No. 07/430,399, filed Oct. 31, 1989, abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     This invention relates to a control system for controlling consumer apparatus, in particular audio and/or video apparatus. Various such apparatus have been in general use, the control signals thereof being formatted as a bit stream, the bit stream specifying a qualitative operation mode and/or quantitative operation settings. 
     2. Description of the Related Art 
     A control system of the kind described is disclosed in U.S. Pat. No. 4,937,816, assigned to the same assignee as the present application, herein incorporated by reference. The general trend in consumer service systems is to integrate an arbitrary selection of consumer apparatuses to function collectively. The interaction may be on a control level in that a first apparatus only controls the function of a second apparatus. Alternatively, the user function also is fulfilled by the combination, for example, in that one apparatus is a broadcast tuner for receiving a particular signal and a second apparatus is a recorder for the signal so received. In general, the various apparatuses in the system may be of various different types, even when fulfilling the same function, and also of various manufacturers. Thus, in principle, each apparatus could require its own particular mode/operation settings that could be expressly non-standard. 
     SUMMARY OF THE INVENTION 
     Among other things, it is an object of the present invention to relieve any control command generating entity outside any apparatus so controlled from the need to expressly specify operation mode and/or operation settings for the latter apparatus. 
     According to one of its aspects, the invention thereto provides a control system for controlling distributed consumer apparatus, the system having a command generating means for generating a command item for an apparatus in the system, the command item being structured as a string of an operation code followed by a set of command operand codes, for, under control of the operation code, accessing a local command table of an apparatus so addressed, the local command table containing a first address range for storing general commands, and a second address range for function group commands. 
     The invention also relates to a consumer apparatus for use in such a system and comprising receiving means for transporting any command item between the command generating means and any apparatus so addressed. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention will be further explained with respect to the accompanying figures that show a preferred embodiment. 
     FIG. 1 is a block diagram of an elementary system according to the invention; and 
     FIG. 2 is a diagram of a command table. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 1 is a block diagram of an elementary system 10 according to the invention. It has three audio/video (A/V) apparatuses 20, 22, 24 and, by way of example, is coupled to an audio system. Likewise, system 10 may comprise a video system, a mixed audio-video system (A/V) or may comprise other consumer system functions, such as lighting/environment control systems, food preparation systems or other systems. Apparatus 20 is a controller-only master unit. It has a keyboard 26 with 12 keys as shown; the keycode conventionally may be translated to a control byte in translator 28 that also comprises an interface to serial bus 30, to which A/V apparatus 20 functions as a master station. The bus definition may be according to a so-called known D 2  B format as specified in U.S. Pat. No. 4,429,384, assigned to the same assignee as the present invention and incorporated by reference herein. Apparatus 24 may, by means of subsystem 38, operate the desired consumer function, such as operating a tuner, a turntable, a recorder, or other function of that apparatus. Of course, two different apparatuses could cooperate with respect to their consumer function, in that a first apparatus is a tuner, a second is a recorder or loudspeaker system, and so on. Other, and more complicated situations have been omitted for clarity. For this cooperation, the associated apparatuses will often exchange data, such as digitized audio, along high-speed links not shown. Apparatus 24 receives from the serial bus 30 formatted operation codes and/or commands such as apparatus 20 or 22 operand codes, and/or data items and/or request codes from other master A/V apparatuses. These codes each translate into information, i.e., an address, that is specific to audio/video (A/V) apparatus 24, preferably by translating in translator 36, which thereto functions as a bus interface containing a command table to be specified infra. The translated address addresses that local command table. With respect to serial bus 30, apparatus 24, in general, functions as a slave station that reacts to apparatus 20&#39;s output control signals. Master and slave stations are generally shown, for example, in the aforementioned U.S. Pat. No. 4,937,816. 
     Apparatus 22 has both a user function subsystem 32 and a keyboard 40. Apparatus translator 34 functions as a bus interface and comprises a command table and may, with respect to bus 30, operate either as a master or a slave. In principle, the system can operate in various configurations, for example, as follows: 
     1. A/V apparatus 22 functions independently under local control; 
     2. A/V apparatus 20 (master) controls A/V apparatus 24 (slave); 
     3. A/V apparatus 22 (master) controls A/V apparatus 24 (slave); 
     4. A/V apparatus 20 (master) controls both A/V apparatuses 22 and 24 (slaves). 
     The above system 10 is given merely by way of example. The apparatuses 20, 22 and 24 may be different or more numerous, interaction patterns may be more complex, keyboards may be replaced by function-assigned key sets, the system 10 as a whole may operate as a subordinate system to a higher level system, and many other variations would not render it incommensurate to the present invention. 
     The source apparatus, e.g., apparatus 20, generates via command table 28&#39;, a sequence of addresses, and three different address ranges, i.e., address general commands, function group commands, and function specific commands, as stored in the local command table of the destination apparatus, for example, apparatus 24. There are several levels of technology involved in this communication: 
     (a) The bit-level of the message may be the known D 2  B system; 
     (b) the byte-organized structure of the message is known from U.S. Pat. No. 4,429,384; 
     (c) the structure of the command table itself which is disclosed herein; and 
     (d) what the effective commands mean as described herein by way of example. 
     In particular, the present invention provides an uncoupling between a user-specified function, and the implementation by the destination apparatus. The source apparatus receives a specific command via its keyboard and the destination apparatus (when addressed) according to its functionality, operates according to the command of its addressed table. 
     Apparatus 20 is a controller-only device. It may control only remote apparatuses such as apparatus 22 or 24. Apparatus 22 may be locally controlled, controlled by apparatus 20 or it may control apparatus 24. The control is implemented by a user via the appropriate keyboard. In apparatus 20, translator 28 receives the key-code (such as 1-out-of-10), translates this to a control byte (such as BCD or Hex) and formats the bus message. Keyboard 26, via translator/bus interface 28 and the bus interface 34, may access the local command table of apparatus 22. The command table is located in the bus interface 34 of the addressed destination. An appropriate command string instruction, FIG. 2, comprising operands (OPR) and operation codes (OPC), at the addressed location of the table 28&#39;, is outputted from that table and applied to the bus 30. The command string is then read by a second message receiving apparatus, e.g., apparatus 24 command table 36&#39; of translator 36, which translates that received encoded string into a table address of table 36&#39;. 
     The addressed table 36&#39; then generates a local command for operating that audio/video (a/v) apparatus 24 according to the outputted command from table 36&#39;. The addressing is via the standard device addressing on the bus. In the destination device, the addressing of the command table is unconditional. The addressing of a non-functional table location is signalled by a particular code. The meanings of terms &#34;general commands&#34;, &#34;group function commands&#34;, and &#34;function specific commands&#34; are explained below based on the operation code generated at the time for group function commands by that specific apparatus, e.g., apparatus 24. The function specific commands are directed to that particular selected apparatus. These commands are stored in and generated by table 28&#39; of that apparatus in response to the user selected keys of keyboard 26. 
     The command table is located at the destination apparatus and, therefore, does not contain bus routing and bus protocol information with respect to the message sent by the source device. D 2  B bus routing is handled by straight addressing, either of the destination apparatus directly, or via one or more intermediate gateway or switch box devices. D 2  B-protocol has a path-finding feature so that any apparatus would thereafter know how to route the message to a particular destination apparatus. However, the target apparatus may be (on the D 2  B bus) a gateway with a different bus at its other side. In that case, the routing comes into play, in that it would apply to this other bus. 
     The standard codes of the tables below, representative of a destination or source apparatus table, are self explanatory and are contained in table 28&#39; (or table 34&#39; of master apparatus 22). The specific command to a given apparatus is encoded into different messages as determined by the particular location addressed in table 28&#39;. The different commands function are shown in more detail in the table below. The commands include bus protocols or specific addresses as needed. There is a default table in case no table selector is specified. A table selector code addresses a specific table for a given desired set of instructions. The general commands include table selector commands. Particular command tables are addressed by the avc-table-selector command. These commands are generated by the OPC portion of the code in the master table, e.g., table 28&#39; of apparatus 20. Of course, the specific command is selected by the user via keyboard 26 which addresses a given address of that table 28&#39;. Command extension codes, as shown in more detail in the table below, relate to specific operations, e.g., contrast in a video display, volume for an audio signal, mode, band, zoom and so on as listed herein. 
     Data information can be sent by data command messages. Review of the below table shows the more complete nature of the various codes and instructions contained in a given apparatus command table, it being understood that such a table may comprise sub-tables as well. A master station will have certain commands not included in a slave apparatus because of the more limited functions of the slave. The command table, e.g., table 28&#39;, includes a plurality of tables which are generally referred to by the tables shown in more detail below herein. Because of this multiple table arrangement, a table selector code as explained above is needed to address a sub-table of a give apparatus. For example, the brand name of a given apparatus, a plug number in that apparatus, or other apparatus specific information is included in a sub-table for a given apparatus. For this reason, a command table includes apparatus specific information addressable only to that apparatus or relating to a given part of that apparatus. Necessarily, the particular address of a sub-table is predetermined for the system, i.e., the tables for every apparatus includes specific OPC codes directed to a given target apparatus command table address. The target apparatus receiving that code responds accordingly. 
     As indicated in more detail below, all static and dynamic properties and characteristics of an apparatus are modelled in a property memory of the table of each such apparatus. The important aspect is that each apparatus contains a self contained encoded description of itself via its command table so as to be responsive to an appropriately addressed command from a master apparatus so as to perform the command function. As shown, an apparatus may be a slave, a master or a master and slave depending on the commands contained in its command table and the nature of that apparatus. Certain apparatuses are typically only slaves, for example, a video disc player, while others may be both, for example, a video cassette recorder. By storing command strings in the command table of each apparatus, a hook up of that apparatus to the system automatically couples it for operation as master and/or slave as desired based on the stored command structure according to the instruction scheme outlined below. The following command code description is in quasi-code format and is self explanatory. As a result, the present invention provides systematic organization between control system categories, while retaining flexibility. The source apparatus need only have partial information regarding the destination apparatus. The interconnection functions are fully standardized regardless of the type of apparatuses used. 
     FIG. 2 is a diagram of a command table used in the interfaces 28, 34 and 36 of FIG. 1. The table may be a read-only memory, a random-access read-write memory, a combination of the two or be embodied in a software program. For accessing the table, first the appropriate apparatus 20, 22 or 24 is addressed, for example, in that a prospective master station, e.g., apparatus 20 grabs the bus 30 and produces a message directed to the intended slave station, i.e., apparatus 22 or 24. Now, as shown, the table comprises 256 entries (i.e. 16×16) of 1 byte each. Addressing by a most significant nibble of an address byte, shown at the top (0 . . . F), and by a least significant nibble of an address byte, shown at the left (0 . . . F). Conventionally, nibbles have four bits. The table of FIG. 2, from left to right, comprises the following sixteen columns: 0-1:reserved (R); 2-5: ASCII character codes or controlling values or Alias; 6-7: standard operand values (ST); 8-9: reserved (R); A-B: general commands (GEN); C-D: functional group commands (FuGr); E-F: function specific commands (FuSp). Within each column, sixteen locations are available. Generally, operands (OPR) fill the left half of the table, operation codes (OPC) fill the right half of the table. 
     DESCRIPTION OF THE COMMAND STRUCTURE 
     A command consists of an operation code (OPC) which contains information on where the appropriate commands are located (not their values) and a set of operand codes An OPC has a length of one byte, and is followed by zero or one or more OPR bytes. The OPC includes general commands, function group commands and function specific commands. The operand specifies the operation which is indicated by the operation code. The operand can be any one out of 32 dedicated (standard operands per Table 1 as follows: 
     
                       TABLE I______________________________________ASCII valueControlling value.The OPR codes are defined as follows:&lt;opr&gt;        ::=   &lt;General-purpose-operands&gt;        |              &lt;Standard-operands&gt;        |              &lt;Routing operands&gt;&lt;general-purpose-        ::=   &lt;ASCII &#39;20&#39;H . . . &#39;5F&#39;H)&gt;operands&gt;    |              &lt;ALIAS &#39;20&#39;H . . . &#39;5F&#39;H)&gt;        |              &lt;CONTROLLING VALUE              &#39;20&#39;H . . . &#39;5F&#39;H)&gt;&lt;standard-operands&gt;        ::=   &lt;OFF              &#39;60&#39;H&gt;        |              &lt;CLEAR/RESET      &#39;61&#39;H&gt;        |              &lt;ENTER            &#39;62&#39;H&gt;        |              &lt;DECREMENT        &#39;63&#39;H&gt;        |              &lt;INDICATOR OFF    &#39;64&#39;H&gt;        |              &lt;REVERSE          &#39;65&#39;H&gt;        |              &lt;REPEAT           &#39;6E&#39;H&gt;        |              &lt;STANDARD POSITION                                &#39;6F&#39;H&gt;        |              &lt;ON               &#39;70&#39;H&gt;        |              &lt;SET              &#39;71&#39;H&gt;                 0{&lt;ASCII&gt;}n        |              &lt;OPEN             &#39;72&#39;H&gt;        |              &lt;INCREMENT        &#39;73&#39;H&gt;        |              &lt;INDICATE         &#39;74&#39;H&gt;        |              &lt;FORWARD          &#39;75&#39;H&gt;        |              &lt;STILL            &#39;76&#39;H&gt;______________________________________ where &#34;::=&#34; means &#34;the left hand term is defined by the right hand term&#34;; &#34;|&#34; means &#34;or&#34;; &#34;&#39;H&#34; indicates hexadecimal notation for addressing a table in memory of the destination apparatus. 
    
     DESCRIPTION OF THE MESSAGE STRUCTURE 
     The syntax of an application message is as follows: 
     
                       TABLE II______________________________________&lt;application-frame-message&gt;          ::=   1{&lt;application-message&gt;}n&lt;application message&gt;          ::=   &lt;command-message&gt;          |                &lt;command-data-message&gt;          |                &lt;request-message&gt;&lt;command-message&gt;          ::=   &lt;COMMAND-LOCK-TYPE&gt;                &lt;command-sequence&gt;&lt;command-data-message&gt;          ::=   &lt;COMMAND-LOCK-TYPE&gt;                &lt;data-command&gt;                &lt;DATA-LOCK-TYPE&gt;                &lt;DATA-BYTES&gt;&lt;request-message&gt;          ::=   &lt;WRITE-PROPERTY-MEMORY-                LOCK-TYPE&gt;&lt;request&gt;                &lt;READ-DATA-LOCK-TYPE&gt;                &lt;property&gt;&lt;end-message&gt;  ::=   &lt;WRITE-COMMAND-UNLOCK-                TYPE&gt;                &lt;END   &#39;BE&#39;H&gt;&lt;Command sequence&gt;          ::=   1{&lt;commands&gt;}n          |                &lt;routing commands&gt;                1{&lt;command&gt;}n______________________________________ where &#34;1{ . . . }n&#34; means a sequence of one or more items as recited between the brackets. 
    
     The data-commands fulfill the rules as specified for the command sequence and specify the context of the following data. A command is a combination of an OPC and 1 or more OPR codes. The OPC is to be used as a delimiter between 2 commands. The Commands are ordered in 3 groups: 
     General commands with same meaning for all functions; 
     Group Function commands with same meaning for a group of functions; and 
     Specific Function commands with valid meaning for the specified function. 
     The commands are defined as follows: 
     
                                           TABLE III__________________________________________________________________________&lt;command&gt;      ::=            &lt;opc&gt;1{&lt;opc&gt;}n&lt;opc&gt;          ::=            &lt;general-command  &#39;A0&#39;H . . . &#39;BA&#39;H&gt;          |            &lt;command-extension &#39;BF&#39;H&gt;          |            &lt;group-function-command &#39;CO &#39;H . . . &#39;DF&#39;H&gt;          |            &lt;specific-function-command            &#39;E0&#39;H . . . &#39;FF&#39;H&gt;&lt;routing-command&gt;          ::=            &lt;bus-routing-command&gt;          |            &lt;subdevice-routing-command&gt;&lt;bus-routing-command&gt;          :=            &lt;begin-0-command&gt;          |            &lt;begin-1-command&gt;&lt;subdevice-routing-command&gt;          ::=            &lt;begin-2-command&gt;&lt;begin-0-command&gt;          ::=            &#39;BB&#39;H &lt;BEGIN-0-OPR&gt;&lt;sa-0&#39;&gt;          |            &#39;BB&#39;H &lt;BEGIN-0-OPR&gt;&lt;da-0&#39;&gt;&lt;begin-1-command&gt;          ::=            &#39;BC&#39;H &lt;BEGIN-1-OPR&gt; 0{&lt;sa&#39;&gt;}1            0{&lt;da&#39;&gt;}1 0{&lt;ssda&gt;}1 0{&lt;dsda&gt;}1&lt;begin-2-command&gt;          ::=            &#39;BD&#39;H &lt;BEGIN-2-OPR&gt;0{&lt;ssda&gt;}1            0{&lt;dsda&gt;}1&lt;sa-0&gt;         ::=            &lt;gateway-name&gt;&lt;D.sup.2 B-ADDRESS&gt;&lt;da-0&gt;         ::=            &lt;gateway-name&gt;&lt;D.sup.2 B-ADDRESS&gt;&lt;gateway-name&gt; ::=            &lt;1-nibble-CODE&gt;&lt;sa&#39;&gt;          ::=            &lt;DEVICE-NAME&gt;&lt;reserved-bit (=1)&gt;            &lt;SERVICE NUMBER&gt;&lt;da&#39;&gt;          ::=            &lt;DEVICE-NAME&gt;&lt;reserved-bit (=1)&gt;            &lt;SERVICE NUMBER&gt;&lt;ssda&gt;         ::=            &lt;SUB-DEVICE-NAME&gt;&lt;SUB-DEVICE-NUMBER&gt;&lt;dsda&gt;         ::=            &lt;SUB-DEVICE-NAME&gt;&lt;SUB-DEVICE-NUMBER&gt;SA&#39;, DA&#39;, SSDA and DSDA are using all 8 bits of the byte.__________________________________________________________________________ 
    
     Herein a gateway-name indicates an in-bus interface that interconnects two buses having the same or different protocol specifications. In particular, -begin 1- indicates that the bus protocol at the far-side of the interface either conforms to IHS Eureka or to the Japanese Home bus. For brevity, the associated bus protocols have not been repeated here. 
     The command -begin 2- is intended for within an apparatus specifying a subdevice, such as tuner function in a video cassette recorder. 
     
                       TABLE IV______________________________________&lt;general-command&gt;      ::=   &lt;STANDBY-command&gt;      |            &lt;CONTROL-command&gt;      |            &lt;PROGRAM-command&gt;   | . . .            . . . | &lt;SCC-TABLE-SELECTOR-command&gt;      |            &lt;CT-TABLE-SELECTOR-command &#39;B7&#39;H&gt;      |            &lt;HK-TABLE-SELECTOR-command &#39;B8&#39;H&gt;      |            &lt;avc-table-selector-command &#39;B9&#39;H&gt;      |            &lt;COMMAND-EXTENSION-command&gt;______________________________________ 
    
     In the above, arc indicates audio-video control, CT means communication/telecom, HK means house keeping, SCC means System Common Command. Capital letters indicate that for brevity, no further specification has been given, small letters indicate that such specification is to follow. The System Common Commands, CT-TABLE-SELECTOR, HK-TABLE-SELECTOR and avc-table-selector each select one of the group-function or specific-function commands, one table selector for each service. In case no table selector is specified, a default table, provided for that type of destination apparatus, is used. Each apparatus has a default table for its specific apparatus category. 
     The following are examples of Group Function and Specific Function commands for a video camera and audio and video tuners as well as player commands for different kinds of players and other functions: 
     
                       TABLE V______________________________________Group Function        Specific Function                      Type of destinationcommands     commands      (sub) device______________________________________video commands             video monitorvideo commands             video effectorvideo commands        camera commands                      video cameraaudio commands             audio amplifieraudio commands             audio effectordeck/player commands       video tape recorderdeck/player commands       video disk playerdeck/player commands       audio disk playerdeck/player commands       audio disk playertuner commands        video tuner commands                      video tuning systemtuner commands        audio tuner commands                      audio tunertext function commands     teletext decodertext function commands     videotext decoder        timer commands                      timer        User I/O commands                      User I/OConnection commands        Connection commands                      Switch Box______________________________________ 
    
     Each command, not belonging to the default table, must be specified by the table selector of the command table of a given apparatus. 
     The table selected by the avc-table-selector command is effective only for the immediately following command, data or request. After execution of that following command, data or request, the default table is effective again. For example, a deck device by default would be executing deck commands. Under control of the above selector command, it would execute one command received, for example, as a video command, such as a -crisp- control command. This selecting for one command only allows for restricting the necessary RAM capacity. 
     
                                           TABLE VI__________________________________________________________________________&lt;avc-table-command&gt;           ::=              &#34;B9&#34; &lt;avc-table &#39;20&#39;H . . . &#39;3F&#39;H&gt;&lt;avc-table&gt;     ::=              &lt;VIDEO TABLE &#39;20&#39;H&gt;&lt;video-command&gt;           |              &lt;AUDIO-TABLE &#39;21&#39;H&gt;&lt;audio-command&gt;           |              &lt;CONNECTION-TABLE &#39;22&#39;H&gt;              &lt;connection-command&gt;           |              &lt;DECK-PLAYER-TABLE &#39;23&#39;H&gt;              &lt;deck-player-command&gt;           |              &lt;(VIDEO)-TUNER-TABLE &#39;24&#39;H&gt;              &lt;tuner-command&gt;           |              &lt;(TELE)TEXT-TABLE &#39;25&#39;H&gt;              &lt;text-function-command&gt;           |              &lt;CAMERA-TABLE &#39;30&#39;H&gt;              &lt;video-camera-command&gt;           |              &lt;TIMER-TABLE &#39;31&#39;H&gt;&lt;timer-command&gt;           |              &lt;USER-I/O-TABLE &#39;33&#39;H&gt;              &lt;user-I/O-command&gt;           |              &lt;TABLE-EXTENSION &#39;3F&#39;H&gt;              &lt;NEW-TABLE &#39;20&#39;H . . . &#39;3F&#39;H&gt;&lt;command extension&gt;           := &#34;BFH&#34; &lt;ALIAS&gt;The command extension, followed by OPR, specifies anothermeaning of the next command. The command extension is validfor the following command or request.&lt;video-command&gt; ::=              &lt;CONTRAST-command&gt; | . . .              . . . | &lt;FIELD-ATTRIBUTE-command&gt;&lt;audio-command&gt; ::=              &lt;VOLUME-command&gt; | . . .              . . . | &lt;AUDIO-MUTE-command&gt;&lt;deck-player-command&gt;           ::=              &lt;REPEAT-command&gt; | . . .              . . . | &lt;TAPE-MODE-command&gt;&lt;tuner-command&gt; ::=              &lt;BAND-command&gt; | . . .              . . . | &lt;VIDEO-SYSTEM-command&gt;&lt;text-function-command&gt;           ::=              &lt;MENU-command&gt; | . . .              . . . | &lt;HALT-MODE-command&gt;&lt;video-camera-command&gt;           ::=              &lt;ZOOM-command&gt; | . . .              . . . | &lt;HEIGHT-command&gt;&lt;timer-command&gt; ::=              &lt;YEAR-command&gt; | . . .              . . . | &lt;timer-expired-command&gt;&lt;connection-command&gt;           ::=              &lt;connect-switchbox-command&gt; | . . .              . . . | &lt;switchbox-disconnected-command&gt;&lt;User-I/O-command&gt;           ::=              &lt;Display-indicator-command&gt;DATA:__________________________________________________________________________ 
    
     Bytes to be sent as data are transparent bytes. How to use or interpret this data is specified within the context of the data. This can be done by preceding commands. 
     
                       TABLE VII______________________________________&lt;command-data-message&gt;           ::=     &lt;COMMAND-LOCK-TYPE&gt;                   &lt;data-command&gt;                   &lt;DATA-LOCK-TYPE&gt;                   &lt;DATA-BYTES&gt;______________________________________ 
    
     A syntax rule for the data bytes depends on the application in the receiving consumer apparatus and can be defined for each application independently. When a certain syntax is used, that syntax is specified by commands in the command-data-message. 
     SYNTAX OF THE REQUESTS AND PROPERTIES 
     All Static and Dynamic properties and characteristics are modelled in the property memory of a (sub)device (apparatus). Such a property memory may comprise the identity of the device (apparatus) (such as brand, type, version, serial no.) and the status of the device (apparatus) (stand-by, etc.) and may be a virtual memory. Each Audio/Video apparatus is implemented with a property memory. Any apparatus can have access to the property memory of another apparatus using the request message: 
     
                       TABLE VIII______________________________________&lt;request-message&gt;      ::=   &lt;WRITE-PROPERTY-            MEMORY-LOCK-TYPE&gt;            &lt;request&gt;            &lt;READ-DATA-LOCK-TYPE&gt;&lt;property&gt;______________________________________ 
    
     The request is terminated with the termination code &#34;1D&#34; to indicate that the request is completed, the slave has all information to prepare the answer. The syntax for the requests is: 
     
                       TABLE IX______________________________________&lt;request&gt;  ::=     &lt;request-code&gt;0{request-argument&gt;}n              &lt;terminator&gt;&lt;terminator&gt;      ::=     &#39;1D&#39;H______________________________________ 
    
     The request-code is in the range of `20`H to `FF`H. The value of the request-arguments are in the range `20`H to `7F`H. The requests are grouped to the following divisions: 
     1. Not Command Oriented Requests 
     General requests: General requests for a (sub)device, like request for the identity (brand name, type number) and general requests for status of a (sub)device. Requests are valid for all types-of (sub)devices. 
     Group requests: Static and Dynamic requests, valid for a group of (sub)devices. 
     Specific Function requests: Static and Dynamic requests, valid for one specific function. 
     2. Command Oriented Requests 
     General command oriented requests: Dynamic Requests, related to the general commands, valid for all types of (sub)devices. 
     Group requests: Dynamic requests, related to the group function commands, valid for a group of (sub)devices. 
     Specific Function requests: Dynamic requests, related to the specific function commands, valid for one specific function. 
     A request can be addressed to an apparatus or sub-device (using Begin 2). A service Classification Command can be used to select another table for a request. 
     
                                           TABLE X__________________________________________________________________________&lt;request-code&gt;   ::=               &lt;general-request&gt;            |               &lt;Group-request&gt;            |               &lt;Specific-Function-request&gt;            |               &lt;General-command-oriented-request&gt;            |               &lt;Group-function-oriented-request&gt;            |               &lt;Specific-Function-oriented-request&gt;&lt;general-request ::=               &lt;APPARATUS-BRAND-NAME-request&gt; . . .&#39;20&#39;H . . . &#39;3F&#39;H&gt;  . . . &lt;SUB-APPARATUS-STATUS-request&gt;            |               &lt;PLUG-NUMBER-NAME-request&gt; . . .               . . . &lt;CONNECTED-SIGNALS-request&gt;&lt;Group-request   ::=               &lt;AVC-TABLE&gt;&lt;video-request&gt;&#39;40&#39;H . . . &#39;5F&#39;H&gt;            |               &lt;audio-request&gt;            |               &lt;connection-request&gt;            |               &lt;deck-player-request&gt;               &lt;tuner-request&gt;            |               &lt;text-function-request&gt;&lt;Specific-Function-request            ::=               &lt;AVC-TABLE&gt;&lt;video-camera-request&gt;&#39;60&#39;H . . . &#39;7F&#39;H&gt;            |               &lt;timer-request&gt;            |               &lt;user-I/O-request&gt;&lt;General-command-oriented-request            ::=               &lt;AVC-TABLE&gt;&lt;video-request&gt;&#39;A0&#39;H . . . &#39;BG&#39;H&gt;            |               &lt;audio-request&gt;            |               &lt;connection-request&gt;            |               &lt;deck-player-request&gt;            |               &lt;tuner-request&gt;            |               &lt;text-function-request&gt;&lt;Specific-Function-oriented-request            ::=               &lt;AVC-TABLE&gt;&lt;video-camera-request&gt;&#39;E0&#39;H . . . &#39;FF&#39;H&gt;            |               &lt;timer-request&gt;            |               &lt;user-I/O-request&gt;&lt;video-request&gt;  ::=               &lt;CONTRAST-LEVEL-request&gt; . . .               . . . &lt;ASPECT-RATIO-request&gt;&lt;audio-request&gt;  ::=               &lt;VOLUME-LEVEL-request&gt; . . .&lt;deck-player-request&gt;            ::=               &lt;REPEAT-STATUS-request&gt; . . .               . . . &lt;PRESENT-TAPE-TYPE-request&gt;&lt;tuner-request&gt;  ::=               &lt;SATELLITE-TERRESTRIAL-request&gt; . . .               . . . &lt;NUMBER-OF-PRESETS-request&gt;            |               &lt;CURRENT-FREQUENCY-BAND-request&gt; . . .               . . . &lt;AUDIO-PRESET-request&gt;&lt;test-function-request&gt;            ::=               &lt;CURRENT-PAGE-NUMBER-request&gt; . . .               . . . &lt;VIDEO-TEXT-MIX-STATUS-request&lt;video-camer-request&gt;            ::=               &lt; &gt;&lt;timer-request&gt;  ::=               &lt;NUMBER-OF-TIMER-ENTRIES-request&gt;            |               &lt;CURRENT-YEAR-REQUEST&gt; . . .               . . . &lt;TIMER-ENTRY-request&gt;&lt;connection-request&gt;            ::=               &lt;CONNECTED-TO-SWITCHBOX-request&gt;            |               &lt;CONNECTED-SWITCHBOX-request&gt;&lt;user-I/O-request&gt;            ::=               &lt;NUMBER-OF-INDICATORS-request&gt; . . .               . . . &lt;INDICATOR-PROPERTIES-request&gt;            |               &lt;DISPLAY-INDICATOR-request&gt;__________________________________________________________________________ 
    
     The answers must be read by the master using the `read data` control code. The syntax for the answers (properties) is: 
     
                       TABLE XI______________________________________&lt;property&gt;     ::=       0{&lt;property-value&gt;}n &lt;terminator&gt;&lt;terminator&gt;     ::=       &#39;1D&#39;HThe property values are in the range of &#39;20&#39;H to &#39;FF&#39;H.______________________________________ 
    
     It is of great advantage that a request related to a command has an operation code, which is related to the operation code of the command. It is of further great advantage that a response to a request related to a command has an operand code, which is related to the operand code of the command. In the foregoing, the expression &#34;related&#34; includes -identity-, which means that the same operation code and operand code(s) are used for the command and the command oriented request. Whether a request or a command is sent is determined by the control bit, which is sent in advance of the command or request. 
     Assume the user, at apparatus 20 wants to control apparatus 24 in a particular way. The user gives some keyboard input at keyboard 26: the resulting general command consists of an operation code and one or more operand codes. Translator 28 associated with that keyboard will package these commands as a bus frame including start bit, mode bit (stating bit rate), source address, destination address, data (i.e. the command proper) and terminating bit. The command operands are specified in the description of the command table as given in the Tables above. The commands may be joined to a multiple frame message, i.e., when the message is longer than a frame. In D 2  B, this may occur if either the message is too long, or if the transmission falters, causing successive byte repeats. 
     The application message format is in the command table as &#34;&lt;application message&gt;&#34;. The command is given in the command table. The command format gives a complete set of general commands. The entries accessed by the commands in the command table are data to be used by the particular intended function. However, the present disclosure does not further describe the execution of such particular functions in various apparatuses, but only the three-tiered structure of the command table for easy selection. 
     Numerous alterations and modifications of the structure herein disclosed will present themselves to those skilled in the art. However, it is to be understood that the above described embodiment is for purposes of illustration only and not to be construed as a limitation of the invention. All such modifications which do not depart from the spirit of the invention are intended to be included within the scope of the appended claims.