Claims
- 1. A programmable apparatus for receiving instructions from a programmer and causing an action to occur on the happening of an event, comprising:
an input device, producing an input instruction signal; a control means for receiving said input instruction signal, and stog a program instruction associated with said input instruction signal, said control means storing sufficient program instructions to perform an action on the occurrence of an event, said control means monitoring a status of said apparatus to determine the occurrence of various events, comparing the determined events with the program instructions, and performing said action on the occurrence of said event; a display means for interactively displaying information related to the instructions to be received, and responsive thereto, controlled by said control means, so that the programmer is presented with feedback on a current state of the apparatus and said program instruction; wherein said control means further comprises means for detecting one or more characteristics of said input instruction signal independent of said program instruction selected from the group consisting of a velocity component, an efficiency of input, an accuracy of input, an interruption of input, a high frequency component of input and a past history of input by the programmer, whereby when said control means detects a characteristic indicating that said display means is displaying information in a suboptimal fashion, said control means controls said display means to display information in a more optimal fashion.
- 2. A programmable apparatus for receiving instructions from a programmer and causing an action to occur on the happening of an event, comprising:
an input device, producing an input instruction signal; a control means for receiving said input instruction signal, and storing a program instruction associated with said input instruction signal, said control means storing sufficient program instructions to perform an action on the occurrence of an event, said control means monitoring a status of said apparatus to determine the occurrence of various events, comparing the determined events with the program instructions, and performing said action on the occurrence of said event; a display means for interactively displaying information related to the instructions to be received, and responsive thereto, controlled by said control means, so that the programmer is presented with feedback on a current state of the apparatus and said program instruction; wherein said control means further comprises means for detecting a need by the programmer for more detailed information displayed on said display means, by detecting one or more characteristics of said input instruction signal independent of said program instruction selected from throup consisting of a velocity component, an efficiency of input, an accuracy of input, an interruption of input, a high frequency component of input and a past history of input by the programmer, whereby when said control means detects a characteristic indicating that said display means is insufficiently detailed information, said control means controls said display means to display more detailed information.
- 3. A programmable apparatus having a data input, said apparatus receiving instructions from a programmer and causing an action to occur on the receipt of data indicating an event, comprising:
an input device, producing an input instruction signal; a control means for receiving said input instruction signal, and storing a program instruction associated with said input instruction signal, said control means storing sufficient program instructions to perform an action on the receipt of data indicating an event, said control means monitoring the data input; a display means for interactively displaying information related to the instructions to be received, and responsive thereto, controlled by said control means, so that the programmer is presented with feedback on a current state of the apparatus and said program instruction; wherein said control means receives a programming preference indicating a desired event from said input device which does not unambiguously define said event, and said control means monitors said data and causes the occurrence of the action when a correlation between said programming preference and said monitored data is above a predetermined threshold, indicating a likely occurrence of said desired event.
- 4. The programmable apparatus according to claim 3, wherein said input device is remote from said display means, and provides a direct manipulation of display information of said display means, further comprising means for verifying said program instructions so that said program instructions are executable by said control means.
- 5. The programmable apparatus according to claim 3, wherein said control means further comprises a calendar.
- 6. The programmable apparatus according to claim 3, wherein said control means provides an option, selectable by said input means in conjunction with said display means, for changing an input program instruction prior to execution by said control means, so that said apparatus enters a state wherein a new program instruction may be input to substitute for said changed input step, wherein said control means verifies said program instructions so that said program instructions are executable by said control means.
- 7. The programmable apparatus according to claim 3, wherein said control means further causes said display means to display a confirmation screen after said program instructions are input, so that the programmer may confirm said program instructions.
- 8. A programmable information storage apparatus having a data input, for receiving data to be stored, said apparatus receiving instructions from a programmer and causing an action to occur on the receipt of data indicating an event, comprising:
means for storing data from said data input; an input device, producing an input instruction signal; a control means for receiving said input instruction signal, and storing a program instruction associated with said input instruction signal, said control means storing sufficient program instructions to perform an action on the receipt of data from said data input indicating an event, said control means monitoring the data input to determine the occurrence of various events, comparing the determined events with the program instructions, and performing for storing the data said action on the occurrence of said event; wherein said control means receives identifying data from at least one of said input device and the data input, said identifying data being stored separately from said input data on a storage medium.
- 9. The programmable information storage apparatus according to claim 8, further comprising means for reading said identifying data stored separately on said storage medium.
- 10. The programmable information storage apparatus according to claim 9, wherein said control means receives as an input said identifying data.
- 11. The programmable information storage apparatus according to claim 8, wherein said control means further comprises means for recognizing character data present in a data stream of said input data, said identifying data comprising said recognized character data.
- 12. A video tape recording apparatus, comprising a video signal receiving device, a recording device for recording said video signal, wherein said control analyzes said video signal for the presence of a symbol, and recognizes said symbol as one of a group of recognized symbols, and said control stores said recognized symbol separately from said video signal.
- 13. A recording device for recording an analog signal sequentially on a recording medium, comprising means for characterizing the analog signal, wherein data representing said characterization and a location of the analog signal on the recording medium are stored in a directory location on the recording medium separately from the analog signal.
- 14. An interface for a programmable control for input of a program for a controller to execute, which performs an action based on an external signal, comprising an input device, a controller for receiving data from said input device and from an external stimulus, a plant being controlled by said controller based on an input from said input device and said external stimulus, and a display device being controlled by said controller, for providing visual feedback to a user operating said input device, wherein:
a predetermined logical sequence of programming options is presented to the user on said display device, in a plurality of display screens, each differing in available programming choices: said logical sequence including the correct sequence of choices to set an operable control program, so that no necessary steps are omitted; said external stimulus comprises a timing device, and said display comprises an option for programming said plant to perform an action at a time which is input through said input device as a relative position on said display device, said relative position including a means for displaying an absolute time entry and means for displaying a relative time entry, said display also comprising a means for performing an action at a time; said control comprises means for presenting the user, on said display device, with a most probable action, which may be selected by the user through activation of said input device without entering data into said controller through said input device relating to both said action and said event; said display also comprising means for indicating completion of a programming step after entry of data, which means will not allow the user to indicate to said controller that said programming step is completed if information necessary for execution of said step is not available to said controller; and; said controller being capable of controlling said display device to present information to the user relating to the use of the apparatus if necessary for use of the device by the user.
- 15. A system for presenting a program to a viewer, comprising:
a source of program material; means for determining a viewer preference; means for receiving the program material from said source; means for characterizing the program material based on its content; means for correlating said characterized content of the program material with said determined viewer preference to produce a correlation index; and; means for presenting the program material to the viewer, if said correlation index indicates a probable high correlation between said characterization of the program material and said viewer preference.
- 16. The system according to claim 15, wherein said program material is encrypted, further comprising:
means for decrypting the program material to produce a decryption event; and; means for charging an account of the viewer based on the occurrence of a decryption event.
- 17. The system according to claim 16, wherein said means for characterizing the program material may operate without causing a decryption event.
- 18. The system according to claim 16, further comprising a memory for storing the program material while said characterizing means produces characterized content and said correlating means produces said correlation index.
- 19. The system according to claim 18, wherein said characterizing means characterizes the program material stored in memory.
- 20. The system according to claim 19, wherein the program material stored in memory is compressed.
- 21. A system for presenting a program to a viewer, comprising:
a source of program material; means for determining a viewer preference; means for receiving the program material from said source: means for storing the program material; means for preprocessing the program material to produce a reduced data flow information signal retaining information relating to a character of the program material and eliminating data not necessary to characterize the program material; means for characterizing said information signal based on its content; means for correlating said characterized content of said information signal with said determined viewer preference to produce a correlation index; and; means for presenting said stored program material to the viewer, if said correlation index indicates a probable high correlation between said characterization of said information signal and said viewer preference.
- 22. The system according to claim 21, further comprising means for storing said information signal, wherein said characterizing means characterizes said stored information signal.
- 23. The system according to claim 21, further comprising a memory for storing the program material while said characterizing means produces characterized content and said correlating means produces said correlation index.
- 24. The system according to claim 23, further comprising means for storing a characterization of the program material, further comprising feedback means for inputting a feedback signal from the viewer indicating a degree of agreement with said presented stored program material, wherein said feedback signal and said stored characterization are used by said viewer preference determining means to determine a new viewer preference.
- 25. A controller for controlling a plant, having a sensor for sensing an external event and producing a sensor signal, an actuator, responsive to an actuator signal, for influencing said external event, and a control means for receiving said sensor signal and producing an actuator signal, comprising:
means for inputting a program; means for storing said program; means for characterizing said sensor signal to produce a characterized signal; and; means for comparing said characterized signal with a pattern stored in a memory to produce a comparison index,; wherein said actuator signal is produced on the basis of said comparison index and said program, wherein said characterization comprises an Affine transformation of said sensor signal.
- 26. The controller according to claim 25, wherein said characterization comprises both an Affine transformation and a Fourier transformation.
- 27. A method for automatically recognizing digital image data consisting of image information, the method comprising the steps performed by a data processor of:
storing a plurality of templates; storing the image data in the data processor; generating a plurality of addressable domains from the stored image data, each of the domains representing a portion of the image information; creating, from the stored image data, a plurality of addressable mapped ranges corresponding to different subsets of the stored image data, the creating step including the substep of:
executing, for each of the mapped ranges, a corresponding procedure upon the one of the subsets of the stored image data which corresponds to the mapped ranges; assigning identifiers to corresponding ones of the mapped ranges, each of the identifiers specifying for the corresponding mapped range a procedure and a address of the corresponding subset of the stored image data; subjecting a domain to a transform selected from the group consisting of a null transformation, a predetermined rotation, an inversion, a predetermined scaling, and a predetermined frequency domain preprocessing; selecting, for each of the transformed domains, the one of the mapped ranges which most closely corresponds according to predetermined criteria; representing the image information as a set of the identifiers of the selected mapped ranges; and; selecting, from the stored templates, a template which most closely corresponds to the set of identifiers representing the image information.
- 28. The method according to claim 27 wherein the step of selecting the mapped ranges includes the substep of selecting, for each domain, a most closely corresponding one of the mapped ranges.
- 29. The method according to claim 27 wherein the step of selecting the most closely corresponding one of the mapped ranges includes the step of selecting, for each domain, the mapped range which is the most similar, by a method selected from one or more of the group consisting of selecting minimum Hausdorff distance from the domain, selecting the highest cross-correlation with the domain and selecting the highest fuzzy correlation with the domain.
- 30. The method according to claim 28 wherein the step of selecting the most closely corresponding one of mapped ranges includes the step of selecting, for each domain, the mapped range with the minimum modified Hausdorff distance calculated as D[db,mrb]+D[1-db,1-mrb], where D is a distance calculated between a pair of sets of data each representative of an image, db is a domain, mrb is a mapped range, 1-db is the inverse of a domain, and 1-mrb is an inverse of a mapped range.
- 31. The method according to claim 27, wherein the digital image data consists of a plurality of pixels each having one of a plurality of associated color map values, further comprising the steps of:
optionally transforming the color map values of the pixels of each domain by a function including at least one scaling function for each axis of the color map, each of which may be the same or different, and selected to maximize the correspondence between the domains and ranges to which they are to be matched; selecting, for each of the domains, the one of the mapped ranges having color map pixel values which most closely correspond to the color map pixel values of the domain according to a predetermined criteria, wherein the step of representing the image color map information includes the substep of representing the image color map information as a set of values each including an identifier of the selected mapped range and the scaling functions; and; selecting a most closely corresponding stored template, based on the identifier of the color map mapped range, the scaling functions and the set of identifiers representing the image information.
- 32. The method according to claim 30 wherein the first criteria comprises minimizing the Hausdorff distance between each domain and the selected range.
- 33. The method according to claim 27, further comprising the steps of:
storing delayed image data, which represents an image of a moving object differing in time from the image data in the data processor; generating a plurality of addressable further domains from the stored delayed image data, each of the further domains representing a portion of the delayed image information, and corresponding to a domain; creating, from the stored delayed image data, a plurality of addressable mapped ranges corresponding to different subsets of the stored delayed image data; matching the further domain and the domain by subjecting a further domain to one or both of a corresponding transform selected from the group consisting of a null transform, a predetermined rotation, an inversion, a predetermined scaling, and a predetermined frequency domain preprocessing, which corresponds to a transform applied to a corresponding domain, and a noncorresponding transform selected from the group consisting of a predetermined rotation, an inversion, a predetermined scaling, a translation and a predetermined frequency domain preprocessing, which does not correspond to a transform applied to a corresponding domain; computing a motion vector between one of the domain and the further domain, or the set of identifiers representing the image information and the set of identifiers representing the delayed image information, and storing the motion vector; compensating the further domain with the motion vector and computing a difference between the compensated further domain and the domain; selecting, for each of the delayed domains, the one of the mapped ranges which most closely corresponds according to predetermined criteria; representing the difference between the compensated further domain and the domain as a set of difference identifiers of a set of selected mapping ranges and an associated motion vector and representing the further domain as a set of identifiers of the selected mapping ranges; determining a complexity of the difference based on a density of representation; and; when the difference has a complexity below a predetermined threshold, selecting, from the stored templates, a template which most closely corresponds to the set of identifiers of the image data and the set of identifiers of the delayed image data.
- 34. An apparatus for automatically recognizing digital image data consisting of image information, comprising:
means for storing template data; means for storing the image data; means for generating a plurality of addressable domains from the stored image data, each of the domains representing a different portion of the image information; means for creating, from the stored image data, a plurality of addressable mapped ranges corresponding to different subsets of the stored image data, the creating means including means for executing, for each of the mapped ranges, a procedure upon the one of the subsets of the stored image data which corresponds to the mapped range; means for assigning identifiers to corresponding ones of the mapped ranges, each of the identifiers specifying for the corresponding mapped range an address of the corresponding subset of stored image data; means for selecting, for each of the domains, the one of the mapped ranges which most closely corresponds according to predetermined criteria; means for representing the image information as a set of the identifiers of the selected mapped ranges; and; means for selecting, from the stored templates, a template which most closely corresponds to the set of identifiers representing the image information.
- 35. A programmable control responsive to an user input and a signal received from a signal source, comprising:
a controller, operating according to a predetermined program, for receiving the user input and the signal and producing a control output; means for storing data relating to an activity of the user; means for predicting a most probable action of a user based on said stored data relating to said activity of the user; and; means for presenting user feedback data comprising a presentation of a logical sequence of programming options to the user on said display device, including said most probable action of the user, in a plurality of display images, each display image differing in available programming options.
- 36. The programmable control according to claim 35, being for performing an action based on user input and an information content of a signal received from a signal source, further comprising:
a user controlled direct manipulation-type input device, associated with a data display device, having a device output, said device output being the user input; a plant capable of performing the action, being responsive to an actuator signal; and; said controller, being for receiving data from said device output of said input device and the signal, and displaying user feedback data on said display device,; said user feedback data comprising a presentation of a logical sequence of programming options to the user on said display device, including said most probable action of the user, in a plurality of display images, each display image differing in available programming options, said logical sequence including at least one sequence of options sufficient to define an operable control program, and a presentation of additional programming options if said control program is not operable.
- 37. The programmable control according to claim 35 wherein said signal comprises a time-code signal, and said direct manipulation-type input device and associated data display device present programming options to the user comprising time-based programming options having associated relative positions on said display image, said time based programming options comprising an absolute time programming option and a relative time programming option, said controller producing said actuator signal based on said predetermined program, said control program, and said time-code signal.
- 38. A system for processing a program in response to a viewer input, comprising:
a source of program material; means for determining a viewer preference; means for receiving the program material from said source; means for characterizing the program material based on its content; means for correlating said characterized content of the program material with said determined viewer preference to produce a correlation index; and; means for selectively processing the program material based on said correlation index.
- 39. The system according to claim 38, wherein said program material is encrypted, further comprising:
means for decrypting the program material if it is selected to produce unencrypted program material and optionally an associated decryption event; means for storing data relating to the occurrence of said decryption event; and; a central database for storing data relating to the occurrence of said decryption event in association with data relating to the viewer.
- 40. The system according to claim 38, wherein:
said means for determining a viewer preference monitors a pattern of user activity and predicts a viewer preference; said characterizing means comprises:
means for preprocessing the program material to produce a reduced data flow information signal substantially retaining information relating to said abstract information content of the program material and selectively eliminating data not relating to said abstract information content of the program material; means for characterizing said information signal based on said abstract information content; and; means for determining if said correlation index is indicative of a probable high correlation between said characterization of said information signal and said viewer preference and causing said stored program material to be processed by said processing means based on said determination.
- 41. The system according to claim 38, wherein said processing means comprises an image program material storage and retrieval system.
- 42. The system according to claim 38, further comprising means for storing a characterization of the program material; means for receiving a feedback signal from the viewer indicating a degree of agreement with said correlation index determination, wherein said feedback signal and said stored characterization are used by said viewer preference predicting means to predict a new viewer preference.
- 43. A programmable controller for controlling a system, having an input for receiving an external signal relating to said system, and an output for effecting control of said system, and a plurality of stored profiles, said controller being responsive to said external signal, comprising:
means for inputting a control program; means for storing said control program; means for characterizing said external signal to produce a characterized signal; and; means for comparing said characterized signal with at least one of said plurality of stored profiles to produce a comparison index,; wherein said output is determined on the basis of said comparison index and said program.
- 44. The programmable controller according to claim 43, wherein said means for characterizing performs an algorithm on said external signal comprising a transform selected from the group consisting of an Affine transformation, a Fourier transformation, and a wavelet transformation.
- 45. The programmable controller according to claim 43, said controller being for controlling a recording device for recording an analog signal sequentially on a recording medium having a plurality of uniquely identifiable storage locations, the input comprising a signal port, further comprising a sequential recording device for recording the analog signal, and means for storing, in a directory location on the recording medium which is different from the storage location of the analog signal, said characterized signal and an identifier of a storage location on the recording medium in which said analog signal is recorded.
- 46. An image information retrieval apparatus, comprising:
means for storing compressed data representing a plurality of images; means for retrieving compressed data representing at least one of said plurality of images and having an output; means for storing characterization data representing a plurality of image types, having an output; and; an image processor, receiving as inputs said outputs from said retrieving means and said characterization data storage means, and producing a signal corresponding to a relation between at least one of said plurality of images of said compressed data and at least one of said image types of said characterization data.
- 47. A video interface device for a user comprising:
means for simultaneously transmitting data representing a plurality of programs; means for selecting at least one of said plurality of programs, being responsive to an input; a program database containing information relating to said plurality of programs, having an output; a graphical user interface for defining commands, comprising:
(a) an image display device having at least two dimensions of display, being for providing visual image feedback; and; (b) a multidimensional input device having at least two dimensions of operability, adapted to correspond to said two dimensions of said display device, and having an output,; so that the user may cause said input device to produce a corresponding change in an image of said display device by translating an indicator segment of said display in said at least two dimensions of display, based on said visual feedback received from said display device, said indicator segment being moved to a translated location of said display device corresponding to a user command; and; means for controlling said graphical user interface and for producing said input of said selecting means, receiving as a control said output of said multidimensional input device, said control means receiving said output of said program database and presenting information relating to at least one of said plurality of programs on said display device associated with a command, said command being interpreted by said control means as said user command to produce said input of said selecting means to select said at least one of said plurality of programs associated with said command.
- 48. An apparatus, receiving as an input from a human user having a user characteristic, comprising:
an input device, producing an input signal from the human user input; means for displaying information relating to the input from the user and feedback on a current state of the apparatus, having an alterable image type; means for extracting an input instruction relating to a desired change in a state of the apparatus from the input signal; means for detecting one or more temporal-spatial user characteristics of the input signal, independent of said input instruction, selected from the group consisting of a velocity component, an efficiency of input, an accuracy of input, an interruption of input and a high frequency component of input; means for storing data related to said user characteristics in a memory; and; means for altering said image type based on the user characteristics.
- 49. The apparatus according to claim 48, wherein said means for altering said image type alters said image type based on an output of detection means and said stored data so that said display means displays an image type which corresponds to said detected user characteristics.
- 50. The apparatus according to claim 48, being for controlling the causation of an action on the occurrence of an event, further comprising:
control means for receiving said input instruction and storing a program instruction associated with said input instruction, said control means having a memory sufficient for storing program instructions to perform an action on the occurrence of an event; and; means for monitoring an environment of said apparatus to determine the occurrence of the event, and causing the performance of the action on the occurrence of the event.
- 51. The apparatus according to claim 50, wherein said means for altering said image type alters said image type based on an output of detection means and said stored data so that said display means displays an image type which corresponds to said detected user characteristics.
- 52. An adaptive programmable apparatus having a plurality of states, being programmable by a programmer and operating in an environment in which a plurality of possible events occur, each of the events being associated with different data, comprising:
an data input for receiving data; an programmer input, producing an input signal from an action of the programmer; a feedback device for providing information relating to said input signal and a current status of the apparatus to the programmer; means for storing program instructions associated with said input signal and for controlling the response of said apparatus relating to the detection of an input signal or data associated with an event, having a control input; and; means for abstracting information from at least one of said input signal and said data, and altering an execution of said storing and executing means based on said abstracted information, comprising:
means for processing said at least one of said input signal or said data to reduce an amount of information while substantially retaining an abstract portion of said information; a memory for storing a quantity of said abstracted information; means for processing said abstracted information in conjunction with said stored quantity of abstracted information; and; an output for providing said control input of said storing and executing means.
- 53. The apparatus according to claim 52, further comprising:
means for receiving a programming preference from the programmer indicating a plurality of possible desired events; and; means for correlating said programming preference with said data based on an adaptive algorithm and for determining a likelihood of occurrence of at least one of said desired events, producing said output, said output being associated with the initiation of the said response.
- 54. The apparatus according to claim 52 further comprising:
means for receiving feedback from the programmer indicating a concurrence with said output of said correlating means, and modifying said algorithm based on said received feedback; and; said feedback device comprising a display means and said input device is remote from said display means, and providing a direct manipulation of display information of said display means.
- 55. The programmable apparatus according to claim 52, further comprising means for verifying said program instructions to ensure that said program instructions are valid and executable by said storing and controlling means; means for providing an option, selectable by said programmer input for changing an instruction stored by said storing and controlling means, such that said apparatus enters a state wherein a new instruction may be input to substitute for said instruction, wherein said storing and controlling means verifies said instructions such that said instructions are valid; and wherein said feedback device further comprises means for requesting confirmation from the programmer of the instructions associated with the input signal.
- 56. The programmable apparatus according to claim 52, further comprising a chronological database and means for accessing said chronological database on the basis of said program instructions stored in said storing and controlling means.
- 57. The programmable apparatus according to claim 52, wherein said means for abstracting receives information from said input signal.
- 58. The programmable apparatus according to claim 52, wherein said means for abstracting receives information from said data.
- 59. The programmable apparatus according to claim 52, further comprising means for storing at least a portion of said input signal or said data in a memory, means for selectively generating a profile of said input signal or said data, and means for storing said profile of said input signal or said data separately from said input signal or said data in said memory.
- 60. The programmable apparatus according to claim 59, further comprising means for comparing said input signal or said data with said stored profile of said input signal or said data to determine the occurrence of an event.
- 61. The programmable information storage apparatus according to claim 59, wherein said data comprises image data, said means for storing and controlling being for storage and access of image data and said comparing means being for performing an image analysis function.
- 62. A method for identifying image data comprising the steps of:
providing a plurality of models; creating, from the image data, a plurality of accessible mapped ranges corresponding to different subsets of the image data; assigning identifiers to corresponding ones of the mapped ranges, each of the identifiers specifying for the corresponding mapped range a procedure and a corresponding subset of the image data; executing, for a plurality of the mapped ranges, a corresponding procedure upon the one of the subsets of the stored image data which corresponds to the mapped ranges; selecting one of the mapped ranges corresponding to a portion of the image data; representing the image data as a set of the identifiers of the selected mapped ranges; and; matching the representation of the image data with it least one of said plurality of models based on an image-to-model correspondence.
- 63. The method according to claim 62, wherein said image data comprises image information, said method being performed by a data processor, further comprising the steps of:
storing said plurality of models, said models being templates; storing the image data in the data processor; generating a plurality of addressable domains from the stored image data, each of the domains representing a portion of the image information; said creating step comprising creating, from the stored image data, a plurality of addressable mapped ranges corresponding to different subsets of the stored image data, said creating step including the substep of:
executing, for each of the mapped ranges, a corresponding procedure upon the one of the subsets of the stored image data which corresponds to the mapped ranges; assigning identifiers to corresponding ones of the mapped ranges, each of the identifiers specifying for the corresponding mapped range a procedure and a address of the corresponding subset of the stored image data; subjecting a domain to a transform selected from the group consisting of a null transformation, a predetermined rotation, an inversion, a predetermined scaling, and a predetermined frequency domain preprocessing; said selecting step comprising selecting, for each of the transformed domains, the one of the mapped ranges which most closely corresponds according to predetermined criteria; and; said matching step comprising selecting, from the stored templates, a template which most closely corresponds to the set of identifiers representing the image information.
- 64. The method according to claim 63 wherein the step of selecting the most closely corresponding one of the mapped ranges comprises the step of selecting, for each domain, the mapped range which is the most similar, by a method selected from at least one of the group consisting of selecting a minimum Hausdorff distance from the domain, selecting the highest cross-correlation with the domain and selecting the lowest mean square error of the difference between the mapped range and the domain.
- 65. The method according to claim 64 wherein the step of selecting the most closely corresponding one of mapped ranges includes the step of selecting, for each domain, the mapped range with the minimum modified Hausdorff distance calculated as D[db,mrb]+D[1-db,1-mrb], where D is a distance calculated between a pair of sets of data each representative of an image, db is a domain, mrb is a mapped range, 1-db is the inverse of a domain, and 1-mrb is an inverse of a mapped range.
- 66. The method according to claim 63, wherein the digital image data consists of a plurality of pixels each having one of a plurality of associated color map values, further comprising the steps of:
optionally transforming the color map values of the pixels of each domain by a function including at least one scaling function for each axis of the color map, each of which may be the same or different, and selected to maximize the correspondence between the domains and ranges to which they are to be matched; selecting, for each of the domains, the one of the mapped ranges having color map pixel values which most closely correspond to the color map pixel values of the domain according to a predetermined criteria, wherein the step of representing the image color map information includes the substep of representing the image color map information as a set of values each including an identifier of the selected mapped range and the scaling functions: and; selecting a most closely corresponding stored template, based on the identifier of the color map mapped range, the scaling functions and the set of identifiers representing the image information.
- 67. The method according to claim 63, further comprising the steps of:
storing delayed image data, which represents an image of a moving object differing in time from the image data in the data processor; generating a plurality of addressable further domains from the stored delayed image data, each of the further domains representing a portion of the delayed image information, and corresponding to a domain; creating, from the stored delayed image data, a plurality of addressable mapped ranges corresponding to different subsets of the stored delayed image data; matching the further domain and the domain by subjecting a further domain to one or both of a corresponding transform selected from the group consisting of a null transform, a predetermined rotation, an inversion, a predetermined scaling, and a predetermined frequency domain preprocessing, which corresponds to a transform applied to a corresponding domain, and a noncorresponding transform selected from the group consisting of a predetermined rotation, an inversion, a predetermined scaling, a translation and a predetermined frequency domain preprocessing, which does not correspond to a transform applied to a corresponding domain; computing a motion vector between one of the domain and the further domain, or the set of identifiers representing the image information and the set of identifiers representing the delayed image information, and storing the motion vector; compensating the further domain with the motion vector and computing a difference between the compensated further domain and the domain; selecting, for each of the delayed domains, the one of the mapped ranges which most closely corresponds according to predetermined criteria; representing the(difference between the compensated further domain and the domain as a set of difference identifiers of a set of selected mapping ranges and an associated motion vector and representing the further domain as a set of identifiers of the selected mapping ranges; determining a complexity of the difference based on a density of representation; and; when the difference has a complexity below a predetermined threshold, selecting, from the stored templates, a template which most closely corresponds to the set of identifiers of the image data and the set of identifiers of the delayed image data.
- 68. The method according to claim 62, wherein said representing step further comprises the steps of determining a feature of interest of the image data, selecting a mapped range corresponding to the feature of interest, storing the identifiers of the selected mapped range, selecting a further mapped range corresponding to a portion of image data having a predetermined relationship to the feature of interest and storing the identifiers of the further mapped range.
- 69. The method according to claim 62, wherein said image data comprises data having three associated dimensions obtained by a method selected from the group consisting of synthesizing a three dimensional representation based on a machine based prediction derived from two dimensional image data, synthesizing a three dimensional representation derived from a time series of pixel images, and synthesizing a three dimensional representation based on a image data representing a plurality of parallax views having at least two dimensions.
- 70. An apparatus for automatically recognizing digital image data consisting of image information, comprising:
means for storing template data; means for storing the image data; means for generating a plurality of addressable domains from the stored image data“, each of the domains representing a different portion of the image information: means for creating, from the stored image data, a plurality of addressable mapped ranges corresponding to different subsets of the stored image data, the creating means including means for executing, for each of the mapped ranges, a procedure upon the one of the subsets of the stored image data which corresponds to the mapped range; means for assigning identifiers to corresponding ones of the mapped ranges, each of the identifiers specifying for the corresponding mapped range an address of the corresponding subset of stored image data; means for selecting, for each of the domains, the one of the mapped ranges which most closely corresponds according to predetermined criteria; means for representing at least a portion of the image information as a set of the identifiers of the selected mapped ranges; and; means for selecting, from the stored templates, a template which most closely corresponds to the set of identifiers representing the image information.
- 71. A programmable control responsive to an user input and a signal received from a signal source, comprising:
a controller, operating according to a predetermined program, for receiving the user input and the signal and producing a control output; a memory for storing data relating to an activity of the user; a data processing system for predicting a most probable action of a user based on said stored data relating to said activity of the user; and; a user feedback data presenting system comprising a display device for presentation of a sequence of programming options to the user, including said most probable action of the user, in a plurality of display images, each display image differing in available programming options.
- 72. The programmable control according to claim 71, being for performing an action based on user input and an information content of a signal received from a signal source, further comprising:
a user controlled direct manipulation-type input device, associated with said display device, having a device output, said device output being the user input; a plant capable of performing the action, being responsive to an actuator signal; and; said controller, being for receiving data from said device output of said input device and the signal, and displaying user feedback data on said display device,; said user feedback data comprising a presentation of a sequence of programming options to the user on said display device, including said most probable action of the user, in a plurality of display images, each display image differing in available programming options, said logical sequence including at least one sequence of options sufficient to define an operable control program, and a presentation of additional programming options if said control program is not operable.
- 73. The system according to claim 71, being for processing a program in response to a viewer input, comprising:
a user input processing system for determining a viewer preference; a program material processing system for characterizing the program material based on its content; a correlator for correlating said characterized content of the program material with said determined viewer preference to produce a correlation index; and; a processor, selectively processing the program material based on said correlation index.
- 74. The system according to claim 73, wherein said program material is encrypted, further comprising:
a decryption system for decrypting the program material if it is selected to produce unencrypted program material and optionally an associated decryption event; a memory for storing data relating to the occurrence of said decryption event; and; a central database for storing data relating to the occurrence of said decryption event in association with data relating to the viewer.
- 75. The system according to claim 73, wherein:
said user input processing system monitors a pattern of user activity and predicts a viewer preference; said program material processing system comprises:
a processor for preprocessing the program material to produce a reduced data flow information signal substantially retaining information relating to said abstract information content of the program material and selectively eliminating data not relating to said abstract information content of the program material and for characterizing said information signal based on said abstract information content; and; a comparing system for determining if said correlation index is indicative of a probable high correlation between said characterization of said information signal and said viewer preference and causing said stored program material to be processed by said processing means based on said determination.
- 76. The system according to claim 73, wherein said processor comprises an image program material storage and retrieval system.
- 77. The system according to claim 73, further comprising a memory for storing a characterization of the program material; an input for receiving a feedback signal from the viewer indicating a degree of agreement with said correlation index determination, wherein said feedback signal and said stored characterization are used by said viewer preference predicting means to predict a new viewer preference.
- 78. A programmable controller for controlling a system, having an input for receiving an external signal relating to said system, and an output for effecting control of said system, and a plurality of stored profiles, said controller being responsive to said external signal, comprising:
an input for inputting a control program; a memory for storing said control program; a processor for characterizing said external signal to produce a characterized signal; and; means for comparing said characterized signal with at least one of said plurality of stored profiles to produce a comparison index,; wherein said output is determined on the basis of said comparison index and said program.
- 79. The programmable controller according to claim 78, wherein said processor performs an algorithm on said external signal comprising a transform selected from the group consisting of an Affine transformation, a Fourier transformation, and a wavelet transformation.
- 80. The programmable controller according to claim 78, said controller being for controlling a recording device for recording an analog signal sequentially on a recording medium having a plurality of uniquely identifiable storage locations, the input comprising a signal port, further comprising a sequential recording device for recording the analog signal, and a memory for storing, in a directory location on the recording medium which is different from the storage location of the analog signal, said characterized signal and an identifier of a storage location on the recording medium in which said analog signal is recorded.
- 81. An image information retrieval apparatus, comprising:
a memory for storing compressed data representing a plurality of images; a data storage system for retrieving compressed data representing at least one of said plurality of images and having an output; a memory for storing characterization data representing a plurality of image types, having an output; and; an image processor, receiving as inputs said outputs from said data storage system and said characterization data memory, and producing a signal corresponding to a relation between at least one of said plurality of images of said compressed data and at least one of said image types of said characterization data.
- 82. A video interface device for a user comprising:
a data transmission system for simultaneously transmitting data representing a plurality of programs; a selector for selecting at least one of said plurality of programs, being responsive to an input; a program database containing information relating to said plurality of programs, having an output; a graphical user interface for defining commands, comprising:
(a) an image display device having at least two dimensions of display, being for providing visual image feedback; and; (b) a multidimensional input device having at least two dimensions of operability, adapted to correspond to said two dimensions of said display device, and having an output,; so that the user may cause said input device to produce a corresponding change in an image of said display device by translating an indicator segment of said display in said at least two dimensions of display, based on said visual feedback received from said display device, said indicator segment being moved to a translated location of said display device corresponding to a user command; and; a controller for controlling said graphical user interface and for producing said input of said selector, receiving as a control said output of said multidimensional input device, said controller receiving said output of said program database and presenting information relating to at least one of said plurality of programs on said display device associated with a command, said command being interpreted by said control means as said user command to produce said input of said selector to select said at least one of said plurality of programs associated with said command.
- 83. An apparatus, receiving as an input from a human user having a user characteristic, comprising:
an input device, producing an input signal from the human user input; a display for displaying information relating to the input from the user and feedback on a current state of the apparatus, having an alterable image type; an input processor for extracting an input instruction relating to a desired change in a state of the apparatus from the input signal; a detector for detecting one or more temporal-spatial user characteristics of the input signal, independent of said input instruction, selected from the group consisting of a velocity component, an efficiency of input, an accuracy of input, an interruption of input and a high frequency component of input; a memory for storing data related to said user characteristics: and; a controller for altering said image type based on the user characteristics.
- 84. The apparatus according to claim 83, wherein said controller alters said image type based on an output of said detector and said stored data so that said display displays an image type which corresponds to said detected user characteristics.
- 85. The apparatus according to claim 83, being for controlling the causation of an action on the occurrence of an event, further comprising:
a control for receiving said input instruction and storing a program instruction associated with said input instruction, said control having a memory sufficient for storing program instructions to perform an action on the occurrence of an event; and; a monitor for monitoring an environment of said apparatus to determine the occurrence of the event, and causing the performance of the action on the occurrence of the event.
- 86. The apparatus according to claim 85, wherein said controller alters said image type based on an output of said detector and said stored data so that said display means displays an image type which corresponds to said detected user characteristics.
- 87. An adaptive programmable apparatus having a plurality of states, being programmable by a programmer and operating in an environment in which a plurality of possible events occur, each of the events being associated with different data, comprising:
an data input for receiving data; an programmer input, producing an input signal from an action of the programmer; a feedback device for providing information relating to said input signal and a current status of the apparatus to the programmer; a memory for storing program instructions associated with said input signal; and; a processor for controlling the response of said apparatus relating to the detection of an input signal or data associated with an event, having a control input; for abstracting information from at least one of said input signal and said data, and altering an execution of said storing and executing means based on said abstracted information, being for processing said at least one of said input signal or said data to reduce an amount of information while substantially retaining an abstract portion of said information; storing a quantity of said abstracted information; processing said abstracted information in conjunction with said stored quantity of abstracted information; and providing said control input of said storing and executing means.
- 88. The apparatus according to claim 87, further comprising:
an input for receiving a programming preference from the programmer indicating a plurality of possible desired events; and; a correlator for correlating said programming preference with said data based on an adaptive algorithm and for determining a likelihood of occurrence of at least one of said desired events, producing said output, said output being associated with the initiation of the said response.
- 89. The apparatus according to claim 87 further comprising:
an input for receiving feedback from the programmer indicating a concurrence with said output of said correlator, and modifying said algorithm based on said received feedback; and; said feedback device comprising a display and said input device is remote from said display, and providing a direct manipulation of display information of said display.
- 90. The programmable apparatus according to claim 87, wherein said processor verifies said program instructions to ensure that said program instructions are valid and executable by said processor; an output for providing an option, selectable by said programmer input for changing an instruction stored by said processor, such that said apparatus enters a state wherein a new instruction may be input to substitute for said instruction, wherein said processor verifies said instructions such that said instructions are valid; and wherein said feedback device further presents information requesting confirmation from the programmer of the instructions associated with the input signal.
- 91. The programmable apparatus according to claim 87, further comprising a chronological database and an accessing system for accessing said chronological database on the basis of said program instructions stored in said memory.
- 92. The programmable apparatus according to claim 87, wherein said processor receives information from said input signal.
- 93. The programmable apparatus according to claim 87, wherein said processor receives information from said data.
- 94. The programmable apparatus according to claim 87, further comprising an input signal memory for storing at least a portion of said input signal or said data, a profile generator for selectively generating a profile of said input signal or said data, and an input signal profile memory for storing said profile of said input signal or said data separately from said input signal or said data in said input signal memory.
- 95. The programmable apparatus according to claim 94, further comprising a processor for comparing said input signal or said data with said stored profile of said input signal or said data to determine the occurrence of an event.
- 96. The programmable information storage apparatus according to claim 94, wherein said data comprises image data, said processor being for storage and access of image data and said processor for comparing being for performing an image analysis function.
- 97. The system according to claim 73, wherein said a program material processing system correlates and characterizes image information, further comprising:
means for storing template data; means for storing the image data; means for generating a plurality of addressable domains from the stored image data, each of the domains representing a different portion of the image information; means for creating, from the stored image data, a plurality of addressable mapped ranges corresponding to different subsets of the stored image data, the creating means including means for executing, for each of the mapped ranges, a procedure upon the one of the subsets of the stored image data which corresponds to the mapped range; means for assigning identifiers to corresponding ones of the mapped ranges, each of the identifiers specifying for the corresponding mapped range an address of the corresponding subset of stored image data; means for selecting, for each of the domains, the one of the mapped ranges which most closely corresponds according to predetermined criteria; means for representing at least a portion of the image information as a set of the identifiers of the selected mapped ranges; and; means for selecting, from the stored templates, a template which most closely corresponds to the set of identifiers representing the image information.
- 98. The system according to claim 97 wherein said means for selecting comprises means for selecting, for each domain, the mapped range which is the most similar, by a method selected from at least one of the group consisting of selecting a minimum Hausdorff distance from the domain, selecting the highest cross-correlation with the domain and selecting the lowest mean square error of the difference between the mapped range and the domain.
- 99. The system according to claim 98 wherein said means for selecting, for each domain, the mapped range with the minimum modified Hausdorff distance calculated as D[db,mrb]+D[1-db,1- mrb], where D is a distance calculated between a pair of sets of data each representative of an image, db is a domain, mrb is a mapped range, 1-db is the inverse of a domain, and 1-mrb is an inverse of a mapped range.
- 100. The system according to claim 97, wherein said means for representing further comprises means for determining a feature of interest of the image data, selecting a mapped range corresponding to the feature of interest, storing the identifiers of the selected mapped range, selecting a further mapped range corresponding to a portion of image data having a predetermined relationship to the feature of interest and storing the identifiers of the further mapped range.
- 101. The system according to claim 97, wherein said image data comprises data having three associated dimensions obtained by a method selected from the group consisting of synthesizing a three dimensional representation based on a machine based prediction derived from two dimensional image data, synthesizing a three dimensional representation derived from a time series of pixel images, and synthesizing a three dimensional representation based on a image data representing a plurality of parallax views having at least two dimensions.
- 102. A human interface system, comprising:
a user input, receiving user instructions for control of a system; an intelligent analysis system, monitoring said user instructions, to determine a user instruction pattern; a feedback system, presenting an output representing the determined user instruction pattern, and receiving modification input from the user representing a concurrence with said determined user instruction pattern, data relating to said modification input being provided to said intelligent analysis system for alteration of said determined user instruction pattern based on said modification input; and; an operative system, presenting surrogate user instructions for control of the system based on said determined user instruction pattern.
- 103. The human interface system according to claim 102, further comprising:
a database engine, for retrieving information from a database, said database including information having varying degrees of relevance to said determined user instruction pattern, said determined user instruction pattern comprising a query for said database engine for selectively retrieving information having a high degree of relevance to said determined user instruction.
- 104. The human interface system according to claim 102, further comprising:
an input for monitoring an activity of said operative system; and; a correlator, for correlating said monitored activity with said determined user instruction, producing an output indicative of a degree of relation between said determined user activity and said monitored activity.
- 105. A human interface system, comprising:
a user input, receiving user instructions for control of a system; an intelligent analysis system, monitoring said“-user instructions, to determine a user instruction pattern; a feedback system, presenting an output representing the determined user instruction pattern, and receiving modification input from the user representing a concurrence with said determined user instruction pattern, data relating to said modification input being provided to said intelligent analysis system for alteration of said determined user instruction pattern based on said modification input; an operative system, presenting surrogate user instructions for control of the system based on said determined user instruction pattern.
- 106. The human interface system according to claim 105, further comprising:
a database engine, for retrieving information from a database, said database including information having varying degrees of relevance to said determined user instruction pattern, said determined user instruction pattern comprising a query for said database engine for selectively retrieving information having a high degree of relevance to said determined user instruction.
- 107. The human interface system according to claim 105, further comprising:
an input for monitoring an activity of said operative system; and; a correlator, for correlating said monitored activity with said determined user instruction, producing an output indicative of a degree of relation between said determined user activity and said monitored activity.
- 108. An apparatus, comprising:
a user interface, receiving a control input and a user attribute from the user; a memory system, storing said control input and user attribute; an input for receiving content data; means for storing data describing elements of said content data; means for presenting information to the user relating to said content data, said information being for assisting the user in defining a control input, said information being based on the stored user attribute and said data describing elements of said content data; and means for processing elements of said content data in dependence on said control input, having an output.
- 109. The apparatus according to claim 108, wherein:
said apparatus comprises a terminal used by users of a television program delivery system for suggesting programs to users; said user interface comprises means for gathering the user specific data to be used in selecting programs; said memory system comprises means, connected to the gathering means, for storing the user specific data; said input for receiving data describing elements of said content data comprises means for receiving the program control information containing the program description data; and said processing means comprises program selection means, operably connected to the storing means and the receiving means, for selecting one or more programs using a user's programming preferences and the program control information.
- 110. The apparatus according to claim 109, wherein said program selection means comprises:
a processor, wherein the user programming preferences are generated from the user specific data; and means, operably connected to the program selection means, for suggesting the selected programs to the user.
- 111. The apparatus according to claim 108, wherein said processing means selectively records said content data on said output of said processing means.
- 112. The apparatus according to claim 108, wherein said presenting means presents information to said user in a menu format.
- 113. The apparatus according to claim 108, wherein said presenting means comprises means for matching the user attribute to content data.
- 114. The apparatus according to claim 108, wherein said data describing elements of an associated data stream comprises a program guide generated remotely from the apparatus and transmitted in electronically accessible form.
- 115. The apparatus according to claim 108, wherein said data describing elements of an associated data stream comprises data defined by a human input.
- 116. The apparatus according to claim 108, wherein said data describing elements of an associated data stream comprises data defined by an automated analysis of said content data.
- 117. A method, comprising the steps of:
receiving data describing an user attribute; receiving a content data stream, and extracting from the content data stream information describing a plurality of program options; processing the data describing a user attribute and the information describing a plurality of program options to determine a likely user preference; selectively processing a program option based on said likely user preference.
- 118. The method according to claim 117, wherein:
said method is used by a terminal for a television program delivery system for suggesting programs to users for display on a television using program control information and user specific data; said step of receiving data describing an user attribute comprises gathering user specific data to be used in selecting programs, and storing the gathered user specific data; said step of receiving a content data stream, comprises receiving both programs and program control information for selecting programs as said information describing a plurality of program options; said selectively processing step comprises selecting one or more programs using a user's programming preferences and the received program control information, wherein the user programming preferences are generated from the user specific data; and presenting the program or information describing a program option for the selected programs to the user.
- 119. The method according to claim 118, wherein said user attribute comprises a semantic description of a preference.
- 120. The method according to claim 119, wherein said data processing step comprises determining a semantic relationship of said user preference to the information describing a plurality of program options.
- 121. The method according to claim 118, wherein said information describing a plurality of program options comprises a program guide.
- 122. The method according to claim 118, wherein said user attribute comprises a mood.
- 123. The method according to claim 118, wherein said user attribute comprises a demographic profile.
- 124. The method according to claim 118, wherein said user attribute comprises data relating to a history of use by the user.
- 125. A device for identifying a program in response to user preference data and program control information concerning available programs, comprising:
means for gathering the user preference data; means, connected to the gathering means, for storing the gathered user preference data; means for accessing the program control information; means, connected to the storing means and accessing means, for identifying one or more programs based on a correspondence between a user's programming preferences and the program control information.
- 126. The device according to claim 125, wherein said identifying means identifies a plurality of programs, a sequence of identifications transmitted to the user being based on a degree of correspondence between a user's programming preferences and the respective program control information of the identified program.
- 127. The device according to claim 125, wherein said device selectively records an identified program.
- 128. The device according to claim 125, further comprising a user interface adapted to allow interaction between the user and the device for response to one or more of the identified programs.
- 129. The device according to claim 128, wherein said means for gathering the user specific data comprises means for monitoring a response of the user to identified programs.
- 130. The device according to claim 125, wherein the user attribute comprises personal profile information.
- 131. The device according to claim 125, wherein said device is a set top terminal used by users of a television program delivery system for suggesting programs to users using program control information containing scheduled program description data, tile set top terminal comprising:
said means for gathering the user preference data comprising means for gathering program watched data; said means, connected to the gathering means, for storing the gathered user preference data comprising means, connected to the gathering means, for storing the program watched data; said means for accessing the program control information comprising means for receiving the program control information comprising the scheduled program description data; said means, connected to the storing means and accessing means, for identifying one or more programs based on a correspondence between a user's programming preferences and the program control information, being for selecting at least one program for suggestion to the viewer, comprising:
means for transforming the program watched data into preferred program indicators, wherein a program indicator comprises a program category with each program category having a weighted value; means for comparing the preferred program indicators with the scheduled program description data, wherein each scheduled program is assigned a weighted value based on at least one associated program category; means for prioritizing the scheduled programs from highest weighted value programs to lowest weighted value programs; means for indicating one or more programs meeting a predetermined weight threshold, wherein all other programs are excluded from program suggestion; and means, operably connected to the program selection means, for displaying for suggestion the selected programs to the user.
- 132. The device according to claim 125, further comprising:
a data selector, for selecting a program from a data stream; an encoder, for encoding programs in a digitally compressed format; a mass storage system, for storing and retrieving encoded programs; a decoder, for decompressing the retrieved encoded programs; and an output, for outputting the decompressed programs.
Parent Case Info
[0001] This patent application is a continuation-in-part of U.S. patent application Ser. Nos. 07/812,805 (Issue Fee Paid); U.S. Pat. No. 08/469,597 (Allowed); U.S. Pat. No. 08/469,068 (Issue Fee Paid); U.S. Pat. No. 08/469,589 (Issue Fee Paid); U.S. Pat. No. 08/471,834 (Issue Fee Paid); U.S. Pat. No. 08/469,104 (Issue Fee Paid): and U.S. Pat. No. 08/471,213 (Pending), each of which is expressly incorporated herein by reference. This patent application is related to U.S. Pat. No. 5,774,357.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09241135 |
Feb 1999 |
US |
Child |
10162079 |
Jun 2002 |
US |