JP2013500660A - Information encoding and decoding - Google Patents

Information encoding and decoding Download PDF

Info

Publication number
JP2013500660A
JP2013500660A JP2012522150A JP2012522150A JP2013500660A JP 2013500660 A JP2013500660 A JP 2013500660A JP 2012522150 A JP2012522150 A JP 2012522150A JP 2012522150 A JP2012522150 A JP 2012522150A JP 2013500660 A JP2013500660 A JP 2013500660A
Authority
JP
Japan
Prior art keywords
time
signal
event
events
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012522150A
Other languages
Japanese (ja)
Other versions
JP5587412B2 (en
Inventor
マークラム,ヘンリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ecole Polytechnique Federale de Lausanne EPFL
Original Assignee
Ecole Polytechnique Federale de Lausanne EPFL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ecole Polytechnique Federale de Lausanne EPFL filed Critical Ecole Polytechnique Federale de Lausanne EPFL
Publication of JP2013500660A publication Critical patent/JP2013500660A/en
Application granted granted Critical
Publication of JP5587412B2 publication Critical patent/JP5587412B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/16Conversion to or from representation by pulses the pulses having three levels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4902Pulse width modulation; Pulse position modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4917Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes

Abstract

情報を符号化および復号するための、コンピュータ記憶媒体上で符号化されたコンピュータプログラムを含む方法、システムおよび装置を提供する。一局面においては、エンコーダにおいて情報を符号化する方法は、離散数字の集まりを用いて情報を表わす信号を受信する動作と、受信した信号を、エンコーダによって時間ベースのコードに変換する動作と、時間ベースのコードを出力する動作とを含む。時間ベースのコードは時間間隔に分割される。時間ベースのコードの時間間隔の各々は受信信号における数字に対応する。受信信号の第1の状態の数字は各々、時間ベースのコードの対応する時間間隔内における第1の時刻において起こるイベントとして表わされる。受信信号の第2の状態の数字は各々、時間ベースのコードの対応する時間間隔内における第2の時刻において起こるイベントとして表わされ、第1の時刻は第2の時刻から識別可能である。受信信号における数字の状態はすべて、イベントによって時間ベースのコードで表わされる。  Methods, systems, and apparatus are provided that include a computer program encoded on a computer storage medium for encoding and decoding information. In one aspect, a method of encoding information in an encoder includes an operation of receiving a signal representing information using a collection of discrete numbers, an operation of converting the received signal into a time-based code, and a time. Operation to output a base code. Time-based codes are divided into time intervals. Each time interval of the time-based code corresponds to a number in the received signal. Each number of the first state of the received signal is represented as an event that occurs at a first time within a corresponding time interval of the time-based code. Each second state number of the received signal is represented as an event occurring at a second time within a corresponding time interval of the time-based code, the first time being identifiable from the second time. All numeric states in the received signal are represented by events in a time-based code.

Description

背景
この明細書は情報の符号化および復号に関する。
BACKGROUND This specification relates to the encoding and decoding of information.

エンコーダは、情報を第1の表現から第2の表現に変換する装置である。エンコーダは、データ通信装置、データ記憶装置、データ圧縮装置、データ暗号化装置、ならびに、これらおよび他の装置の組合せを含む多くのさまざまなシステムおよび装置に含めることができる。エンコーダは、情報を復元することのできるデコーダと対にすることができる。符号化された情報や復号された情報は、信号での通信および/またはデータ記憶装置への記憶が可能である。   An encoder is a device that converts information from a first representation to a second representation. Encoders can be included in many different systems and devices, including data communication devices, data storage devices, data compression devices, data encryption devices, and combinations of these and other devices. The encoder can be paired with a decoder that can recover the information. The encoded information and the decoded information can be communicated by signals and / or stored in a data storage device.

生体ニューロンおよび他の生体神経系は、電気化学的な信号方式を用いて情報を符号化して通信を行うことができる。たとえば、生体神経系は、振幅がほぼ等しい活動電位で情報を符号化することができる。生体神経系は、電気化学的信号を電気的なコンダクタンス変化に変換する電気化学的トランスデューサとして作用するシナプスを含む。単一のニューロンでさえも、その分岐(「樹状突起」と称する)上の入力として数千の電気化学的信号を受信し得る。これらの入力は、時間依存の態様で合成される細胞膜にわたって電圧変化をもたらす。この入力の合成は、受動的(線形)、能動的(非線形)、ケーブル(時間とともに減衰)、および電気化学(拡散)の法則に従う。いくつかの状況下では、このような入力は、一連の連続した活動電位に合成することができる。   Biological neurons and other biological nervous systems can communicate by encoding information using electrochemical signaling. For example, the living nervous system can encode information with action potentials of approximately equal amplitude. The living nervous system includes synapses that act as electrochemical transducers that convert electrochemical signals into electrical conductance changes. Even a single neuron can receive thousands of electrochemical signals as input on its branches (referred to as “dendrites”). These inputs result in voltage changes across the cell membrane synthesized in a time-dependent manner. The composition of this input follows the laws of passive (linear), active (non-linear), cable (decay over time), and electrochemical (diffusion). Under some circumstances, such inputs can be combined into a series of consecutive action potentials.

概要
この明細書は、情報の符号化および復号に関する技術について記載する。
Overview This specification describes techniques for encoding and decoding information.

一般に、この明細書中に記載される主題のうち革新的な一局面は、エンコーダでの情報の符号化方法において具体化することができ、離散数字の集まりを用いて情報を表わす信号を受信する動作と、エンコーダによって受信信号を時間ベースのコードに変換する動作と、時間ベースのコードを出力する動作とを含む。時間ベースのコードは時間間隔に分割される。時間ベースのコードの時間間隔の各々は、受信信号における数字に対応する。受信信号の第1の状態の各数字は、時間ベースのコードの対応する時間間隔内における第1の時刻に起こるイベントとして表わされる。受信信号の第2の状態の各数字は、時間ベースのコードの対応する時間間隔内における第2の時刻に起こるイベントとして表わされる。第1の時刻は第2の時刻から識別可能である。受信信号における数字の状態はすべて、イベントによって時間ベースのコードで表わされる。   In general, one innovative aspect of the subject matter described in this specification can be embodied in a method of encoding information at an encoder, and receives a signal representing information using a collection of discrete numbers. An operation, an operation of converting a received signal into a time-based code by an encoder, and an operation of outputting a time-based code. Time-based codes are divided into time intervals. Each time interval of the time-based code corresponds to a number in the received signal. Each digit of the first state of the received signal is represented as an event that occurs at a first time within a corresponding time interval of the time-based code. Each digit of the second state of the received signal is represented as an event that occurs at a second time within a corresponding time interval of the time-based code. The first time can be identified from the second time. All numeric states in the received signal are represented by events in a time-based code.

この局面の他の実施例は、コンピュータ記憶装置上で符号化され、上述の方法の動作を実行するよう構成された対応するシステム、装置およびコンピュータプログラムを含む。   Other embodiments of this aspect include corresponding systems, devices and computer programs encoded on a computer storage device and configured to perform the operations of the methods described above.

この明細書中に記載される主題の別の革新的な局面は、離散数字の集まりを用いて情報を表わす信号を受信するための入力と、受信信号を符号化するエンコーダと、時間ベースのコードを別のシステムまたは装置に供給するための出力とを含むシステムにおいて具体化され得る。エンコーダは、受信信号における数字の状態を検出するよう構成された状態検出器と、受信信号における数字の状態を時間ベースのコードに翻訳するよう構成されたトランスレータとを含み、時間ベースのコードは時間間隔の集まりを含み、時間間隔の各々には、受信信号におけるそれぞれの数字が割当てられ、時間間隔の各々はイベントを含み、各々の時間間隔内におけるイベントのタイミングは、それぞれの割当てられた数字の状態を特徴付ける。   Another innovative aspect of the subject matter described in this specification includes an input for receiving a signal representing information using a collection of discrete numbers, an encoder for encoding the received signal, and a time-based code. And an output for supplying to another system or device. The encoder includes a state detector configured to detect a numeric state in the received signal and a translator configured to translate the numeric state in the received signal into a time-based code, where the time-based code is a time Each of the time intervals is assigned a respective number in the received signal, each of the time intervals includes an event, and the timing of the event within each time interval is the number of the assigned number Characterize the condition.

この局面の他の実施例は、コンピュータ記憶装置上で符号化され、上述の方法の動作を実行するよう構成された対応する方法およびコンピュータプログラムを含む。   Other embodiments of this aspect include corresponding methods and computer programs encoded on a computer storage device and configured to perform the operations of the methods described above.

この明細書中に記載される主題の別の革新的な局面は、時間ベースのコード信号を復号するための方法において具体化され得るものであり、時間ベースのコード信号をデコーダで受信する動作と、時間間隔内におけるイベントのタイミングを検出する動作と、離散数字の集まりを用いて時間ベースのコード信号で表わされる情報を表わす信号を出力する動作とを含む。時間ベースのコード信号は時間間隔に分割され、時間ベースのコード信号の時間間隔の各々はイベントを含み、時間間隔内におけるイベントのタイミングは、時間ベースのコード信号の情報内容を表わす。   Another innovative aspect of the subject matter described in this specification can be embodied in a method for decoding a time-based code signal, the operation of receiving a time-based code signal at a decoder, and An operation for detecting the timing of an event within a time interval, and an operation for outputting a signal representing information represented by a time-based code signal using a collection of discrete numbers. The time-based code signal is divided into time intervals, each time interval of the time-based code signal includes an event, and the timing of the event within the time interval represents the information content of the time-based code signal.

この局面の他の実施例は、コンピュータ記憶装置上で符号化され、上述の方法の動作を実行するよう構成された対応するシステム、装置およびコンピュータプログラムを含む。   Other embodiments of this aspect include corresponding systems, devices and computer programs encoded on a computer storage device and configured to perform the operations of the methods described above.

この明細書中に記載される主題の別の革新的な局面は、時間ベースのコード信号を復号するためのシステムにおいて具体化され得るものであり、時間ベースのコード信号を受信する入力と、時間ベースのコード信号の時間間隔内におけるイベントのタイミングを検出するよう構成されたイベント検出器と、時間ベースのコードの時間間隔内におけるイベントのタイミングを数字の集まりの状態に翻訳するよう構成されたトランスレータと、数字を含む信号を供給するよう構成された出力とを含む。時間ベースのコード信号は時間間隔に分割され、時間ベースのコード信号の時間間隔の各々はイベントを含み、時間間隔内におけるイベントのタイミングは、時間ベースのコード信号の情報内容を表わす。   Another innovative aspect of the subject matter described in this specification can be embodied in a system for decoding a time-based code signal, an input for receiving a time-based code signal, a time An event detector configured to detect the timing of an event within a time interval of a base code signal and a translator configured to translate the timing of the event within a time interval of the time based code into a state of a collection of numbers And an output configured to provide a signal including a number. The time-based code signal is divided into time intervals, each time interval of the time-based code signal includes an event, and the timing of the event within the time interval represents the information content of the time-based code signal.

この局面の他の実施例は、コンピュータ記憶装置上で符号化され、上述の方法の動作を実行するよう構成された対応する方法およびコンピュータプログラムを含む。   Other embodiments of this aspect include corresponding methods and computer programs encoded on a computer storage device and configured to perform the operations of the methods described above.

この明細書中に記載される主題のうち1つ以上の実現例の詳細を、添付の図面および以下の説明において記載する。主題についての他の特徴、局面および利点は以下の記載、添付の図面および添付の特許請求の範囲から明らかになるだろう。   The details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the following description, the accompanying drawings, and the appended claims.

エンコーダ/デコーダシステムの概略図である。1 is a schematic diagram of an encoder / decoder system. 情報を符号化および復号するためのプロセスを示すフローチャートである。FIG. 6 is a flowchart illustrating a process for encoding and decoding information. 情報を符号化することのできるシステムを示す概略図である。1 is a schematic diagram illustrating a system capable of encoding information. FIG. 時間エンコーダの実現例を示す概略図である。It is the schematic which shows the implementation example of a time encoder. 時間符号化のプロセスを示す概略図である。FIG. 3 is a schematic diagram illustrating a process of time encoding. 時間エンコーダの別の実現例を示す概略図である。It is the schematic which shows another implementation example of a time encoder. 信号でのデータ伝送の始まりと終わりとを検出する、時間エンコーダを用いた時間符号化を示す概略図である。FIG. 2 is a schematic diagram illustrating time encoding using a time encoder to detect the beginning and end of data transmission on a signal. 時間エンコーダの別の実現例を示す概略図である。It is the schematic which shows another implementation example of a time encoder. 信号でのデータ伝送の始まりにおけるヘッダの符号化を示す概略図である。FIG. 2 is a schematic diagram illustrating encoding of a header at the beginning of data transmission with a signal. 時間エンコーダの別の実現例を示す概略図である。It is the schematic which shows another implementation example of a time encoder. 3つ以上の状態を含む信号の時間符号化を示す概略図である。FIG. 3 is a schematic diagram illustrating time encoding of a signal including three or more states. 情報を符号化することのできるシステムの実現例を示す概略図である。It is the schematic which shows the implementation example of the system which can encode information. マルチチャネルエンコーダの実現例を示す概略図である。It is the schematic which shows the implementation example of a multi-channel encoder. 情報を符号化、圧縮、記憶/伝送することができ、さらに、アクセス/受信、復号および解凍することのできるシステムを示す概略図である。FIG. 1 is a schematic diagram illustrating a system capable of encoding, compressing, storing / transmitting information, and accessing / receiving, decoding and decompressing information. デコーダの実現例を示す概略図である。It is the schematic which shows the implementation example of a decoder. 時間間隔内におけるイベントの発生のタイミングによって情報が符号化される信号復号プロセスを示す概略図である。FIG. 6 is a schematic diagram illustrating a signal decoding process in which information is encoded according to the timing of occurrence of an event within a time interval. デコーダの別の実現例を示す概略図である。FIG. 7 is a schematic diagram illustrating another example of implementation of a decoder. 信号でのデータ伝送の始まりと終わりとを検出するデコーダを用いて時間間隔内におけるイベントの発生のタイミングによって情報が符号化される信号の復号を示す概略図である。FIG. 2 is a schematic diagram illustrating decoding of a signal in which information is encoded according to the timing of the occurrence of an event within a time interval using a decoder that detects the beginning and end of data transmission on the signal. デコーダの他の実現例を示す概略図である。It is the schematic which shows the other implementation example of a decoder. デコーダの他の実現例を示す概略図である。It is the schematic which shows the other implementation example of a decoder. 時間間隔内におけるイベントの発生のタイミングによって情報が3以上の状態を含む信号に符号化される信号の復号を示す概略図である。It is the schematic which shows decoding of the signal by which the information is encoded into the signal containing the state of 3 or more by the timing of the generation | occurrence | production of the event in a time interval. 復号システムの実現例を示す概略図である。It is the schematic which shows the implementation example of a decoding system. マルチチャネルデコーダシステムを示す概略図である。1 is a schematic diagram illustrating a multi-channel decoder system. FIG. 情報を符号化することのできるシステムの実現例を示す概略図である。It is the schematic which shows the implementation example of the system which can encode information. 圧縮エンコーダの一実現例を示す概略図である。It is the schematic which shows one implementation example of a compression encoder. インテグレータのさまざまな実現例に関する概略図である。FIG. 6 is a schematic diagram for various implementations of an integrator. インテグレータのさまざまな実現例に関する概略図である。FIG. 6 is a schematic diagram for various implementations of an integrator. インテグレータのさまざまな実現例に関する概略図である。FIG. 6 is a schematic diagram for various implementations of an integrator. インテグレータのさまざまな実現例に関する概略図である。FIG. 6 is a schematic diagram for various implementations of an integrator. バイナリ−アナログコンバータを示す概略図である。It is the schematic which shows a binary-analog converter. イベントの時系列における個々のイベントの振幅に対する、時系列における他のイベントのタイミングの関数としての重み付けを示す概略図である。FIG. 4 is a schematic diagram illustrating weighting as a function of the timing of other events in the time series relative to the amplitude of individual events in the time series of events. 圧縮エンコーダから出力することのできる信号の一実現例を示す概略図である。It is the schematic which shows one implementation example of the signal which can be output from a compression encoder. データ記憶装置を示す概略図である。It is the schematic which shows a data storage device. 情報を復号することのできるシステムの実現例を示す概略図である。It is the schematic which shows the implementation example of the system which can decode information. 拡張デコーダの一実現例を示す概略図である。It is the schematic which shows one implementation example of an extended decoder. 重み付け装置を示す概略図である。It is the schematic which shows a weighting apparatus. イベントの時系列における個々のイベントの振幅に対する、時系列における他のイベントのタイミングの関数としての重み付けを示す概略図である。FIG. 4 is a schematic diagram illustrating weighting as a function of the timing of other events in the time series relative to the amplitude of individual events in the time series of events. 時系列スキャナを示す概略図である。It is the schematic which shows a time series scanner. 拡張デコーダを示す概略図である。It is the schematic which shows an extended decoder. 情報を符号化および復号することのできるシステムの実現例を示す概略図である。1 is a schematic diagram illustrating an implementation example of a system capable of encoding and decoding information. FIG. バイナリ−アナログコンバータの集まりを構築するためのプロセスを示すフローチャートである。FIG. 5 is a flowchart illustrating a process for building a collection of binary-to-analog converters. 重み付け装置を較正するためのプロセスを示すフローチャートである。Figure 5 is a flow chart illustrating a process for calibrating a weighting device. エンコーダ/デコーダの対を作り出すためのプロセスを示すフローチャートである。Figure 5 is a flow chart illustrating a process for creating an encoder / decoder pair.

さまざまな図面における同様の参照番号および符号は同様の要素を示す。
詳細な説明
図1Aは、エンコーダ/デコーダシステム3を示す概略図である。エンコーダ/デコーダシステム3は、情報を符号化および復号するための構成要素の集まりである。エンコーダ/デコーダシステム3は、たとえば、データ通信システム、データ記憶システム、データ圧縮システム、データ暗号化システム、または、これらもしくは他のシステムの組合せであり得る。エンコーダは、情報を復元することのできるデコーダと対をなすことができる。符号化された情報および復号された情報は、信号での通信および/またはデータ記憶装置への記憶が可能である。
Like reference numbers and designations in the various drawings indicate like elements.
DETAILED DESCRIPTION FIG. 1A is a schematic diagram illustrating an encoder / decoder system 3. The encoder / decoder system 3 is a collection of components for encoding and decoding information. The encoder / decoder system 3 can be, for example, a data communication system, a data storage system, a data compression system, a data encryption system, or a combination of these or other systems. The encoder can be paired with a decoder that can recover the information. The encoded information and the decoded information can be signaled and / or stored in a data storage device.

エンコーダ/デコーダシステム3は、符号化送信機システム6および復号受信機システム9を含む。符号化送信機システム6は、入力8、エンコーダ・コンプレッサ10、送信機12、および出力14を含む。符号化送信機システム6の入力8は、信号21で情報を受信するよう接続され得る。入力8および出力14が有する物理的構造により、信号がそれぞれ、符号化送信機システム6に受信されたり符号化送信機システム6から転送されたりする。信号21は情報を含む。エンコーダ・コンプレッサ10は、信号21における情報のうち少なくともいくらかを符号化して圧縮する構成要素である。   The encoder / decoder system 3 includes an encoding transmitter system 6 and a decoding receiver system 9. The encoded transmitter system 6 includes an input 8, an encoder / compressor 10, a transmitter 12, and an output 14. The input 8 of the encoded transmitter system 6 can be connected to receive information on the signal 21. Depending on the physical structure of the input 8 and the output 14, the signals are respectively received by the encoded transmitter system 6 and transferred from the encoded transmitter system 6. The signal 21 contains information. The encoder / compressor 10 is a component that encodes and compresses at least some of the information in the signal 21.

エンコーダ・コンプレッサ10は、状態エンコーダ23、時間ベースのエンコーダ25、振幅重み付け構成要素27、およびコンプレッサ29を含む。状態エンコーダ23は、信号21における情報のうち少なくともいくらかを、離散数字の集まりで情報を表わす信号24へと符号化する構成要素である。数字は、さまざまな状態を用いて情報を表わすことができる。たとえば、信号24は、2進数もしくはビットで(すなわち、1対の状態を用いて)、または10進数で(すなわち、10の状態を用いて)情報を表わすことができる。状態エンコーダ23は、時間ベースのエンコーダ25に信号24を供給するよう接続される。   The encoder / compressor 10 includes a state encoder 23, a time-based encoder 25, an amplitude weighting component 27, and a compressor 29. The state encoder 23 is a component that encodes at least some of the information in the signal 21 into a signal 24 that represents the information as a collection of discrete numbers. Numbers can represent information using various states. For example, signal 24 may represent information in binary or bits (ie, using a pair of states) or in decimal (ie, using 10 states). The state encoder 23 is connected to supply a signal 24 to a time-based encoder 25.

時間ベースのエンコーダ25は、間隔内におけるイベントのタイミングによって情報を表わす時間ベースのコード26へと信号24を符号化する構成要素である。状態エンコーダ23および時間ベースのエンコーダ25のうち一方またはこれら両方は、単一の信号をより小さな単位の集まりに分割するセグメンタを含み得る。この分割の結果、振幅重み付け構成要素27が、時間ベースのコード26の集まりを受信する。時間ベースのエンコーダ25は、時間ベースのコード26の集まりを振幅重み付け構成要素27に与えるよう接続される。   The time-based encoder 25 is a component that encodes the signal 24 into a time-based code 26 that represents information according to the timing of events within the interval. One or both of the state encoder 23 and the time-based encoder 25 may include a segmenter that divides a single signal into a collection of smaller units. As a result of this division, the amplitude weighting component 27 receives a collection of time-based codes 26. The time-based encoder 25 is connected to provide a collection of time-based codes 26 to the amplitude weighting component 27.

振幅重み付け構成要素27は、各々の時間ベースのコード26内におけるイベントの振幅に対して、その時間ベースのコード26における他のイベントのうち少なくともいくつかのイベントのタイミングに従って、重み付けするよう構成される構成要素である。いくつかの実現例においては、振幅重み付け構成要素27は、先行するイベントのタイミングに従ってイベントの振幅に重み付けすることができる。振幅重み付け構成要素27は、時間ベースのコード26に新しい情報を追加する必要はないが、別の次元で、すなわちイベントの振幅で、各々の時間ベースのコードにおける既存の情報のうち少なくともいくらかを表わすことができる。振幅重み付け構成要素27は、振幅重み付けされた時間ベースのコード28の集まりをコンプレッサ29に与えるよう接続される。   The amplitude weighting component 27 is configured to weight the amplitude of the event in each time-based code 26 according to the timing of at least some of the other events in that time-based code 26. It is a component. In some implementations, the amplitude weighting component 27 can weight the amplitude of the event according to the timing of the preceding event. The amplitude weighting component 27 does not need to add new information to the time-based code 26, but represents at least some of the existing information in each time-based code in another dimension, i.e., the amplitude of the event. be able to. Amplitude weighting component 27 is connected to provide compressor 29 with a collection of amplitude weighted time-based codes 28.

コンプレッサ29は、振幅重み付けされた時間ベースのコード28の集まりを圧縮するよう構成された構成要素である。コンプレッサ29は、振幅重み付けされた時間ベースのコード28を積分して1次元コード31を生成することによって、当該振幅重み付けされた時間ベースのコード28を圧縮することができる。1次元コード31は、情報のうち少なくともいくらかを、振幅重み付けされた時間ベースのコード28で1次元で表わすことができる。たとえば、1次元コード31は、イベントのタイミングを用いて情報を表わすことができる。いくつかの実現例においては、積分は非線形積分であってもよい。コンプレッサ29は、1次元コード31を送信機12に与えるよう接続される。   The compressor 29 is a component configured to compress a collection of amplitude-weighted time-based codes 28. The compressor 29 can compress the amplitude-weighted time-based code 28 by integrating the amplitude-weighted time-based code 28 to generate a one-dimensional code 31. The one-dimensional code 31 can represent at least some of the information in one dimension with an amplitude-weighted time-based code 28. For example, the one-dimensional code 31 can represent information using event timing. In some implementations, the integral may be a non-linear integral. The compressor 29 is connected to provide a one-dimensional code 31 to the transmitter 12.

送信機12は、1次元コード31を、記憶または処理可能な信号30で伝送するよう構成される。たとえば、信号30は、メモリ構造(図示せず)に記憶することができる。代替的には、信号30は、信号を復号する受信装置に伝送することができる。図示される例においては、信号30は、符号化送信機システム6の出力14から復号受信機システム9の入力16に伝達される。   The transmitter 12 is configured to transmit the one-dimensional code 31 with a signal 30 that can be stored or processed. For example, the signal 30 can be stored in a memory structure (not shown). Alternatively, the signal 30 can be transmitted to a receiving device that decodes the signal. In the example shown, the signal 30 is communicated from the output 14 of the encoding transmitter system 6 to the input 16 of the decoding receiver system 9.

復号受信機システム9は、入力16、受信機32、エキスパンダ・デコーダ34、および出力20を含む。復号受信機システム9の入力16は、信号30を受信するよう接続され得る。信号30は1次元コード31を含む。入力16および出力20が有する物理的構造により、信号がそれぞれ、復号受信機システム9に受信されたり、復号受信機システム9から転送されたりする。受信機32は、信号30を受信して、1次元コード31をエキスパンダ・デコーダ34に伝達するよう構成される。   The decoding receiver system 9 includes an input 16, a receiver 32, an expander / decoder 34, and an output 20. The input 16 of the decoding receiver system 9 can be connected to receive the signal 30. The signal 30 includes a one-dimensional code 31. Depending on the physical structure of the input 16 and the output 20, the signal is received by the decoding receiver system 9 or transferred from the decoding receiver system 9. The receiver 32 is configured to receive the signal 30 and transmit the one-dimensional code 31 to the expander / decoder 34.

エキスパンダ・デコーダ34は、信号29における情報のうち少なくともいくらかを拡張して復号する構成要素である。エキスパンダ・デコーダ34は、重み付けエキスパンダ37、振幅デコーダ39、時間ベースのコードデコーダ41、および状態デコーダ42を含む。重み付けエキスパンダ37は、1次元コード31を重み43の1つ以上の集まりに拡張するよう構成された構成要素である。重みの集まりは、信号29内の情報(たとえば、信号29におけるイベントのタイミング)を表わすのに用いられる次元に従って生成することができる。たとえば、重みは、信号29内における先行するイベントのタイミングに従って、信号29における各々のイベントごとに生成することができる。1次元コードでのイベントは各々、重みの各集まりにおける単一の重みに関連付けることができる。いくつかの実現例においては、重み付けエキスパンダ37は、重みを用いて各々のイベントの振幅に重み付けし、振幅重み付けされたバージョンの1次元コード31を重みの集まり43として出力する。他の実現例においては、重み付けエキスパンダ37は、順序付けされた重みのリストを出力して、信号29における情報を表わすのに用いられる次元を重みの集まり43として廃棄する(たとえば、信号29におけるイベントのタイミングを廃棄する)。重み付けエキスパンダ37は重み43の集まりを振幅デコーダ39に伝達するよう接続される。   The expander / decoder 34 is a component that expands and decodes at least some of the information in the signal 29. The expander / decoder 34 includes a weighting expander 37, an amplitude decoder 39, a time-based code decoder 41, and a state decoder 42. The weighting expander 37 is a component configured to extend the one-dimensional code 31 to one or more collections of weights 43. The collection of weights can be generated according to the dimensions used to represent the information in signal 29 (eg, the timing of events in signal 29). For example, a weight can be generated for each event in signal 29 according to the timing of the preceding event in signal 29. Each event in the one-dimensional code can be associated with a single weight in each collection of weights. In some implementations, the weighting expander 37 weights the amplitude of each event using weights and outputs an amplitude weighted version of the one-dimensional code 31 as a collection of weights 43. In other implementations, the weighting expander 37 outputs an ordered list of weights and discards the dimensions used to represent the information in the signal 29 as a collection of weights 43 (eg, an event in the signal 29). Discard timing). The weighting expander 37 is connected to transmit the collection of weights 43 to the amplitude decoder 39.

振幅デコーダ39は、重みの集まり43を1つ以上の時間ベースのコード45の集まりに復号するように構成された構成要素であり、この場合、間隔内におけるイベントのタイミングは情報を表わしている。振幅デコーダ39は、1つ以上の時間ベースのコード45を時間ベースのコードデコーダ41に伝達するよう接続される。時間ベースのコードデコーダ41は、1つ以上の時間ベースのコード45における情報のうち少なくともいくらかを、状態の集まりで情報を表わす1つ以上の信号47に復号する構成要素である。たとえば、信号47は、情報を2進法で(すなわち、1対の離散状態を用いて)または10進法で(すなわち、10の離散状態を用いて)表わすことができる。時間ベースのコードデコーダ41は、信号47を状態デコーダ42に伝達するよう接続される。状態デコーダ42は、情報を数字の集まりで表わす信号47を信号50に復号するよう構成された構成要素である。信号50は、信号21に含まれる情報のうち少なくともいくらかを含み得る。   The amplitude decoder 39 is a component configured to decode the collection of weights 43 into one or more collections of time-based codes 45, where the timing of events within the interval represents information. The amplitude decoder 39 is connected to communicate one or more time-based codes 45 to the time-based code decoder 41. The time-based code decoder 41 is a component that decodes at least some of the information in the one or more time-based codes 45 into one or more signals 47 that represent information in a collection of states. For example, signal 47 can represent information in binary (ie, using a pair of discrete states) or in decimal (ie, using 10 discrete states). The time-based code decoder 41 is connected to transmit the signal 47 to the state decoder 42. The state decoder 42 is a component configured to decode a signal 47 representing information as a collection of numbers into a signal 50. The signal 50 may include at least some of the information included in the signal 21.

振幅デコーダ39、時間ベースのコードデコーダ41および状態デコーダ42のうち1つ以上は、数字のより小さな集まりを数字のより大きな集まりへとアセンブルするアグリゲータを含み得る。たとえば、いくつかの実現例においては、振幅デコーダ39は、複数の時間ベースのコードを単一の時間ベースのコード45にアセンブルする時間ベースのコードアグリゲータを含み得る。別の例として、いくつかの実現例においては、時間ベースのコードデコーダ41は、離散数字の集まりで情報を表わす複数の信号を、離散数字の集まりで情報を表わす単一の信号47にアセンブルするアグリゲータを含み得る。さらに別の例として、いくつかの実現例においては、状態デコーダ42は、信号を単一の信号50にアセンブルするアグリゲータを含み得る。   One or more of the amplitude decoder 39, the time-based code decoder 41, and the state decoder 42 may include an aggregator that assembles a smaller collection of numbers into a larger collection of numbers. For example, in some implementations, the amplitude decoder 39 may include a time-based code aggregator that assembles multiple time-based codes into a single time-based code 45. As another example, in some implementations, the time-based code decoder 41 assembles multiple signals that represent information in a collection of discrete numbers into a single signal 47 that represents information in a collection of discrete numbers. An aggregator may be included. As yet another example, in some implementations, the state decoder 42 may include an aggregator that assembles the signal into a single signal 50.

図1Bは、情報を符号化および復号するためのプロセス70を示すフローチャートである。プロセス70は、単独で、または他の動作と併用して実行することができる。たとえば、プロセス70は、プロセス4100(図41)におけるステージ4130で実行することができる。プロセス3900は、エンコーダ/デコーダシステム3(図1A)などのエンコーダ/デコーダシステムによって実行することができる。   FIG. 1B is a flowchart illustrating a process 70 for encoding and decoding information. Process 70 may be performed alone or in combination with other operations. For example, process 70 may be performed at stage 4130 in process 4100 (FIG. 41). Process 3900 may be performed by an encoder / decoder system, such as encoder / decoder system 3 (FIG. 1A).

プロセス70においては、データが数字の集まりに符号化され(ステージ72)、数字が時間ベースのコードに符号化される(ステージ74)。時間ベースのコードは、間隔内におけるイベントのタイミングを用いて情報を表わす。時間ベースのコード内におけるイベントの振幅は、時間ベースのコードにおける他のイベントのタイミングに従って重み付けされる(ステージ76)。たとえば、イベントは、その時間ベースのコードにおける先行するイベントのタイミングに従って重み付けされ得る。振幅重み付けは、時間ベースのコードに新しい情報を追加する必要はないが、別の次元での時間ベースのコードにおける既存の情報のうち少なくともいくらか、すなわちイベントの振幅、を表わすことができる。   In process 70, data is encoded into a collection of numbers (stage 72) and numbers are encoded into a time-based code (stage 74). Time-based codes represent information using the timing of events within the interval. The amplitude of the event in the time-based code is weighted according to the timing of other events in the time-based code (stage 76). For example, events can be weighted according to the timing of previous events in their time-based code. Amplitude weighting does not need to add new information to the time-based code, but can represent at least some of the existing information in the time-based code in another dimension, i.e., the amplitude of the event.

振幅重み付けされた時間ベースのコードは、1次元コードに圧縮することができる(ステージ78)。1次元コードは、情報のうち少なくともいくらかを、たとえばイベントのタイミングを用いて、振幅重み付けされた時間ベースのコードで1次元で表わすことができる。   The amplitude weighted time-based code can be compressed into a one-dimensional code (stage 78). A one-dimensional code can represent at least some of the information in one dimension with an amplitude-weighted time-based code using, for example, event timing.

受信装置においては、1次元コードは、振幅の集まりへと拡張することができる(ステージ80)。1次元コードにおける各イベントは、重みの各集まりにおける単一の重みに関連付けることができる。いくつかの実現例においては、振幅の集まりは、如何なるタイミング情報をも含まない振幅のリストであり得る。他の実現例においては、1次元コード自体は、振幅の複数の集まりによって重み付けされて、複数の振幅重み付けバージョンの(以前の)1次元コードを得ることができる。   In the receiving device, the one-dimensional code can be expanded into a collection of amplitudes (stage 80). Each event in the one-dimensional code can be associated with a single weight in each collection of weights. In some implementations, the collection of amplitudes can be a list of amplitudes that does not include any timing information. In other implementations, the one-dimensional code itself can be weighted by multiple collections of amplitudes to obtain multiple amplitude-weighted versions of (previous) one-dimensional code.

振幅は、時間ベースのコードに復号することができ(ステージ82)、この時間ベースのコードはさらに、情報を数字の集まりで表わす1つ以上の信号に復号することができる(ステージ84)。情報を数字の集まりで表わす1つ以上の信号はそれら自体が別の表現に復号され得る(ステージ86)。   The amplitude can be decoded into a time-based code (stage 82), which can further be decoded into one or more signals that represent the information as a collection of numbers (stage 84). One or more signals representing information as a collection of numbers may themselves be decoded into another representation (stage 86).

時間エンコーダ
図2Aは情報を符号化することのできるシステム100を示す概略図である。システム100は、入力110および出力115を含む時間エンコーダ105を備える。入力110および出力115が有する物理的構造により、信号がそれぞれ、時間エンコーダ105に受信されたり、時間エンコーダ105から転送されたりする。時間エンコーダ105は、出力信号の時間間隔内における特定の時刻にイベントを発生させることによって情報を符号化する構成要素である。時間エンコーダ105は、実質的には、間隔内におけるイベントのタイミングが入力信号の情報内容を表わしている出力フォーマットで入力信号の情報内容を表わすことができる。時間エンコーダ105は他の装置と併用することができる。たとえば、時間エンコーダ105は、時間ベースのエンコーダ25(図1A)として用いることができる。
Time Encoder FIG. 2A is a schematic diagram illustrating a system 100 capable of encoding information. System 100 includes a time encoder 105 that includes an input 110 and an output 115. Depending on the physical structure of the input 110 and the output 115, signals are received by or transferred from the time encoder 105, respectively. The time encoder 105 is a component that encodes information by generating an event at a specific time within the time interval of the output signal. The time encoder 105 can substantially represent the information content of the input signal in an output format in which the timing of the event within the interval represents the information content of the input signal. The time encoder 105 can be used in combination with other devices. For example, the time encoder 105 can be used as the time-based encoder 25 (FIG. 1A).

時間エンコーダ105の入力110は、データ通信経路から受信される信号125で情報120を受信するよう接続することができる。信号125は、順序付けされた有限集合の離散数字で情報120を表わす。たとえば、いくつかの実現例においては、入力情報120は、図示のとおり、一連のハイ(すなわち「1」)状態およびロー(すなわち「0」)状態として2進数で表わすことができる。入力110は直列または並列のバイナリデータポートであってもよい。信号125は、有線または無線のデータ通信経路上で伝達することができる。   The input 110 of the time encoder 105 can be connected to receive information 120 with a signal 125 received from the data communication path. Signal 125 represents information 120 as an ordered finite set of discrete numbers. For example, in some implementations, the input information 120 can be represented in binary as a series of high (ie, “1”) and low (ie, “0”) states, as shown. Input 110 may be a serial or parallel binary data port. The signal 125 can be transmitted over a wired or wireless data communication path.

時間エンコーダ105の出力115は、システムまたは媒体140に伝達された信号135で符号化された情報を転送するように接続することができる。信号135における情報は、イベントが信号135の間隔内で発生する時刻によって表わされる。これらの間隔内におけるイベントのタイミングは、信号125内における情報をすべて表わしている。たとえば、以下にさらに説明するように、時間間隔内で第1の時刻に起こるイベントは、信号125内におけるハイ状態を有する数字を表わし得るのに対して、時間間隔内における第2の時刻に起こるイベントは、信号125内におけるロー状態を有する数字を表し得る。第1の時刻は第2の時刻から識別可能である。   The output 115 of the time encoder 105 can be connected to transfer information encoded in the signal 135 communicated to the system or medium 140. Information in signal 135 is represented by the time at which the event occurs within the interval of signal 135. The timing of events within these intervals represents all the information in signal 125. For example, as described further below, an event that occurs at a first time within a time interval may represent a number having a high state in signal 125, whereas it occurs at a second time within a time interval. An event may represent a number having a low state in signal 125. The first time can be identified from the second time.

信号135が伝達されるシステムまたは媒体140は、システム100の動作状況に応じて異なる。たとえば、システム100がデータ伝送システムの一部である場合、システムまたは媒体140はデータ送信機を含み得る。別の例として、システム100がデータ記憶システムの一部である場合、システムまたは媒体140は、データ記憶装置に情報を書込むことのできる書込みヘッドを含み得る。   The system or medium 140 through which the signal 135 is transmitted varies depending on the operating conditions of the system 100. For example, if system 100 is part of a data transmission system, system or medium 140 may include a data transmitter. As another example, if system 100 is part of a data storage system, system or medium 140 may include a write head that can write information to the data storage device.

動作時に、時間エンコーダ105が入力110を介して信号125を受信する。時間エンコーダ105は、異なる間隔内における識別可能な時刻に起こるよう時間設定されたイベントを含む信号135における入力情報120を表わすことによって、信号125における情報120を符号化する。時間エンコーダ105は、時間設定されたイベントを含む信号135をシステムまたは媒体140に出力する。   In operation, time encoder 105 receives signal 125 via input 110. Time encoder 105 encodes information 120 in signal 125 by representing input information 120 in signal 135 that includes events timed to occur at identifiable times within different intervals. The time encoder 105 outputs a signal 135 containing the timed event to the system or medium 140.

図2Bは時間エンコーダ105の実現例を示す概略図である。時間エンコーダ105の図示される実現例は、状態検出器205、イベントタイミング回路210およびイベント発生器215を含む。状態検出器205は、入力情報120を表わす信号125における数字の状態を検出する構成要素である。たとえば、入力情報120が一連の2進数字で表わされる実現例においては、状態検出器205は、2進法の「1」状態と「0」状態とを識別するビット検出器であってもよい。状態検出器205は、入力110とイベントタイミング回路210との間に接続される。検出された状態220の表示はイベントタイミング回路210に伝達される。   FIG. 2B is a schematic diagram illustrating an implementation example of the time encoder 105. The illustrated implementation of time encoder 105 includes a state detector 205, an event timing circuit 210 and an event generator 215. The state detector 205 is a component that detects the numerical state in the signal 125 representing the input information 120. For example, in an implementation in which input information 120 is represented by a series of binary digits, state detector 205 may be a bit detector that distinguishes between binary “1” and “0” states. . The state detector 205 is connected between the input 110 and the event timing circuit 210. An indication of the detected state 220 is transmitted to the event timing circuit 210.

イベントタイミング回路210は、出力信号135の間隔内におけるイベントのタイミングを特定するよう構成された構成要素である。イベントタイミング回路210は、クロック225、カウンタ230、間隔リセット235、およびタイミングセレクタ240を含む。クロック225は、クロック出力信号をカウンタ230に供給する。カウンタ230は、クロック出力信号242を受信し、かつクロック信号245の動的カウントを出力するよう接続される。動的カウント245は、間隔リセット235およびタイミングセレクタ240に結合される。間隔リセット235は、クロック信号の動的カウントを間隔期間を表わすしきい値カウントと比較するコンパレータ(図示せず)を含み得る。このような比較により、間隔がいつ経過したかを判断することができる。間隔リセット235は、間隔の経過に応じてリセット信号250を供給する。カウンタ230は、リセット信号250を受信し、リセット信号に応じてクロック信号のカウントをリセットすることができる。こうして、カウンタ230のリセットにより、しきい値カウントの期間の間隔が区別され得る。   Event timing circuit 210 is a component configured to identify the timing of events within the interval of output signal 135. The event timing circuit 210 includes a clock 225, a counter 230, an interval reset 235, and a timing selector 240. The clock 225 supplies a clock output signal to the counter 230. The counter 230 is connected to receive the clock output signal 242 and output a dynamic count of the clock signal 245. Dynamic count 245 is coupled to interval reset 235 and timing selector 240. The interval reset 235 may include a comparator (not shown) that compares the dynamic count of the clock signal with a threshold count representing the interval period. Such a comparison makes it possible to determine when the interval has elapsed. The interval reset 235 supplies a reset signal 250 as the interval elapses. The counter 230 can receive the reset signal 250 and reset the count of the clock signal according to the reset signal. Thus, the interval of the threshold count period can be distinguished by resetting the counter 230.

タイミングセレクタ240は、クロック信号245の動的カウントと、状態検出器205によって検出される状態220の表示との両方を受信する。タイミングセレクタ240は、スイッチ255およびコンパレータ260を含み得る。コンパレータ260は、1対の入力265および270を含む。入力265は、カウンタ230によって出力されるクロック信号245の動的カウントを受信する。入力270は、スイッチ255からスイッチ出力信号275を受信する。スイッチ255、および、この明細書中に記載される他のスイッチは、たとえば、電気機械的スイッチ、1つ以上のトランジスタ、または機械可読命令として実現することができる。   Timing selector 240 receives both a dynamic count of clock signal 245 and an indication of state 220 detected by state detector 205. The timing selector 240 can include a switch 255 and a comparator 260. Comparator 260 includes a pair of inputs 265 and 270. Input 265 receives a dynamic count of clock signal 245 output by counter 230. Input 270 receives switch output signal 275 from switch 255. Switch 255, and other switches described herein, can be implemented, for example, as an electromechanical switch, one or more transistors, or machine-readable instructions.

スイッチ255は、高い基準280および低い基準285を含む。高い基準280は、ハイ状態を有する数字を信号125で表わすイベントが発生することとなる間隔内における時刻を具体化する。低い基準285は、ロー状態を有する数字を信号125で表わすイベントが発生することとなる間隔内における時刻を具体化する。スイッチ255は、状態検出器205によって検出される状態220の表示を受信する。スイッチ255は、状態検出器205によって検出される状態の表示に応じてコンパレータ260の入力270に与えられる高い基準280と低い基準285とを切替える。特に、状態検出器205がロー状態を検出したとの表示に応じて、スイッチ255は、低い基準285を入力270に接続するよう切替わる。状態検出器205がハイ状態を検出したとの表示に応じて、スイッチ255は、高い基準280を入力270に接続するよう切替わる。   Switch 255 includes a high reference 280 and a low reference 285. High reference 280 embodies the time within the interval at which the event representing the number having a high state represented by signal 125 will occur. The low reference 285 embodies the time within the interval at which the event representing the number having the low state represented by signal 125 will occur. Switch 255 receives an indication of state 220 detected by state detector 205. Switch 255 switches between a high reference 280 and a low reference 285 that are applied to input 270 of comparator 260 in response to an indication of the state detected by state detector 205. In particular, in response to an indication that the state detector 205 has detected a low state, the switch 255 switches to connect the low reference 285 to the input 270. In response to an indication that the state detector 205 has detected a high state, the switch 255 switches to connect the high reference 280 to the input 270.

コンパレータ260は、カウンタ230によって出力されたクロック信号のカウントを、与えられた低い基準285または高い基準280と比較して、比較結果290を出力する。   The comparator 260 compares the count of the clock signal output by the counter 230 with the given low reference 285 or high reference 280, and outputs a comparison result 290.

イベント発生器215は、出力信号135でイベントを生成するよう構成された構成要素である。イベント発生器215は、コンパレータ260からの比較の結果290を受信し、かつ、比較の結果に基づいてイベントの生成を時間設定するよう接続される。たとえば、イベント発生器215は、所与の低い基準285または高い基準280を通りすぎて遷移するカウンタ230によって出力されるクロック信号から生じる結果290における遷移に応じてパルスを発生させるパルス発生器であってもよい。間隔リセット235によって区別される間隔内におけるこのようなイベントの発生は、こうして、信号125内における数字の状態を符号化するよう時間設定され、このため、「データイベント」とも称され得る。イベント発生器215は、発生させたイベント295を出力115に与える。   Event generator 215 is a component configured to generate an event with output signal 135. The event generator 215 is connected to receive the comparison result 290 from the comparator 260 and time the generation of the event based on the comparison result. For example, event generator 215 is a pulse generator that generates a pulse in response to a transition in result 290 resulting from a clock signal output by counter 230 that transitions past a given low reference 285 or high reference 280. May be. The occurrence of such an event within an interval distinguished by interval reset 235 is thus timed to encode a numeric state in signal 125 and may therefore be referred to as a “data event”. The event generator 215 provides the generated event 295 to the output 115.

タイミングセレクタ240はまた、間隔リセット信号250を受信するよう接続される。タイミングセレクタ240は次の数字へと進み、リセット信号250に応じてコンパレータ260による比較をリセットすることができる。いくつかの実現例においては、状態検出器205はまた、間隔リセット信号250を受信するよう接続される(状態検出器205に入力される破線を参照)。状態検出器205は、たとえば、リセット信号250に応じて、検出された状態の表示をタイミングセレクタ240に提示する時間設定を行うことができ、これにより次の数字に進み得る。   Timing selector 240 is also connected to receive interval reset signal 250. The timing selector 240 can advance to the next number and reset the comparison by the comparator 260 in response to the reset signal 250. In some implementations, the state detector 205 is also connected to receive the interval reset signal 250 (see the dashed line input to the state detector 205). The state detector 205 can, for example, set a time for presenting a display of the detected state to the timing selector 240 in response to the reset signal 250, thereby proceeding to the next number.

動作時に、時間エンコーダ105が、入力110を介して信号125を受信する。状態検出器205は、入力情報120を表わす信号125の数字における状態を検出し、それらの数字を特徴付ける信号(すなわち、状態220の表示)を出力する。タイミングセレクタ240は、それらの数字を記述する信号を受信し、状態に相応して間隔内に起こるように時間設定される出力(すなわち、結果出力290)を生成する。特に、信号125における第1の状態は、対応する時間間隔内における第1の時刻で起こる結果290に遷移をもたらし、信号125における第2の状態は、対応する時間間隔内における第2の時刻で起こる結果290に遷移をもたらす。これらの遷移のタイミングは、低い基準285および高い基準280によって設定される。   In operation, time encoder 105 receives signal 125 via input 110. The state detector 205 detects the state in the numbers of the signal 125 representing the input information 120 and outputs a signal characterizing those numbers (ie, an indication of the state 220). The timing selector 240 receives signals describing those numbers and produces an output that is timed to occur within the interval according to the state (ie, the result output 290). In particular, the first state in signal 125 causes a transition in result 290 that occurs at a first time within the corresponding time interval, and the second state in signal 125 is at a second time within the corresponding time interval. The resulting result 290 causes a transition. The timing of these transitions is set by a low reference 285 and a high reference 280.

結果290における遷移に応じて、イベント発生器215は、出力115に与えられるイベント295を発生させる。イベントのタイミングは、結果290における遷移のタイミングに追従する。間隔リセット235は間隔を区切って、タイミングセレクタ240を信号125における1つの数字の状態から次の数字に進め、結果290に遷移を発生させる比較をリセットする。信号125におけるすべての数字(低い「0」状態を含む)は、こうして、間隔における相応に時間設定されたイベントによって表わされる。   In response to the transition in result 290, event generator 215 generates event 295 that is provided at output 115. The event timing follows the transition timing in the result 290. Interval reset 235 breaks the interval and advances timing selector 240 from the state of one number in signal 125 to the next number and resets the comparison that causes a transition in result 290. All numbers in signal 125 (including the low “0” state) are thus represented by correspondingly timed events in the interval.

図3は時間符号化のプロセスを示す概略図である。図示される時間符号化は、時間エンコーダ105などの時間エンコーダによって実行することができる(図1および図2)。図示される実現例においては、情報120が、一連の大きい数字305および小さい数字310として2進数で表わされる。   FIG. 3 is a schematic diagram illustrating the process of time encoding. The illustrated time encoding can be performed by a time encoder, such as time encoder 105 (FIGS. 1 and 2). In the illustrated implementation, information 120 is represented in binary as a series of large numbers 305 and small numbers 310.

時間符号化により、情報120が時間ベースのコード信号135に符号化される。時間ベースのコード信号135は、時間間隔320の集まりを含み、その各々は、信号125内における数字305および310に対応する。各々の時間間隔320、それぞれのデータイベント325を含む。個々の時間間隔320内におけるデータイベント325のタイミングは、その時間間隔320に対応する数字305および310の状態を示す。たとえば、図示される実現例においては、大きい状態数字305に対応する間隔320におけるデータイベント325は、それらの間隔320の始まり付近の時刻330で起こる。小さい状態数字305に対応する間隔320におけるデータイベント325は、それらの間隔320の中間付近の時刻335で起こる。時刻330は時刻335から識別可能である。   With time encoding, information 120 is encoded into a time-based code signal 135. The time-based code signal 135 includes a collection of time intervals 320, each corresponding to the numbers 305 and 310 in the signal 125. Each time interval 320 includes a respective data event 325. The timing of the data event 325 within an individual time interval 320 indicates the state of the numbers 305 and 310 corresponding to that time interval 320. For example, in the illustrated implementation, a data event 325 at intervals 320 corresponding to large status numbers 305 occurs at a time 330 near the beginning of those intervals 320. The data event 325 in the interval 320 corresponding to the small status number 305 occurs at a time 335 near the middle of those intervals 320. The time 330 can be identified from the time 335.

さまざまな実現例においては、データイベント325を含むイベントのさまざまな特徴が、イベントが起こる時刻として識別かつ処理され得る。たとえば、図示される実現例においては、データイベント325は、ベースライン(baseline)(すなわち、「停止」(resting))状態340からハイ(すなわち、「活動(excited)」状態345に遷移し、次いで、ベースライン停止状態340に戻るパルスである。いくつかの実現例においては、ベースライン状態340からハイ状態345への最初の遷移は、データイベント325が起こる時刻として識別かつ処理され得る。他の実現例においては、ハイ状態345からベースライン状態340に戻る遷移は、データイベント325が起こる時刻として識別かつ処理され得る。いくつかの実現例においては、データイベント325は、最初の遷移および戻りの遷移の時間が非常に近いために、たとえば時間エンコーダ105にとって識別不可能となる過渡パルスである。過渡的なデータイベント325が起こる時刻は、最初の遷移および戻りの遷移の発生が明らかに一致していることに基づいて識別される。   In various implementations, various features of the event, including data event 325, can be identified and processed as the time the event occurs. For example, in the illustrated implementation, data event 325 transitions from a baseline (ie, “resting” state 340 to a high (ie, “excited”) state 345, and then , A pulse returning to the baseline stop state 340. In some implementations, the first transition from the baseline state 340 to the high state 345 may be identified and processed as the time at which the data event 325 occurs. In implementations, the transition from high state 345 back to baseline state 340 may be identified and processed as the time at which data event 325 occurs, in some implementations, data event 325 may be the first transition and return For example, the time encoder 105 cannot identify because the time of the transition is very close The time at which the transient data event 325 occurs is identified based on the apparent coincidence of the occurrence of the first and return transitions.

図示される実現例においては、さまざまなデータイベント325の形状は互いに識別不可能であり、さまざまなデータイベント325はそれらのタイミングによってのみ識別することができる。さらに、いくつかの実現例においては、データイベント325は、間隔におけるわずかに2回の起こり得る時刻のうち一方の時刻に起こるという点で「バイナリイベント」であり得る。それらの時刻で起こる場合、それらデータイベントは、同じ信号レベル(たとえば、ハイ)であるが、間隔内におけるそれらのタイミングはそれらイベントが表わす数字の状態に起因する。   In the illustrated implementation, the shapes of the various data events 325 are indistinguishable from each other, and the various data events 325 can only be identified by their timing. Further, in some implementations, the data event 325 can be a “binary event” in that it occurs at one of just two possible times in the interval. If they occur at those times, the data events are at the same signal level (eg, high), but their timing within the interval is due to the numerical state they represent.

図示される実現例においては、時間間隔320はすべて同じ期間を有し、連続的に起こる。時間間隔320のシーケンスは、信号125における対応する数字305および310のシーケンスに対応する。言い換えれば、時間ベースのコード信号135の第1の時間間隔320(およびそのイベント325)は、信号125における第1の数字305に対応し、時間ベースのコード信号135の第2の時間間隔320(およびそのデータイベント325)は、信号125における第2の数字310に対応する、などである。この対応関係は波線の矢印350によって表わされる。   In the illustrated implementation, the time intervals 320 all have the same duration and occur continuously. The sequence of time intervals 320 corresponds to the sequence of corresponding numbers 305 and 310 in signal 125. In other words, the first time interval 320 (and its event 325) of the time-based code signal 135 corresponds to the first number 305 in the signal 125 and the second time interval 320 ( And its data event 325) corresponds to the second number 310 in the signal 125, and so on. This correspondence is represented by a wavy arrow 350.

図4は時間エンコーダ105の別の実現例を示す概略図である。状態検出器205、イベントタイミング回路210およびイベント発生器215に加えて、時間エンコーダ105についての図示される実現はまた開始/停止検出器405を含む。開始/停止検出器405は、信号125でのデータ伝送の始まりと終わりとを検出するよう構成された構成要素である。たとえば、開始/停止検出器405は、信号125における1つ以上のヘッダまたはフッタを認識し得る。   FIG. 4 is a schematic diagram showing another implementation example of the time encoder 105. In addition to the state detector 205, event timing circuit 210 and event generator 215, the illustrated implementation for the time encoder 105 also includes a start / stop detector 405. Start / stop detector 405 is a component configured to detect the beginning and end of data transmission on signal 125. For example, start / stop detector 405 may recognize one or more headers or footers in signal 125.

開始/停止検出器405は入力110に接続することができる。開始/停止検出器405は、信号125でのデータ伝送の始まりおよび終わりの表示410を、イベント発生器215と、時間エンコーダ105の他の部分(たとえばイベント発生器215)とに出力する。イベント発生器215は、開始/停止検出器405によって出力される表示に応じて、始めのイベントと終わりのイベントとを(たとえばイベント295の一部として)生成することができる。始めのイベントは、結果290におけるデータ出力の始まりを区別し、第1のデータイベントおよび第1の間隔のタイミングの決定を可能にする時に起こるイベントである。終わりのイベントは、結果290において出力されるデータの終わりを区別する時に起こるイベントである。いくつかの実現例においては、始めのイベントおよび終わりのイベントのうちの一方または両方は、以下にさらに記載されるように、時間依存のプロセスをリセットするのに用いることができる。イベント発生器215が発生させた始めのイベントおよび終わりのイベントは、イベント295として出力され、出力115に与えられる。   Start / stop detector 405 may be connected to input 110. The start / stop detector 405 outputs an indication 410 of the start and end of data transmission on the signal 125 to the event generator 215 and other parts of the time encoder 105 (eg, event generator 215). The event generator 215 can generate a start event and an end event (eg, as part of the event 295) in response to the display output by the start / stop detector 405. The first event is the event that occurs when distinguishing the beginning of the data output in the result 290 and allowing the timing of the first data event and the first interval to be determined. An end event is an event that occurs when distinguishing the end of the data output in result 290. In some implementations, one or both of the beginning event and the ending event can be used to reset a time-dependent process, as described further below. The first event and the last event generated by the event generator 215 are output as an event 295 and provided to the output 115.

開始/停止検出器405によって出力される信号125でのデータ伝送の始まりおよび終わりの表示は、時間エンコーダ105の他の部分に伝達されてこの他の部分によって用いられて、イベント発生器215による始めのイベント、終わりのイベントおよびデータイベントの出力を時間設定する。たとえば、クロック225、カウンタ230および間隔リセット235のうちの1つ以上は、(たとえば、情報120におけるヘッダの処理/無視を可能にするために)始めのイベントに関連付けられる間隔に対しては無効にされる可能性がある。別の例として、数字ごとのタイミングセレクタ240の推移、または状態検出器205による状態の検出は、始めのイベントに関連付けられる間隔に対しては無効される可能性がある。   The start and end indications of the data transmission on the signal 125 output by the start / stop detector 405 are communicated to and used by the other parts of the time encoder 105 to start by the event generator 215. Set the output of events, end events, and data events. For example, one or more of clock 225, counter 230, and interval reset 235 are disabled for the interval associated with the initial event (eg, to allow processing / ignoring of headers in information 120). There is a possibility that. As another example, the transition of the timing selector 240 by number or the detection of a state by the state detector 205 may be disabled for the interval associated with the initial event.

図5は、信号でのデータ伝送の始まりと終わりとを検出する時間エンコーダでの時間符号化を示す概略図である。たとえば、図示される時間符号化は、開始/停止検出器405(図4)を含む時間エンコーダ105などの時間エンコーダによって実行することができる。図示される実現例においては、信号125は、(「X」として図示される)ヘッダ505および(「Y」として図示される)フッタ510を含む。ヘッダ505およびフッタ510は、こうして、信号125内における情報120を構築する。   FIG. 5 is a schematic diagram illustrating time encoding with a time encoder that detects the start and end of data transmission on a signal. For example, the illustrated time encoding may be performed by a time encoder such as time encoder 105 that includes a start / stop detector 405 (FIG. 4). In the illustrated implementation, signal 125 includes a header 505 (shown as “X”) and a footer 510 (shown as “Y”). Header 505 and footer 510 thus build information 120 in signal 125.

時間符号化により、図3を参照して上述したように、情報120が時間ベースのコード信号135に符号化される。時間ベースのコード信号135は、ヘッダ間隔515およびフッタ間隔520を含む。ヘッダ間隔515は、ヘッダ間隔515内における時刻535に起こるヘッダイベント525を含む。フッタ間隔520は、フッタ間隔520内における時刻540に起こるフッタイベント530を含む。ヘッダ間隔515およびヘッダイベント525は、時間ベースのコード信号135の開始を区別する。フッタ間隔520およびフッタイベント530は、時間ベースのコード信号135の終わりを区別する。時間ベースのコード信号135の開始の区別は、第1の間隔320内における第1のイベント325のタイミングを決定するのに用いることができる。たとえば、第1のイベント325は、ヘッダイベント525後の時刻545に起こる。第1の間隔320内における第1のイベント325のタイミングは、間隔515および時刻545の期間を用いて決定することができる。たとえば、間隔515の期間が間隔320と同じである実現例においては、イベント525の検出は、間隔をリセットするためのリセット信号として用いることができる。   Time encoding encodes information 120 into a time-based code signal 135 as described above with reference to FIG. Time-based code signal 135 includes a header interval 515 and a footer interval 520. The header interval 515 includes a header event 525 that occurs at time 535 within the header interval 515. Footer interval 520 includes a footer event 530 that occurs at time 540 within footer interval 520. Header interval 515 and header event 525 distinguish the beginning of time-based code signal 135. Footer interval 520 and footer event 530 distinguish the end of time-based code signal 135. The distinction of the start of the time-based code signal 135 can be used to determine the timing of the first event 325 within the first interval 320. For example, the first event 325 occurs at time 545 after the header event 525. The timing of the first event 325 within the first interval 320 can be determined using the interval 515 and the time period 545. For example, in an implementation where the duration of interval 515 is the same as interval 320, detection of event 525 can be used as a reset signal to reset the interval.

図示される実現例においては、イベント525および530は、ベースライン状態340からハイ状態345にまで遷移し、次いでベースライン状態340に戻るパルスである。いくつかの実現例においては、イベント525および530の形状は互いから識別不可能であり、データイベント325の形状からも識別不可能であり得る。これらの実現例においては、イベント325、525、530はそれらのタイミングおよび位置によってのみ識別することができる。たとえば、イベント525は第1のイベントとして認識することができる。いくつかの実現例においては、間隔515および520はともに、互いに同じ期間を有し、かつ時間間隔320と同じ期間を有する。   In the illustrated implementation, events 525 and 530 are pulses that transition from baseline state 340 to high state 345 and then back to baseline state 340. In some implementations, the shapes of events 525 and 530 are not distinguishable from each other and may not be distinguishable from the shape of data event 325. In these implementations, events 325, 525, 530 can only be identified by their timing and location. For example, the event 525 can be recognized as the first event. In some implementations, intervals 515 and 520 both have the same duration as each other and have the same duration as time interval 320.

図6は時間エンコーダ105の別の実現例を示す概略図である。状態検出器205、イベントタイミング回路210およびイベント発生器215に加えて、時間エンコーダ105についての図示される実現例はまた、ヘッダ/フッタエンコーダ605を含む。ヘッダ/フッタエンコーダ605は、信号125でのデータ伝送の始まりに位置するヘッダと、信号125でのデータ伝送の終わりに位置するフッタとを符号化するよう、またはともに情報で符号化するよう、構成された構成要素である。いくつかの実現例においては、ヘッダまたはフッタが符号化される情報は、たとえば、信号125のヘッダまたはフッタにおいて受信することができる。たとえば、ヘッダ/フッタエンコーダ605は、入力110で受信された信号を識別する情報を含むヘッダもしくはフッタ、または入力110で受信された信号の局面を特徴付ける情報を含むヘッダもしくはフッタを符号化することができる。たとえば、入力110において受信された信号は、たとえば受信信号の発生源および行先、受信信号における情報の種類、および受信信号と他の信号との間の関係に従って識別することができる。特徴付けることのできる受信信号の局面は、受信信号内における浮動小数点の位置、受信信号内における数の符号、およびエラーチェック情報を含む。ヘッダ/フッタエンコーダ605は、入力信号125に関連付けられるヘッダ領域またはフッタ領域に対する1つ以上のイベントの投入をトリガすることによって、このような情報を含むヘッダまたはフッタを符号化することができる。   FIG. 6 is a schematic diagram illustrating another implementation example of the time encoder 105. In addition to the status detector 205, event timing circuit 210 and event generator 215, the illustrated implementation for the time encoder 105 also includes a header / footer encoder 605. The header / footer encoder 605 is configured to encode a header located at the beginning of data transmission on the signal 125 and a footer located at the end of data transmission on the signal 125, or both to encode with information. Component. In some implementations, the information in which the header or footer is encoded can be received, for example, in the header or footer of signal 125. For example, the header / footer encoder 605 may encode a header or footer that includes information identifying the signal received at the input 110, or information that characterizes aspects of the signal received at the input 110. it can. For example, the signal received at input 110 can be identified, for example, according to the source and destination of the received signal, the type of information in the received signal, and the relationship between the received signal and other signals. The aspects of the received signal that can be characterized include the floating point position in the received signal, the sign of the number in the received signal, and error checking information. The header / footer encoder 605 can encode a header or footer that includes such information by triggering the injection of one or more events to the header or footer region associated with the input signal 125.

ヘッダ/フッタエンコーダ605は入力110に接続することができる。ヘッダ/フッタエンコーダ605は、ヘッダまたはフッタにおける情報を識別するかまたは特徴付ける1つ以上の信号610を出力して、信号610をイベント発生器215に供給する。イベント発生器215は、ヘッダ/フッタエンコーダ605によって出力される表示に応じて、信号125のヘッダまたはフッタ内で起こるよう時間設定されるイベントを発生させることができる。イベント発生器215によって発生したイベント295は、出力115に供給される。   The header / footer encoder 605 can be connected to the input 110. The header / footer encoder 605 outputs one or more signals 610 that identify or characterize information in the header or footer and provides the signal 610 to the event generator 215. Event generator 215 can generate an event that is timed to occur within the header or footer of signal 125 in response to the display output by header / footer encoder 605. The event 295 generated by the event generator 215 is supplied to the output 115.

いくつかの実現例においては、信号610における識別情報または特徴付け情報も、時間エンコーダ105の他の部分に出力することができる。この情報は、たとえば、エラーチェック、ならびに間隔の区別およびデータイベントの生成のトリガおよび/またはリセットなどを含むさまざまな方法で用いることができる。   In some implementations, identification or characterization information in signal 610 can also be output to other portions of time encoder 105. This information can be used in a variety of ways including, for example, error checking and triggering and / or resetting of interval differentiation and data event generation.

図7は、信号でのデータ伝送の始めにおけるヘッダの符号化を示す概略図である。たとえば、図示される符号化は、ヘッダ/フッタエンコーダ605(図6)を含む時間エンコーダなどの時間エンコーダ105によって実行することができる。情報は、信号135におけるヘッダ間隔515またはフッタ間隔520内で起こる1つ以上のイベントによって符号化することができる。   FIG. 7 is a schematic diagram illustrating encoding of a header at the beginning of data transmission with a signal. For example, the illustrated encoding may be performed by a time encoder 105, such as a time encoder that includes a header / footer encoder 605 (FIG. 6). Information may be encoded by one or more events occurring within header interval 515 or footer interval 520 in signal 135.

図示される実現例においては、ヘッダ間隔515はヘッダイベント705を含む。ヘッダイベント705は、ヘッダ間隔515内における時刻710に起こる。ヘッダ間隔515内におけるヘッダイベント705のタイミングは、たとえば、時刻535と時刻710との間のタイムスパン710を測定することによって決定することができる。   In the illustrated implementation, header interval 515 includes header event 705. Header event 705 occurs at time 710 within header interval 515. The timing of header event 705 within header interval 515 can be determined, for example, by measuring a time span 710 between time 535 and time 710.

いくつかの実現例においては、ヘッダ間隔515はそれ自体が、複数の小間隔に分割可能であり、その各々は1つ以上の情報イベントを含み得る。さまざまな小間隔は、さまざまな識別情報および特徴付け情報を符号化するよう割当てることができる。たとえば、第1の小間隔はイベントを含んでいてもよく、そのタイミングは、信号135で符号化された数に正の符号が付けられているかまたは負の符号が付けられているかを示す。別の例として、小間隔の集まりは情報のイベントを含んでいてもよく、そのタイミングは、(たとえば、以下にさらに記載するように、セグメント化した後の)情報のより大きな集まり内における信号135で符号化された情報の位置を示す。   In some implementations, the header interval 515 can itself be divided into multiple subintervals, each of which can include one or more information events. Different sub-intervals can be assigned to encode different identification and characterization information. For example, the first sub-interval may include an event, the timing of which indicates whether the number encoded in signal 135 is positively or negatively signed. As another example, a collection of small intervals may include an informational event whose timing is determined by the signal 135 within the larger collection of information (eg, after segmentation, as described further below). Indicates the position of the information encoded by.

図示される実現例においては、ヘッダイベント705は、ベースライン状態340からハイ状態345に遷移し、さらにベースライン状態340に戻るパルスである。いくつかの実現例においては、ヘッダイベント705の形状は、互いから識別不可能であり、イベント525、530の形状およびデータイベント325の形状からも識別不可能であり得る。これらの実現例においては、イベント705、325、525、530は、それらのタイミングおよび位置によってのみ識別することができる。   In the illustrated implementation, header event 705 is a pulse that transitions from baseline state 340 to high state 345 and back to baseline state 340. In some implementations, the shape of the header event 705 is indistinguishable from each other and may not be distinguishable from the shape of the events 525, 530 and the shape of the data event 325. In these implementations, events 705, 325, 525, 530 can only be identified by their timing and location.

いくつかの実現例においては、信号でのデータ伝送の終わりにおけるフッタは、1つ以上の情報イベントで符号化することができる。いくつかの実現例においては、ヘッダおよびフッタはともに、1つ以上の情報イベントで符号化することができる。   In some implementations, the footer at the end of data transmission on the signal can be encoded with one or more information events. In some implementations, both the header and footer can be encoded with one or more information events.

図8は時間エンコーダ105の別の実現例を示す概略図である。時間エンコーダ105の図示される実現例は、3以上の実現可能な状態を有する数字で情報を符号化する信号125での動作に適した状態検出器205およびイベントタイミング回路210を含む。たとえば、信号125は、情報を4進数または10進数に符号化することができる。   FIG. 8 is a schematic diagram showing another implementation example of the time encoder 105. The illustrated implementation of the time encoder 105 includes a state detector 205 and an event timing circuit 210 suitable for operation with a signal 125 that encodes information with numbers having three or more possible states. For example, signal 125 may encode information in quaternary or decimal numbers.

状態検出器205は、信号125における数字の状態を検出し、検出された状態の表示をイベントタイミング回路210に伝達するよう構成される。イベントタイミング回路210は、これらの表示を受信し、これに応じてスイッチ255を構成するよう接続されたタイミングセレクタ240を含む。特に、スイッチ255は、各々がそれぞれの状態に関連付けられる3つ以上の基準805の集まり(すなわち、数字の対応状態を信号125で表わすイベントが起こる間隔内における時刻)を含む。たとえば、第1の基準805は、間隔内における第1の時刻に関連付けることができ、第2の基準805は、間隔内における第2の時刻に関連付けることができ、第Nの基準805は、間隔内における第Nの時刻に関連付けることができる。   The state detector 205 is configured to detect a numerical state in the signal 125 and communicate an indication of the detected state to the event timing circuit 210. The event timing circuit 210 receives these indications and includes a timing selector 240 connected to configure the switch 255 in response. In particular, the switch 255 includes a collection of three or more criteria 805, each associated with a respective state (ie, the time within the interval at which the event representing the numerical corresponding state by the signal 125 occurs). For example, the first criterion 805 can be associated with a first time within the interval, the second criterion 805 can be associated with a second time within the interval, and the Nth criterion 805 is an interval. Can be associated with the Nth time.

スイッチ255は、状態検出器205によって検出される状態の表示に応じてコンパレータ260の入力270に適切な基準805を印加するよう構成される。コンパレータ260は、カウンタ230によって出力されたクロック信号のカウントを適切な基準805と比較し、比較の結果290を出力する。こうして、信号125における数字のさまざまな状態により、結果として、基準805によって設定されるこれらの遷移のタイミングで、対応する時間間隔内における識別可能な時刻に遷移が起こることとなる。   The switch 255 is configured to apply an appropriate reference 805 to the input 270 of the comparator 260 in response to an indication of the state detected by the state detector 205. The comparator 260 compares the count of the clock signal output by the counter 230 with an appropriate reference 805 and outputs a comparison result 290. Thus, the various states of the numbers in signal 125 result in transitions occurring at identifiable times within the corresponding time interval at the timing of these transitions set by reference 805.

図9は、3つ以上の実現可能な状態を有する数字を含む信号の時間符号化を示す概略図である。図示される時間符号化は、時間エンコーダ105(図8)などの時間エンコーダによって実行することができる。図示される実現例においては、情報120は、さまざまな実現可能な4つの状態、すなわち、第1の状態を有する数字905(すなわち「A」)、第2の状態を有する数字910(すなわち「B」)、第3の状態を有する数字915(すなわち「C」)、および第4の状態を有する数字920(すなわち「D」)を用いて、信号125で表わされる。他の実現例においては、情報120は、さまざまな数の実現可能な状態を有する数字(たとえば、情報120を10進数で表わす10のさまざまな実現可能な状態を有する数字)で、または、非常に多くの実現可能な状態もしくは実現可能な連続体(たとえば、実現可能な状態のほぼアナログもしくはアナログな連続体)を有する数字で、表わすことができる。いくつかの実現例においては、実現可能な4つの状態を有する数字を用いて、遺伝子情報を表わし、4つの核酸を表わすことができる。   FIG. 9 is a schematic diagram illustrating time encoding of a signal including numbers having more than two possible states. The illustrated time encoding can be performed by a time encoder, such as time encoder 105 (FIG. 8). In the illustrated implementation, the information 120 includes four different possible states: a number 905 having a first state (ie, “A”) and a number 910 having a second state (ie, “B”). )), A number 915 having a third state (ie, “C”), and a number 920 having a fourth state (ie, “D”). In other implementations, the information 120 is a number having a different number of possible states (eg, a number having ten different possible states representing the information 120 in decimal), or very It can be represented by a number having many realizable states or realizable continuums (eg, an almost analog or analog continuum of realizable states). In some implementations, numbers having four possible states can be used to represent genetic information and represent four nucleic acids.

時間符号化により、情報120が時間ベースのコード信号135に符号化される。時間ベースのコード信号135は時間間隔320の集まりを含み、その各々は、信号125内における数字905、910、915、920に対応する。各々の時間間隔320は、それぞれのデータイベント325を含む。個々の時間間隔320内におけるデータイベント325のタイミングは、その時間間隔320に対応する数字905、910、915、920の状態を示す。たとえば、図示される実現例においては、第1の状態の数字905に対応する間隔320におけるデータイベント325が、間隔320の終わり付近の時刻930に起こる。第2の状態の数字910に対応する間隔320におけるデータイベント325が、間隔320の中間付近の時刻935で起こる。第3の状態の数字915に対応する間隔320におけるデータイベント325が、間隔320の中間よりも前の時刻940で起こる。第4の状態の数字920に対応する間隔320におけるデータイベント325が、間隔320の始まり付近の時刻945で起こる。時刻930、935、940、945は互いから識別可能である。   With time encoding, information 120 is encoded into a time-based code signal 135. Time-based code signal 135 includes a collection of time intervals 320, each corresponding to a number 905, 910, 915, 920 in signal 125. Each time interval 320 includes a respective data event 325. The timing of the data event 325 within an individual time interval 320 indicates the state of the numbers 905, 910, 915, 920 corresponding to that time interval 320. For example, in the illustrated implementation, a data event 325 in interval 320 corresponding to the first state number 905 occurs at time 930 near the end of interval 320. A data event 325 in interval 320 corresponding to the second state number 910 occurs at time 935 near the middle of interval 320. A data event 325 in interval 320 corresponding to a third state number 915 occurs at time 940 prior to the middle of interval 320. A data event 325 in interval 320 corresponding to the fourth state number 920 occurs at time 945 near the beginning of interval 320. Times 930, 935, 940 and 945 are distinguishable from each other.

他の実現例においては、時間エンコーダは、予め定められた1組の符号から一連の符号を入力として受信し、時間符号化された出力信号を出力として生成するデジタル回路として実現することができる。この場合、時間符号化された出力信号における各時間間隔は、対応する入力符号によって決定される間隔内において一度に単一のパルスを含む。デジタル回路は、プログラムされたコンピュータによって制御可能であるか、または埋込み型コンピュータを含み得る。いくつかの実現例においては、各々の入力符号は、さまざまな実現可能な入力符号の数と同じである2進数(すなわちビット)Nの長さを有する固有の文字にマップされており、この場合、ビットはすべて、1つを除いては同じであり、このため、文字中における別個のビットの位置により、文字が対応している符号が識別されることとなる。こうして、符号の入力シーケンスが文字の入力シーケンスにマップされ、これがシフトレジスタに入力され得る。Nビットがすべての時間間隔320に現われるように、シフトレジスタの出力がクロックされる。この出力はパルス発生器に結合されており、このため、別個のビットが現われることにより時間エンコーダの出力において出力パルスが生成されることとなる。いくつかのこのような実現例においては、時間エンコーダは、アナログ入力信号を一連の符号に変換する回路を含む。出力信号においてヘッダ、フッタおよび同期が所望される場合、対応する入力符号は、エンコーダおよび下流のデコーダによって採用される規定またはプロトコルに従って、場合によっては接頭辞または接尾辞として、伝送されるべき実際の信号に追加することができる。   In another implementation, the time encoder can be implemented as a digital circuit that receives as input a series of codes from a predetermined set of codes and generates a time-coded output signal as an output. In this case, each time interval in the time-encoded output signal contains a single pulse at a time within the interval determined by the corresponding input code. The digital circuit can be controlled by a programmed computer or can include an embedded computer. In some implementations, each input code is mapped to a unique character having a binary (ie, bit) N length that is the same as the number of different possible input codes, in this case , All bits are the same except for one, so the position of a separate bit in a character identifies the code to which the character corresponds. Thus, the code input sequence is mapped to the character input sequence, which can be input to the shift register. The output of the shift register is clocked so that N bits appear in every time interval 320. This output is coupled to a pulse generator so that the appearance of a separate bit will generate an output pulse at the output of the time encoder. In some such implementations, the time encoder includes circuitry that converts the analog input signal into a series of codes. When headers, footers and synchronization are desired in the output signal, the corresponding input code is the actual to be transmitted, possibly as a prefix or suffix, according to conventions or protocols adopted by the encoder and downstream decoder. Can be added to the signal.

図10は、システム100、すなわち情報を符号化することのできるシステム1000、の実現例を示す概略図である。システム1000は、信号135が時間エンコーダ105から伝送されるニューラル処理構成要素1005を含む。ニューラル処理構成要素1005は、神経組織で構成される構成要素、または神経組織の設計および機能によって示唆される設計を有する構成要素である。こうして、ニューラル処理構成要素1005は、「ウェットな(wet)」神経および他のニューラル構成要素を(たとえば、生物学上の神経回路網もしくは脳、または生体の他の神経組織として)用いて実現することができるか、または、ニューラル処理構成要素1005は、半導体素子を(たとえばハードウェアもしくはソフトウェアを用いて実現される人工の神経回路網として)用いて実現することができる。いくつかの実現例においては、半導体素子とウェットなニューラル構成要素との組合せによりニューラル処理構成要素1005を実現することができる。   FIG. 10 is a schematic diagram illustrating an implementation example of the system 100, that is, a system 1000 capable of encoding information. System 1000 includes a neural processing component 1005 in which signal 135 is transmitted from time encoder 105. Neural processing component 1005 is a component that is composed of neural tissue or has a design that is suggested by the design and function of the neural tissue. Thus, the neural processing component 1005 is implemented using “wet” nerves and other neural components (eg, as a biological neural network or brain, or other neural tissue in the body). Alternatively, the neural processing component 1005 can be implemented using a semiconductor device (eg, as an artificial neural network implemented using hardware or software). In some implementations, the neural processing component 1005 can be implemented by a combination of semiconductor elements and wet neural components.

図示のとおり、時間エンコーダ105は、時間設定されたイベントを含む信号135をニューラル処理構成要素1005に出力する。ニューラル処理構成要素1005が「ウェットな」ニューラル構成要素を用いて実現される実現例においては、信号135の特性は、ウェットなニューラル構成要素と適合するよう調整することができる。たとえば、信号135内におけるイベントは、活動電位の振幅および時間特性を模倣するよう調整することができる。   As shown, the time encoder 105 outputs a signal 135 containing the timed event to the neural processing component 1005. In implementations where the neural processing component 1005 is implemented using a “wet” neural component, the characteristics of the signal 135 can be adjusted to match the wet neural component. For example, events in signal 135 can be adjusted to mimic the amplitude and time characteristics of action potentials.

いくつかの実現例においては、ニューラル処理構成要素1005は、信号135を受信する複数の要素を含み得る。たとえば、「ウェットな」ニューラル構成要素を用いて実現されるニューラル処理構成要素1005においては、複数の神経が信号135を受信し得る。別の例として、半導体構成品を用いて実現されるニューラル処理構成要素1005においては、複数のニューラルネットワーク入力が信号135を受信し得る。   In some implementations, the neural processing component 1005 may include multiple elements that receive the signal 135. For example, in a neural processing component 1005 implemented using “wet” neural components, multiple nerves may receive the signal 135. As another example, in neural processing component 1005 implemented using semiconductor components, multiple neural network inputs may receive signal 135.

動作時に、時間エンコーダ105は、信号125における情報120をニューラル処理構成要素1005によって理解される形式に符号化し得る、すなわち、一連の間隔における間隔内で識別可能な時刻にイベントが起こるよう時間設定されている信号135が得られる。こうして、時間エンコーダ105は、バイナリ(および他の)デジタルデータ処理と統計処理とニューラル処理構成要素1005において提供されるパターン認識との間のインターフェイスとして機能することができる。たとえば、時間エンコーダ105は、たとえば信号135に符号化された聴覚、視覚または他の知覚情報を用いて神経を刺激する神経補綴に含まれ得る。   In operation, time encoder 105 may encode information 120 in signal 125 into a format understood by neural processing component 1005, i.e., timed so that an event occurs at a time that is identifiable within an interval in a series of intervals. Signal 135 is obtained. Thus, time encoder 105 can serve as an interface between binary (and other) digital data processing, statistical processing, and pattern recognition provided in neural processing component 1005. For example, the time encoder 105 may be included in a neural prosthesis that stimulates a nerve using, for example, auditory, visual or other sensory information encoded in the signal 135.

図11は、システム100、すなわち、情報を符号化することのできるマルチチャネルエンコーダ1100を含むシステム、の実現例を示す概略図である。システム1100は、時間エンコーダ105の集まりと、データセグメンタ1105と、入力1110と、1つ以上の出力1115の集まりとを含む。   FIG. 11 is a schematic diagram illustrating an implementation of the system 100, ie, a system including a multi-channel encoder 1100 that can encode information. System 1100 includes a collection of time encoders 105, a data segmenter 1105, an input 1110, and a collection of one or more outputs 1115.

入力1110は、データ通信経路を介して信号125における情報120を受信する。入力1110は、信号125における情報を伝達する信号1117をデータセグメンタ1105の入力1120に供給する。データセグメンタ1105は、信号をより小さな単位に分割(または「フラグメント化」)する構成要素である。データセグメンタ1105は入力1120および1つ以上の出力1125を含む。   Input 1110 receives information 120 in signal 125 via a data communication path. Input 1110 provides a signal 1117 carrying information in signal 125 to input 1120 of data segmenter 1105. Data segmenter 1105 is a component that divides (or “fragments”) a signal into smaller units. Data segmenter 1105 includes an input 1120 and one or more outputs 1125.

データセグメンタ1105は、信号125における比較的大きな集まりの数字を、各々が情報120の真部分集合を表わしているより小さな集まりからなる数字の集まりに分割する。いくつかの実現例においては、セグメントは信号125における数字の連続した部分をなし得る。他の実現例においては、セグメントは非連続の数字を含み得る。図示される例においては、データセグメンタ1105によって受信される信号125は、順序付けられた有限集合の離散数字、たとえばビットの集まり、における情報120を表わす。データセグメンタ1105は、信号125を、各々が順序付けられた有限集合の離散数字における情報120の真部分集合を表わしているより小さなセグメントの集まりに分割する。データセグメンタ1105は、セグメント1120を1つ以上の出力1125から対応する時間エンコーダ105の入力110に供給する。各々の時間エンコーダ105は、それぞれの出力信号135の時間間隔内におけるイベントの発生を時間設定することによって、受信されたセグメントにおける情報を符号化する。各々の出力信号135における間隔内におけるイベントのタイミングは、各々のセグメント内における離散数字のすべてを表わす。   Data segmenter 1105 divides the relatively large collection of numbers in signal 125 into a collection of numbers, each of which represents a smaller subset of information 120. In some implementations, the segment may be a contiguous portion of the number in signal 125. In other implementations, the segments may include non-consecutive numbers. In the illustrated example, signal 125 received by data segmenter 1105 represents information 120 in an ordered finite set of discrete numbers, eg, a collection of bits. The data segmenter 1105 divides the signal 125 into smaller collections of segments representing a true subset of the information 120 in a discrete number of finite sets, each ordered. The data segmenter 1105 provides a segment 1120 from one or more outputs 1125 to the corresponding input 110 of the time encoder 105. Each time encoder 105 encodes information in the received segment by timing the occurrence of events within the time interval of the respective output signal 135. The timing of the event within the interval in each output signal 135 represents all of the discrete numbers within each segment.

時間エンコーダ105は、マルチチャネルエンコーダ1100の出力1115からそれぞれの出力信号135を出力する。いくつかの実現例においては、出力信号135は、同じ時刻に単一のシステムまたは媒体140に供給される。たとえば、出力信号135の時間ベースのコードが各々、ヘッダ間隔515およびヘッダイベント525を含む実現例においては、それぞれの出力信号におけるヘッダイベント525が同時に発生する。システムまたは媒体140は入力の集まりを含み得るが、その各々は、以下にさらに説明するように、対応する出力信号135を受信するよう対応する出力1115に接続される。   The time encoder 105 outputs each output signal 135 from the output 1115 of the multi-channel encoder 1100. In some implementations, the output signal 135 is provided to a single system or medium 140 at the same time. For example, in an implementation in which the time-based code of the output signal 135 each includes a header interval 515 and a header event 525, header events 525 in each output signal occur simultaneously. System or medium 140 may include a collection of inputs, each of which is connected to a corresponding output 1115 to receive a corresponding output signal 135, as further described below.

動作時に、データセグメンタ1105が、入力1120を介して信号125を受信する。データセグメンタ1105は、信号125を介してデータセグメント化プロセスを実行し、セグメントの集まりを生成する。セグメントは各々、時間エンコーダ105のそれぞれの入力110に入力される。時間エンコーダ105は各々、さまざまな間隔内における識別可能な時刻に起こるよう時間設定されたイベントで情報を表わすことによってそれぞれのセグメントにおいて情報を符号化する。各々の時間エンコーダ105が出力するそれぞれの信号135が、マルチチャネルエンコーダ1100の出力1115と、システムまたは媒体140とに伝達される。   In operation, data segmenter 1105 receives signal 125 via input 1120. Data segmenter 1105 performs a data segmentation process via signal 125 to generate a collection of segments. Each segment is input to a respective input 110 of the time encoder 105. Each time encoder 105 encodes information in its respective segment by representing the information in events timed to occur at identifiable times within various intervals. Each signal 135 output by each time encoder 105 is communicated to the output 1115 of the multi-channel encoder 1100 and to the system or medium 140.

図12は、情報を符号化、圧縮、記憶/伝送することができ、さらに、アクセス/受信、復号および解凍することのできるシステム1200を示す概略図である。システム1200は、上述のシステム100の実現例のうち1つ以上と、入力1210および出力1215を含むデコーダ1205とを含み得る。入力1210および出力1215が有する物理的構造により、信号がそれぞれ、デコーダ1205に受信されたり、デコーダ1205から転送されたりする。デコーダ1205は、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される信号を復号する構成要素である。デコーダ1205は、実質的には、間隔内におけるイベントのタイミングが情報内容を表わしている時間ベースの信号を、順序付けされた有限集合の離散数字でその情報を表わす出力フォーマットに翻訳する。   FIG. 12 is a schematic diagram illustrating a system 1200 that can encode, compress, store / transmit information, and can also access / receive, decode and decompress. System 1200 can include one or more of the implementations of system 100 described above and a decoder 1205 that includes an input 1210 and an output 1215. Depending on the physical structure of the input 1210 and the output 1215, the signal is received by the decoder 1205 or transferred from the decoder 1205. The decoder 1205 is a component that decodes a signal in which information is encoded according to the timing of occurrence of an event within a time interval. The decoder 1205 essentially translates a time-based signal in which the timing of events within the interval represents information content into an output format that represents that information in an ordered finite set of discrete numbers.

デコーダ1205の入力1210は、信号1220を受信するよう接続することができ、この場合、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される。信号1220は、システムまたは媒体140からデータ通信経路上に出力することができる。情報をシステムまたは媒体140から信号1220を介してデコーダ1205に転送する際のその性質は、システム1200の動作上の情況に依存する。たとえば、システム1200がデータ伝送システムの一部である場合、システムまたは媒体140は、デコーダ1205におけるデータ受信機に信号1220を出力するデータ送信機を含み得る。別の例として、システム1200がデータ記憶システムの一部である場合、デコーダ1205は、たとえば、データ記憶媒体140から情報を読取ることのできる読取ヘッドを含み得る。信号1220は、たとえば、有線または無線のデータ通信経路を介して伝達することができる。   The input 1210 of the decoder 1205 can be connected to receive a signal 1220, where information is encoded according to the timing of the occurrence of an event within the time interval. Signal 1220 may be output on the data communication path from system or medium 140. The nature of transferring information from the system or medium 140 to the decoder 1205 via the signal 1220 depends on the operational context of the system 1200. For example, if system 1200 is part of a data transmission system, system or medium 140 may include a data transmitter that outputs signal 1220 to a data receiver in decoder 1205. As another example, if system 1200 is part of a data storage system, decoder 1205 can include, for example, a read head that can read information from data storage medium 140. The signal 1220 can be transmitted, for example, via a wired or wireless data communication path.

出力フォーマットへの翻訳後、デコーダ1205は、復号された情報1225を含む信号1230を出力する。復号された情報1225は、順序付けされた有限集合の離散数字で、たとえば、図示のとおり一連のハイ状態およびロー状態として2進数で、表わすことができる。出力1215は、直列または並列な1つ以上のバイナリデータポートの形式であってもよい。   After translation into the output format, the decoder 1205 outputs a signal 1230 that includes the decoded information 1225. Decoded information 1225 can be represented as an ordered finite set of discrete numbers, for example, in binary as a series of high and low states as shown. The output 1215 may be in the form of one or more binary data ports in series or parallel.

動作時に、デコーダ1205が、システムまたは媒体140から入力1210を介して信号1220を受信する。信号1220は、さまざまな間隔内における識別可能な時刻に起こるよう時間設定されたイベントで情報を表わす。デコーダ1205は、情報1225を復号し、復号された情報1225を含む信号1230を出力する。   In operation, decoder 1205 receives signal 1220 from system or medium 140 via input 1210. Signal 1220 represents information with events timed to occur at identifiable times within various intervals. The decoder 1205 decodes the information 1225 and outputs a signal 1230 including the decoded information 1225.

デコーダ1205は、システム1200の外部で、他の装置とともに用いることができる。たとえば、デコーダ1205は、時間ベースのデコーダ41(図1A)として用いることができる。   The decoder 1205 can be used with other devices outside the system 1200. For example, the decoder 1205 can be used as the time-based decoder 41 (FIG. 1A).

図13はデコーダ1205の実現例を示す概略図である。デコーダ1205の図示される実現例は、イベント検出器1305、時間−状態トランスレータ回路1310、および状態セレクタ回路1315を含む。回路について言及しているが、デコーダの構成要素のうち1つ以上はファームウェアまたはソフトウェアで実現することができる。イベント検出器1305は、信号1220におけるイベントとそれらのタイミングとを検出することができる構成要素である。イベント検出器1305の構造は、信号1220におけるイベントの性質を反映させることができる。たとえば、信号1220におけるイベントがパルスである場合、イベント検出器1305はパルス検出器になり得る。イベント検出器1305は、入力1210から信号1220と、間隔タイミング回路1320から間隔1325内における時刻を表わす信号とを受信するよう接続される。イベント検出器1305は、イベントが検出される間隔内における時刻1325を出力するよう接続される。   FIG. 13 is a schematic diagram illustrating an implementation example of the decoder 1205. The illustrated implementation of decoder 1205 includes event detector 1305, time-state translator circuit 1310, and state selector circuit 1315. Although a circuit is mentioned, one or more of the decoder components can be implemented in firmware or software. The event detector 1305 is a component that can detect events in the signal 1220 and their timing. The structure of the event detector 1305 can reflect the nature of the event in the signal 1220. For example, if the event in signal 1220 is a pulse, event detector 1305 can be a pulse detector. Event detector 1305 is connected to receive signal 1220 from input 1210 and a signal representative of time within interval 1325 from interval timing circuit 1320. Event detector 1305 is connected to output a time 1325 within the interval at which the event is detected.

間隔タイミング回路1320は、クロック1330、カウンタ1335、および間隔リセット1340を含む。クロック1330が出力クロック信号1345をカウンタ1335に供給すると、次いで、カウンタ1335がクロック信号の動的カウント1332を生成する。動的カウント1332が、イベント検出器1305および間隔リセット1340の両方に与えられる。間隔リセット1340は、クロック信号の動的カウントを間隔期間を表わすしきい値カウントと比較するコンパレータ(図示せず)を含み得る。このような比較により、間隔がいつ経過したかを判断することができる。間隔リセット1340は、リセット信号1350を出力としてカウンタ1335に供給する。カウンタ1335は、リセット信号1350に応じてリセットされる。カウンタ1335のリセットにより、しきい値カウントの期間の間隔の範囲が定められる。   The interval timing circuit 1320 includes a clock 1330, a counter 1335, and an interval reset 1340. When clock 1330 provides output clock signal 1345 to counter 1335, counter 1335 then generates a dynamic count 1332 of the clock signal. A dynamic count 1332 is provided to both the event detector 1305 and the interval reset 1340. The interval reset 1340 may include a comparator (not shown) that compares the dynamic count of the clock signal with a threshold count representing the interval period. Such a comparison makes it possible to determine when the interval has elapsed. The interval reset 1340 supplies the reset signal 1350 as an output to the counter 1335. Counter 1335 is reset in response to reset signal 1350. By resetting the counter 1335, the range of the interval of the threshold count period is determined.

間隔リセット235によって出力されるリセット信号1350は、デコーダ1205の他の部分に伝達されこの部分によって用いられることにより、たとえば、時間−状態トランスレータ1310によるイベントの翻訳と、状態セレクタ1315による数字の選択および出力とが時間設定される。たとえば、時間−状態トランスレータ1310は、リセット信号1350に応じて翻訳と翻訳結果の出力とをリセットする1つ以上のスイッチを含み得る。別の例として、状態セレクタ1315は、リセット信号1350を誘発させることにより、間隔ごとに単一の数字を選択して出力することを確実にし得る。   The reset signal 1350 output by the interval reset 235 is communicated to and used by other parts of the decoder 1205 so that, for example, translation of events by the time-state translator 1310 and selection of numbers by the state selector 1315 and Output and time are set. For example, the time-state translator 1310 may include one or more switches that reset the translation and the output of the translation result in response to the reset signal 1350. As another example, state selector 1315 may ensure that a single number is selected and output for each interval by triggering reset signal 1350.

イベントの検出に応じて、イベント検出器1305は、イベントが検出される間隔1325内における時刻の表示を出力する。これらの表示は、時間−状態トランスレータ1310によって受信される。図示される実現例においては、時間−状態トランスレータ1310は、高ビット検出器1355および低ビット検出器1360を含み、これら検出器はともに、イベントが検出される間隔内における時刻の表示を受信するよう接続される。   In response to event detection, the event detector 1305 outputs a display of the time within the interval 1325 at which the event is detected. These indications are received by the time-state translator 1310. In the illustrated implementation, the time-state translator 1310 includes a high bit detector 1355 and a low bit detector 1360, both of which are adapted to receive an indication of time within an interval at which an event is detected. Connected.

いくつかの実現例においては、高ビット検出器1355は、1対のコンパレータ1356、1358およびANDゲート1359を含む。コンパレータ1356は、イベントが検出される間隔内における時刻を第1の基準ref_1と比較するよう接続される。コンパレータ1358は、イベントが検出される間隔内における時刻を第2の基準ref_2と比較するよう接続される。基準ref_1、ref_2は、検出されたイベントが第1の状態(たとえば、高ビット)であるとみなされる間隔内における最早の時刻および最遅の時刻を示すしきい値である。ビットがref_1によって示される時刻よりも後の時刻と、ref_2によって示される時刻よりも前の時刻とにおいて検出される場合、コンパレータ1356および1358の両方の出力が設定される。ANDゲート1359はまた、イベント検出器1305によって検出されるイベントのタイミングが間隔内にあることを示す出力1365(たとえばハイ信号)を生成する。   In some implementations, the high bit detector 1355 includes a pair of comparators 1356, 1358 and an AND gate 1359. The comparator 1356 is connected to compare the time within the interval at which the event is detected with the first reference ref_1. Comparator 1358 is connected to compare the time within the interval at which the event is detected with a second reference ref_2. The references ref_1 and ref_2 are threshold values indicating the earliest time and the latest time within an interval in which the detected event is considered to be in the first state (for example, high bit). If the bit is detected at a time later than the time indicated by ref_1 and a time before the time indicated by ref_2, the outputs of both comparators 1356 and 1358 are set. AND gate 1359 also generates an output 1365 (eg, a high signal) that indicates that the timing of the event detected by event detector 1305 is within the interval.

図示される実現例においては、低ビット検出器1360は、1対のコンパレータ1361、1363およびANDゲート1364を含む。コンパレータ1361は、イベントが検出される間隔内における時刻を第1の基準ref_3と比較するよう接続される。コンパレータ1363は、イベントが検出される間隔内における時刻を第2の基準ref_4と比較するよう接続される。基準ref_3、ref_4は、検出されたイベントが第2の状態(たとえば、低ビット)であるとみなされる間隔内における最早の時刻および最遅の時刻を示すしきい値である。イベントがref_3によって示される時刻よりも後の時刻とref_4によって示される時刻よりも前の時刻とにおいて検出される場合、コンパレータ1361および1363の両方の出力が設定される。ANDゲート1364はまた、イベント検出器1305によって検出されるイベントのタイミングが間隔内にあることを示す出力1370を与える。   In the illustrated implementation, the low bit detector 1360 includes a pair of comparators 1361, 1363 and an AND gate 1364. The comparator 1361 is connected to compare the time within the interval at which the event is detected with the first reference ref_3. The comparator 1363 is connected to compare the time within the interval at which the event is detected with the second reference ref_4. The references ref_3 and ref_4 are threshold values indicating the earliest time and the latest time within an interval in which the detected event is considered to be in the second state (eg, low bit). If an event is detected at a time after the time indicated by ref_3 and a time before the time indicated by ref_4, the outputs of both comparators 1361 and 1363 are set. AND gate 1364 also provides an output 1370 indicating that the timing of the event detected by event detector 1305 is within the interval.

状態セレクタ1315は、出力1215を介する信号1230の出力についての数字の状態を選択するよう構成される構成要素である。いくつかの実現例においては、数字はバイナリビットであってもよい。状態セレクタ1315は、翻訳(すなわち、出力1365および1370)を受信するよう接続される。受信された翻訳に基づいて、状態セレクタ1315が状態情報1215を出力する。数字は、並列または直列に出力することができる。   Status selector 1315 is a component configured to select a numeric status for the output of signal 1230 via output 1215. In some implementations, the number may be a binary bit. The state selector 1315 is connected to receive translations (ie, outputs 1365 and 1370). Based on the received translation, state selector 1315 outputs state information 1215. The numbers can be output in parallel or in series.

動作時に、イベント検出器1305は信号1220を受信する。この場合、時間間隔内におけるイベントの発生のタイミングによって情報1225が符号化される。イベント検出器1305は、それぞれの間隔内におけるイベントのタイミングを検出し、そのタイミング1325の記述を出力する。時間−状態トランスレータ回路1310は、イベント検出器1305によってイベントが検出された時刻と状態に割当てられた時刻とを比較することによって、間隔内における時刻をデコーダ1205から信号1230で出力されるべき離散数字に翻訳する。特に、基準ref_1、ref_2によって規定される時刻の第1の範囲内で検出されたイベントにより、結果として、出力1365上で設定信号が得られることとなる。基準ref_3、ref_4によって規定される時刻の第2の範囲内で検出されたイベントにより、結果として、出力1370上で設定信号が得られることとなる。状態セレクタ回路1315は、それらの比較の結果を受信し、それらの結果に従って出力1215を介して出力すべき数字の状態を選択する。   In operation, event detector 1305 receives signal 1220. In this case, the information 1225 is encoded according to the occurrence timing of the event within the time interval. The event detector 1305 detects the timing of the event within each interval and outputs a description of the timing 1325. The time-state translator circuit 1310 compares the time at which the event was detected by the event detector 1305 with the time assigned to the state, thereby determining the time within the interval from the decoder 1205 to the signal 1230 to be output. Translate to In particular, an event detected within a first range of times defined by the references ref_1, ref_2 results in a setting signal being obtained on the output 1365. An event detected within the second range of times defined by the references ref_3, ref_4 results in a setting signal on the output 1370. The state selector circuit 1315 receives the results of these comparisons and selects the numerical state to be output via the output 1215 according to those results.

図14は、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される信号の復号を示す概略図である。復号は、たとえばデコーダ1205(図12)などのデコーダによって実行することができる。   FIG. 14 is a schematic diagram illustrating decoding of a signal in which information is encoded according to the timing of occurrence of an event within a time interval. Decoding can be performed by a decoder such as, for example, decoder 1205 (FIG. 12).

復号により、時間ベースのコード信号1220で符号化された情報が、順序付けされた有限集合の離散数字で情報1225を表わす信号1230に翻訳される。図示される実現例においては、情報1225は、一連の大きい2進数1405(すなわち「1」)および小さい2進数1410(すなわち「0」)として2進法で信号1230で表わされる。   Decoding translates the information encoded with the time-based code signal 1220 into a signal 1230 representing the information 1225 in an ordered finite set of discrete digits. In the illustrated implementation, information 1225 is represented in signal 1230 in binary notation as a series of large binary numbers 1405 (ie, “1”) and small binary numbers 1410 (ie, “0”).

時間ベースのコード信号1220は、時間間隔1420の集まりを含み、その各々は、信号1230内における数字1405および1410に対応する。各々の時間間隔1420は、それぞれのデータイベント1425を含む。個々の時間間隔1420内におけるデータイベント1425のタイミングは、その時間間隔1420に対応する数字1405および1410の状態を示す。たとえば、図示される実現例においては、ハイ状態の数字1405に対応する間隔1420におけるデータイベント1425は、それらの間隔1420の始まり付近の時刻1430で起こる。ロー状態の数字1405に対応する間隔1420におけるデータイベント1425は、それらの間隔1420の中間付近の時刻1435で起こる。時刻1430は時刻1435からは識別可能である。   Time-based code signal 1220 includes a collection of time intervals 1420, each corresponding to the numbers 1405 and 1410 in signal 1230. Each time interval 1420 includes a respective data event 1425. The timing of the data event 1425 within an individual time interval 1420 indicates the state of the numbers 1405 and 1410 corresponding to that time interval 1420. For example, in the illustrated implementation, a data event 1425 in intervals 1420 corresponding to high state numbers 1405 occurs at time 1430 near the beginning of those intervals 1420. The data event 1425 in the interval 1420 corresponding to the low number 1405 occurs at a time 1435 near the middle of those intervals 1420. The time 1430 can be identified from the time 1435.

図示される実現例においては、データイベント1425は、ベースライン(すなわち、「停止」)状態2140からハイ(すなわち、「活動」)状態1445に遷移し、次いで、ベースライン停止状態1440に戻るパルスである。いくつかの実現例においては、ベースライン状態2140からハイ状態1445への最初の遷移は、データイベント1425が起こる時刻として識別および処理することができる。他の実現例においては、ハイ状態1445からベースライン状態2140に戻る遷移は、データイベント325が起こる時刻として識別および処理することができる。いくつかの実現例においては、データイベント1425は、最初の遷移と戻りの遷移とが時間的に非常に近いために、たとえば時間エンコーダ1205にとっては識別不可能となる過渡パルスである。過渡的なデータイベント1425が起こる時刻は、最初の遷移および戻りの遷移の発生が明らかに一致していることに基づいて識別される。   In the illustrated implementation, data event 1425 is a pulse that transitions from baseline (ie, “stop”) state 2140 to high (ie, “activity”) state 1445 and then back to baseline stop state 1440. is there. In some implementations, the first transition from the baseline state 2140 to the high state 1445 can be identified and processed as the time at which the data event 1425 occurs. In other implementations, the transition from high state 1445 back to baseline state 2140 can be identified and processed as the time at which data event 325 occurs. In some implementations, the data event 1425 is a transient pulse that is indistinguishable for the time encoder 1205, for example, because the first transition and the return transition are very close in time. The time at which the transient data event 1425 occurs is identified based on the apparent coincidence of the occurrence of the first transition and the return transition.

いくつかの実現例においては、さまざまなデータイベント1425の形状は、互いとは識別不可能であり、さまざまなデータイベント1425は、それらのタイミングによってのみ識別することができる。さらに、いくつかの実現例においては、データイベント1425は、2つの実現可能な時刻においてのみ起こる、すなわち、間隔内における第1の時刻または第2の時刻に起こるという点でバイナリイベントであり得る。   In some implementations, the shapes of the various data events 1425 are indistinguishable from each other, and the various data events 1425 can only be identified by their timing. Further, in some implementations, the data event 1425 can be a binary event in that it occurs only at two feasible times, i.e., at a first time or a second time within an interval.

図示される実現例においては、時間間隔1420はすべて同じ期間を有しており、連続的に発生する。時間間隔1420のシーケンスは、信号1430における対応する数字1405および1410のシーケンスに対応する。言い換えれば、時間ベースのコード信号1220の第1の時間間隔1420(およびそのイベント1425)は、信号1230における第1の数字1405に対応し、時間ベースのコード信号1220の第2の時間間隔1420(およびそのデータイベント1425)は、信号1230における第2の数字1410に相当する、などである。この対応関係は波線の矢印1450によって表わされる。   In the illustrated implementation, the time intervals 1420 all have the same period and occur continuously. The sequence of time intervals 1420 corresponds to the sequence of corresponding numbers 1405 and 1410 in signal 1430. In other words, the first time interval 1420 (and its event 1425) of the time-based code signal 1220 corresponds to the first number 1405 in the signal 1230 and the second time interval 1420 ( And its data event 1425) corresponds to the second number 1410 in signal 1230, and so on. This correspondence is represented by a wavy arrow 1450.

図15はデコーダ1005の別の実現例を示す概略図である。イベント検出器1305、時間−状態トランスレータ回路1310、状態セレクタ回路1315および間隔タイミング回路1320に加えて、デコーダ1005の図示される実現例はまた、開始/停止検出器1505を含む。開始/停止検出器1505は、信号1220でのデータ伝送の始まりおよび終わりのうちの一方または両方を検出するよう構成された構成要素である。たとえば、開始/停止検出器1505は、信号1220におけるヘッダイベント、ヘッダ間隔、フッタイベントおよびフッタ間隔のうち1つ以上を認識することができる。   FIG. 15 is a schematic diagram illustrating another implementation example of the decoder 1005. In addition to event detector 1305, time-state translator circuit 1310, state selector circuit 1315, and interval timing circuit 1320, the illustrated implementation of decoder 1005 also includes a start / stop detector 1505. Start / stop detector 1505 is a component configured to detect one or both of the beginning and end of data transmission on signal 1220. For example, the start / stop detector 1505 can recognize one or more of a header event, header interval, footer event, and footer interval in the signal 1220.

開始/停止検出器1505は、(図示のとおり)信号1220を受信するよう入力1210に接続され得る。いくつかの実現例においては、開始/停止検出器1505は、信号1220における始めのイベントと終わりのイベントとを検出することによって、信号1220でのデータ伝送の始まりおよび終わりのうちの一方または両方を検出することができる。開始/停止検出器1505は、信号1220でのデータ伝送の始まりおよび終わりのうちの一方または両方を示す表示1510を、間隔リセット1340およびデコーダ1205の他の部分に出力する。間隔リセット1340は、開始/停止検出器1505によって出力される表示に応じて、それ自体と、間隔間の区別とをリセットすることができる。開始/停止検出器1505は、これにより、間隔リセット1340を信号1220内における間隔およびイベントのタイミングに同期させることができる。   Start / stop detector 1505 may be connected to input 1210 to receive signal 1220 (as shown). In some implementations, start / stop detector 1505 detects one or both of the beginning and end of data transmission on signal 1220 by detecting the beginning and end events in signal 1220. Can be detected. The start / stop detector 1505 outputs an indication 1510 to the interval reset 1340 and other portions of the decoder 1205 that indicates one or both of the start and end of data transmission on the signal 1220. The interval reset 1340 can reset itself and the distinction between intervals in response to the display output by the start / stop detector 1505. The start / stop detector 1505 can thereby synchronize the interval reset 1340 with the interval and event timing in the signal 1220.

いくつかの実現例においては、開始/停止検出器1505によって出力される信号1220でのデータ伝送の始まりおよび終わりを示す表示は、デコーダ1205の他の部分に伝達されてこの部分によって使用され得る。たとえば、いくつかの実現例においては、状態セレクタ1315は、開始/停止検出器1505によって出力される表示に応じて、ヘッダイベントおよびフッタイベントを用いて信号1220の始まりおよび終わりのうちの一方またはこれら両方を区別することができる。   In some implementations, an indication of the beginning and end of data transmission in the signal 1220 output by the start / stop detector 1505 can be communicated to other parts of the decoder 1205 and used by this part. For example, in some implementations, the state selector 1315 may use one or more of the beginning and end of the signal 1220 using header and footer events, depending on the indication output by the start / stop detector 1505. Both can be distinguished.

図16は、信号でのデータ伝送の始まりと終わりとを検出するデコーダを用いた、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される信号の復号を示す概略図である。たとえば、例示される復号は、開始/停止検出器1505(図15)を含むデコーダ1205などのデコーダによって実行することができる。図示される実現例においては、信号1230はヘッダ1605(「X」として図示)およびフッタ1610(「Y」として図示)を含む。こうして、ヘッダ1605およびフッタ1610によりフレーム信号1230が構築される。   FIG. 16 is a schematic diagram illustrating the decoding of a signal in which information is encoded according to the timing of the occurrence of an event within a time interval, using a decoder that detects the start and end of data transmission on the signal. For example, the illustrated decoding may be performed by a decoder such as decoder 1205 that includes a start / stop detector 1505 (FIG. 15). In the illustrated implementation, signal 1230 includes a header 1605 (shown as “X”) and a footer 1610 (shown as “Y”). Thus, the frame signal 1230 is constructed by the header 1605 and the footer 1610.

復号することにより、図14を参照して上述したとおり、時間ベースのコード信号1220が信号1230に復号される。時間ベースのコード信号1220はヘッダ間隔1615およびフッタ間隔1620を含む。ヘッダ間隔1615は、ヘッダ間隔1615内における時刻1635に起こるヘッダイベント1625を含む。フッタ間隔1620は、フッタ間隔1620内における時刻1640に起こるフッタイベント1630を含む。ヘッダ間隔1615およびヘッダイベント1625は、時間ベースのコード信号1220の開始を区別する。フッタ間隔1620およびフッタイベント1630は、時間ベースのコード信号1220の終わりを区別する。時間ベースのコード信号1220の始まりを区別することにより、第1の間隔1620内における第1のイベント1625のタイミングを決定することができる。たとえば、第1のイベント1625は、ヘッダイベント1625後の期間1645に起こる。第1の間隔1620内における第1のイベント1625のタイミングは、間隔1615の期間および時刻1645を用いて決定することができる。   By decoding, the time-based code signal 1220 is decoded into the signal 1230 as described above with reference to FIG. Time-based code signal 1220 includes a header interval 1615 and a footer interval 1620. The header interval 1615 includes a header event 1625 that occurs at time 1635 within the header interval 1615. Footer interval 1620 includes a footer event 1630 that occurs at time 1640 within footer interval 1620. Header interval 1615 and header event 1625 distinguish the start of time-based code signal 1220. Footer interval 1620 and footer event 1630 distinguish the end of time-based code signal 1220. By distinguishing the beginning of the time-based code signal 1220, the timing of the first event 1625 within the first interval 1620 can be determined. For example, the first event 1625 occurs in the period 1645 after the header event 1625. The timing of the first event 1625 within the first interval 1620 can be determined using the duration of the interval 1615 and the time 1645.

図示される実現例においては、イベント1625、1630および1425は、ベースライン状態1640からハイ状態1445に遷移し、次いで、ベースライン状態1640に戻るパルスである。いくつかの実現例においては、イベント1625および1630の形状は、互いとは識別不可能であり、また、データイベント1425の形状とも識別不可能であり、イベント1425、1625、1630はそれらのタイミングによってのみ識別することができる。さらに、いくつかの実現例においては、間隔1615および1620はともに、互いに同じ期間を有し、時間間隔1420と同じ期間を有する。   In the illustrated implementation, events 1625, 1630 and 1425 are pulses that transition from baseline state 1640 to high state 1445 and then back to baseline state 1640. In some implementations, the shapes of events 1625 and 1630 are indistinguishable from each other and are also indistinguishable from the shape of data event 1425, and events 1425, 1625, and 1630 are dependent on their timing. Can only be identified. Further, in some implementations, intervals 1615 and 1620 both have the same duration as each other and have the same duration as time interval 1420.

図17はデコーダ1205の別の実現例を示す概略図である。イベント検出器1305、時間−状態トランスレータ回路1310、状態セレクタ回路1315、間隔タイミング回路1320および開始/停止検出器1305に加えて、デコーダ1005の図示される実現例はまたヘッダ/フッタデコーダ1705を含む。ヘッダ/フッタデコーダ1705は、信号1220のヘッダにおいて符号化された情報、信号1220のフッタにおいて符号化された情報またはこれら両方において符号化された情報を復号するよう構成された構成要素である。   FIG. 17 is a schematic diagram illustrating another implementation example of the decoder 1205. In addition to event detector 1305, time-state translator circuit 1310, state selector circuit 1315, interval timing circuit 1320 and start / stop detector 1305, the illustrated implementation of decoder 1005 also includes a header / footer decoder 1705. The header / footer decoder 1705 is a component configured to decode information encoded in the header of the signal 1220, information encoded in the footer of the signal 1220, or both.

ヘッダ/フッタデコーダ1705は、信号1220と、信号1220に含まれるヘッダイベントまたはフッタイベントとを受信するよう入力1210に接続される。たとえば、ヘッダ間隔およびフッタ間隔の期間が間隔1420の期間と同じであるいくつかの実現例においては、ヘッダ/フッタデコーダ1705は、信号1220でのデータ伝送の始まりおよび終わりのうち一方または両方の表示1510を受信するよう接続可能であり、間隔リセットによって特定されるサイズを有する間隔内における時刻の動的カウント1325を受信するようイベント検出器1305に接続可能である。たとえば、ヘッダ間隔およびフッタ間隔の期間が間隔1420の期間とは異なる実現例においては、ヘッダ/フッタデコーダ1705は、別の間隔タイミング回路の出力に接続され得るか、内部の開始/停止検出構成要素を含み得るか、または、他の場合には、情報のイベントがヘッダ、フッタまたはこれら両方内で起こる時刻を決定し得る。   The header / footer decoder 1705 is connected to the input 1210 to receive the signal 1220 and a header event or footer event included in the signal 1220. For example, in some implementations where the duration of the header interval and footer interval is the same as the duration of interval 1420, header / footer decoder 1705 may indicate either or both of the beginning and end of data transmission on signal 1220. 1510 and can be connected to the event detector 1305 to receive a dynamic count of times 1325 within an interval having a size specified by the interval reset. For example, in an implementation in which the duration of the header interval and footer interval is different from the duration of interval 1420, header / footer decoder 1705 can be connected to the output of another interval timing circuit or internal start / stop detection component. Or, in other cases, the time at which an informational event occurs in the header, footer, or both may be determined.

ヘッダ/フッタデコーダ1705は、ヘッダまたはフッタ内において出力1710として起こる情報のイベントの情報内容の表示を出力する。状態セレクタ1315は、表示を受信し、この表示に従って離散数字1015を出力し得る。たとえば、いくつかの実現例においては、状態セレクタ1315は、信号1230の発生源および行先、信号1230における情報の種類、および信号1230と他の信号との間の関係を識別する一連の数字を選択することができる。   The header / footer decoder 1705 outputs a display of the information content of the event of information that occurs as an output 1710 in the header or footer. The state selector 1315 may receive the display and output a discrete number 1015 according to the display. For example, in some implementations, the state selector 1315 selects a series of numbers that identify the source and destination of the signal 1230, the type of information in the signal 1230, and the relationship between the signal 1230 and other signals. can do.

いくつかの実現例においては、ヘッダ/フッタデコーダ1705によって出力される表示が、デコーダ1205の他の部分に伝達されてこの部分によって使用され得る。たとえば、エラーチェック情報が、デコーダ1005内におけるエラーチェック構成要素に伝達され、この部分によって使用され得る。別の例として、ヘッダ/フッタデコーダ1705によって出力される表示は、トランスレータ回路1310に伝達することができ、この表示を用いることにより、たとえば、検出されるべき数字の数を設定するか、または、検出されたイベントが或る状態に合致するとみなされる間隔内における時刻を変更することができる。   In some implementations, the display output by the header / footer decoder 1705 can be communicated to and used by other parts of the decoder 1205. For example, error check information may be communicated to and used by the error check component within decoder 1005. As another example, the display output by header / footer decoder 1705 can be communicated to translator circuit 1310, which can be used, for example, to set the number of digits to be detected, or The time within the interval where the detected event is considered to match a certain state can be changed.

図18は、デコーダ1205の別の実現例を示す概略図である。デコーダ1205の図示される実現例は、トランスレータ回路1310および状態セレクタ回路1315を含む。これら回路は、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される信号を、3つ以上の実現可能な状態を有する数字で情報を符号化する信号に復号するのに適している。たとえば、デコーダ1205は、時間ベースのコード信号1220を信号1230に復号することができる。   FIG. 18 is a schematic diagram illustrating another implementation example of the decoder 1205. The illustrated implementation of decoder 1205 includes a translator circuit 1310 and a state selector circuit 1315. These circuits are suitable for decoding a signal in which information is encoded according to the occurrence timing of an event within a time interval into a signal in which information is encoded with numbers having three or more realizable states. For example, the decoder 1205 can decode the time-based code signal 1220 into a signal 1230.

イベントの検出に応じて、イベント検出器1305は、イベントが検出される間隔内における時刻の表示を出力する。これらの表示1325は、時間−状態トランスレータ1310によって受信される。時間−状態トランスレータ1310は、状態検出器1805、1810、1815、1820の集まりを含んでおり、これら状態検出器はすべて、イベントが検出される間隔内における時刻の表示を受信するよう接続されている。   In response to event detection, the event detector 1305 outputs a display of time within the interval at which the event is detected. These indications 1325 are received by the time-state translator 1310. The time-state translator 1310 includes a collection of state detectors 1805, 1810, 1815, 1820, all of which are connected to receive an indication of the time within the interval at which the event is detected. .

状態検出器1805、1810、1815、1820は各々、イベントが検出される間隔内における時刻を、検出されたイベントが対応する状態であるとみなされる間隔内における最早の時刻および最遅の時刻を具体化する基準と比較するよう接続される。間隔内におけるイベントのタイミングが対応する範囲内にあることを検出したことに応じて、状態検出器1805、1810、1815、1820が各々、表示1825、1830、1835、1840を出力する。こうして、状態検出器1805、1810、1815、1820は、間隔内における時刻を、デコーダ1005から出力されるべき信号1230における数字の状態のうちの1つに翻訳する。   State detectors 1805, 1810, 1815, 1820 each specify the time within the interval at which the event is detected, the earliest time and the latest time within the interval at which the detected event is considered to be in the corresponding state. Connected to compare with the standard to be. In response to detecting that the event timing within the interval is within the corresponding range, state detectors 1805, 1810, 1815, 1820 output displays 1825, 1830, 1835, 1840, respectively. Thus, the state detectors 1805, 1810, 1815, 1820 translate the time within the interval into one of the numerical states in the signal 1230 to be output from the decoder 1005.

状態セレクタ1315は、翻訳(たとえば表示1825、1830、1835、1840)を受信するよう接続され、受信された翻訳に基づいて、状態セレクタ1315が、状態を有する数字を出力1215に出力する。   The state selector 1315 is connected to receive translations (eg, displays 1825, 1830, 1835, 1840), and based on the received translations, the state selector 1315 outputs a number having a state to the output 1215.

動作時に、イベント検出器1305は信号1220を受信し、この場合、時間間隔内におけるイベントの発生のタイミングによって情報120が符号化される。イベント検出器1305は、それぞれの間隔内におけるイベントのタイミングを検出し、そのタイミングの記述(たとえば表示1325)を出力する。時間−状態トランスレータ回路1310は、イベントがイベント検出器1305によって検出された時刻を状態に割当てられた時刻と比較することによって、間隔内における時刻をデコーダ1305から信号1330で出力されるべき状態に翻訳する。状態セレクタ回路1315は、それらの比較の結果(たとえば表示1825、1830、1835、1840)を受信し、それらの結果に従って出力1215に与えられるべき出力される数字の状態を選択する。   In operation, event detector 1305 receives signal 1220, where information 120 is encoded according to the timing of the occurrence of the event within the time interval. The event detector 1305 detects the timing of the event within each interval, and outputs a description of the timing (eg, display 1325). The time-state translator circuit 1310 translates the time within the interval into a state to be output by the signal 1330 from the decoder 1305 by comparing the time at which the event was detected by the event detector 1305 with the time assigned to the state. To do. The state selector circuit 1315 receives the results of those comparisons (eg, indications 1825, 1830, 1835, 1840) and selects the output numerical state to be provided to the output 1215 according to those results.

図19は、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される信号を、3つ以上の実現可能な状態を有する数字を含む信号に復号することを示す概略図である。たとえば、図示される復号は、図18に示されるデコーダ1205などのデコーダによって実行することができる。図示される実現例においては、時間ベースのコード信号1220は時間間隔1420の集まりを含み、その各々は、信号1230内における数字1905、1910、1915、1920に対応する。各々の時間間隔1420はそれぞれのデータイベント1425を含む。個々の時間間隔1420内におけるデータイベント1425のタイミングは、その時間間隔1420に対応する数字1905、1910、1915、1920の状態を示す。たとえば、図示される実現例においては、第1の状態の数字1905に対応する間隔1420におけるデータイベント1425は、間隔1420の終わり付近の時刻1930で起こる。第2の状態の数字1910に対応する間隔1420におけるデータイベント1425は、間隔1420の中間付近の時刻1935で起こる。第3の状態の数字1925に対応する間隔1420におけるデータイベント1425は、間隔1420の中間よりも前の時刻1940で起こる。第4の状態の数字1905に対応する間隔1420におけるデータイベント1425は、間隔1420の始まり付近の時刻1945で起こる。時刻1930、1935、1940、1945は互いから識別可能である。   FIG. 19 is a schematic diagram illustrating decoding a signal in which information is encoded according to the timing of the occurrence of an event within a time interval into a signal including numbers having three or more feasible states. For example, the illustrated decoding may be performed by a decoder such as decoder 1205 shown in FIG. In the illustrated implementation, the time-based code signal 1220 includes a collection of time intervals 1420, each corresponding to a number 1905, 1910, 1915, 1920 in the signal 1230. Each time interval 1420 includes a respective data event 1425. The timing of the data event 1425 within an individual time interval 1420 indicates the state of the numbers 1905, 1910, 1915, 1920 corresponding to that time interval 1420. For example, in the illustrated implementation, the data event 1425 at interval 1420 corresponding to the first state number 1905 occurs at time 1930 near the end of interval 1420. Data event 1425 in interval 1420 corresponding to second state number 1910 occurs at time 1935 near the middle of interval 1420. Data event 1425 at interval 1420 corresponding to third state number 1925 occurs at time 1940 prior to the middle of interval 1420. Data event 1425 at interval 1420 corresponding to the fourth state number 1905 occurs at time 1945 near the beginning of interval 1420. Times 1930, 1935, 1940, 1945 are distinguishable from each other.

復号では、時間ベースのコード信号1220を信号1230に復号する。情報は、4つの異なる離散的な電位状態を有する数字、すなわち、第1の状態を有する数字1905(すなわち「A」)、第2の状態を有する数字1910(すなわち「B」)、第3の状態を有する数字1915(すなわち「C」)、および第4の状態を有する数字1920(すなわち「D」)、を用いて信号1230で表わされる。他の実現例においては、信号1230は、異なる数の実現可能な状態を有する数字(たとえば、10進数で情報を表わす10のさまざまな実現可能な状態を有する数字)で、または、非常に多数の実現可能な状態または実現可能な連続体(たとえば、ほぼアナログもしくはアナログな連続体)を有する数字で、情報を表わすことができる。いくつかの実現例においては、信号1230は、4つの異なる実現可能な状態を用いて遺伝子情報、すなわち4つの核酸、を表わすことができる。   In decoding, the time-based code signal 1220 is decoded into a signal 1230. The information includes numbers having four different discrete potential states: a number 1905 having a first state (ie “A”), a number 1910 having a second state (ie “B”), a third number The number 1915 having a state (ie, “C”) and the number 1920 having a fourth state (ie, “D”) are represented by signal 1230. In other implementations, the signal 1230 may be a number having a different number of possible states (eg, a number having 10 different possible states representing information in decimal), or a very large number Information can be represented by numbers having a feasible state or a feasible continuum (eg, a substantially analog or analog continuum). In some implementations, the signal 1230 can represent genetic information, ie, four nucleic acids, using four different realizable states.

他の実現例においては、デコーダは、N個の2進数字(すなわちビット)の所定の長さを有するバイナリ文字にグループ化されるビットの順序付けされた集まりを入力として受信するデジタル回路として実現することができる。この場合、1つのビットだけが他のビットから識別され、一連の出力符号を出力として生成する。デジタル回路は、プログラムされたコンピュータによって制御され得るか、または埋込み型コンピュータを含み得る。いくつかのこのような実現例においては、デコーダは、符号のシーケンスをアナログ出力信号に変換する回路を含む。   In other implementations, the decoder is implemented as a digital circuit that receives as input an ordered collection of bits grouped into binary characters having a predetermined length of N binary digits (ie, bits). be able to. In this case, only one bit is identified from the other bits, producing a series of output codes as output. The digital circuit can be controlled by a programmed computer or can include an embedded computer. In some such implementations, the decoder includes circuitry that converts the sequence of codes into an analog output signal.

図20は、復号システム2000の実現例を示す概略図である。システム2000は、スタンドアロンのシステムまたはより大型のシステムの一部、たとえばシステム1200(図12)などであり得る。システム2000は、ニューラル処理構成要素140および1005を含み、ここから信号1220がデコーダ1205によって受信される。信号1220は、時間間隔内におけるイベントの発生のタイミングによって情報を符号化する。いくつかの実現例においては、ニューラル処理構成要素140および1005は、信号1220におけるイベントに寄与する複数の要素を含み得る。たとえば、「ウェットな」ニューラル構成要素を用いて実現されるニューラル処理構成要素140および1005においては、複数の神経は、信号1220におけるイベントに寄与し得る。別の例として、半導体素子を用いて実現されるニューラル処理構成要素140および1005においては、複数のニューラルネットワーク出力は、信号1220におけるイベントに寄与し得る。   FIG. 20 is a schematic diagram illustrating an implementation example of the decoding system 2000. System 2000 may be a stand-alone system or part of a larger system, such as system 1200 (FIG. 12). System 2000 includes neural processing components 140 and 1005 from which signal 1220 is received by decoder 1205. The signal 1220 encodes information according to the occurrence timing of the event within the time interval. In some implementations, neural processing components 140 and 1005 may include multiple elements that contribute to events in signal 1220. For example, in neural processing components 140 and 1005 implemented using “wet” neural components, multiple nerves may contribute to an event in signal 1220. As another example, in neural processing components 140 and 1005 implemented using semiconductor elements, multiple neural network outputs can contribute to events in signal 1220.

動作時に、デコーダ1205は、信号1220を信号1230に復号して、情報1225を順序付けされた有限集合の離散数字で表わすことができる。デコーダ1205は、こうして、ニューラル処理構成要素1205およびバイナリ(および他の)デジタルデータ処理装置によって与えられるパターン認識機能と統計処理との間のインターフェイスとして機能し得る。たとえば、デコーダ1205は、たとえば制御または他の情報で信号1220に符号化された神経のスパイク列を受信するモータまたは他の補綴に含まれていてもよい。   In operation, decoder 1205 can decode signal 1220 into signal 1230 to represent information 1225 as an ordered finite set of discrete numbers. The decoder 1205 can thus serve as an interface between pattern recognition functions and statistical processing provided by the neural processing component 1205 and binary (and other) digital data processing devices. For example, the decoder 1205 may be included in a motor or other prosthesis that receives a neural spike train encoded in the signal 1220 with control or other information, for example.

図21は、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される信号復号システム、すなわちマルチチャネルデコーダシステム2100、の実現例を示す概略図である。マルチチャネルデコーダシステム2100は、単独で、または他の装置とともに用いることができる。たとえば、マルチチャネルデコーダシステム2100は時間ベースのデコーダ41(図1A)として用いることができる。   FIG. 21 is a schematic diagram illustrating an implementation example of a signal decoding system in which information is encoded according to the timing of occurrence of an event within a time interval, that is, a multi-channel decoder system 2100. Multi-channel decoder system 2100 can be used alone or with other devices. For example, multi-channel decoder system 2100 can be used as time-based decoder 41 (FIG. 1A).

システム2100は、デコーダ1205の集まり、データアグリゲータ2105、入力2110の集まり、および出力2115を含む。入力2110は、それぞれの時間ベースのコード信号1220を受信する。時間ベースのコード信号1220は各々、間隔の集まりを含んでおり、それら間隔自体がイベントを含む。これらの間隔内におけるイベントのタイミングにより情報が符号化される。いくつかの実現例においては、さまざまな時間ベースのコード信号1220はすべて、図示のとおり、同じ単一のシステムまたは媒体140から受信することができる。   System 2100 includes a collection of decoders 1205, a data aggregator 2105, a collection of inputs 2110, and an output 2115. Input 2110 receives a respective time-based code signal 1220. Each time-based code signal 1220 includes a collection of intervals, which themselves include events. Information is encoded according to the timing of events within these intervals. In some implementations, the various time-based code signals 1220 can all be received from the same single system or medium 140, as shown.

時間ベースのコード信号1220は、入力2110からデコーダ1205の対応する入力1210に与えられる。デコーダ1205は各々、こうして、それぞれの時間ベースのコード信号1220を受信するよう接続される。デコーダ1205は、情報を信号1220で復号し、復号された信号2125を出力する。復号された信号においては、信号1220の情報内容のうちの少なくともいくらかは、順序付けされた有限集合の離散数字で、たとえば高ビットおよび低ビットの集まりで、表わされる。   A time-based code signal 1220 is provided from input 2110 to a corresponding input 1210 of decoder 1205. Each decoder 1205 is thus connected to receive a respective time-based code signal 1220. The decoder 1205 decodes the information with the signal 1220 and outputs a decoded signal 2125. In the decoded signal, at least some of the information content of signal 1220 is represented by an ordered finite set of discrete numbers, eg, a collection of high and low bits.

復号された信号2125は、データアグリゲータ2105の1つ以上の入力2130に供給される。データアグリゲータ2105はまた出力2135を含む。データアグリゲータ2105は、数字の比較的小さな集まりを数字のより大きな集まりへと集約する構成要素である。図示される実現例においては、データアグリゲータ2105は、受信した復号信号を、順序付けされた有限集合の離散数字で情報1225を表わす出力信号1230へと集約するよう接続される。出力信号1230は、データアグリゲータ2105の出力2135からシステム2100の出力2115に供給される。   Decoded signal 2125 is provided to one or more inputs 2130 of data aggregator 2105. Data aggregator 2105 also includes an output 2135. The data aggregator 2105 is a component that aggregates a relatively small collection of numbers into a larger collection of numbers. In the illustrated implementation, the data aggregator 2105 is connected to aggregate the received decoded signal into an output signal 1230 that represents information 1225 in an ordered finite set of discrete digits. Output signal 1230 is provided from output 2135 of data aggregator 2105 to output 2115 of system 2100.

動作時には、各々のデコーダ1205が、システムまたは媒体140からそれぞれの時間ベースのコード信号1220を受信する。デコーダ1205は、それぞれの時間ベースのコード信号1220を、順序付けされた有限集合の離散数字で情報内容を表わす信号に復号する。データアグリゲータ2105は、信号1220を受信し、これら信号を集約し、出力信号2145に出力するよう接続される。   In operation, each decoder 1205 receives a respective time-based code signal 1220 from the system or medium 140. The decoder 1205 decodes each time-based code signal 1220 into a signal representing information content in an ordered finite set of discrete numbers. The data aggregator 2105 is connected to receive the signal 1220, aggregate these signals, and output the output signal 2145.

図22は、情報を符号化することのできるシステム2200の実現例を示す概略図である。システム2200は、マルチチャネルエンコーダ1105および圧縮エンコーダ2205を含む。   FIG. 22 is a schematic diagram illustrating an implementation example of a system 2200 capable of encoding information. System 2200 includes a multi-channel encoder 1105 and a compression encoder 2205.

圧縮エンコーダ2205は、複数の入力信号を単一の出力信号2220に圧縮する構成要素である。圧縮エンコーダ2205は、1つ以上の入力2210および出力2215の集まりを含む。1つ以上の入力2210は、マルチチャネル時間エンコーダ1105の出力1115から時間ベースのコード信号を受信するよう接続可能である。圧縮エンコーダ2205は、受信した時間ベースのコード信号を圧縮し、圧縮された信号2220を出力2215を介してシステムまたは媒体140に出力する。   The compression encoder 2205 is a component that compresses a plurality of input signals into a single output signal 2220. The compression encoder 2205 includes a collection of one or more inputs 2210 and outputs 2215. One or more inputs 2210 are connectable to receive a time-based code signal from output 1115 of multi-channel time encoder 1105. The compression encoder 2205 compresses the received time-based code signal and outputs the compressed signal 2220 to the system or medium 140 via the output 2215.

システム2200は、単独で、または他の装置とともに用いることができる。たとえば、システム2200は、時間ベースのエンコーダ25、振幅重み付け構成要素27およびコンプレッサ29(図1A)として用いることができる。   System 2200 can be used alone or in conjunction with other devices. For example, system 2200 can be used as time-based encoder 25, amplitude weighting component 27, and compressor 29 (FIG. 1A).

図23は、圧縮エンコーダ2205の一実現例を示す概略図である。圧縮エンコーダ2205は、信号の集まりから情報を符号化する構成要素であり、時間間隔内におけるイベントの発生のタイミングによって、情報が、信号2220(図22)などの時系列にされたイベントを含む信号に符号化される。   FIG. 23 is a schematic diagram illustrating an implementation example of the compression encoder 2205. The compression encoder 2205 is a component that encodes information from a collection of signals, and a signal that includes events whose information is time-series such as a signal 2220 (FIG. 22) depending on the timing of event occurrence within a time interval. Is encoded.

図示される実現例においては、エンコーダ2205は、さまざまなバイナリ−アナログコンバータ2305の集まり、インテグレータ2310、入力2315の集まり、および出力2320を含む。バイナリ−アナログコンバータ2305は各々、それぞれの入力2325および出力2330を含む。各々のバイナリ−アナログコンバータ2305の入力2325は、それぞれの信号135を受信するよう接続される。この場合、時間間隔内におけるイベントの発生のタイミングによって、情報が、対応する入力2315から符号化される。   In the illustrated implementation, encoder 2205 includes a collection of various binary-to-analog converters 2305, an integrator 2310, a collection of inputs 2315, and an output 2320. Each binary to analog converter 2305 includes a respective input 2325 and output 2330. The input 2325 of each binary to analog converter 2305 is connected to receive a respective signal 135. In this case, information is encoded from the corresponding input 2315 according to the timing of the occurrence of the event within the time interval.

各々の入力2315および対応するバイナリ−アナログコンバータ2305の対は、符号化チャネル2340を形成する。圧縮エンコーダ2205は、こうして、複数の符号化チャネル2340の並列な組合せをなす。信号135は、同じ情報を有し得るか、異なる情報内容を有し得るか、または、同じ情報内容と異なる情報内容との組合せを有し得る。   Each input 2315 and corresponding binary-to-analog converter 2305 pair forms an encoded channel 2340. The compression encoder 2205 thus forms a parallel combination of multiple encoded channels 2340. The signal 135 may have the same information, may have different information content, or may have a combination of the same information content and different information content.

各々のバイナリ−アナログコンバータ2305は、イベントの入力時系列における個々のイベントの振幅に対して、入力時系列における他のイベントのタイミングの関数として、重み付けするよう構成された構成要素である。いくつかの実現例においては、イベントは、非線形関数を用いて重み付けすることができる。いくつかの実現例においては、圧縮エンコーダ2205は、少なくとも2つの異なるバイナリ−アナログコンバータ2305を含む。異なるバイナリ−アナログコンバータ2305は、さまざまな時間感度パラメータ、さまざまな時間感度、または、これらもしくは他の係数の組合せを用いてイベントに重み付けすることができる。いくつかの実現例においては、エンコーダ2205におけるすべてのバイナリ−アナログコンバータ2305は、エンコーダ2205における他のすべてのバイナリ−アナログコンバータ2305とは異なることとなるだろう。いくつかの実現例においては、エンコーダ2205におけるバイナリ−アナログコンバータ2305の集まりは、プロセス3900(図39)などのプロセスを用いて構築されたバイナリ−アナログコンバータの完全集合である。このような違いがあるために、結果として、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される同じ信号が、異なるバイナリ−アナログコンバータ2305に入力されると、入力信号内における重み付けされていないイベントのタイミングに対応する相対的な時刻において重み付けされたイベントを含む異なる信号が、異なるバイナリ−アナログコンバータ2305によって出力されることとなる。   Each binary-to-analog converter 2305 is a component configured to weight the amplitude of individual events in the input time series of events as a function of the timing of other events in the input time series. In some implementations, events can be weighted using a non-linear function. In some implementations, the compression encoder 2205 includes at least two different binary-to-analog converters 2305. Different binary-to-analog converters 2305 can weight events using various time sensitivity parameters, various time sensitivities, or a combination of these or other factors. In some implementations, every binary to analog converter 2305 in encoder 2205 will be different from every other binary to analog converter 2305 in encoder 2205. In some implementations, the collection of binary-to-analog converters 2305 in encoder 2205 is a complete set of binary-to-analog converters constructed using a process such as process 3900 (FIG. 39). Because of this difference, as a result, when the same signal whose information is encoded by the timing of the occurrence of an event within the time interval is input to a different binary-to-analog converter 2305, it is weighted in the input signal. Different signals that include weighted events at relative times corresponding to the timing of the non-events will be output by different binary-to-analog converters 2305.

各々のバイナリ−アナログコンバータ2305は、出力2330にわたる入力信号内における重み付けされていないイベントのタイミングに対応する相対的な時刻において、重み付けされたイベントを含み得る信号2345を出力する。信号2345は、インテグレータ2310のそれぞれの入力2350に供給される。インテグレータ2310が「ウェットな」ニューラル構成要素を用いて実現される実現例においては、信号2345の特性を、ウェットなニューラル構成要素と適合するよう調整することができる。たとえば、信号2345内におけるイベントは、活動電位の振幅および時間特性を模倣するよう調整することができる。   Each binary-to-analog converter 2305 outputs a signal 2345 that may include a weighted event at a relative time corresponding to the timing of the unweighted event in the input signal across output 2330. Signal 2345 is provided to each input 2350 of integrator 2310. In implementations where the integrator 2310 is implemented using “wet” neural components, the characteristics of the signal 2345 can be adjusted to match the wet neural components. For example, events in signal 2345 can be adjusted to mimic the amplitude and time characteristics of action potentials.

インテグレータ2310は、入力2350および出力2355の集まりを含む。インテグレータ2310は、出力2355に供給される信号を生成するために入力2350で受信された信号を積分する構成要素である。これらの信号を積分することにより、これらの信号が結合されて単一の信号に圧縮される。いくつかの実現例においては、インテグレータ2310は、異なる入力2350で受信される異なる信号が、出力2355に供給される信号に対してさまざまな程度に寄与するという点で、非線形のインテグレータとなり得る。いくつかの実現例においては、インテグレータ2310は、異なる入力2350で受信される異なる信号が、出力2355に供給される信号に対して同じ程度に寄与するという点で線形のインテグレータとなり得る。いくつかの実現例においては、さらに以下に記載するように、インテグレータ2310は、脳または他のニューラル処理装置において、1つ以上のニューロンまたはノードを模して作られる。たとえば、インテグレータ2310の出力2355上に設けられる単一の信号出力2360は、入力2350において受信される異なる信号の全体的な相互作用を表わすことができる。   Integrator 2310 includes a collection of inputs 2350 and outputs 2355. Integrator 2310 is a component that integrates the signal received at input 2350 to generate the signal supplied to output 2355. By integrating these signals, these signals are combined and compressed into a single signal. In some implementations, integrator 2310 can be a non-linear integrator in that different signals received at different inputs 2350 contribute to varying degrees to the signal provided at output 2355. In some implementations, integrator 2310 can be a linear integrator in that different signals received at different inputs 2350 contribute to the same extent to the signal provided at output 2355. In some implementations, integrator 2310 is modeled on one or more neurons or nodes in a brain or other neural processing device, as described further below. For example, a single signal output 2360 provided on output 2355 of integrator 2310 can represent the overall interaction of the different signals received at input 2350.

出力2355は、信号2360を圧縮エンコーダ2205の出力2320に結合する。出力2320は、信号2365をシステムまたは媒体140に供給する。   Output 2355 couples signal 2360 to output 2320 of compression encoder 2205. Output 2320 provides signal 2365 to system or medium 140.

図24、図25、図26、図27は、インテグレータ2310のさまざまな実現例、すなわち、インテグレータ2400、インテグレータ2500、インテグレータ2600、およびインテグレータ2700、に関連する概略図である。インテグレータ2400は、ニューラル処理システムの非分岐ノードである。インテグレータ2500は、複数の分岐を有するニューラル処理システムのノードである。インテグレータ2600および2700は、ニューラル処理システムのノードのネットワークである。インテグレータ2400、2500、2600、2700はハードウェア、ソフトウェア、ウェットなニューラル構成要素、またはこれらの構成要素の組合せで構築することができる。   FIGS. 24, 25, 26, and 27 are schematic diagrams associated with various implementations of integrator 2310, namely integrator 2400, integrator 2500, integrator 2600, and integrator 2700. Integrator 2400 is a non-branching node of the neural processing system. Integrator 2500 is a node of a neural processing system having a plurality of branches. Integrators 2600 and 2700 are a network of nodes of a neural processing system. Integrators 2400, 2500, 2600, 2700 can be constructed of hardware, software, wet neural components, or a combination of these components.

図示のとおり、インテグレータ2500は分岐2505の集まりを含む。いくつかの実現例においては、分岐2505は同一の特性を有する。他の実現例においては、異なる分岐2505は異なる特性を有する。たとえば、異なる分岐2505は異なるケーブル特性を有し得る。   As shown, integrator 2500 includes a collection of branches 2505. In some implementations, branch 2505 has the same characteristics. In other implementations, different branches 2505 have different characteristics. For example, different branches 2505 may have different cable characteristics.

図示のとおり、インテグレータ2600および2700は各々、リンク2610の集まりによって接合されたノード2605の集まりを含む。リンク2610は、たとえばフィードフォワードリンク、フィードバックリンク、反復リンク、またはそれらの組合せを含み得る。インテグレータ2700は1対の出力2355を含む。出力2355はともに、入力2350で受信された信号を組合わせて圧縮した結果を供給する。しかしながら、概して、出力2355は、入力2350において受信された信号のさまざまな組合せおよび圧縮に起因して、さまざまな信号を出力することとなる。結果として、2つの異なる信号が、圧縮エンコーダから出力され、システムまたは媒体140に伝達され得る。これらの2つの異なる信号も、上述のシステムおよび技術を用いて並列に記憶または復号することができる。このような並列な記憶および復号により、データ記憶密度が低下する可能性があるかまたは付加的な処理が必要となる可能性があるが、記憶および復号の忠実性はチェックすることができ、必要に応じて、並列な復号の結果を比較することによって向上させることができる。   As shown, integrators 2600 and 2700 each include a collection of nodes 2605 joined by a collection of links 2610. Link 2610 may include, for example, a feed forward link, a feedback link, a repetitive link, or a combination thereof. Integrator 2700 includes a pair of outputs 2355. Both outputs 2355 provide the result of combining and compressing the signal received at input 2350. In general, however, output 2355 will output various signals due to various combinations and compression of the signals received at input 2350. As a result, two different signals can be output from the compression encoder and transmitted to the system or medium 140. These two different signals can also be stored or decoded in parallel using the systems and techniques described above. Such parallel storage and decoding can reduce data storage density or require additional processing, but the fidelity of storage and decoding can be checked and required Accordingly, it can be improved by comparing the results of parallel decoding.

動作時には、インテグレータ2400、2500、2600、2700は1つ以上のモデルに従って入力信号を積分することができる。たとえば、いくつかの実現例においては、インテグレータ2400は、積分−発火モデルに従って積分することができる。このようなモデルは、キャパシタCを、電流I(t)によって駆動される抵抗器Rと並列に含み、以下の数式を提供する。   In operation, integrators 2400, 2500, 2600, 2700 can integrate the input signal according to one or more models. For example, in some implementations, the integrator 2400 can integrate according to an integration-fire model. Such a model includes a capacitor C in parallel with a resistor R driven by a current I (t) and provides the following equation:

このモデルにおいては、入力2350上の信号は、時刻のいずれかの瞬間における各々の信号の振幅を線形にまとめることによって積分される(すなわち、各々の入力信号(RxI(t))の電圧が合計される)。電圧信号は、時定数τとともに指数関数的に減衰する。しきい値電圧を選択することができ、これよりも高い電圧で、バイナリ状態を出力2355において信号送出することができる。 In this model, the signal on input 2350 is integrated by linearly summing the amplitude of each signal at any instant in time (ie, the voltage of each input signal (RxI (t)) is summed. ) The voltage signal decays exponentially with a time constant τ m . A threshold voltage can be selected and a binary state can be signaled at output 2355 at a higher voltage.

他の実現例においては、インテグレータ2400〜2700は、以下の数式によって与えられるコンダクタンスベースの積分−発火ニューロンモデルに従って積分することができる   In other implementations, integrators 2400-2700 can integrate according to a conductance-based integration-firing neuron model given by the following equation:

は特定のイオン種についてのコンダクタンスであり、V−Vはコンダクタンスのネルンスト電位であり、Iextは外部から印加された電流である。 g j is a conductance for a specific ion species, V-V j is a Nernst potential of conductance, and I ext is a current applied from the outside.

このモデルにおいては、入力2350上の信号は、時刻のいずれかの瞬間に各々の信号の振幅を非線形にまとめることによって積分され、これは、時刻のいずれかの瞬間に達成される総電圧に応じて信号(Iext)の振幅をスケーリングする1つ以上のコンダクタンスgによって達成される。各々の信号の振幅はまた、コンダクタンスが変化するように設定されている場合に変動し得る時定数τとともに指数関数的に減衰する。しきい値電圧を選択することができ、これよりも高い電圧で、バイナリ状態を出力2355において信号送出することができる。 In this model, the signal on input 2350 is integrated by nonlinearly summing the amplitude of each signal at any instant in time, which depends on the total voltage achieved at any instant in time. Is achieved by one or more conductances g which scale the amplitude of the signal (I ext ). The amplitude of each signal also decays exponentially with a time constant τ m that can vary if the conductance is set to change. A threshold voltage can be selected and a binary state can be signaled at output 2355 at a higher voltage.

いくつかの実現例においては、インテグレータ2500は、電圧のコンダクタンスベースの発生がケーブル内における電圧の減衰を含むよう拡張されるモデルに従って動作し得る。これは、以下の式によって与えられる電信方程式によって記述される。   In some implementations, the integrator 2500 may operate according to a model that is expanded such that the generation of a voltage conductance base includes the attenuation of the voltage in the cable. This is described by the telegraph equation given by:

ここで、λは分岐の特性によって決定された長さ定数であり、χは分岐に沿った長さの計数化された単位であり、Vは平衡状態にある電圧である。 Where λ is a length constant determined by the characteristics of the branch, χ is a counted unit of length along the branch, and V L is the voltage at equilibrium.

このモデルにおいては、入力2350上の信号は、上述の式1または式2を用いて、そして、入力2350上の各信号がシステムの物理的な分岐に沿って他のすべての入力2350に伝搬し得るようにさらに線形に合計することによって、積分される。信号が伝搬するのに応じて長さ定数λに従って振幅が減衰する一方で、入力2350上の各信号は、各々の入力2350においてある程度まで振幅に寄与する。したがって、入力2350におけるいずれか1つの信号の振幅は、各々が例示的な入力2350の位置へと伝搬しつつも固有に減衰した後に、その信号の振幅に入力2350上の他の信号のすべての振幅の合計をプラスしたものとなる。しきい値電圧を選択することができ、これよりも高い電圧で、バイナリ状態を出力2355において信号送出することができる。   In this model, the signal on input 2350 is propagated to all other inputs 2350 using Equation 1 or Equation 2 above, and each signal on input 2350 along the physical branch of the system. It is integrated by summing more linearly to obtain. As the signal propagates, the amplitude attenuates according to the length constant λ, while each signal on the input 2350 contributes to amplitude to some extent at each input 2350. Thus, the amplitude of any one signal at input 2350 is inherently attenuated while propagating to the location of exemplary input 2350, and then the amplitude of that signal is reduced to that of all other signals on input 2350. The sum of the amplitudes is added. A threshold voltage can be selected and a binary state can be signaled at output 2355 at a higher voltage.

いくつかの実現例においては、インテグレータ2600および2700は、すべてのノードが直接的または他のノードを介して間接的に相互接続されるニューラルネットワークモデルに従って動作し得る。このようなインテグレータにおいては、いずれのノードも出力として機能し得る。いくつかの実現例においては、インテグレータ2600および2700は、以下の式によって与えられるモデルに従って動作し得る。   In some implementations, integrators 2600 and 2700 may operate according to a neural network model in which all nodes are interconnected directly or indirectly through other nodes. In such an integrator, any node can function as an output. In some implementations, integrators 2600 and 2700 may operate according to a model given by:

(t)は時刻tで入力iによって投入される電流であり、ニューロンへのnの入力が存在する。 I i (t) is the current input by input i at time t, and there are n inputs to the neuron.

このモデルにおいては、入力2350上の信号は、上述の式1、式2または式3によって各々がモデル化される処理要素2605をネットワーク接続することによって積分される。そして、これにより、各々の要素2605への付加的な内部入力2610が設けられ、こうして、すべての入力2350を任意に非線形かつ並列にまとめて出力2355をもたらすことを可能にする。処理要素2605のうちのいずれか1つの要素は、ネットワークのバイナリ状態を出力2355として信号送出するよう選択することができる。   In this model, the signal on input 2350 is integrated by networking processing elements 2605, each modeled by Equation 1, Equation 2 or Equation 3 above. This in turn provides an additional internal input 2610 to each element 2605, thus allowing all inputs 2350 to be arbitrarily non-linearly and in parallel to provide an output 2355. Any one of the processing elements 2605 may choose to signal the binary state of the network as output 2355.

インテグレータ2400、2500、2600、2700はコンプレッサ29(図1A)として用いることができる。   Integrators 2400, 2500, 2600, 2700 can be used as compressor 29 (FIG. 1A).

図28は、バイナリ−アナログコンバータ2305を示す概略図である。バイナリ−アナログコンバータ2305は、たとえば、エンコーダ、時系列スキャナまたは重み付け装置において用いることができる。このため、バイナリ−アナログコンバータ2305は、以下にさらに記載するように、いくつかの実現例においては、基準バイナリ−アナログコンバータであり得る。   FIG. 28 is a schematic diagram showing the binary-analog converter 2305. The binary-analog converter 2305 can be used in, for example, an encoder, a time series scanner, or a weighting device. Thus, the binary to analog converter 2305 may be a reference binary to analog converter in some implementations, as further described below.

バイナリ−アナログコンバータ2305は、イベントの入力時系列における個々のイベントの振幅に対して、入力時系列における他のイベントのタイミングの関数として重み付けするよう構成された構成要素である。いくつかの実現例においては、イベントは非線形関数を用いて重み付けすることができる。たとえば、バイナリ−アナログコンバータ2305は、複数の時間感度パラメータを用いて、入力信号内における先行するイベントのタイミングに基づいて各々の個々のイベントに対する個々の重みを生成することができる。バイナリ−アナログコンバータ2305は、たとえば、イベントに重みを乗じ、入力信号内における重み付けされていないイベントのタイミングに対応する相対的な時刻において重み付けされたイベントを出力することによって、生成された重みを個々のイベントに加えることができる。   The binary-to-analog converter 2305 is a component configured to weight the amplitude of individual events in the input time series of events as a function of the timing of other events in the input time series. In some implementations, events can be weighted using a non-linear function. For example, the binary-to-analog converter 2305 can use a plurality of time sensitivity parameters to generate individual weights for each individual event based on the timing of previous events in the input signal. The binary to analog converter 2305 individually generates the weights generated by, for example, multiplying the events by weights and outputting weighted events at relative times corresponding to the timing of the unweighted events in the input signal. Can be added to any event.

バイナリ−アナログコンバータ2305は入力2325および出力2330を含む。入力2325は、イベントの時系列を含む信号2805を受信する。たとえば、入力2325は、時間ベースのコード信号135または圧縮エンコーダ2205から出力された信号を受信し得る。出力2330は、入力信号内における重み付けされていないイベントのタイミングに対応する相対的な時刻において重み付けされたイベントを含む信号2810を供給する。   The binary to analog converter 2305 includes an input 2325 and an output 2330. Input 2325 receives a signal 2805 containing a time series of events. For example, input 2325 may receive a time-based code signal 135 or a signal output from compression encoder 2205. Output 2330 provides a signal 2810 that includes a weighted event at a relative time corresponding to the timing of the unweighted event in the input signal.

いくつかの実現例においては、バイナリ−アナログコンバータ2305は、個々のイベントの振幅の重み付けを既知の状態にリセットするリセット機構を含み得る。リセット機構は、たとえば、信号135のフッタ間隔520内におけるフッタイベント530の存在によってトリガされ得る(図5)。重み付けをリセットすることにより、時間感度パラメータの漸進的変化を停止させて、これらのパラメータを既知の値に戻すことができる。他の実現例においては、バイナリ−アナログコンバータ2305は、たとえば時間とともに、トリガなしでも静止可能である。   In some implementations, the binary to analog converter 2305 may include a reset mechanism that resets the amplitude weighting of individual events to a known state. The reset mechanism may be triggered, for example, by the presence of a footer event 530 within the footer interval 520 of the signal 135 (FIG. 5). By resetting the weighting, the gradual change of the time sensitivity parameters can be stopped and these parameters can be returned to known values. In other implementations, the binary-to-analog converter 2305 can be stationary without triggering, for example, over time.

いくつかの実現例においては、バイナリ−アナログコンバータ2305によって用いられるパラメータは、時間依存の微分方程式で表わすことができる。たとえば、バイナリ−アナログコンバータ2305は、3つの時間感度パラメータ(以下の式においてはU、τ、τ)および1つの時間感度パラメータ(以下の式においてはA)を用いて、個々の重みを発生させることができる。いくつかの実現例においては、イベント(1、…k)が時刻(Δ、…、Δk−1)によって分離される信号における第kのイベントの振幅Aを以下の式によって与えることができる。 In some implementations, the parameters used by the binary to analog converter 2305 can be represented by a time dependent differential equation. For example, the binary-to-analog converter 2305 uses three time sensitivity parameters (U, τ d , τ t in the following equation) and one time sensitivity parameter (A in the following equation) to convert individual weights. Can be generated. In some implementations, the amplitude A k of the kth event in a signal in which events (1,... K) are separated by time (Δ k ,..., Δ k−1 ) may be given by it can.

この場合、Ψおよびμは、第1のイベントについてのΨ=1およびμ=Uの初期値を有する隠された動的変数(μ∈[0,1];(Ψ∈[0,1])である。変数Ψは、たとえば、各々のイベントの時刻において利用可能なリソースの小数部を表わすことができる。変数μは、たとえば、各々のイベントによって用いられるリソースの小数部を表わすことができる。いくつかの実現例においては、変数はともに、各々のイベントとともに展開し、信号における各々のイベントに対する反応の振幅がさまざまに異なり、その信号におけるイベントの一時的な履歴を反映するように規定することができる。 In this case, Ψ and μ k are hidden dynamic variables (μ∈ [0,1]; (Ψ∈ [0,1]; with initial values of Ψ 1 = 1 and μ 1 = U for the first event). 1]), for example, the variable Ψ can represent the fractional part of the resources available at the time of each event, and the variable μ can represent, for example, the fractional part of the resources used by each event. In some implementations, both variables expand with each event so that the amplitude of the response to each event in the signal varies differently to reflect the temporal history of the event in that signal. Can be prescribed.

これらの動的な変数が展開する態様と、各々の反応が信号の一時的な履歴についての情報を蓄積する期間とは、時間感度パラメータ(U、τ、τ)の値に依存する。パラメータUは、第1のイベントにとって利用可能な最大リソースを設定することができ、これにより、(Aによって与えられる)実現可能な最大限の反応が分別される。こうして、A=AUとなる。パラメータτは、使用後にリソースを回復させるための時定数である。パラメータτは、簡易化されたμκから一定量(典型的にはμ)だけ回復させるための時定数である。 The manner in which these dynamic variables develop and the period in which each response accumulates information about the temporal history of the signal depends on the value of the time sensitivity parameters (U, τ d , τ f ). The parameter U can set the maximum resource available for the first event, thereby discriminating the maximum possible response (given by A). Thus, A 1 = AU. The parameter τ d is a time constant for recovering resources after use. The parameter τ f is a time constant for recovering from the simplified μ κ by a certain amount (typically μ).

パラメータU、τ、τに異なる値を割当てることにより、異なるバイナリ−アナログコンバータ2305が、イベントのうち同一の入力シーケンスに応じて異なるシーケンスの振幅を生成することとなる。いくつかの実現例においては、パラメータτ、τのうちの一方または両方についての二倍または高次の指数関数を用いて、より複雑な時間感度を達成することができる。いくつかの実現例においては、時間感度関数を用いて、τ、τのうち一方または両方を与え、パラメータ自体にリンクされた確率変数または関数を作り出すことによって、より複雑な時間感度を達成することができる。 By assigning different values to the parameters U, τ d , τ f , different binary-to-analog converters 2305 generate different sequence amplitudes according to the same input sequence of events. In some implementations, more complex time sensitivity can be achieved using a double or higher order exponential function for one or both of the parameters τ d , τ f . In some implementations, a time sensitivity function is used to provide one or both of τ d , τ f to create a more complex time sensitivity by creating a random variable or function linked to the parameter itself. can do.

いくつかの実現例においては、バイナリ−アナログコンバータ2305は、以下のうち1つ以上の文献に開示されるように実現することができる:米国特許公報2003/0208451;米国特許5,155,802;米国特許5,537,512;米国特許6,363,369;および米国特許4,962,342。これらすべての公報の内容は、引例によりこの明細書中に援用されている。たとえば、バイナリ−アナログコンバータ2305は、信号2805におけるイベントの一時的なパターンに従って反応強度を動的に調整し、これにより、米国特許6,363,369に開示されるように「動的なシナプス」をシミュレートする1つ以上の処理接合によって相互接続された信号プロセッサのネットワークを含む装置として実現することができる。これら処理接合は、ネットワークにおける1つの信号プロセッサから接合前信号を受信および処理して、接合信号を生成することにより、ネットワークにおける第2の信号プロセッサに対する接合後信号を発生させることができる。各々の処理接合は、接合信号が接合前信号に対して動的に依存するように構成することができる。   In some implementations, the binary-to-analog converter 2305 may be implemented as disclosed in one or more of the following: US Patent Publication 2003/0208451; US Patent 5,155,802; U.S. Patent 5,537,512; U.S. Patent 6,363,369; and U.S. Patent 4,962,342. The contents of all these publications are incorporated herein by reference. For example, the binary-to-analog converter 2305 dynamically adjusts the reaction intensity according to the temporal pattern of events in the signal 2805, thereby “dynamic synapses” as disclosed in US Pat. No. 6,363,369. Can be implemented as a device that includes a network of signal processors interconnected by one or more processing junctions. These processing junctions can generate post-join signals for a second signal processor in the network by receiving and processing pre-join signals from one signal processor in the network to generate a join signal. Each processing junction can be configured such that the junction signal is dynamically dependent on the pre-join signal.

図29は、イベントの時系列における個々のイベントの振幅に対する、時系列における他のイベントのタイミングの関数としての重み付けを示す概略図である。図示される重み付けは、バイナリ−アナログコンバータ2305(図28)などのバイナリ−アナログコンバータによって実行することができる。図示される実現例においては、信号135は、時間間隔内におけるイベントの発生のタイミングによって情報を符号化する時間ベースのコード信号である。たとえば、信号135は、デコーダ105(図1、図2、図4、図6、図8)から出力される時間ベースのコード信号であってもよい。信号135は、重み付けされた時間信号2900を形成するよう重み付けされる。   FIG. 29 is a schematic diagram showing the weighting of individual events in the time series of events as a function of the timing of other events in the time series. The illustrated weighting can be performed by a binary-to-analog converter, such as binary-to-analog converter 2305 (FIG. 28). In the illustrated implementation, signal 135 is a time-based code signal that encodes information according to the timing of the occurrence of an event within the time interval. For example, the signal 135 may be a time-based code signal output from the decoder 105 (FIGS. 1, 2, 4, 6, and 8). Signal 135 is weighted to form a weighted time signal 2900.

重み付けされた時間信号2900は、一連の時間間隔2905を含み、その各々がそれぞれのイベント2910を含む。イベント2910は、それぞれの間隔2905内における時刻2915で発生する。   The weighted time signal 2900 includes a series of time intervals 2905, each of which includes a respective event 2910. Event 2910 occurs at time 2915 within each interval 2905.

図示される実現例においては、イベント2910は、ベースライン(すなわち、「停止」)状態2920からハイ(すなわち、「活動」状態2925に遷移し、その後、ベースライン停止状態2920に戻るパルスである。ハイ状態2925のレベルはさまざまなイベント2910ごとに異なっている。ハイ状態2925のレベルは、イベント2910の振幅および重み付けの結果である。ハイ状態2925のレベル(すなわち、各々のイベント2910の振幅)は、信号135内におけるそのイベント2910のタイミングと信号135内における他のイベント2910のタイミングとを具体化する。言い換えれば、信号135内における2つ以上のイベント2910のタイミングによって符号化される情報は、各々のイベント2910の振幅内で具体化される。上述のとおり、いくつかの実現例においては、各々のイベント2910の振幅は、先行するイベント2910のみのタイミングを具体化することができる。   In the illustrated implementation, event 2910 is a pulse that transitions from a baseline (ie, “stop”) state 2920 to a high (ie, “activity” state 2925, and then returns to the baseline stop state 2920. The level of the high state 2925 is different for various events 2910. The level of the high state 2925 is a result of the amplitude and weighting of the event 2910. The level of the high state 2925 (ie, the amplitude of each event 2910) is , Embody the timing of that event 2910 in signal 135 and the timing of other events 2910 in signal 135. In other words, the information encoded by the timing of two or more events 2910 in signal 135 is: For each event 2910 As it is the. Above embodied in width, in some implementations, the amplitude of each of the event 2910 may be embodied timing of only events 2910 preceding.

図示される実現例においては、時間ベースのコード信号135におけるイベントの重み付けは、間隔内および信号内におけるタイミング情報を保持しつつ、それらのイベントの振幅を変化させる。特に、図示される重み付けされた時間信号2900は時間間隔2905の集まりを含み、その各々は信号135におけるそれぞれの間隔320に対応している。この対応関係は矢印2930によって表わされる。図示される実現例においては、いくつかのイベント2910は、それぞれの対応するイベント205に対する振幅で増やされ、いくつかのイベント2910は、それぞれの対応するイベント205に対する振幅で減らされる。   In the illustrated implementation, event weighting in the time-based code signal 135 changes the amplitude of those events while retaining timing information within the interval and within the signal. In particular, the illustrated weighted time signal 2900 includes a collection of time intervals 2905, each corresponding to a respective interval 320 in the signal 135. This correspondence is represented by arrow 2930. In the illustrated implementation, several events 2910 are incremented with an amplitude for each corresponding event 205, and some events 2910 are decremented with an amplitude for each corresponding event 205.

対応する時間間隔2905および320は各々、情報を符号化するそれぞれのイベント2910および325を含む。対応する時間間隔2905および325それぞれの内部におけるイベント2910および320の位置は同じである。たとえば、イベント320が時間間隔325の始めに起こる場合、対応する時間間隔2905におけるイベント2910もその間隔の始めに起こる。別の例として、イベント320が時間間隔325の途中で起こる場合、対応する時間間隔2905におけるイベント2910もその間隔の途中で起こる。図示される実現例においては、対応する間隔2905および325の期間は同じである。さらに、それぞれの信号2900および135内における他の間隔2905および325に対する対応する間隔2905および325の順序は、同じである。   Corresponding time intervals 2905 and 320 each include a respective event 2910 and 325 encoding information. The locations of events 2910 and 320 within the corresponding time intervals 2905 and 325, respectively, are the same. For example, if event 320 occurs at the beginning of time interval 325, event 2910 at the corresponding time interval 2905 also occurs at the beginning of that interval. As another example, if event 320 occurs in the middle of time interval 325, event 2910 in the corresponding time interval 2905 also occurs in the middle of that interval. In the implementation shown, the corresponding intervals 2905 and 325 have the same duration. Further, the order of the corresponding intervals 2905 and 325 relative to the other intervals 2905 and 325 in the respective signals 2900 and 135 is the same.

図30は信号2365の一実現例を示す概略図である。信号2365は、携帯電話のトランスミッタまたはディスクドライブのヘッドなどの装置の圧縮エンコーダ2205から出力することができる。信号2365は、1次元信号であってもよく、1次元信号29(図1A)であってもよい。   FIG. 30 is a schematic diagram illustrating one implementation example of the signal 2365. The signal 2365 may be output from a compression encoder 2205 of a device such as a mobile phone transmitter or a disk drive head. The signal 2365 may be a one-dimensional signal or the one-dimensional signal 29 (FIG. 1A).

信号2365は、時系列にされたイベント3005を含む。イベント3005は、タイムスパン3010によって互いから分離される。タイムスパン3010の期間は、重み付けされたイベント、たとえば重み付けされた時間信号2900、を含む振幅シーケンスの積分を具体化する。   The signal 2365 includes a time-series event 3005. Events 3005 are separated from each other by a time span 3010. The time span 3010 period embodies the integration of an amplitude sequence that includes a weighted event, eg, a weighted time signal 2900.

図示される実現例においては、イベント3005は、ベースライン(すなわち、「停止」)状態3015からハイ(すなわち、「活動」状態3020に遷移し、その後、ベースライン停止状態3015に戻るパルスである。いくつかの実現例においては、さまざまなイベント3005の形状は互いに識別不可能であり、さまざまなイベント3005はそれらのタイミングによってのみ識別可能となる。   In the illustrated implementation, the event 3005 is a pulse that transitions from the baseline (ie, “stop”) state 3015 to the high (ie, “active” state 3020 and then back to the baseline stop state 3015. In some implementations, the shapes of the various events 3005 are indistinguishable from each other, and the various events 3005 can only be identified by their timing.

単位時間内における所与の信号2365についてのタイムスパン3010の数は、予め定められた確率分布に一致するよう選択することができる。いくつかの実現例においては、確率分布は、非対称であってもよく、たとえば、その中心よりも左側に傾斜していてもよい。いくつかの実現例においては、確率分布の標準偏差は、確率分布の平均値の二乗根にほぼ等しい。たとえば、いくつかの実現例においては、単位時間内におけるタイムスパン3010の数は、ポアソン分布にされてもよい。   The number of time spans 3010 for a given signal 2365 within a unit time can be selected to match a predetermined probability distribution. In some implementations, the probability distribution may be asymmetric, eg, tilted to the left of its center. In some implementations, the standard deviation of the probability distribution is approximately equal to the square root of the mean value of the probability distribution. For example, in some implementations, the number of time spans 3010 within a unit time may be Poisson distributed.

いくつかの実現例においては、信号2365は、追加情報に追加され得るか、追加情報に重ね合わされ得るか、または追加情報とともに伝送され得る。たとえば、イベント3005は、変調またはシフトされたアナログまたはデジタル信号に追加することができ、このため、その信号におけるノイズに類似し得る。このような実現例は、特に、隠されたかまたは暗号化されたデータ通信に関連している。たとえば、イベント3005は、それ自体がたとえばラジオ放送などの目立たない情報を伝達する周波数変調アナログ信号とともに伝送することができる。通知を受けていないオブザーバにとっては、イベント3005は、この第2の信号上のノイズのように見えることとなる。このようにして、イベント3005によって符号化された情報内容を偽装することができる。   In some implementations, the signal 2365 can be added to the additional information, superimposed on the additional information, or transmitted along with the additional information. For example, event 3005 can be added to a modulated or shifted analog or digital signal, and thus can be similar to noise in that signal. Such an implementation is particularly relevant to hidden or encrypted data communications. For example, event 3005 can be transmitted with a frequency modulated analog signal that itself conveys inconspicuous information, such as a radio broadcast. For an observer who has not received the notification, the event 3005 will look like noise on the second signal. In this way, the information content encoded by the event 3005 can be camouflaged.

図31は、データ記憶装置3100を示す概略図である。データ記憶装置3100は、情報をそこに記憶することができ、そしてそこに記憶された情報にアクセスすることのできる構成要素である。たとえば、データ記憶装置3100は、光ディスク、磁気ディスク、磁気テープ、レコードアルバム、パンチカード、バーコード付きラベルまたは他のデータ記憶装置であってもよい。   FIG. 31 is a schematic diagram showing the data storage device 3100. Data storage device 3100 is a component that can store information therein and access the information stored therein. For example, the data storage device 3100 may be an optical disk, a magnetic disk, a magnetic tape, a record album, a punch card, a bar code label, or other data storage device.

データ記憶装置3100は、検知可能な物理的表現3105の集まりを含む。物理的表現3105は、データ記憶装置のリーダによって検出可能または検知可能な構造要素である。たとえば、物理的表現3105は、光ディスクのリーダによって検出可能な光ディスクのピットまたはバンプであってもよい。別の例として、物理的表現3105は、磁化センサによって検出可能な磁気ディスクまたはテープの磁化素子であってもよい。別の例として、物理的表現3105は、レコードプレーヤの針によって検出可能なレコードアルバムの特徴であってもよい。   Data storage device 3100 includes a collection of detectable physical representations 3105. The physical representation 3105 is a structural element that can be detected or sensed by a reader of the data storage device. For example, the physical representation 3105 may be an optical disc pit or bump detectable by an optical disc reader. As another example, the physical representation 3105 may be a magnetic disk or tape magnetizing element detectable by a magnetizing sensor. As another example, the physical representation 3105 may be a feature of a record album that can be detected by a record player's needle.

物理的表現3105は、経路3110に沿って順に配置および位置決めされる。経路3110は、データ記憶およびアクセスを誘導するものであり、たとえばトラック、溝、磁気テープ、バーコードの長さであり得る。各々の経路3110に沿った物理的表現3105は、互いから距離3115だけ離されている。距離3115の長さは、信号におけるイベント間の時刻に対応するようスケーリングすることができる。たとえば、距離3115の長さは、信号2365におけるタイムスパン3010の期間に対応するようスケーリングすることができる(図30)。   The physical representation 3105 is sequentially placed and positioned along the path 3110. Path 3110 guides data storage and access and can be, for example, the length of a track, groove, magnetic tape, barcode. The physical representations 3105 along each path 3110 are separated from each other by a distance 3115. The length of the distance 3115 can be scaled to correspond to the time between events in the signal. For example, the length of the distance 3115 can be scaled to correspond to the duration of the time span 3010 in the signal 2365 (FIG. 30).

データ記憶装置3100へのデータの書込み中、データ記憶装置3100の経路3110とデータ記憶装置のライタとの間の相対的な移動速度は、このような信号におけるイベント間の時刻を経路3110に沿った物理的表現3105の位置に変換することができる。データ記憶装置3100からのデータの読出し中、データ記憶装置3100の経路3110とデータ記憶装置のリーダとの間の相対的な移動速度は、経路3110に沿った物理的表現3105の位置をこのような信号におけるイベント間の時刻に変換し返すことができる。いくつかの実現例においては、読取りおよび書込み中の相対的な移動速度は一定である必要はなく、たとえばデータ記憶装置3100上の経路3110の位置に基づいて変動し得る。   During the writing of data to the data storage device 3100, the relative movement speed between the path 3110 of the data storage device 3100 and the writer of the data storage device follows the time between the events in such signals along the path 3110. It can be converted to a position in the physical representation 3105. During the reading of data from the data storage device 3100, the relative speed of movement between the path 3110 of the data storage device 3100 and the reader of the data storage device determines the position of the physical representation 3105 along the path 3110 as such. It can be converted back to the time between events in the signal. In some implementations, the relative speed of movement during reading and writing need not be constant, and may vary based on the location of path 3110 on data storage device 3100, for example.

単位長さ内における距離315の長さの数は、予め定められた確率分布に一致するよう選択することができる。いくつかの実現例においては、確率分布は、非対称であってもよく、たとえば、その中心の左側に傾斜していてもよい。いくつかの実現例においては、確率分布の標準偏差は、確率分布の平均値の二乗根とほぼ等しくなり得る。たとえば、いくつかの実現例においては、単位長さ内における距離315の長さの数は、ポアソン分布にされてもよい。   The number of lengths of the distance 315 within the unit length can be selected to match a predetermined probability distribution. In some implementations, the probability distribution may be asymmetric, eg, tilted to the left of its center. In some implementations, the standard deviation of the probability distribution can be approximately equal to the square root of the mean value of the probability distribution. For example, in some implementations, the number of lengths of the distance 315 within the unit length may be Poisson distributed.

動作時に、データ記憶装置のライタが、信号2365などの時系列にされたイベントを特徴付ける信号を受信することができる。データ記憶装置のライタは、距離3115の長さが信号におけるイベント間の時刻に対応するようスケーリングされるように、データ記憶装置3100上の1つ以上の経路3110に沿って物理的表現3105を書込むことができる。データ記憶装置3100は、物理的表現3105と、物理的表現3105を隔てる距離3115の長さとを維持または「記憶」することができる。   In operation, a writer of the data storage device can receive a signal characterizing a timed event, such as signal 2365. The data storage writer writes the physical representation 3105 along one or more paths 3110 on the data storage 3100 so that the length of the distance 3115 is scaled to correspond to the time between events in the signal. Can be included. The data storage device 3100 can maintain or “store” the physical representation 3105 and the length of the distance 3115 separating the physical representation 3105.

記憶された情報にアクセスする際に、データ記憶装置のリーダは、データ記憶装置3100上の1つ以上の経路3110に沿って物理的表現3105を隔てる距離3115の長さを測定することができる。これらの測定値は、信号2365(図30)などの時系列にされたイベントを特徴付ける信号に変換することができる。たとえば、データ記憶装置のリーダは、タイムスパン3010の期間が距離3115の長さに対応するようスケーリングされるように、信号2365を出力することができる。いくつかの実現例においては、データ記憶装置のリーダおよびデータ記憶装置のライタは同じ装置であってもよい。   In accessing the stored information, the reader of the data storage device can measure the length of the distance 3115 that separates the physical representation 3105 along one or more paths 3110 on the data storage device 3100. These measurements can be converted into signals characterizing time-series events, such as signal 2365 (FIG. 30). For example, the reader of the data storage device can output signal 2365 such that the duration of time span 3010 is scaled to correspond to the length of distance 3115. In some implementations, the reader of the data storage device and the writer of the data storage device may be the same device.

図32は、情報を復号することのできるシステム、すなわちシステム3200、の実現例を示す概略図である。システム3200は、マルチチャネルデコーダ2100および拡張デコーダ3205を含む。   FIG. 32 is a schematic diagram illustrating an implementation example of a system capable of decoding information, that is, a system 3200. System 3200 includes a multi-channel decoder 2100 and an extension decoder 3205.

拡張デコーダ3205は、1つ以上の入力信号を出力信号の集まりに拡張する構成要素である。拡張デコーダ3205は、入力3210と、1つ以上の出力3215の集まりとを含む。入力3210は、システムまたは媒体140から信号2365を受信する。拡張デコーダ3205は、信号2365を拡張し、そして、1つ以上の出力3215上における時間間隔内におけるイベントの発生のタイミングによって情報が符号化される1つ以上の信号の集まりをマルチチャネルデコーダ2100に出力する。   The extension decoder 3205 is a component that extends one or more input signals to a collection of output signals. Extended decoder 3205 includes an input 3210 and a collection of one or more outputs 3215. Input 3210 receives signal 2365 from system or medium 140. The extension decoder 3205 extends the signal 2365 and provides the multi-channel decoder 2100 with a collection of one or more signals whose information is encoded according to the timing of the occurrence of an event within a time interval on one or more outputs 3215. Output.

システム3200は、単独で、または他の装置とともに用いることができる。たとえば、システム3200は、重み付けエキスパンダ37、振幅デコーダ39および時間ベースのデコーダ41(図1A)として用いることができる。   System 3200 can be used alone or in conjunction with other devices. For example, system 3200 can be used as weighting expander 37, amplitude decoder 39, and time-based decoder 41 (FIG. 1A).

図33は、拡張デコーダ3205の一実現例を示す概略図である。デコーダ3205は、時系列にされたイベント含む信号における情報を時間ベースのコード信号に復号する構成要素であり、この場合、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される。デコーダ3205は、こうして、信号2365(図30)などの信号を信号1220(図12)などの信号に復号することができる。   FIG. 33 is a schematic diagram illustrating an implementation example of the extension decoder 3205. The decoder 3205 is a component that decodes information in a time-series signal including an event into a time-based code signal. In this case, the information is encoded according to the occurrence timing of the event within the time interval. Decoder 3205 can thus decode signals such as signal 2365 (FIG. 30) into signals such as signal 1220 (FIG. 12).

入力3210および1つ以上の出力3215に加えて、デコーダ3205は、重み付け装置3310および時系列スキャナ3315を含む。重み付け装置3310は、時系列にされたイベントを含む信号におけるイベントに重み付けするための構成要素である。時系列スキャナ3315は、適切に基準化されたバイナリ−アナログコンバータに入力されると、時間ベースのコード信号をもたらす時系列を走査する構成要素であり、この場合、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される。   In addition to input 3210 and one or more outputs 3215, decoder 3205 includes a weighting device 3310 and a time series scanner 3315. The weighting device 3310 is a component for weighting events in a signal including events that are time-series. The time series scanner 3315 is a component that scans a time series that, when input to an appropriately scaled binary-to-analog converter, results in a time-based code signal, in this case the occurrence of events within a time interval. Information is encoded according to timing.

拡張デコーダ3205の入力3210は信号2365を受信する。信号2365は時系列にされたイベントを含む。重み付け装置3310は、入力3210に結合され、出力3335を含む。出力3335は、振幅イベント3340の正味の級数を供給する。   Input 3210 of extension decoder 3205 receives signal 2365. Signal 2365 includes time-series events. The weighting device 3310 is coupled to the input 3210 and includes an output 3335. Output 3335 provides the net series of amplitude event 3340.

時系列スキャナ3315は入力3345を含み、デコーダ3305の出力3215に結合される。入力3345は、イベント3340を受信し、時間ベースのコード信号を出力する。この場合、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される。たとえば、出力3215は、信号135をシステムまたは媒体に供給することができる。   Time series scanner 3315 includes an input 3345 and is coupled to an output 3215 of decoder 3305. Input 3345 receives event 3340 and outputs a time-based code signal. In this case, information is encoded according to the occurrence timing of the event within the time interval. For example, output 3215 can provide signal 135 to a system or medium.

拡張デコーダは、単独で、または他の装置とともに用いることができる。たとえば、拡張デコーダは、重み付けエキスパンダ37および振幅デコーダ39(図1A)として用いることができる。   The extension decoder can be used alone or with other devices. For example, the extended decoder can be used as a weighting expander 37 and an amplitude decoder 39 (FIG. 1A).

図34は、重み付け装置3310を示す概略図である。重み付け装置3310は、時系列にされたイベントを含む信号におけるイベントに重み付けするための構成要素である。たとえば、重み付け装置3310は、信号2365のイベント3005に重み付けすることができる(図30)。以下にさらに記載するように、重み付け装置3310がイベントに重み付けする際の重みは、圧縮エンコーダ2205の入力チャネル2340上の特定の信号上で数学的動作または他の動作を表現することに成功したことに基づいて選択することができる(図23)。たとえば、いくつかの実現例においては、重み付け装置3310がイベントに重み付けする際の重みは、入力チャネル2340上の信号に対するデータ圧縮動作および暗号化動作、入力チャネル2340上の信号に対する文書処理動作、入力チャネル2340上の信号に対する数字処理動作、入力チャネル2340上の信号に対する画像処理動作、および入力チャネル2340上の信号に対する信号処理動作のうちの1つ以上を実行するよう選択可能である。重み付け装置3310は、拡張デコーダ3205の一部であってもよい(図33)。   FIG. 34 is a schematic diagram showing the weighting device 3310. The weighting device 3310 is a component for weighting events in a signal including events that are time-series. For example, the weighting device 3310 can weight the event 3005 of the signal 2365 (FIG. 30). As described further below, the weighting by which the weighting device 3310 weights events has succeeded in representing mathematical or other behavior on a particular signal on the input channel 2340 of the compression encoder 2205. Can be selected based on (FIG. 23). For example, in some implementations, the weighting device 3310 weights events for data compression and encryption operations on signals on input channel 2340, document processing operations on signals on input channel 2340, input One or more of a number processing operation on the signal on channel 2340, an image processing operation on the signal on input channel 2340, and a signal processing operation on the signal on input channel 2340 may be selected. The weighting device 3310 may be part of the extended decoder 3205 (FIG. 33).

重み付け装置3310は、入力3210、出力3335、バイナリ−アナログコンバータ2305の集まり、乗算器3440の集まり、重み3445の集まり、および加算器3465を含む。入力3210は、時系列にされたイベントを含む信号2365を受信する。入力3210は、バイナリ−アナログコンバータ2305の入力2325に信号2365を分配する。バイナリ−アナログコンバータ2305は各々、入力時系列における他のイベントのタイミングの関数として、イベントの入力時系列における個々のイベントの振幅に重み付けをする。たとえば、各々のバイナリ−アナログコンバータ2305は、時間感度パラメータを用いて、信号2365内における先行するイベントのタイミングに基づいて個々のイベントごとに個々の重みを生成することができる。概して、各々のバイナリ−アナログコンバータ2305は、たとえば、イベントに重みを乗じ、信号2365内における重み付けされていないイベントのタイミングに対応する相対的時刻において重み付けされたイベントを出力することによって、生成された重みを個々のイベントに加える。   The weighting device 3310 includes an input 3210, an output 3335, a collection of binary-to-analog converters 2305, a collection of multipliers 3440, a collection of weights 3445, and an adder 3465. Input 3210 receives a signal 2365 that includes time-series events. Input 3210 distributes signal 2365 to input 2325 of binary to analog converter 2305. Each binary-to-analog converter 2305 weights the amplitude of individual events in the input time series of events as a function of the timing of other events in the input time series. For example, each binary-to-analog converter 2305 can use the time sensitivity parameter to generate individual weights for each individual event based on the timing of previous events in the signal 2365. In general, each binary-to-analog converter 2305 is generated, for example, by multiplying an event by a weight and outputting a weighted event at a relative time corresponding to the timing of the unweighted event in signal 2365. Add weight to individual events.

いくつかの実現例においては、バイナリ−アナログコンバータ2305の集まりは、プロセス3900(図39)などのプロセスを用いて構築することができる。いくつかの実現例においては、重み付け装置3310におけるバイナリ−アナログコンバータ2305のセットは、プロセス3900を用いて構築されるバイナリ−アナログコンバータの完全集合になり得る。   In some implementations, the collection of binary-to-analog converters 2305 can be constructed using a process such as process 3900 (FIG. 39). In some implementations, the set of binary-to-analog converters 2305 in weighting device 3310 can be a complete set of binary-to-analog converters constructed using process 3900.

各々のバイナリ−アナログコンバータ2305は出力2330を含み、これに対して、重み付けされた時系列のイベント3430が出力される。重み付けされた時系列のイベント3430は、入力としてそれぞれの乗算器3440に供給される。乗算器3440は、重み付けされた時系列のイベントに別の重みを乗ずるよう構成された構成要素である。以下にさらに記載されるように、重み3445はトレーニングプロセス中に決定することができる。たとえば、重み3445は各々、対応するバイナリ−アナログコンバータ2305が圧縮エンコーダ2205のチャネル2340に入力された特定の信号135を表示することに成功したことに応じて決定することができる。別の例として、重み3445は、それぞれのバイナリ−アナログコンバータ2305が圧縮エンコーダ2205のチャネル2340に入力された特定の信号135で数学的動作または他の動作を表現することに成功したことに応じて決定することができる。   Each binary to analog converter 2305 includes an output 2330 for which a weighted time series of events 3430 is output. Weighted time series events 3430 are provided as inputs to respective multipliers 3440. The multiplier 3440 is a component configured to multiply the weighted time series event by another weight. As described further below, the weight 3445 can be determined during the training process. For example, each of the weights 3445 can be determined in response to the corresponding binary-to-analog converter 2305 successfully displaying a particular signal 135 input to the channel 2340 of the compression encoder 2205. As another example, the weights 3445 are in response to each binary-to-analog converter 2305 successfully representing a mathematical or other operation with a particular signal 135 input to the channel 2340 of the compression encoder 2205. Can be determined.

各々の重み3445は、それぞれの入力3450を介して乗算器3440によって受信され得る。重み3445は、たとえば1つ以上のデータ記憶装置に記憶させることができる。乗算器3440は、重み3445に従って入力3435上で受信された、重み付けされた時系列のイベント3430をスケーリングする構成要素である。乗算器3440は、重み付けされ時系列のイベントを線形または非線形にスケーリングすることができる。たとえば、いくつかの実現例においては、乗算器3440は、重み3445をスカラー重みとして用いて、各々の時系列における重み付けされたイベントに対応する重み3445を乗ずることができる。いくつかの実現例においては、乗算器3440は、重み3445を用いて、各々の時系列におけるさまざまな重み付けされたイベントを非線形などの形にスケーリングすることができる。   Each weight 3445 may be received by multiplier 3440 via a respective input 3450. The weight 3445 can be stored, for example, in one or more data storage devices. Multiplier 3440 is a component that scales the weighted time series of events 3430 received on input 3435 according to weight 3445. Multiplier 3440 can scale weighted and time series events linearly or non-linearly. For example, in some implementations, multiplier 3440 can multiply weight 3445 corresponding to the weighted event in each time series using weight 3445 as a scalar weight. In some implementations, multiplier 3440 can use weights 3445 to scale various weighted events in each time series to a non-linear or other form.

各々の乗算器3440は、加算器3465の入力3460に結合された出力3450を介して、スケーリングされかつ重み付けされた時系列のイベント3455を出力する。加算器3465は、これらのスケーリングされ重み付けされたイベント3455を、入力されたスケーリングされ重み付けされた時系列で時刻ごとに合計して振幅イベント3470の正味の級数を生成する構成要素である。   Each multiplier 3440 outputs a scaled and weighted time series of events 3455 via an output 3450 coupled to an input 3460 of adder 3465. Adder 3465 is a component that sums these scaled and weighted events 3455 for each time in the input scaled and weighted time series to produce a net series of amplitude events 3470.

いくつかの実現例においては、加算器3465は、正味の級数3470において振幅イベントを生成するための動的しきい値を含み得る。動的しきい値は変動するしきい値である。動的しきい値は、正味の級数3470における振幅イベントを含めるためにより低いカットオフであってもよい。言い換えれば、第1の時刻におけるスケーリングされ重み付けされたイベントの合計が、このより低いカットオフ未満である場合、たとえ合計がゼロでなくても、この合計は正味の級数3470には含まれない。動的しきい値は、正味の級数3470における振幅イベントの数を制御するよう変更されてもよい。たとえば、動的しきい値は、正味の級数3470における振幅イベントの数が入力信号2365におけるイベントの数に等しくなることを確実にするよう変更することができる。いくつかの実現例においては、加算器3465が、まず、入力されスケーリングおよび重み付けがなされた時系列で時刻ごとにスケーリングされ重み付けされたイベントを合計し、次いで、正味の級数3470における振幅イベントの数が信号2365におけるイベントの数と等しくなるまで動的な振幅が徐々に低下する。これにより、同じ動的しきい値を正味の級数3470全体に適用することが可能となる。   In some implementations, the adder 3465 may include a dynamic threshold for generating an amplitude event in the net series 3470. A dynamic threshold is a variable threshold. The dynamic threshold may be a lower cutoff to include amplitude events in the net series 3470. In other words, if the sum of the scaled and weighted events at the first time is less than this lower cutoff, this sum is not included in the net series 3470, even if the sum is not zero. The dynamic threshold may be modified to control the number of amplitude events in the net series 3470. For example, the dynamic threshold can be changed to ensure that the number of amplitude events in the net series 3470 is equal to the number of events in the input signal 2365. In some implementations, adder 3465 first sums the scaled and weighted events for each time in the input scaled and weighted time series, then the number of amplitude events in the net series 3470. The dynamic amplitude gradually decreases until is equal to the number of events in signal 2365. This allows the same dynamic threshold to be applied to the entire net series 3470.

図示される実現例においては、正味の級数3470内における振幅イベントは、不均一な期間で分離される。このことは必ずしも当てはまるわけではない。この代わりに、加算器3465は、タイミング情報なしで正味の級数3470内における振幅イベントを出力することができる。上述の動的しきい値を考慮すると、加算器3465は、実質的に、それらのイベント間のタイミングについて記述することなく最大の振幅イベントの振幅のリストを正味の級数3470として出力することができる。このようなリストにおける振幅の順序は、このようなイベントが起こった順序に対応し得る。   In the illustrated implementation, the amplitude events within the net series 3470 are separated by non-uniform periods. This is not necessarily true. Alternatively, adder 3465 can output an amplitude event in net series 3470 without timing information. Considering the dynamic threshold described above, adder 3465 can output a list of amplitudes of the largest amplitude event as a net series 3470, substantially without describing the timing between those events. . The order of amplitudes in such a list may correspond to the order in which such events occurred.

図35は、イベントの時系列における個々のイベントの振幅に対する時系列における他のイベントのタイミングの関数としての重み付けを示す概略図である。図示される重み付けは、バイナリ−アナログコンバータ2305(図28)などのバイナリ−アナログコンバータによって実行することができる。図示される実現例においては、信号2365は、タイムスパン3010によって互いから分離されている時系列のイベント3005を含む。タイムスパン3010の期間は、重み付けされたイベントを含む振幅シーケンスの積分を具体化する。こうして、信号2365は、たとえばインテグレータ2310、2400、2500、2600、2700などのうちの1つのインテグレータから出力することができる。   FIG. 35 is a schematic diagram showing the weighting as a function of the timing of other events in the time series relative to the amplitude of individual events in the time series of events. The illustrated weighting can be performed by a binary-to-analog converter, such as binary-to-analog converter 2305 (FIG. 28). In the illustrated implementation, signal 2365 includes time series events 3005 that are separated from each other by a time span 3010. The time span 3010 period embodies the integration of an amplitude sequence that includes weighted events. Thus, signal 2365 can be output from one of the integrators 2310, 2400, 2500, 2600, 2700, etc., for example.

信号2365は、重み付けされた時間信号3500を形成するよう重み付けされる。重み付けされた時間信号3500は、タイムスパン3510によって互いから隔てられるイベント3505の集まりを含む。   Signal 2365 is weighted to form a weighted time signal 3500. Weighted time signal 3500 includes a collection of events 3505 separated from each other by a time span 3510.

図示される実現例においては、イベント3505は、ベースライン(すなわち、「停止」)状態3520からハイ(すなわち、「活動」)状態3525に遷移し、その後、ベースライン停止状態3520に戻るパルスである。ハイ状態3525のレベルはさまざまなイベント3505ごとに異なる。ハイ状態3525のレベルは、イベント3505の振幅および重み付けの結果である。ハイ状態3525のレベル(すなわち各々のイベント3505の振幅)は、信号2365内におけるそのイベント3505のタイミングと、信号2365内における他のイベント3505のうちの少なくともいくつかのタイミングとを具体化する。言い換えれば、信号2365内における2つ以上のイベント3505のタイミングによって符号化された情報は、各々のイベント3505の振幅内で具体化される。上述のとおり、いくつかの実現例においては、各々のイベント3505の振幅は、先行するイベント3505のみのタイミングを具体化し得る。   In the illustrated implementation, event 3505 is a pulse that transitions from a baseline (ie, “stop”) state 3520 to a high (ie, “activity”) state 3525 and then back to the baseline stop state 3520. . The level of the high state 3525 is different for various events 3505. The level of high state 3525 is a result of the amplitude and weighting of event 3505. The level of high state 3525 (ie, the amplitude of each event 3505) embodies the timing of that event 3505 in signal 2365 and at least some of the other events 3505 in signal 2365. In other words, information encoded by the timing of two or more events 3505 in signal 2365 is embodied within the amplitude of each event 3505. As described above, in some implementations, the amplitude of each event 3505 may embody the timing of the preceding event 3505 only.

図示される実現例においては、いくつかのイベント3505は、それぞれの対応するイベント2365に対する振幅で増やされ、いくつかのイベント3505は、それぞれの対応するイベント2365に対する振幅で減らされる。   In the illustrated implementation, several events 3505 are incremented with an amplitude for each corresponding event 2365 and some events 3505 are decremented with an amplitude for each corresponding event 2365.

重み付けされた時間信号3500内におけるイベント3505の発生間のタイムスパン3510は、2365内におけるイベント3005の発生間のタイムスパン3010にスケーリングされる。図示される実現例においては、タイムスパン3510は、タイムスパン3010に1対1でスケーリングされる。言い換えれば、第1の対のイベント3005を隔てるタイムスパン3010は、第1の対に対応する1対のイベント3505を隔てるタイムスパン3510と同一である。   The time span 3510 between occurrences of event 3505 within the weighted time signal 3500 is scaled to the time span 3010 between occurrences of event 3005 within 2365. In the illustrated implementation, the time span 3510 is scaled 1: 1 to the time span 3010. In other words, the time span 3010 separating the first pair of events 3005 is the same as the time span 3510 separating the pair of events 3505 corresponding to the first pair.

図36は時系列スキャナ3315を示す概略図である。時系列スキャナ3315は、適切に基準化されたバイナリ−アナログコンバータに入力されると時間ベースのコード信号をもたらす、時系列について走査する構成要素である。この場合、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される。たとえば、時系列スキャナ3315は、圧縮エンコーダ2205のチャネル2340(図23)に入力された時間ベースのコード信号135と近似しているかまたは同じである時間ベースのコード信号135をについて走査することができる。   FIG. 36 is a schematic diagram showing a time series scanner 3315. Time series scanner 3315 is a component that scans for a time series that, when input to an appropriately scaled binary-to-analog converter, results in a time-based code signal. In this case, information is encoded according to the occurrence timing of the event within the time interval. For example, the time series scanner 3315 can scan for a time-based code signal 135 that is similar to or the same as the time-based code signal 135 input to the channel 2340 (FIG. 23) of the compression encoder 2205. .

時系列スキャナ3315は入力3345および出力3215を含む。入力3345は、振幅または振幅イベントの正味の級数3470を受信する。入力3345は、正味の級数3470を振幅バッファ3625の入力3620に伝達する。振幅バッファ3625は、コンパレータ3635による比較のために正味の級数3470における振幅をバッファリングする構成要素である。いくつかの実現例においては、振幅バッファ3625は、正味の級数3470の振幅または振幅イベントの大きさを記憶するキャッシュまたは他のメモリを含み得る。正味の級数3470がタイミング情報を含む実現例においては、振幅バッファ3625は、振幅情報を失うことなく正味の級数3470からタイミング情報を除去するための構成要素を含み得る。振幅バッファ3615は、バッファリングされた振幅をコンパレータ3635の入力3640に与える出力3630を含む。   Time series scanner 3315 includes an input 3345 and an output 3215. Input 3345 receives a net series 3470 of amplitudes or amplitude events. Input 3345 communicates net series 3470 to input 3620 of amplitude buffer 3625. The amplitude buffer 3625 is a component that buffers the amplitude in the net series 3470 for comparison by the comparator 3635. In some implementations, the amplitude buffer 3625 may include a cache or other memory that stores the magnitude of the net series 3470 or the magnitude of the amplitude event. In implementations where the net series 3470 includes timing information, the amplitude buffer 3625 may include components for removing timing information from the net series 3470 without losing amplitude information. Amplitude buffer 3615 includes an output 3630 that provides the buffered amplitude to input 3640 of comparator 3635.

コンパレータ3635はまた入力3645および出力3650を含む。コンパレータ3635は、入力3640上の振幅を入力3645上の振幅と比較し、出力3650上で比較の結果を表示する構成要素である。比較の結果により、入力3640と入力3645との振幅の差が具体化される。たとえば、入力3640と入力3645との振幅の差が非常に小さい場合、出力3650は小さい信号を出力することができる。   Comparator 3635 also includes an input 3645 and an output 3650. Comparator 3635 is a component that compares the amplitude on input 3640 with the amplitude on input 3645 and displays the result of the comparison on output 3650. As a result of the comparison, a difference in amplitude between the input 3640 and the input 3645 is realized. For example, if the difference in amplitude between input 3640 and input 3645 is very small, output 3650 can output a small signal.

コンパレータ3635は、振幅バッファ3615においてバッファリングされた振幅を、基準バイナリ−アナログコンバータ2305から出力された振幅と比較する。単一の構成要素として示されているが、コンパレータ3635は、個々の振幅を比較するために、たとえば並列に接続されたコンパレータの集まりを含み得る。言い換えれば、第1のコンパレータは、振幅バッファ3625においてバッファリングされた第1の振幅を基準バイナリ−アナログコンバータ2305から出力された第1の振幅と比較することができ、第2のコンパレータは、振幅バッファ3625においてバッファリングされた第2の振幅を基準バイナリ−アナログコンバータ2305から出力された第2の振幅と比較することができる、などである。コンパレータのこのような集まりによる個々の比較の結果は、1つ以上の出力の集まりに出力することができる。   The comparator 3635 compares the amplitude buffered in the amplitude buffer 3615 with the amplitude output from the reference binary-analog converter 2305. Although shown as a single component, comparator 3635 may include a collection of comparators connected in parallel, for example, to compare individual amplitudes. In other words, the first comparator can compare the first amplitude buffered in the amplitude buffer 3625 with the first amplitude output from the reference binary-to-analog converter 2305, and the second comparator can The second amplitude buffered in buffer 3625 can be compared to the second amplitude output from reference binary-to-analog converter 2305, and so on. The results of individual comparisons by such a collection of comparators can be output to one or more output collections.

コンパレータ3635の出力3660は、時間ベースのコードパーミュータ3670の入力3665に供給される。時間ベースのコードパーミュータ3670は、出力3660によるフィードバックに応じて時間ベースのコードの時間を並べ替える構成要素である。特に、時間ベースのコードパーミュータ3670は、コンパレータ3635の入力3640と入力3645との振幅の差を最小限にするよう時間ベースのコードを並べ替える。時間ベースのコードパーミュータ3670は、出力3680を介して、候補となる時間ベースのコード3675を出力する。以下にさらに記載するように、候補となる時間ベースのコードは、圧縮エンコーダ2205のチャネル2340(図23)に入力された時間ベースのコード信号135に近似した解として提案される。たとえば、時間ベースのコードパーミュータ3670は、逐次近似法を用いて、候補となる時間ベースのコード3675を生成することができる。   The output 3660 of the comparator 3635 is provided to the input 3665 of the time-based code permuter 3670. The time-based code permuter 3670 is a component that rearranges the time-based code times in response to feedback from the output 3660. In particular, the time-based code permuter 3670 reorders the time-based code to minimize the amplitude difference between the input 3640 and the input 3645 of the comparator 3635. Time-based code permuter 3670 outputs candidate time-based code 3675 via output 3680. As described further below, candidate time-based codes are proposed as solutions that approximate the time-based code signal 135 input to channel 2340 (FIG. 23) of compression encoder 2205. For example, the time-based code permuter 3670 can generate candidate time-based code 3675 using a successive approximation method.

コード3675は、基準バイナリ−アナログコンバータ2305の入力2325に供給される。基準バイナリ−アナログコンバータ2305は、たとえば、複数の時間感度パラメータを用いて、時間ベースのコード内における先行するイベントのタイミングに基づいて個々の各イベントについての個々の重みを生成するために、候補となる時間ベースのコードにおける他のイベントのタイミングの関数として、候補となる時間ベースのコードの個々のイベントの振幅に重み付けすることができる構成要素である。基準バイナリ−アナログコンバータ2305は、候補となる時間ベースのコード内で、またはタイミング情報なしで、重み付けされていないイベントのタイミングに対応する相対的時刻において、重み付けされたイベントを出力することができる。言い換えれば、基準バイナリ−アナログコンバータ2305は、入力された候補となる時間ベースのコードでそれらのイベント間のタイミングを記述することなく、振幅重みについての順序付けられたリストを出力することができる。いくつかの実現例においては、基準バイナリ−アナログコンバータ2305は、重みまたは重み付けされた振幅の大きさを記憶するバッファ、キャッシュまたは他のメモリを含み得る。   Code 3675 is provided to input 2325 of reference binary-to-analog converter 2305. The reference binary-to-analog converter 2305 may use a plurality of time sensitivity parameters, for example, to generate individual weights for each individual event based on the timing of previous events in the time-based code. A component that can weight the amplitude of individual events in a candidate time-based code as a function of the timing of other events in the time-based code. The reference binary-to-analog converter 2305 can output the weighted event at a relative time corresponding to the timing of the unweighted event in the candidate time-based code or without timing information. In other words, the reference binary-to-analog converter 2305 can output an ordered list of amplitude weights without describing the timing between those events in the input candidate time-based code. In some implementations, the reference binary-to-analog converter 2305 may include a buffer, cache, or other memory that stores weighted or weighted amplitude magnitudes.

いくつかの実現例においては、基準バイナリ−アナログコンバータ2305は、圧縮エンコーダ2205のバイナリ−アナログコンバータ2305(図23)と同一であってもよい。たとえば、時系列スキャナ3315における基準バイナリ−アナログコンバータ2305によって用いられる時間感度パラメータは、チャネル2340におけるバイナリ−アナログコンバータ2305によって用いられる時間感度パラメータと同一であり得る。   In some implementations, the reference binary-to-analog converter 2305 may be identical to the binary-to-analog converter 2305 (FIG. 23) of the compression encoder 2205. For example, the time sensitivity parameter used by the reference binary-to-analog converter 2305 in the time series scanner 3315 may be the same as the time sensitivity parameter used by the binary-to-analog converter 2305 in the channel 2340.

いくつかの実現例においては、時間ベースのコードパーミュータ3670はまた、出力3660によって与えられるフィードバックを、コンパレータ3635の入力3640と3645との振幅同士の許容可能な量の差を具体化するしきい値レベルと比較するコンパレータを含み得る。時間ベースのコードパーミュータ3670は、許容可能な量の差に達するまで候補となる時間ベースのコードを並べ替えることができる。言い換えれば、忠実性が非常に重要な実現例においては、しきい値レベルは、より厳密であってもよく、コンパレータ3635の入力3640と入力3645との振幅の差を比較的小さくするかまたはゼロにすることが必要となるよう設定される。このような状況下では、概して、時間ベースのコードパーミュータ3670が実行することとなる並べ替えが比較的多くなるだろう。忠実性がそれほど重要ではなく、たとえば速度などの要因がより重要である実現例においては、しきい値レベルはそれほど厳密ではあり得ず、コンパレータ3635の入力3640と入力3645との振幅同士の差を比較的大きくすることができるように設定することができる。このような状況下では、概して、時間ベースのコードパーミュータ3670が実行することとなる並べ替えは比較的少なくなるだろう。いくつかの場合には、コンパレータ3635の入力3640と入力3645との振幅同士の許容可能な量の差は、一般に必要とされるよりも多くの並べ替えまたは少ない並べ替えを行った後に達成され得る。たとえば、時間ベースのコードパーミュータ3670は、置換をほとんど行わずに、偶然に、候補となる時間ベースのコードを出力して、非常に厳密なしきい値レベルさえも満たす可能性がある。いくつかの実現例においては、しきい値の厳密性は、さまざまな情況下での動作のために、たとえばユーザによって、調整可能であり得る。   In some implementations, the time-based code permuter 3670 also implements the feedback provided by the output 3660 to account for an acceptable amount difference between the amplitudes of the inputs 3640 and 3645 of the comparator 3635. A comparator may be included that compares to the value level. The time-based code permuter 3670 can reorder candidate time-based codes until an acceptable amount of difference is reached. In other words, in implementations where fidelity is very important, the threshold level may be more stringent, and the difference in amplitude between input 3640 and input 3645 of comparator 3635 may be relatively small or zero. Is set to be necessary. Under such circumstances, the reordering that the time-based code permuter 3670 will perform will generally be relatively large. In implementations where fidelity is less important and factors such as speed are more important, the threshold level may not be so strict and the difference between the amplitudes of the input 3640 and the input 3645 of the comparator 3635 may be It can be set to be relatively large. Under such circumstances, there will generally be relatively little reordering that the time-based code permuter 3670 will perform. In some cases, an acceptable amount difference between the amplitudes of input 3640 and input 3645 of comparator 3635 may be achieved after performing more or less reordering than is generally required. . For example, the time-based code permuter 3670 may accidentally output a candidate time-based code with little substitution and meet even a very strict threshold level. In some implementations, the threshold stringency may be adjustable, for example by a user, for operation under various circumstances.

しきい値レベルに達するかまたはしきい値レベルを超える出力3660からのフィードバックに応じて、時間ベースのコードパーミュータ3670が、出力3690を介して選択信号3685を出力し得る。選択信号3685は、コンパレータ3635の入力3640と入力3645との振幅同士の差が許容可能な低いレベルに達したことを示す。選択信号3685は、スイッチ3690を閉じるように設定することができ、これにより、出力3215をコード3675に関連させることができる。これにより、候補となる時間ベースのコード3675が出力3215に伝達されて、信号135でステムまたは媒体140に出力される。   In response to feedback from output 3660 reaching or exceeding the threshold level, time-based code permuter 3670 may output a selection signal 3585 via output 3690. Selection signal 3865 indicates that the difference in amplitude between input 3640 and input 3645 of comparator 3635 has reached an acceptable low level. The selection signal 3585 can be set to close the switch 3690 so that the output 3215 can be associated with the code 3675. This causes candidate time-based code 3675 to be transmitted to output 3215 and output to stem or medium 140 as signal 135.

図37は、拡張デコーダ3205、すなわちマルチチャネル拡張デコーダ3700、を示す概略図である。デコーダ3700は、時系列のイベントを含む信号における情報を時間ベースのコード信号に復号する構成要素であり、この場合、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される。デコーダ3700は、こうして、信号2365(図30)などの信号を信号135の集まりに復号することができる。デコーダ3700は、単独で、または他の装置とともに用いることができる。たとえば、デコーダ3700は、重み付けエキスパンダ37および振幅デコーダ39(図1A)として用いることができる。   FIG. 37 is a schematic diagram showing an extension decoder 3205, that is, a multi-channel extension decoder 3700. The decoder 3700 is a component that decodes information in a signal including time-series events into a time-based code signal. In this case, information is encoded according to the timing of event occurrence within a time interval. Decoder 3700 can thus decode a signal, such as signal 2365 (FIG. 30), into a collection of signals 135. The decoder 3700 can be used alone or with other devices. For example, the decoder 3700 can be used as a weighting expander 37 and an amplitude decoder 39 (FIG. 1A).

デコーダ3700は、重み付け装置3310の集まり、時系列スキャナ3315の集まり、入力3710、および1つ以上の出力3715の集まりを含む。重み付け装置3310は各々、対応する時系列スキャナ3315と対をなす。これらの対は、デコーダ3700における復号チャネル3717の集まりを形成し得る。デコーダ3700は、こうして、複数の復号チャネル3717の並列な組合せをなし、その各々は、別個の拡張デコーダ3205を形成する。   The decoder 3700 includes a collection of weighting devices 3310, a collection of time series scanners 3315, an input 3710, and a collection of one or more outputs 3715. Each weighting device 3310 is paired with a corresponding time series scanner 3315. These pairs may form a collection of decoding channels 3717 at decoder 3700. The decoder 3700 thus forms a parallel combination of multiple decoding channels 3717, each of which forms a separate enhanced decoder 3205.

デコーダ3700においては、各々の重み付け装置3310は、関連付けられたセットのバイナリ−アナログコンバータ2305および関連付けられたセットの重み3445を用いて、イベントに重み付けすることができる。いくつかの実現例においては、バイナリ−アナログコンバータ2305のうちの少なくともいくつか、さまざまな重み付け装置3310の重み3445のうち少なくともいくつか、またはこれら両方が相違することとなる。たとえば、バイナリ−アナログコンバータ2305のセットがプロセス3900(図39)などのプロセスを用いて構築されたバイナリ−アナログコンバータ2305の完全集合である実現例においては、同じバイナリ−アナログコンバータ2305を、マルチチャネル拡張デコーダ3700におけるすべての重み付け装置3310に含めることができる。しかしながら、さまざまな重み付け装置3310の重み3445のうち少なくともいくつかは相違することとなる。たとえば、いくつかの実現例においては、さまざまな重み付け装置3310の重み3445の多くがゼロになるかまたはゼロに近くなるが、いくつかの重み3445はゼロにはならないだろう。これらの差があることで、結果として、同じ時系列のイベントが異なる重み付け装置3310に入力されると、各々の重み付け装置3310は、概して、さまざまな正味の級数の振幅イベントを出力することとなる。しかしながら、このことは必ずしも当てはまるわけではない。というのも、バイナリ−アナログコンバータ2305と重み3445とが異なっているにも関わらず、偶然により、結果として、異なる重み付け装置3310が同じ正味の級数の振幅イベントを出力する可能性があるからである。   In decoder 3700, each weighting device 3310 can weight an event using an associated set of binary-to-analog converters 2305 and an associated set of weights 3445. In some implementations, at least some of the binary-to-analog converter 2305, at least some of the weights 3445 of the various weighting devices 3310, or both will be different. For example, in an implementation in which the set of binary-to-analog converters 2305 is a complete set of binary-to-analog converters 2305 constructed using a process such as process 3900 (FIG. 39), the same binary-to-analog converter 2305 can be All weighting devices 3310 in the extended decoder 3700 can be included. However, at least some of the weights 3445 of the various weighting devices 3310 will be different. For example, in some implementations, many of the weights 3445 of various weighting devices 3310 will be at or near zero, but some weights 3445 will not be zero. These differences result in each weighting device 3310 generally outputting various net series amplitude events when the same time series of events is input to different weighting devices 3310. . However, this is not always true. This is because, despite the fact that the binary-to-analog converter 2305 and the weight 3445 are different, by chance, different weighting devices 3310 may output the same net series of amplitude events. .

デコーダ3700においては、各々の時系列スキャナ3315は、さまざまな構成要素を用いて、時間ベースのコード信号について走査し得る。たとえば、各々の時系列スキャナ3315は、異なる基準バイナリ−アナログコンバータ2305を含み得る。たとえば、各々の時系列スキャナ3315における基準バイナリ−アナログコンバータ2305は、圧縮エンコーダ2205のチャネル2340のバイナリ−アナログコンバータ2305(図23)と同一であり得る。   In decoder 3700, each time series scanner 3315 may scan for time-based code signals using various components. For example, each time series scanner 3315 may include a different reference binary to analog converter 2305. For example, the reference binary to analog converter 2305 in each time series scanner 3315 may be the same as the binary to analog converter 2305 (FIG. 23) of the channel 2340 of the compression encoder 2205.

異なる時系列スキャナ3315における構成要素が異なっているために、結果として、異なる時系列スキャナ3315は、概して、入力3345上で受信されている同じ正味の級数の振幅イベントに応じた場合でも、異なる時系列を出力する。さらに、異なる時系列スキャナ3315同士に差があることで、状況に応じて異なる時系列スキャナ3315によって同じ時系列が出力される場合であっても、異なる時系列がもたらされることとなる。また、異なる時系列スキャナ3315は、時として、入力3345上で受信されている異なる正味の級数の振幅イベントに応じて同じ時系列をもたらす可能性がある。   Due to the different components in different time series scanners 3315, the result is that different time series scanners 3315 generally differ at different times, even in response to the same net series of amplitude events being received on input 3345. Output series. Further, since there are differences between different time series scanners 3315, even when the same time series is output by different time series scanners 3315 depending on the situation, different time series are provided. Also, different time series scanners 3315 may sometimes produce the same time series in response to different net series amplitude events being received on input 3345.

デコーダ3700の入力3710が信号2365を受信する。信号2365は時系列にされたイベントを含む。入力3700は、信号2365を重み付け装置3310の入力3210に分配する。こうして、同じ単一の信号2365が、集まりに含まれる異なる重み付け装置3310に入力される。   Input 3710 of decoder 3700 receives signal 2365. Signal 2365 includes time-series events. Input 3700 distributes signal 2365 to input 3210 of weighting device 3310. Thus, the same single signal 2365 is input to different weighting devices 3310 included in the collection.

各々の時系列スキャナ3315の1つ以上の出力3215は時間ベースのコード信号3725を生成する。この場合、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される。信号3725は各々、デコーダ3700のそれぞれの出力3715に時間ベースのコードを伝達する。1つ以上の出力3715は、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される時間ベースのコード信号135を、たとえばシステムまたは媒体140に供給する。   One or more outputs 3215 of each time series scanner 3315 generate a time-based code signal 3725. In this case, information is encoded according to the occurrence timing of the event within the time interval. Each signal 3725 communicates a time-based code to a respective output 3715 of decoder 3700. One or more outputs 3715 provide, for example, a system or medium 140 with a time-based code signal 135 in which information is encoded according to the timing of the occurrence of an event within the time interval.

図38は、情報を符号化および復号することのできるシステム、すなわちシステム3800、の実現例を示す概略図である。システム3800はシステム2200(図22)およびシステム3200(図32)を含む。システム3800は、たとえばデータ記憶システム、通信システム、および/または、データ圧縮システムであってもよい。システム3800は、単独で、または他の装置とともに用いることができる。たとえば、システム3800は、時間ベースのエンコーダ25、振幅重み付け構成要素27、コンプレッサ29、重み付けエキスパンダ37、振幅デコーダ39、および時間ベースのデコーダ41(図1A)として用いることができる。   FIG. 38 is a schematic diagram illustrating an implementation example of a system capable of encoding and decoding information, that is, a system 3800. System 3800 includes system 2200 (FIG. 22) and system 3200 (FIG. 32). System 3800 can be, for example, a data storage system, a communication system, and / or a data compression system. System 3800 can be used alone or in conjunction with other devices. For example, system 3800 can be used as time-based encoder 25, amplitude weighting component 27, compressor 29, weighting expander 37, amplitude decoder 39, and time-based decoder 41 (FIG. 1A).

システム3800においては、マルチチャネル時間エンコーダ1105は信号125を受信し、出力1115を介して、時間ベースのコード信号の集まりを出力する。時間ベースのコード信号は、受信された時間ベースのコード信号を圧縮し、圧縮された信号2220を出力2215を介してシステムまたは媒体140に出力する圧縮エンコーダの1つ以上の入力2210によって受信される。拡張デコーダ3205は、システムまたは媒体140からの信号2365を入力3210において受信する。拡張デコーダ3205は、信号2365を拡張し、さらに、時間間隔内におけるイベントの発生のタイミングによって情報が符号化される1つ以上の信号の集まりを、1つ以上の出力3215を介してマルチチャネルデコーダ2100に出力する。マルチチャネルデコーダ2100は、信号を受信し、これら信号を復号して出力信号1230にまとめて、順序付けされた有限集合の離散数字で情報を表わす。   In system 3800, multi-channel time encoder 1105 receives signal 125 and outputs a collection of time-based code signals via output 1115. The time-based code signal is received by one or more inputs 2210 of a compression encoder that compresses the received time-based code signal and outputs the compressed signal 2220 to the system or medium 140 via output 2215. . Extended decoder 3205 receives signal 2365 from system or medium 140 at input 3210. The extended decoder 3205 extends the signal 2365 and further collects a collection of one or more signals whose information is encoded according to the timing of the occurrence of an event within the time interval via one or more outputs 3215. 2100 is output. Multi-channel decoder 2100 receives the signals, decodes these signals and bundles them into output signal 1230 to represent the information in an ordered finite set of discrete numbers.

図39は、バイナリ−アナログコンバータの集まりを構築するためのプロセス3900のフローチャートである。たとえば、プロセス3900は、重み付け装置3310(図34)においてバイナリ−アナログコンバータ2305を構築するのに用いることができる。別の例として、プロセス3900は、圧縮エンコーダ2205(図23)においてバイナリ−アナログコンバータを構築するのに用いることができる。別の例として、プロセス3900は、時系列スキャナ3315(図26)において基準バイナリ−アナログコンバータを構築するのに用いることができる。プロセス3900は、単独で、または他の動作とともに実行することができる。たとえば、プロセス3900は、エンコーダ/デコーダの対を作り出すためのプロセス4100(図41)の一部をなし得る。プロセス3900は1つ以上のデータ処理装置によって実行することができる。   FIG. 39 is a flowchart of a process 3900 for building a collection of binary-to-analog converters. For example, process 3900 can be used to build binary-to-analog converter 2305 in weighting device 3310 (FIG. 34). As another example, process 3900 can be used to build a binary-to-analog converter in compression encoder 2205 (FIG. 23). As another example, process 3900 can be used to build a reference binary-to-analog converter in time series scanner 3315 (FIG. 26). Process 3900 may be performed alone or in conjunction with other operations. For example, process 3900 may form part of process 4100 (FIG. 41) for creating an encoder / decoder pair. Process 3900 may be performed by one or more data processing devices.

上述したように、1組のバイナリ−アナログコンバータは、複数の時間感度パラメータを用いて、入力信号におけるイベント間のタイミングに基づいてイベントの時系列で個々のイベントごとに個々の重みを生成することができる。いくつかの実現例においては、重みは、入力信号内における先行するイベントのタイミングに基づいて生成することができる。ステージ3905においては、各々の時間感度パラメータについてのある範囲の実現可能な値が割当てられる。たとえば、時間感度パラメータは、同じ正規化された範囲内になるように、たとえば0と1との間に収まるように、制限することができる。   As described above, a set of binary-analog converters uses a plurality of time sensitivity parameters to generate individual weights for each individual event in a time series of events based on the timing between events in the input signal. Can do. In some implementations, the weights can be generated based on the timing of previous events in the input signal. At stage 3905, a range of possible values for each time sensitivity parameter is assigned. For example, the time sensitivity parameter can be limited to be within the same normalized range, eg, between 0 and 1.

各々の範囲内におけるいくつかの離散値は識別可能である(ステージ3910)。いくつかの実現例においては、離散値は、それらがすべて、最も近い値から単一の距離だけ離されるように、各範囲内に分配することができる。たとえば、0から1の範囲が割当てられた時間感度パラメータの場合、5つの別個の値、すなわち、0、0.25、0.5、0.75および1、を識別することができる。いくつかの実現例においては、離散値は各範囲内では均一に分配されず、バイナリ−アナログコンバータでの用途に応じて分配される。たとえば、非線形関数で現われる時間感度パラメータの値は、非線形関数における時間感度パラメータの位置に応じて分配することができる。いくつかの実現例においては、各々の範囲内における離散値の数は重み付け装置3310の数とほぼ同じであるかまたはその数よりも大きくなるよう選択することができ、時系列スキャナ3315はマルチチャネル拡張デコーダ3700内で対をなす(図37)。   Several discrete values within each range are identifiable (stage 3910). In some implementations, the discrete values can be distributed within each range such that they are all separated by a single distance from the nearest value. For example, for a time sensitivity parameter assigned a range of 0 to 1, five distinct values can be identified: 0, 0.25, 0.5, 0.75 and 1. In some implementations, the discrete values are not evenly distributed within each range, but are distributed depending on the application in the binary-to-analog converter. For example, the value of the time sensitivity parameter appearing in the nonlinear function can be distributed according to the position of the time sensitivity parameter in the nonlinear function. In some implementations, the number of discrete values in each range can be selected to be approximately the same as or greater than the number of weighting devices 3310, and the time series scanner 3315 is multi-channel. A pair is formed in the extension decoder 3700 (FIG. 37).

バイナリ−アナログコンバータによって用いられる各々のパラメータについての識別された離散値のうちの1つが選択される(ステージ3915)。これらの値は、ランダムプロセスまたは非ランダムプロセスを用いて選択することができる。いくつかの実現例においては、所与のパラメータのうち選択された値は、そのパラメータの選択については除外可能となる。実質的には、これにより、構築されたバイナリ−アナログコンバータが各パラメータのさまざまな値を有することが必要となる。これらの実現例においては、Y個の異なるパラメータの各範囲内にN個の離散値がある場合、いくつか(NY)の実現可能な値の組合せを選択することができる。 One of the identified discrete values for each parameter used by the binary-to-analog converter is selected (stage 3915). These values can be selected using a random process or a non-random process. In some implementations, a selected value of a given parameter can be excluded for that parameter selection. In effect, this requires that the constructed binary-to-analog converter has different values for each parameter. In these implementations, if there are N discrete values within each range of Y different parameters, several (N * Y) combinations of possible values can be selected.

いくつかの実現例においては、複数のバイナリ−アナログコンバータについて同じ値を複数回選択することができる。たとえば、バイナリ−アナログコンバータは、識別された値の網羅的な組合せを用いて構築することができる。たとえば、Y個の異なるパラメータの各範囲内にN個の離散値がある場合、いくつか(N)の実現可能な値の組合せを選択することができる。 In some implementations, the same value can be selected multiple times for multiple binary-to-analog converters. For example, a binary-to-analog converter can be constructed using an exhaustive combination of identified values. For example, if there are N discrete values within each range of Y different parameters, several (N Y ) possible value combinations can be selected.

いくつかの実現例においては、複数のバイナリ−アナログコンバータについて同じ値を複数回選択することができるが、識別された値の組合せは網羅的である必要がない。たとえば、Y個の異なるパラメータの各範囲内にN個の離散値がある場合、(NY)よりも大きいが(N)よりも小さい数の実現可能な値の組合せを選択することができる。 In some implementations, the same value can be selected multiple times for multiple binary-to-analog converters, but the combination of identified values need not be exhaustive. For example, if there are N discrete values in each range of Y different parameters, a number of possible value combinations greater than (NY) but less than (N Y ) can be selected.

バイナリ−アナログコンバータは選択された値を用いて構築することができる(ステージ3920)。所望の数のバイナリ−アナログコンバータが構築されたかどうかを判断するためにチェックを行うことができる(ステージ3930)。いくつかの実現例においては、所望の数のバイナリ−アナログコンバータは、イベントについての単一の入力時系列に関して、所与のセットのパラメータおよびそれらの範囲についてのほとんどすべての実現可能な重み付けされた時系列が、その集まりにおけるバイナリ−アナログコンバータの1つ以上の出力の何らかの線形の重ね合わせによって生成可能となるように、十分に大きなものとなるだろう。所望の数のバイナリ−アナログコンバータがまだ構築されていない場合、付加的なパラメータ値を選択して付加的なバイナリ−アナログコンバータを構築するためにプロセスが戻される(ステップ3915および3920)。所望の数のバイナリ−アナログコンバータが構築されている場合、構築されたバイナリ−アナログコンバータを用いて装置を組立てることができる(ステージ3935)。   A binary-to-analog converter can be constructed using the selected values (stage 3920). A check can be made to determine if the desired number of binary-to-analog converters have been built (stage 3930). In some implementations, the desired number of binary-to-analog converters can be applied to almost any feasible weighted for a given set of parameters and their ranges with respect to a single input time series for events. The time series will be large enough so that it can be generated by some linear superposition of one or more outputs of the binary-to-analog converter in the collection. If the desired number of binary-to-analog converters has not yet been built, the process returns to select additional parameter values to build an additional binary-to-analog converter (steps 3915 and 3920). If the desired number of binary-to-analog converters has been constructed, the constructed binary-to-analog converter can be used to assemble the device (stage 3935).

図40は、重み付け装置を較正するためのプロセス4000を示すフローチャートである。たとえば、プロセス4000は、重み付け装置3310(図34)などの重み付け装置を較正するのに用いることができる。プロセス4000は、単独で、または他の動作とともに用いることができる。たとえば、プロセス4000は、エンコーダ/デコーダの対を作り出すためのプロセス4100(図41)の一部であってもよい。プロセス4000は、たとえば、1つ以上のデジタルデータ処理装置で実行することができる。   FIG. 40 is a flowchart illustrating a process 4000 for calibrating the weighting device. For example, process 4000 can be used to calibrate a weighting device, such as weighting device 3310 (FIG. 34). Process 4000 can be used alone or in conjunction with other operations. For example, process 4000 may be part of process 4100 (FIG. 41) for creating an encoder / decoder pair. Process 4000 may be performed, for example, on one or more digital data processing devices.

1つ以上の既知の時間ベースのコード信号をマルチチャネルエンコーダのチャネルに入力することができる(ステージ4005)。たとえば、システムは、1つ以上の既知の時間ベースのコード信号135を圧縮エンコーダ2205の入力2315(図23)に入力することができる。いくつかの実現例においては、同じ時間ベースのコード信号135を、すべてのチャネルに入力することができる。   One or more known time-based code signals may be input to the channel of the multi-channel encoder (stage 4005). For example, the system can input one or more known time-based code signals 135 to the input 2315 (FIG. 23) of the compression encoder 2205. In some implementations, the same time-based code signal 135 can be input to all channels.

マルチチャネルエンコーダの出力信号だけでなく、マルチチャネルエンコーダにおける各チャネルについての振幅重み付けされた時系列も同様に、識別することができる(ステージ4010)。いくつかの実現例においては、システムは、振幅重み付けされた時系列の記述とマルチチャネルエンコーダの出力とを記憶することができる。たとえば、いくつかの実現例においては、システムは、データ記憶装置3100(図31)におけるマルチチャネルエンコーダからの出力信号を記憶することができる。   Not only the output signal of the multi-channel encoder, but also the amplitude-weighted time series for each channel in the multi-channel encoder can be similarly identified (stage 4010). In some implementations, the system can store an amplitude weighted time series description and the output of the multi-channel encoder. For example, in some implementations, the system can store an output signal from a multi-channel encoder in data storage device 3100 (FIG. 31).

マルチチャネルエンコーダからの出力信号は、未較正のマルチチャネル拡張デコーダへの入力として供給される(ステップ4015)。マルチチャネルデコーダは、特定の出力信号を生成したマルチチャネルエンコーダ(すなわち、ステップ4010においてそこから出力信号が受信されるマルチチャネルエンコーダ)とともに動作するよう較正されていなかったという点で、較正されていない。   The output signal from the multichannel encoder is provided as input to an uncalibrated multichannel extension decoder (step 4015). The multi-channel decoder is not calibrated in that it has not been calibrated to operate with the multi-channel encoder that generated the particular output signal (ie, the multi-channel encoder from which the output signal is received in step 4010). .

マルチチャネル拡張デコーダのチャネルごとの振幅イベントの正味の級数が識別され、対応するチャネルの振幅重み付けされた時系列と比較される(ステージ4020)。いくつかの実現例においては、このような比較には、イベントの振幅の測定が含まれ得るが、振幅イベントの正味の級数と、所与のチャネルについての振幅重み付けされた時系列との両方についてイベントのタイミングは放棄されてもよい。たとえば、いくつかの実現例においては、システムは、振幅重み付けされた時系列におけるイベントの振幅の一連のリストと、振幅イベントの正味の級数におけるイベントの振幅の一連のリストとを形成することができる。これらのリストは、振幅重み付けされた時系列または振幅イベントの正味の級数においてはイベントのタイミングについて記述していない。しかしながら、リストにおける振幅を比較することで差を決定することができる。概して、比較の結果はチャネルごとに表わされる。しかしながら、いくつかの実現例においては、比較の結果は、複数のチャネルの比較を具体化する値で表わすことができる。   The net series of amplitude events for each channel of the multi-channel extension decoder is identified and compared to the amplitude-weighted time series of the corresponding channel (stage 4020). In some implementations, such a comparison may include a measurement of the amplitude of the event, but for both the net series of amplitude events and the amplitude-weighted time series for a given channel. Event timing may be abandoned. For example, in some implementations, the system can form a series list of event amplitudes in an amplitude weighted time series and a series list of event amplitudes in a net series of amplitude events. . These lists do not describe the timing of events in an amplitude-weighted time series or the net series of amplitude events. However, the difference can be determined by comparing the amplitudes in the list. In general, the result of the comparison is represented for each channel. However, in some implementations, the result of the comparison can be represented by a value that embodies the comparison of multiple channels.

いくつかの実現例においては、振幅イベントの正味の級数は、対応するチャネルの振幅重み付けされた時系列で実行された数学的動作または他の動作の結果と比較される。たとえば、重み付け装置が特定のチャネルに2を乗ずるよう較正されるべき場合、まず、そのチャネルの振幅重み付けされた時系列に2を乗じて、その乗算の結果を振幅イベントの正味の級数と比較することができる。次いで、重みを用いて、数学的動作または他の動作を実行することができる。たとえば、重みは、データ圧縮および暗号化の動作、文書処理動作、数字処理動作、画像処理動作および信号処理動作のうち1つ以上を実行するよう選択することができる。いくつかの実現例においては、単一の装置における異なるチャネルは、さまざまな動作を実行する重みを用いることができる。   In some implementations, the net series of amplitude events is compared to the results of mathematical or other operations performed on the amplitude-weighted time series of the corresponding channel. For example, if a weighting device is to be calibrated to multiply a particular channel by 2, it first multiplies that channel's amplitude weighted time series by 2 and compares the result of the multiplication with the net series of amplitude events. be able to. The weights can then be used to perform mathematical or other operations. For example, the weights can be selected to perform one or more of data compression and encryption operations, document processing operations, number processing operations, image processing operations, and signal processing operations. In some implementations, different channels in a single device can use weights to perform various operations.

振幅イベントの正味の級数と対応するチャネルの振幅重み付けされた時系列との差が十分に小さいかどうかが判断される(ステージ4025)。たとえば、いくつかの実現例においては、システム実行プロセス4000は、これらの差をしきい値と比較して、許容可能なレベルの差をチャネルごとに具体化し得る。いくつかの実現例においては、しきい値の厳密度は、さまざまな情況下での動作のために、たとえばユーザによって調整可能であり得る。   It is determined whether the difference between the net series of amplitude events and the corresponding amplitude-weighted time series of the channel is sufficiently small (stage 4025). For example, in some implementations, the system execution process 4000 may compare these differences to thresholds to materialize acceptable levels of differences for each channel. In some implementations, the threshold stringency may be adjustable, for example, by a user, for operation under various circumstances.

振幅イベントの正味の級数と対応するチャネルの振幅重み付けされた時系列との差が十分に小さくないと判断されたことに応じて、重み付け装置の重みが調整される(ステージ4030)。いくつかの実現例においては、重みはチャネルごとに調整される。たとえば、システムは、振幅重み付けされた時系列に最も非常に酷似している個々のバイナリ−アナログコンバータ320によって出力されるイベントの重み付けされた時系列の重みを識別することができる。それらの重み付けされた時系列のイベントに関連付けられる重み345は増やすことができる。別の例として、システムは、振幅重み付けされた時系列と最も異なっている個々のバイナリ−アナログコンバータ320によって出力される重み付けされた時系列のイベントの重みを識別することができる。それらの重み付けされた時系列のイベントに関連付けられる重み345は減らすことができる。   In response to determining that the difference between the net series of amplitude events and the amplitude-weighted time series of the corresponding channel is not sufficiently small, the weight of the weighting device is adjusted (stage 4030). In some implementations, the weight is adjusted for each channel. For example, the system can identify weighted time series weights for events output by individual binary-to-analog converters 320 that most closely resemble amplitude weighted time series. The weights 345 associated with those weighted time series events can be increased. As another example, the system can identify the weights of the weighted time series events output by the individual binary-to-analog converter 320 that are most different from the amplitude weighted time series. The weights 345 associated with those weighted time series events can be reduced.

いくつかの実現例においては、マルチチャネルエンコーダからの出力信号のマルチチャネルデコーダへの入力は、重みを増分調整した後に繰り返すことができる。振幅イベントの連続した正味の級数と対応するチャネルの振幅重み付けされた時系列との比較結果は、増分調整が適切であったかどうかを示すものとみなすことができる。言い換えれば、振幅イベントの正味の級数が所与のチャネルについての振幅重み付けされた時系列に非常に酷似している場合、そのチャネルに対する調整を好適なものとしてみなすことができ、さらなる調整が行われる。たとえば、重みは、場合によってはさらに増やしたり減らしたりしてもよい。   In some implementations, the input of the output signal from the multi-channel encoder to the multi-channel decoder can be repeated after incrementally adjusting the weights. The comparison result of the continuous net series of amplitude events and the corresponding channel amplitude weighted time series can be considered as an indication of whether the incremental adjustment was appropriate. In other words, if the net series of amplitude events is very similar to the amplitude-weighted time series for a given channel, the adjustment for that channel can be considered suitable and further adjustments are made . For example, the weight may be further increased or decreased in some cases.

一方、振幅イベントの正味の級数と振幅重み付けされた時系列との差が大きくなる場合、チャネルへの調整を不利なものとみなすことができ、重みが元の値に戻されるかまたは異なる方向に変更され得る。たとえば、最初に増やされた重みを減らして、最初に減らされた重みを増やしてもよい。   On the other hand, if the difference between the net series of amplitude events and the amplitude-weighted time series becomes large, adjustments to the channel can be considered disadvantageous and the weights are either restored to their original values or in different directions. Can be changed. For example, the initially increased weight may be decreased and the initially decreased weight may be increased.

1つ以上の新しい時間ベースのコード信号が、振幅イベントの正味の級数と対応するチャネルの振幅重み付けされた時系列との差が十分に小さくないとの判断に応じて、選択される(ステージ4035)。いくつかの実現例においては、新しい時間ベースのコード信号は、新しい時間ベースのコード信号と前の時間ベースのコード信号との差に従って選択することができる。たとえば、前の時間ベースのコードとは大きく異なる新しい時間ベースのコード信号を優先的に選択することができる。他の実現例においては、新しい時間ベースのコード信号を無作為に選択することができる。プロセスを続けて、1つ以上の新しい時間ベースのコードをマルチチャネルエンコーダのチャネルに入力することができる(ステージ4005)。   One or more new time-based code signals are selected in response to determining that the difference between the net series of amplitude events and the amplitude-weighted time series of the corresponding channel is not sufficiently small (stage 4035). ). In some implementations, the new time-based code signal can be selected according to the difference between the new time-based code signal and the previous time-based code signal. For example, a new time-based code signal that differs significantly from the previous time-based code can be preferentially selected. In other implementations, a new time-based code signal can be selected at random. The process can continue and one or more new time-based codes can be input into the channel of the multi-channel encoder (stage 4005).

振幅イベントの正味の級数と対応するチャネルの振幅重み付けされた時系列との差が十分に小さいと判断されたことに応じて、重み付け装置の重みを固定することができる(ステージ4040)。重みを固定した後、マルチチャネルデコーダは、特定の出力信号を生成したマルチチャネルエンコーダ(すなわち、ステップ4010において、そこから出力信号が受信されるマルチチャネルエンコーダ)とともに動作するよう較正される。   In response to determining that the difference between the net series of amplitude events and the amplitude-weighted time series of the corresponding channel is sufficiently small, the weight of the weighting device can be fixed (stage 4040). After fixing the weights, the multi-channel decoder is calibrated to operate with the multi-channel encoder that generated the particular output signal (ie, the multi-channel encoder from which the output signal is received in step 4010).

図41は、エンコーダ/デコーダの対を作り出すためのプロセス4100を示すフローチャートである。プロセス4100は、単独で、または他の動作とともに用いることができる。たとえば、プロセス4100は、プロセス3900(図39)およびプロセス4000(図40)のうち1つ以上を含み得る。プロセス4100は1つ以上のデジタルデータ処理装置で実行することができる。   FIG. 41 is a flowchart illustrating a process 4100 for creating an encoder / decoder pair. Process 4100 can be used alone or in conjunction with other operations. For example, process 4100 may include one or more of process 3900 (FIG. 39) and process 4000 (FIG. 40). Process 4100 may be performed on one or more digital data processing devices.

プロセス4100は、バイナリ−アナログコンバータの集まりを構築することによって開始される(ステージ4105)。バイナリ−アナログコンバータは、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組合せで構築することができる。バイナリ−アナログコンバータの構造は、プロセス3900(図39)などのプロセスを含み得る。   Process 4100 begins by building a collection of binary-to-analog converters (stage 4105). The binary-to-analog converter can be constructed in hardware, software, or a combination of hardware and software. The structure of the binary-to-analog converter may include a process such as process 3900 (FIG. 39).

バイナリ−アナログコンバータを用いるエンコーダを組立てる(ステージ4110)。いくつかの実現例においては、組立てられたエンコーダのチャネルは各々、バイナリ−アナログコンバータのうち異なるコンバータを含み得る。   An encoder using a binary-analog converter is assembled (stage 4110). In some implementations, each channel of the assembled encoder may include a different one of the binary-to-analog converters.

時系列スキャナの集まりは、同じバイナリ−アナログコンバータを用いて組立てられる(ステージ4115)。いくつかの実現例においては、時系列スキャナは各々、エンコーダのチャネルに現われるバイナリ−アナログコンバータのうちの1つを含み得る。時系列スキャナにおけるバイナリ−アナログコンバータは、基準バイナリ−アナログコンバータとして機能し得る。エンコーダのチャネルにおけるバイナリ−アナログコンバータと各々の時系列スキャナにおけるバイナリ−アナログコンバータとの対応関係に注目すると、この対応関係を用いて、たとえば重み付け装置の重みを較正することができる。   A collection of time series scanners is assembled using the same binary-to-analog converter (stage 4115). In some implementations, the time series scanners may each include one of the binary-to-analog converters that appear in the encoder channel. The binary-to-analog converter in the time series scanner can function as a reference binary-to-analog converter. Focusing on the correspondence between the binary-analog converter in the encoder channel and the binary-analog converter in each time series scanner, this correspondence can be used, for example, to calibrate the weight of the weighting device.

重み付け装置の集まりは、バイナリ−アナログコンバータの集まりを用いて組立てられる(ステージ4120)。いくつかの実現例においては、エンコーダと時系列スキャナの集まりとを組立てるのに用いられる同じバイナリ−アナログコンバータを用いて、重み付け装置の集まりを組立てる。他の実現例においては、全く異なるバイナリ−アナログコンバータを用いて、重み付け装置の集まりが組立てられる。他の実現例においては、同じバイナリ−アナログコンバータと異なるバイナリ−アナログコンバータとの組合せを用いて、重み付け装置の集まりが組立てられる。   A collection of weighting devices is assembled using a collection of binary-to-analog converters (stage 4120). In some implementations, the collection of weighting devices is assembled using the same binary-to-analog converter that is used to assemble the encoder and the collection of time series scanners. In other implementations, a collection of weighting devices is assembled using completely different binary-to-analog converters. In another implementation, a collection of weighting devices is assembled using a combination of the same binary-analog converter and a different binary-analog converter.

いくつかの実現例においては、バイナリ−アナログコンバータは(少なくとも最初は)各々の重み付け装置において存在し得る。たとえば、いくつかの実現例においては、構築されるバイナリ−アナログコンバータの完全集合が各々の重み付け装置に存在している。以下にさらに記載されるように、バイナリ−アナログコンバータの出力に重み付けするのに用いられる重みはゼロにまで較正することができ、これにより、重み付け装置からバイナリ−アナログコンバータが実質的に除去される。ハードウェア実現例においては、バイナリ−アナログコンバータは、その出力がゼロにまで重み付けされるものであるが、重み付け装置から物理的に除去することができる。   In some implementations, a binary to analog converter (at least initially) may be present in each weighting device. For example, in some implementations, a complete set of constructed binary-to-analog converters exists in each weighting device. As described further below, the weight used to weight the output of the binary-to-analog converter can be calibrated to zero, thereby substantially removing the binary-to-analog converter from the weighting device. . In a hardware implementation, the binary-to-analog converter is one whose output is weighted to zero, but can be physically removed from the weighting device.

重み付け装置における重みが較正される(ステージ4125)。重み付け装置における重みの較正はプロセス4000(図40)などのプロセスを含み得る。   The weights in the weighting device are calibrated (stage 4125). Calibration of weights in the weighting device may include processes such as process 4000 (FIG. 40).

プロセス4100は、エンコーダ、時系列スキャナの集まりおよび重み付け装置の集まりを用いて情報を符号化、圧縮または記憶する(ステージ4130)。   Process 4100 encodes, compresses, or stores information using a collection of encoders, time series scanners, and a collection of weighting devices (stage 4130).

この明細書中に記載される主題および動作の実施例は、デジタル電子回路において、または、この明細書において開示される構造とそれらの構造上の同等物を含むコンピュータソフトウェア、ファームウェアもしくはハードウェアにおいて、またはこれらのうち1つ以上の組合せにおいて、実現することができる。   Examples of subject matter and operations described herein can be found in digital electronic circuits or in computer software, firmware or hardware that includes the structures disclosed herein and their structural equivalents. Or it can implement | achieve in the combination of 1 or more of these.

この明細書中に記載される主題の局面は、1つ以上のコンピュータプログラムとして、すなわち、データ処理装置によって、またはデータ処理装置の動作を制御するように実行されるコンピュータ記憶媒体上で符号化されるコンピュータプログラム命令の1つ以上のモジュールとして、実現することができる。たとえば、情報を伝達するラインおよび信号は、情報を伝達するためにコンピュータプログラムコンポーネント(たとえば、コンピュータプログラム、ソフトウェアモジュール、サブルーチン、手順および関数)間を通される変数またはオブジェクトとして実現することができる。検出器、コンパレータ、タイマ、スイッチおよびセレクタは、動作を実行するよう協働するコンピュータプログラムコンポーネントとして実現することができる。   Aspects of the subject matter described in this specification are encoded as one or more computer programs, ie, on a computer storage medium executed by a data processing device or to control operation of the data processing device. Can be implemented as one or more modules of computer program instructions. For example, lines and signals that convey information can be implemented as variables or objects that are passed between computer program components (eg, computer programs, software modules, subroutines, procedures, and functions) to convey information. Detectors, comparators, timers, switches and selectors can be implemented as computer program components that cooperate to perform operations.

たとえば、エンコーダ・コンプレッサ10(図1A)によって実行される符号化/圧縮動作は、以下の命令に従って実行することができる。   For example, the encoding / compression operation performed by encoder compressor 10 (FIG. 1A) may be performed according to the following instructions:

符号化−圧縮   Encoding-compression

別の例として、エキスパンダ・デコーダ34(図1A)によって実行される拡張/復号動作は以下の命令に従って実現することができる。   As another example, the expansion / decoding operation performed by expander decoder 34 (FIG. 1A) can be implemented according to the following instructions.

拡張および復号   Expansion and decryption

コンピュータ記憶媒体は、コンピュータ読取可能記憶装置、コンピュータ読取可能記憶基板、ランダムもしくはシリアル・アクセスメモリ・アレイもしくはデバイス、または、これらのうち1つ以上の組合せであり得るかまたはそこに含まれ得る。コンピュータ記憶媒体はまた、1つ以上の別個の物理的構成要素または媒体(たとえば、複数のCD、ディスクまたは他の記憶装置)であり得るかまたはそこに含まれ得る。   The computer storage medium may be or be included in a computer readable storage device, a computer readable storage substrate, a random or serial access memory array or device, or a combination of one or more of these. A computer storage medium may also be or be included in one or more separate physical components or media (eg, multiple CDs, disks or other storage devices).

この明細書中に記載される動作は、1つ以上のコンピュータ読取可能記憶装置に記憶されたデータまたは他のソースから受信されたデータで、データ処理装置によって実行される動作として実現することができる。   The operations described herein may be implemented as operations performed by a data processing device on data stored in one or more computer readable storage devices or received from other sources. .

「データ処理装置」という語は、一例として、プログラマブルプロセッサ、コンピュータ、チップ上のシステム、または上述のうち複数の要素もしくはそれらの組合せを含む、データを処理するためのあらゆる種類の装置、デバイスおよび機械を包含する。装置は、特殊用途の論理回路、たとえばFPGA(field programmable gate array:フィールドプログラマブルゲートアレイ)またはASIC(application-specific integrated circuit:特定用途向けIC)を含み得る。装置はまた、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作製するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォーム・ランタイム環境、バーチャルマシンまたはそれらのうち1つ以上の組合せを構成するコード、を含み得る。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッド・コンピューティング・インフラストラクチャなどのさまざまな異なるコンピューティングモデルインフラストラクチャを実現することができる。   The term “data processing apparatus” refers to any type of apparatus, device, and machine for processing data, including, by way of example, a programmable processor, a computer, a system on a chip, or a plurality of elements or combinations thereof. Is included. The device may include a special purpose logic circuit such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). In addition to hardware, the device also creates code that creates an execution environment for the computer program, eg, processor firmware, protocol stack, database management system, operating system, cross-platform runtime environment, virtual machine, or any of them Code comprising one or more combinations. Devices and execution environments can implement a variety of different computing model infrastructures such as web services, distributed computing and grid computing infrastructure.

(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプトまたはコードとしても公知である)コンピュータプログラムは、コンパイルまたは翻訳された言語、宣言的または手続き型言語を含むプログラミング言語の如何なる形式でも書込むことができ、スタンドアロンプログラムまたはモジュールとして、コンポーネント、サブルーチン、オブジェクトまたはコンピューティング環境で使用するのに適した他のユニットを含む如何なる形式で展開することもできる。コンピュータプログラムは、ファイルシステムにおけるファイルに対応していてもよいが、対応している必要はない。プログラムは、当該プログラム専用の単一のファイルまたは複数の対応付けされたファイル(たとえば、1つ以上のモジュール、サブプログラムまたはコードの一部を記憶するファイル)に他のプログラムまたはデータ(たとえば、マークアップ言語文書に記憶された1つ以上のスクリプト)を保持するファイルの一部に記憶することができる。コンピュータプログラムは、1つのコンピュータ上で実行されるか、または、1つのサイトに位置するかもしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるよう展開することができる。   Computer programs (also known as programs, software, software applications, scripts or code) can be written in any form of programming language, including compiled or translated languages, declarative or procedural languages, stand-alone programs Or as a module, it can be deployed in any form including components, subroutines, objects or other units suitable for use in a computing environment. The computer program may correspond to a file in the file system, but need not correspond. A program can contain other programs or data (eg, marks) in a single file or multiple associated files (eg, files that store one or more modules, subprograms, or portions of code) dedicated to the program. One or more scripts stored in the up-language document) can be stored in a part of the file. A computer program runs on one computer or deploys to run on multiple computers located at one site or distributed across multiple sites and interconnected by a communications network Can do.

この明細書中に記載されるプロセスおよびと論理フローは、1つ以上のプログラマブルプロセッサが1つ以上のコンピュータプログラムを実行して、入力データ上で動作し出力を生成することによって動作を実行することによって実行することができる。プロセスおよび論理フローはまた、特定用途の論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向けIC)によって実行することができ、装置も、この特定用途の論理回路、たとえばFPGAまたはASICとして実現することができる。   The processes and logic flows described herein perform operations by one or more programmable processors executing one or more computer programs to operate on input data and generate output. Can be executed by. The process and logic flow can also be performed by an application specific logic circuit such as an FPGA (Field Programmable Gate Array) or ASIC (Application Specific IC), and the device can also be an application specific logic circuit such as an FPGA or ASIC. Can be realized.

この明細書中に記載されるプロセスにおいて動作を実行するコンピュータプログラムを実行するのに適したプロセッサは、一例として、汎用のマイクロプロセッサおよび特殊用途のマイクロプロセッサの両方を含み、さらに、如何なる種類のデジタルコンピュータのうち1つ以上のプロセッサをも含む。概して、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたはこれらの両方から命令およびデータを受信することとなる。コンピュータの本質的な要素は、命令に従って動作を実行するためのプロセッサと、命令およびデータを記憶するための1つ以上のメモリ素子に該当する。概して、コンピュータはまた、データを記憶するための1つ以上の大容量記憶装置、たとえば、磁気ディスク、磁気光学ディスクまたは光ディスクを含むか、または、これら大容量記憶装置からのデータの受信もしくは大容量記憶装置へのデータの送信または大容量記憶装置とのデータの送受信を行うよう動作可能に接続されることとなる。しかしながら、コンピュータはこのような装置を備える必要がない。さらに、コンピュータは、別の装置、たとえば、数例を挙げると、携帯電話、携帯情報端末(PDA:personal digital assistant)、携帯型オーディオもしくはビデオ機器、ゲーム機、全地球測位システム(GPS:Global Positioning System)受信機、またはポータブル記憶装置(たとえばユニバーサル・シリアル・バス(USB:universal serial bus)フラッシュドライブ)に組込まれてもよい。コンピュータプログラム命令を記憶するのに適した装置は、一例として、半導体記憶装置、たとえばEPROM、EEPROMおよびフラッシュメモリ素子、磁気ディスク、たとえば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD−ROMおよびDVD−ROMディスクを含む、すべての形式の不揮発性メモリ、媒体およびメモリ素子を含む。プロセッサおよびメモリは、特殊用途の論理回路によって補われるか、または特殊用途の論理回路に組込まれてもよい。   Processors suitable for executing computer programs that perform operations in the processes described herein include, by way of example, both general purpose and special purpose microprocessors, and any type of digital It also includes one or more processors of the computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer correspond to a processor for performing operations according to instructions and one or more memory elements for storing instructions and data. Generally, a computer also includes one or more mass storage devices for storing data, such as a magnetic disk, magneto-optical disk or optical disk, or receives or mass data from these mass storage devices. It will be operably connected to send data to the storage device or send and receive data to and from the mass storage device. However, the computer need not include such a device. Further, a computer may be another device, such as a mobile phone, a personal digital assistant (PDA), a portable audio or video device, a game console, a global positioning system (GPS), to name a few. System) receiver, or portable storage device (eg, a universal serial bus (USB) flash drive). Suitable devices for storing computer program instructions include, by way of example, semiconductor storage devices such as EPROM, EEPROM and flash memory devices, magnetic disks such as internal hard disks or removable disks, magneto-optical disks, and CD-ROM and DVD- Includes all forms of non-volatile memory, media and memory elements, including ROM disks. The processor and memory may be supplemented by, or incorporated in, special purpose logic circuitry.

この明細書は多くの特定の実現例の詳細を含んでいるが、これらは、本発明の範囲またはそれがクレームし得るものに対する限定として解釈されるべきではなく、むしろ、本発明の特定の実施例に特有の特徴の記述として解釈されるべきである。別個の実施例の文脈におけるこの明細書に記載されるいくつかの特徴も、単一の実施例における組合せで実現することができる。逆に、単一の実施例の文脈に記載されているさまざまな特徴も、複数の実施例において別個に、または如何なる好適な下位の組合せでも実現することができる。さらに、特徴をいくつかの組合せで動作するものとして上述し、そのようなものとして冒頭に主張してきたが、主張された組合せから得られる1つ以上の特徴は、場合によっては、その組合せから除外することができ、主張された組合せは、下位の組合せまたは下位の組合せの変形例に向けられてもよい。   This specification includes details of many specific implementations, but these should not be construed as limitations on the scope of the invention or what it may claim, but rather specific implementations of the invention. It should be interpreted as a description of features specific to the example. Certain features described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Further, although features have been described above as operating in several combinations and claimed at the outset as such, one or more features resulting from the claimed combination may be excluded from the combination in some cases. The claimed combinations may be directed to sub-combinations or variations of sub-combinations.

同様に、動作は、図面において特定の順序で記載されているが、これは、このような動作が、望ましい結果を達成するために、示された特定の順序でもしくは逐次的に行われるように、または、図示されるすべての動作が実行されるように、必要に応じて理解されるべきではない。いくつかの状況下では、マルチタスク処理および並行処理が有利であり得る。さらに、上述の実施例におけるさまざまなシステム構成要素の選別は、すべての実施例におけるこのような選別を必要とするものとして理解されるべきではなく、上述のプログラムコンポーネントおよびシステムが概して単一のソフトウェアプロダクトに一体化され、複数のソフトウェアプロダクトにパッケージングされ得ることが理解されるはずである。   Similarly, operations are described in a particular order in the drawings, such that such actions are performed in the particular order shown or sequentially to achieve the desired result. Or, it should not be understood as necessary so that all illustrated operations are performed. Under some circumstances, multitasking and parallel processing may be advantageous. Furthermore, the selection of the various system components in the embodiments described above should not be understood as requiring such a selection in all embodiments, and the program components and systems described above are generally a single software. It should be understood that it can be integrated into a product and packaged into multiple software products.

実施例
コンピュータ記憶媒体上で符号化されるコンピュータプログラムを含み、この明細書中に記載の情報を符号化および復号するための方法、システムおよび装置が、以下の実施例のうちの1つ以上において具体化され得る。
Embodiments A method, system, and apparatus for encoding and decoding information described herein, including a computer program encoded on a computer storage medium, is provided in one or more of the following embodiments. It can be embodied.

実施例1:デジタルデータ処理と、統計処理と、ニューラル処理構成要素に設けられたパターン認識とを調和させ、エンコーダにおいて情報を符号化する方法は、離散数字の集まりを用いて情報を表わす信号を受信するステップと、受信信号を、エンコーダによって時間ベースのコードに変換するステップとを含み、時間ベースのコードは時間間隔に分割され、時間ベースのコードの時間間隔の各々は受信信号における数字に対応し、受信信号の第1の状態の数字は各々、時間ベースのコードの対応する時間間隔内における第1の時刻において起こるイベントとして表わされ、受信信号の第2の状態の数字は各々、時間ベースのコードの対応する時間間隔内における第2の時刻において起こるイベントとして表わされ、第1の時刻は、第2の時刻から識別可能であり、受信信号における数字の状態はすべて、時間ベースのコードにおいてイベントによって表わされ、上記方法はさらに、時間ベースのコードをニューラル処理構成要素に出力するステップを含む。実施例2:実施例1の方法においては、受信信号は情報の2進表現であり、受信信号の数字は、2進表現でのビットを含む。実施例3:実施例1および2のうちいずれかの方法においては、2進表現の第1の状態の数字は各々、時間ベースのコードの対応する時間間隔の途中で起こるイベントとして表わされ、2進表現の第2の状態の数字は各々、時間ベースのコードの対応する時間間隔の始まりまたは終わりのうち一方で起こるイベントとして表わされる。実施例4:実施例1〜3のいずれかの方法においては、発生の時刻を除いては、第1の状態の数字を表わすイベントは第2の状態の数字を表わすイベントからは識別不可能である。実施例5:実施例1〜4のうちいずれかの方法においては、イベントは各々、ローからハイおよびハイからローへの1対の遷移を含む。実施例6:実施例1〜5のいずれかの方法においては、イベントは2進数である。実施例7:実施例1〜6のうちいずれかの方法においては、時間ベースのコードを出力するステップは、時間ベースのコードを、ウェットなニューラル構成要素を用いて実現されるニューラル処理構成要素に出力するステップを含み、時間ベースのコードの特性は、ウェットなニューラル構成要素と適合するよう調整することができる。実施例8:実施例1〜7のうちのいずれかの方法においては、受信信号を時間ベースのコードに変換するステップは、開始ヘッダを時間ベースのコードに追加するステップを含み、開始ヘッダは、時間ベースのコードの開始を区別し、受信信号におけるヘッダに対応している。実施例9:実施例1〜8のうちいずれかの方法においては、受信信号を時間ベースのコードに変換するステップは、停止フッタを時間ベースのコードに追加するステップを含み、停止フッタは、時間ベースのコードの終わりを区別し、受信信号におけるフッタに対応している。実施例10:実施例1〜9のうちいずれかの方法においては、時間間隔は単一の期間全体である。実施例11:実施例1〜10のうちいずれかの方法においては、時間間隔は、受信信号における対応する数字と同じシーケンスで連続的に順序付けされる。実施例12:実施例1〜11のうちいずれかの方法においては、受信信号を時間ベースのコードに変換するステップは、受信信号の第1の状態のすべての数字を第1の時刻において起こるイベントに変換するステップと、2進表現である第2の状態のすべての数字を第2の時刻において起こるイベントに変換するステップとを含む。   Embodiment 1 A method for encoding information in an encoder by harmonizing digital data processing, statistical processing, and pattern recognition provided in a neural processing component is a method for generating a signal representing information using a collection of discrete numbers. Receiving and converting the received signal into a time-based code by an encoder, wherein the time-based code is divided into time intervals, each of the time-based code time intervals corresponding to a number in the received signal Each of the received signal first state numbers is represented as an event occurring at a first time within a corresponding time interval of the time-based code, and each of the received signal second state numbers is time Represented as an event occurring at a second time within a corresponding time interval of the base code, the first time being the second Is identifiable from time, all digits of the state in the received signal is represented by events in the time-based code, said method further comprising the step of outputting the time-based code to the neural processing elements. Embodiment 2: In the method of Embodiment 1, the received signal is a binary representation of information, and the number of the received signal includes bits in binary representation. Example 3: In any of the methods of Examples 1 and 2, each binary state first state number is represented as an event occurring in the middle of a corresponding time interval of a time-based code; Each binary representation of the second state number is represented as an event that occurs at one of the beginning or end of the corresponding time interval of the time-based code. Example 4: In any of the methods of Examples 1-3, an event representing a number in the first state is indistinguishable from an event representing a number in the second state, except for the time of occurrence. is there. Example 5: In any of the methods of Examples 1-4, each event includes a pair of transitions from low to high and from high to low. Example 6: In any of the methods of Examples 1-5, the event is a binary number. Example 7: In any of the methods of Examples 1-6, the step of outputting the time-based code comprises converting the time-based code into a neural processing component implemented using a wet neural component. Output step, and the characteristics of the time-based code can be adjusted to match the wet neural component. Example 8: In any of the methods of Examples 1-7, converting the received signal to a time-based code includes adding a start header to the time-based code, It distinguishes the start of the time-based code and corresponds to the header in the received signal. Example 9: In any of the methods of Examples 1-8, converting the received signal to a time-based code includes adding a stop footer to the time-based code, the stop footer being a time It distinguishes the end of the base code and corresponds to the footer in the received signal. Example 10: In any of the methods of Examples 1-9, the time interval is the entire single period. Example 11: In any of the methods of Examples 1-10, the time intervals are sequentially ordered in the same sequence as the corresponding numbers in the received signal. Embodiment 12: In any of the embodiments 1-11, the step of converting the received signal into a time-based code is an event that occurs at a first time for all digits of the first state of the received signal. And converting all numbers in the second state, which are binary representations, to events occurring at the second time.

実施例13:デジタルデータ処理と統計処理とニューラル処理構成要素に設けられたパターン認識とを調和させるためのシステムであって、離散数字の集まりを用いて情報を表わす信号を受信するための入力と、受信信号を符号化するエンコーダとを含み、エンコーダは、受信信号における数字の状態を検出するよう構成された状態検出器と、受信信号における数字の状態を時間ベースのコードに翻訳するよう構成されたトランスレータとを含み、時間ベースのコードは、各々が受信信号におけるそれぞれの数字に割当てられた時間間隔の集まりを含み、時間間隔の各々はイベントを含み、時間間隔の各々内におけるイベントのタイミングは、それぞれの割当てられた数字の状態を特徴付け、上記システムはさらに、時間ベースのコードを別のシステムまたは装置に与えるための出力と、時間ベースのコードを受信するよう接続されたニューラル処理構成要素とを含む。実施例14:実施例13のシステムにおいては、ニューラル処理構成要素は、ウェットなニューラル構成要素を用いて実現され、時間ベースのコードの特性は、ウェットなニューラル構成要素と適合するよう調整される。実施例15:実施例13および14のいずれかのシステムにおいては、受信信号は2進信号を含み、状態検出器は、2進信号におけるビットの状態を検出するよう構成されたビット検出器を含む。実施例16:実施例13〜15のいずれかのシステムにおいては、トランスレータはイベント発生器を含み、イベント発生器は、時間ベースのコードのイベントを生成するよう構成および接続される。実施例17:実施例16のシステムにおいては、イベント発生器はパルス発生器を含み、第1の状態を表わすパルスの形状は第2の状態を表わすパルスの形状からは識別不可能である。実施例18:実施例16のシステムにおいては、イベント発生器はさらに、時間ベースのコードの開始を区別し、受信信号におけるヘッダに対応しているヘッダイベントを生成するよう構成される。実施例19:実施例13〜18のいずれのシステムはさらに、受信信号の始まりと終わりとを検出するよう構成および接続された開始/停止検出器を含む。実施例20:実施例13〜19のいずれかのシステムはさらに、間隔タイミング構成要素を含み、間隔タイミング構成要素は、時間ベースのコードの時間間隔の経過を区別する。実施例21:実施例20のシステムにおいては、間隔タイミング構成要素は、単一の期間の時間間隔の経過を区別するよう構成される。   Embodiment 13: A system for reconciling digital data processing, statistical processing, and pattern recognition provided in a neural processing component, an input for receiving a signal representing information using a collection of discrete numbers; An encoder that encodes the received signal, the encoder configured to translate a numeric state in the received signal into a time-based code, and a state detector configured to detect a numeric state in the received signal The time-based code includes a collection of time intervals each assigned to a respective number in the received signal, each of the time intervals includes an event, and the timing of the event within each of the time intervals is Characterize the status of each assigned number, and the system further separates the time-based code Comprising an output for providing a system or apparatus, and a connection neural processing component to receive a time-based code. Example 14 In the system of Example 13, the neural processing component is implemented using a wet neural component, and the characteristics of the time-based code are adjusted to match the wet neural component. Example 15: In any of the systems of Examples 13 and 14, the received signal includes a binary signal and the state detector includes a bit detector configured to detect the state of the bits in the binary signal. . Example 16: In any of the systems of Examples 13-15, the translator includes an event generator, and the event generator is configured and connected to generate a time-based code event. Example 17: In the system of Example 16, the event generator includes a pulse generator, and the shape of the pulse representing the first state is indistinguishable from the shape of the pulse representing the second state. Example 18 In the system of Example 16, the event generator is further configured to distinguish the start of a time-based code and generate a header event corresponding to the header in the received signal. Example 19: The system of any of Examples 13-18 further includes a start / stop detector configured and connected to detect the beginning and end of the received signal. Example 20: The system of any of Examples 13-19 further includes an interval timing component that distinguishes the passage of time intervals in the time-based code. Example 21: In the system of Example 20, the interval timing component is configured to distinguish the course of a single time interval.

実施例22:統計処理と、ニューラル処理構成要素およびデジタルデータ処理装置によって提供されるパターン認識機能とを調和させ、時間ベースのコード信号を復号するための方法であって、ニューラル処理装置からの時間ベースのコード信号をデコーダにおいて受信するステップを含み、時間ベースのコード信号は、時間間隔に分割され、時間ベースのコード信号の時間間隔の各々はイベントを含み、時間間隔内におけるイベントのタイミングは、時間ベースのコード信号の情報内容を表わし、上記方法はさらに、時間間隔内におけるイベントのタイミングを検出するステップと、離散数字の集まりを用いて時間ベースのコード信号で表わされた情報を表わす信号を出力するステップとを含む。実施例23:実施例22の方法はさらに、時間ベースのコード信号の間隔の第1の時間範囲内に起こるイベントを、出力信号における第1の状態の離散数字に変換するステップと、時間ベースのコード信号の間隔の第2の時間範囲内に起こるイベントを、出力信号における第2の状態の離散数字へと変換するステップとを含む。実施例24:実施例23の方法においては、出力信号は2進信号を含む。実施例25:実施例22〜24のうちいずれかの方法はさらに、時間ベースのコード信号のデータ内容の開始を検出するステップをさらに含む。実施例26:実施例25の方法においては、データ内容の開始を検出するステップは、時間ベースのコード信号のヘッダイベントを検出するステップを含む。実施例27:実施例26の方法はさらに、ヘッダイベントとヘッダイベント後の第1のイベントとの間の時間を決定するステップを含む。実施例28:実施例25の方法はさらに、時間ベースのコード信号のデータ内容の開始とともに時間間隔内にイベントが起こる時刻の検出を同期させるステップをさらに含む。実施例29:実施例22〜28のうちいずれかの方法においては、時間ベースのコード信号を受信するステップは、ウェットなニューラル構成要素を用いて実現されるニューラル処理装置から時間ベースのコード信号を受信するステップを含む。実施例30:実施例22〜29のうちいずれかの方法はさらに、第2のデコーダにおいて第2の時間ベースのコード信号を受信するステップを含み、第2の時間ベースのコード信号は時間間隔に分割され、第2の時間ベースのコード信号の時間間隔の各々はイベントを含み、時間間隔内におけるイベントのタイミングは、第2の時間ベースのコード信号の情報内容を表わし、上記方法はさらに、第2のデコーダにおいて時間間隔内におけるイベントのタイミングを検出するステップと、第2のデコーダから、離散数字の第2の集まりを用いて第2の時間ベースのコード信号で表わされる情報を表わす信号を出力するステップと、離散数字の集まりおよび離散数字の第2の集まりを第2の信号に集約するステップとを含む。実施例31:実施例22〜30のうちいずれかの方法においては、時間ベースのコード信号のイベントは識別不可能な形状を有する。   Embodiment 22: A method for decoding a time-based code signal by reconciling statistical processing with a pattern recognition function provided by a neural processing component and a digital data processing device, the time from the neural processing device Receiving a base code signal at a decoder, wherein the time based code signal is divided into time intervals, each time interval of the time based code signal includes an event, and the timing of the event within the time interval is: Representing the information content of a time-based code signal, the method further comprising the step of detecting the timing of an event within the time interval and a signal representing the information represented by the time-based code signal using a collection of discrete digits Output. Example 23: The method of Example 22 further includes converting events occurring within a first time range of the time-based code signal interval to discrete numbers of a first state in the output signal; Converting events occurring within a second time range of the code signal interval to discrete numbers of a second state in the output signal. Example 24: In the method of Example 23, the output signal comprises a binary signal. Example 25: The method of any of Examples 22-24 further includes detecting the start of the data content of the time-based code signal. Example 26: In the method of Example 25, detecting the start of data content includes detecting a header event of a time-based code signal. Example 27: The method of Example 26 further includes determining a time between a header event and a first event after the header event. Example 28: The method of Example 25 further includes synchronizing the detection of the time at which an event occurs within the time interval with the start of the data content of the time-based code signal. Example 29: In any of the methods of Examples 22-28, the step of receiving a time-based code signal comprises receiving a time-based code signal from a neural processor implemented using a wet neural component. Receiving. Example 30: The method of any of Examples 22-29 further includes receiving a second time-based code signal at a second decoder, wherein the second time-based code signal is at a time interval. Each of the time intervals of the divided second time-based code signal includes an event, the timing of the event within the time interval represents the information content of the second time-based code signal, and the method further includes: Detecting a timing of an event within the time interval in the two decoders, and outputting a signal representing information represented by the second time-based code signal from the second decoder using the second set of discrete numbers. And aggregating a set of discrete numbers and a second set of discrete numbers into a second signal. Example 31 In any of the methods of Examples 22-30, the time-based code signal event has an indistinguishable shape.

実施例32:統計処理と、ニューラル処理構成要素およびデジタルデータ処理装置によって提供されるパターン認識機能とを調和させ、時間ベースのコード信号を復号するためのシステムであって、ニューラル処理構成要素と、ニューラル処理構成要素が接続され、時間ベースのコード信号を受信する入力とを含み、時間ベースのコード信号は時間間隔に分割され、時間ベースのコード信号の時間間隔の各々はイベントを含み、時間間隔内におけるイベントのタイミングは、時間ベースのコード信号の情報内容を表わし、上記システムはさらに、時間ベースのコード信号の時間間隔内におけるイベントのタイミングを検出するよう構成されたイベント検出器と、時間ベースのコードの時間間隔内におけるイベントのタイミングを数字の集まりの状態に翻訳するよう構成されたトランスレータと、数字を含む信号を与えるよう構成された出力とを含む。実施例33:実施例32のシステムにおいては、トランスレータは、イベントの検出されたタイミングを受信しかつ、検出されたイベントのタイミングを間隔内における時間範囲と比較するコンパレータの集まりを含む。実施例34:実施例32および33のうちいずれかのシステムにおいては、ニューラル処理構成要素はウェットなニューラル構成要素を用いて実現される。実施例35:実施例32〜34のうちいずれかのシステムにおいては、トランスレータは、時間ベースのコードの時間間隔内におけるイベントを2進信号に翻訳するよう構成される。実施例36:実施例32〜35のうちいずれかのシステムにおいては、イベント検出器はパルス検出器を含む。実施例37:実施例32〜36のうちいずれかのシステムはさらに、間隔タイミング構成要素を含み、間隔タイミング構成要素は、時間ベースのコードの時間間隔の経過を区別する。実施例38:実施例37のシステムにおいては、間隔タイミング構成要素は、タイムカウントを基準と比較するよう構成されたコンパレータを含む。実施例39:実施例38のシステムにおいては、基準は一定であり、時間間隔はすべて同じ単一の長さである。実施例40:実施例37のシステムはさらに、時間ベースのコード信号の開始を検出するよう構成された開始検出器を含む。実施例41:実施例32〜40のうちいずれかのシステムにおいては、開始検出器は、間隔タイミング構成要素に結合され、間隔タイミング構成要素にリセット信号を与え、リセット信号は時間間隔の経過の区別をリセットする。   Example 32: A system for decoding statistical processing and a pattern recognition function provided by a neural processing component and a digital data processing device and decoding a time-based code signal, the neural processing component; A neural processing component is connected and includes an input for receiving a time-based code signal, the time-based code signal is divided into time intervals, each time interval of the time-based code signal includes an event, and the time interval The timing of the event in the information represents the information content of the time-based code signal, and the system further includes an event detector configured to detect the timing of the event within the time interval of the time-based code signal, and a time base A collection of numbers that indicate the timing of events within the time interval Including and translators configured to translate the state, and configured to provide a signal containing the numeric output. Example 33: In the system of Example 32, the translator includes a collection of comparators that receive the detected timing of the event and compare the timing of the detected event with a time range within the interval. Example 34: In any of the systems of Examples 32 and 33, the neural processing component is implemented using a wet neural component. Example 35: In any system of Examples 32-34, the translator is configured to translate events within a time interval of a time-based code into a binary signal. Example 36: In any of the systems of Examples 32-35, the event detector includes a pulse detector. Example 37: The system of any of Examples 32-36 further includes an interval timing component that distinguishes the passage of time intervals in a time-based code. Example 38: In the system of Example 37, the interval timing component includes a comparator configured to compare the time count to a reference. Example 39: In the system of Example 38, the criteria are constant and the time intervals are all the same single length. Example 40: The system of Example 37 further includes a start detector configured to detect the start of a time-based code signal. Example 41: In any of the systems of Examples 32-40, the start detector is coupled to the interval timing component and provides a reset signal to the interval timing component, the reset signal distinguishing the passage of time intervals. To reset.

こうして、本発明の特定の実施例を記載してきた。他の実施例は添付の特許請求の範囲内に収まる。場合によっては、請求項に記載される動作は、異なる順序で実行されてもよく、それでもなお所望の結果を達成することができる。加えて、添付の図面において図示されるプロセスは、所望の結果を達成するために、図示される特定の順序または連続した順序を必ずしも必要とするものではない。いくつかの実現例においては、マルチタスクおよび並行処理が有利になり得る。   Thus, particular embodiments of the present invention have been described. Other embodiments are within the scope of the appended claims. In some cases, the actions recited in the claims may be performed in a different order and still achieve desirable results. In addition, the processes illustrated in the accompanying drawings do not necessarily require the particular order shown or sequential order to achieve the desired result. In some implementations, multitasking and parallel processing may be advantageous.

Claims (59)

方法であって、
入力において時間ベースのコード信号を受信するステップを含み、時間ベースのコード信号は、時間間隔に分割され、時間ベースのコード信号の時間間隔の各々はイベントを含み、間隔内におけるイベントの発生は情報を表わすよう時間設定され、前記方法はさらに、
時間ベースのコード信号におけるイベントのうち少なくともいくつかのイベントの振幅に、時間ベースのコード信号における他のイベントのタイミングの関数として、重み付けして、重み付けされたイベントを含む振幅シーケンスを生成するステップと、
振幅重み付けされた時間ベースのコードを出力するステップとを含む、方法。
A method,
Receiving a time-based code signal at an input, wherein the time-based code signal is divided into time intervals, each time interval of the time-based code signal includes an event, and the occurrence of the event within the interval is informational And the method further includes:
Weighting the amplitude of at least some of the events in the time-based code signal as a function of the timing of other events in the time-based code signal to generate an amplitude sequence including the weighted events; ,
Outputting an amplitude weighted time-based code.
イベントの振幅に重み付けするステップは、時間ベースのコード信号に新しい情報を追加しない、請求項1に記載の方法。   The method of claim 1, wherein weighting the event amplitude does not add new information to the time-based code signal. 入力イベントの振幅に重み付けするステップは、直接先行する入力イベントの重み付けされた振幅の関数として第1の入力イベントに重み付けするステップを含む、請求項1または2に記載の方法。   3. A method according to claim 1 or 2, wherein the step of weighting the amplitude of the input event comprises the step of weighting the first input event as a function of the weighted amplitude of the immediately preceding input event. 入力イベントの振幅に重み付けするステップは、時間感度パラメータを有する直接先行する入力イベントから経過した時間を乗ずることによって、第1の入力イベントの振幅に重み付けするステップを含む、請求項1から3のいずれかに記載の方法。   The step of weighting the amplitude of the input event comprises the step of weighting the amplitude of the first input event by multiplying the time elapsed from the directly preceding input event having a time sensitivity parameter. The method of crab. 入力イベントの振幅に重み付けするステップは、確率変数の関数として入力イベントの振幅に重み付けするステップをさらに含む、請求項1から4のいずれかに記載の方法。   5. A method according to any preceding claim, wherein the step of weighting the amplitude of the input event further comprises the step of weighting the amplitude of the input event as a function of a random variable. 時間ベースのコードにおけるフッタイベントに応じて、イベントの振幅に対する重み付けを既知の状態にリセットするステップをさらに含む、請求項1から5のいずれかに記載の方法。   6. A method according to any preceding claim, further comprising the step of resetting the weighting of the event amplitude to a known state in response to a footer event in the time-based code. システムであって、
情報を時間ベースのコード信号の集まりに符号化するよう構成された時間エンコーダを含み、時間ベースのコード信号は各々、時間間隔に分割され、時間間隔の各々はイベントを含み、間隔内におけるイベントの発生が情報を表わすよう時間設定され、前記システムはさらに、
圧縮エンコーダを含み、前記圧縮エンコーダは、コンバータ装置の集まりを含み、前記コンバータ装置は各々、それぞれの時間ベースのコード信号におけるイベントの振幅を受信し、それぞれの時間ベースのコードにおける他のイベントの特徴の関数として、前記受信したイベントの振幅に重み付けするよう接続および構成される、システム。
A system,
A time encoder configured to encode the information into a collection of time-based code signals, each of the time-based code signals being divided into time intervals, each of the time intervals including an event, The occurrence is timed to represent information, and the system further includes:
A compression encoder, wherein the compression encoder includes a collection of converter devices, each of the converter devices receiving an amplitude of an event in a respective time-based code signal, and other event features in the respective time-based code. A system connected and configured to weight the amplitude of the received event as a function of.
エンコーダはリセット機構を含み、前記リセット機構は、コンバータ装置におけるイベントの振幅に対する重み付けを既知の状態にリセットするよう構成される、請求項7に記載のシステム。   The system of claim 7, wherein the encoder includes a reset mechanism, wherein the reset mechanism is configured to reset the weighting on the amplitude of the event in the converter device to a known state. エンコーダは、振幅重み付けされた時間ベースのコードを信号に積分するよう接続および構成されたインテグレータを含む、請求項7または8に記載のシステム。   9. A system according to claim 7 or 8, wherein the encoder comprises an integrator connected and configured to integrate an amplitude weighted time-based code into the signal. インテグレータは、振幅重み付けされた時間ベースのコードを1次元信号に積分するよう構成される、請求項7から9のいずれかに記載のシステム。   The system according to any of claims 7 to 9, wherein the integrator is configured to integrate the amplitude-weighted time-based code into a one-dimensional signal. インテグレータは、振幅重み付けされた時間ベースのコードを信号に積分するよう構成され、単位時間内におけるイベント間のいくつかのタイムスパンがポアソン分布される、請求項7から10のいずれかに記載のシステム。   11. A system according to any of claims 7 to 10, wherein the integrator is configured to integrate an amplitude weighted time-based code into the signal, and several time spans between events within a unit time are Poisson distributed. . コンバータ装置の重み付けは時間ベースのコード信号に新しい情報を追加しない、請求項7から11のいずれかに記載のシステム。   12. A system according to any of claims 7 to 11, wherein the converter device weighting does not add new information to the time-based code signal. 各々のイベントの重み付けは、時間ベースのコード信号における先行するイベントの発生の時刻の非線形関数である、請求項7から12のいずれかに記載のシステム。   13. A system according to any of claims 7 to 12, wherein the weighting of each event is a non-linear function of the time of occurrence of a preceding event in the time-based code signal. 機械によって実現される方法であって、
イベントの振幅重み付けされたシーケンスの集まりを入力において受信するステップを含み、振幅重みは、イベントの各シーケンスにおける他のイベントのタイミングの関数であり、前記方法はさらに、
時間シーケンス間の相互作用を積分して、それらの相互作用を表わす積分を生成するステップと、
イベントのうち振幅重み付けされたシーケンスにおけるイベントの数に応じてしきい値を調整するステップと、
しきい値に達する積分に応じて出力において出力イベントを出力するステップとを含み、これにより、各々の出力イベントのタイミングは、動的しきい値に達する積分のタイミングを示す、方法。
A method realized by a machine,
Receiving at the input a collection of amplitude weighted sequences of events, the amplitude weights being a function of the timing of other events in each sequence of events, the method further comprising:
Integrating the interactions between the time sequences to generate an integral representing those interactions;
Adjusting the threshold according to the number of events in an amplitude weighted sequence of events;
Outputting an output event at the output in response to the integration reaching a threshold, whereby the timing of each output event indicates the timing of the integration reaching a dynamic threshold.
イベントのうち各々の振幅重み付けされたシーケンスにおける入力イベントの数が同じであり、
前記方法はさらに、出力イベントの数が入力イベントの数と等しくなるように、動的しきい値を調整するステップを含む、請求項14に記載の方法。
The number of input events in each amplitude-weighted sequence of events is the same,
The method of claim 14, further comprising adjusting a dynamic threshold such that the number of output events is equal to the number of input events.
出力イベントのタイミングを除いて、出力イベントは互いから識別不可能である、請求項14または15に記載の方法。   16. A method according to claim 14 or 15, wherein the output events are indistinguishable from each other except for the timing of the output events. イベントの振幅重み付けされたシーケンスの各々は同じ時刻から始まる、請求項14から16のいずれかに記載の方法。   17. A method according to any of claims 14 to 16, wherein each of the amplitude weighted sequences of events starts at the same time. 出力イベントを出力するステップは、ローからハイおよびハイからローに遷移するステップを含む、請求項14から17のいずれかに記載の方法。   18. A method according to any of claims 14 to 17, wherein outputting an output event comprises transitioning from low to high and from high to low. 方法1から6のいずれかと組合わされる、請求項14から18のいずれかに記載の方法。   19. A method according to any of claims 14 to 18 in combination with any of methods 1 to 6. システムであって、
イベントの振幅重み付けされたシーケンスの集まりを受信するよう接続および構成されたインテグレータを含み、振幅重みは、イベントの各シーケンスにおける他のイベントのタイミングの関数であり、インテグレータは、積分を特徴付ける信号を受信するよう接続されたコンパレータを含み、前記コンパレータは、
積分を特徴付ける信号を動的しきい値と比較し、
動的しきい値に達する積分を特徴付ける信号に応じて、出力イベントを出力し、積分を特徴付ける信号と動的しきい値との比較をリセットするよう構成される、システム。
A system,
Includes integrators connected and configured to receive a collection of amplitude-weighted sequences of events, where amplitude weights are a function of the timing of other events in each sequence of events, and the integrator receives a signal that characterizes the integral A comparator connected to the comparator, the comparator comprising:
Compare the signal characterizing the integral with the dynamic threshold,
A system configured to output an output event and reset a comparison between the signal characterizing the integral and the dynamic threshold in response to the signal characterizing the integral reaching the dynamic threshold.
インテグレータはさらに、入力イベントの数を時間シーケンスで数えるよう構成されたイベントカウンタを含む、請求項20に記載のシステム。   The system of claim 20, wherein the integrator further includes an event counter configured to count the number of input events in a time sequence. インテグレータはさらに、入力イベントのカウントを時間シーケンスで受信するよう接続されたしきい値調整器を含み、しきい値調整器は、時間シーケンスでの入力イベントの数のカウントに応じて、動的しきい値を調整するよう接続および構成される、請求項20または21に記載のシステム。   The integrator further includes a threshold adjuster connected to receive a count of input events in a time sequence, the threshold adjuster dynamically depending on the count of the number of input events in the time sequence. 22. A system according to claim 20 or 21, connected and configured to adjust a threshold. 出力イベントのタイミングを除いて、出力イベントは互いからは識別不可能である、請求項20から22のいずれかに記載のシステム。   23. A system according to any of claims 20 to 22, wherein the output events are indistinguishable from each other except for the timing of the output events. コンパレータによって出力される出力イベントを伝送するよう構成された送信機をさらに含む、請求項20から23のいずれかに記載のシステム。   24. A system according to any of claims 20 to 23, further comprising a transmitter configured to transmit an output event output by the comparator. 出力イベントをデータ記憶装置に書込むよう構成されたデータ書込装置をさらに含む、請求項20から24のいずれかに記載のシステム。   25. A system according to any of claims 20 to 24, further comprising a data writer configured to write output events to a data storage device. システム7から13のいずれかと組合わされる、請求項20から25のいずれかに記載のシステム。   26. A system according to any of claims 20 to 25, in combination with any of systems 7 to 13. データ記憶装置であって、情報を符号化する検出可能な物理的表現を含み、物理的表現は、符号化方式に従って間隔を空けて配置され、これにより、物理的表現間の間隔が符号化された情報の内容を表わす、データ記憶装置。   A data storage device that includes a detectable physical representation that encodes information, the physical representation being spaced apart according to an encoding scheme, thereby encoding an interval between physical representations A data storage device representing the contents of the information. 物理的表現間の間隔は、予め定められた確率分布と一致する、請求項27に記載のデータ記憶装置。   28. The data storage device according to claim 27, wherein the interval between physical representations matches a predetermined probability distribution. 確率分布は非対称であり傾斜している、請求項28に記載のデータ記憶装置。   29. A data storage device according to claim 28, wherein the probability distribution is asymmetric and sloped. 確率分布は確率分布の中心の左側に傾斜している、請求項29に記載のデータ記憶装置。   30. The data storage device according to claim 29, wherein the probability distribution is inclined to the left of the center of the probability distribution. 確率分布の標準偏差は、確率分布の平均の二乗根にほぼ等しい、請求項30に記載のデータ記憶装置。   The data storage device according to claim 30, wherein the standard deviation of the probability distribution is approximately equal to the mean square root of the probability distribution. 確率分布はポアソン分布である、請求項31に記載のデータ記憶装置。   32. The data storage device according to claim 31, wherein the probability distribution is a Poisson distribution. 物理的表現間の間隔を除いて、物理的表現は互いからは識別不可能である、請求項27から32のいずれかに記載のデータ記憶装置。   33. A data storage device according to any of claims 27 to 32, wherein the physical representations are indistinguishable from each other, except for the interval between the physical representations. 物理的表現の数は、データ記憶装置に記憶されたビットの数と等しい、請求項27から33のいずれかに記載のデータ記憶装置。   34. A data storage device according to any of claims 27 to 33, wherein the number of physical representations is equal to the number of bits stored in the data storage device. 各々の物理的表現は1対の遷移、すなわち、第1の状態から第2の状態への第1の遷移、および第2の状態から第1の状態に戻る第2の遷移、を含む、請求項27から34のいずれかに記載のデータ記憶装置。   Each physical representation includes a pair of transitions: a first transition from a first state to a second state, and a second transition from the second state back to the first state. Item 35. The data storage device according to any one of Items 27 to 34. 物理的表現間の間隔は、請求項20から26のいずれかに記載のシステムによって出力される出力イベント間の時刻にスケーリングされる、請求項27から35のいずれかに記載のデータ記憶装置。   36. A data storage device according to any of claims 27 to 35, wherein the interval between physical representations is scaled to the time between output events output by the system according to any of claims 20 to 26. 方法であって、
時系列のイベントを受信するステップを含み、イベントは、入力時系列内における不均一な間隔で起こり、入力時系列内における入力イベントのタイミングにより情報が符号化され、前記方法はさらに、
重みの複数の集まりを生成するステップを含み、各々の集まりにおける各々の重みは、入力時系列におけるそれぞれの入力イベントに対応し、各々の集まりにおける重みは、受信した時系列における複数のイベントのタイミングの関数であり、前記方法はさらに、
重みの集まりを出力するステップを含む、方法。
A method,
Receiving a time series of events, the events occur at non-uniform intervals in the input time series, and the information is encoded according to the timing of the input events in the input time series, the method further comprising:
Generating a plurality of collections of weights, wherein each weight in each collection corresponds to a respective input event in the input time series, and the weight in each collection is the timing of the plurality of events in the received time series And the method further comprises
Outputting a collection of weights.
受信した時系列におけるイベント間の間隔が、請求項27から36のいずれかに記載のデータ記憶装置の物理的表現間の間隔にスケーリングする、請求項37に記載の方法。   38. The method of claim 37, wherein an interval between events in the received time series scales to an interval between physical representations of the data storage device according to any of claims 27-36. 前記方法はさらに、入力時系列におけるイベントに振幅重みを乗ずるステップと、
入力時系列を、重み付けされたイベントの振幅重み付けされた時系列の集まりに変換するステップと、
重みの集まりを出力するステップとを含み、前記出力するステップは、重み付けされたイベントの振幅重み付けされた時系列の集まりを出力するステップを含み、各々の集まりにおける重みのうち少なくともいくつかは、非ゼロの入力時系列ごとに異なっている、請求項37または38に記載の方法。
The method further includes multiplying an event in the input time series by an amplitude weight;
Converting the input time series into an amplitude weighted collection of weighted events;
Outputting a collection of weights, wherein said outputting includes outputting an amplitude-weighted time series collection of weighted events, at least some of the weights in each collection being non- 39. A method according to claim 37 or 38, wherein the method is different for each zero input time series.
重みの集まりを出力するステップは、時間情報のない重みのリストを出力するステップを含む、請求項37から39のいずれかに記載の方法。   40. A method according to any of claims 37 to 39, wherein outputting the collection of weights comprises outputting a list of weights without time information. 重みの集まりを生成するステップは、時系列における第1のイベントに対応する第1の重みを、時系列における第1のイベントに先行するイベントのタイミングの非線形関数として生成するステップを含む、請求項37から40のいずれかに記載の方法。   The step of generating a collection of weights includes generating a first weight corresponding to a first event in the time series as a non-linear function of a timing of an event preceding the first event in the time series. The method according to any one of 37 to 40. 前記方法はさらに、振幅重みの集まりの生成を較正するステップを含む、請求項37から41のいずれかに記載の方法。   42. A method according to any of claims 37 to 41, wherein the method further comprises calibrating the generation of a collection of amplitude weights. 振幅重みの生成を既知の状態にリセットするステップと、
第2の後続の入力時系列を受信するステップとをさらに含む、請求項37から42のいずれかに記載の方法。
Resetting the generation of amplitude weights to a known state;
43. The method according to any of claims 37 to 42, further comprising receiving a second subsequent input time series.
請求項1から6または14から19のいずれかに記載の方法と組合わされる、請求項37から43のいずれかに記載の方法。   44. A method according to any of claims 37 to 43, in combination with a method according to any of claims 1 to 6 or 14 to 19. デコーダ装置であって、
イベントの入力時系列を受信するよう接続可能な入力を含み、入力時系列におけるイベントは不均一な間隔において起こり、入力時系列内における入力イベントのタイミングにより情報が符号化され、前記デコーダ装置はさらに、
各々が、入力時系列を振幅の集まりに固有に変換するよう構成されたコンバータ装置の集まりを含み、各々の振幅は、入力時系列における複数の入力イベントのタイミングの関数であり、前記デコーダ装置はさらに、
出力の集まりを含み、各々は、それぞれの振幅の列を出力するよう接続可能であり、振幅は異なっているが、振幅の数は、入力時系列におけるイベントの数と同じであり、
異なる重み発生器によって生成される振幅のうち少なくともいくつかは、非ゼロの入力時系列ごとに異なっている、デコーダ装置。
A decoder device,
Including inputs connectable to receive an input time series of events, events in the input time series occur at non-uniform intervals, information is encoded according to the timing of the input events within the input time series, and the decoder device further includes ,
Each comprising a collection of converter devices configured to inherently convert an input time series into a collection of amplitudes, each amplitude being a function of the timing of a plurality of input events in the input time series, wherein the decoder device comprises: further,
Including a collection of outputs, each connectable to output a respective sequence of amplitudes, with different amplitudes, but the number of amplitudes is the same as the number of events in the input time series;
A decoder device, wherein at least some of the amplitudes generated by the different weight generators are different for each non-zero input time series.
リセット機構をさらに含み、リセット機構は、コンバータ装置を既知の状態にリセットするよう構成される、請求項44に記載のデコーダ。   45. The decoder of claim 44, further comprising a reset mechanism, wherein the reset mechanism is configured to reset the converter device to a known state. 重みの集まりを記憶するデータ記憶装置の集まりと、
乗算器の集まりとを含み、乗算器の各々は、振幅の集まりのうちの1つにそれぞれの重みを乗ずるよう接続および構成され、さらに、
振幅の集まりの積とそれぞれの第2の重みとを合計するよう構成された加算器を含む、請求項44または45に記載のデコーダ。
A collection of data storage devices for storing a collection of weights;
Each of the multipliers is connected and configured to multiply one of the amplitude collections by a respective weight;
46. A decoder according to claim 44 or 45, comprising an adder configured to sum the product of the amplitude collection and the respective second weight.
コンバータ装置の各々は、振幅の集まりを生成するように、入力時系列におけるイベントの一時的なパターンに従って、反応強度を動的に調整する1つ以上の処理接合によって相互接続される信号プロセッサのネットワークを含む、請求項44から47のいずれかに記載のデコーダ。   Each of the converter devices is a network of signal processors interconnected by one or more processing junctions that dynamically adjust the reaction intensity according to a temporal pattern of events in the input time series to generate a collection of amplitudes 48. A decoder according to any of claims 44 to 47, comprising: 請求項7から13または20から26のいずれかと組合わされる、請求項44から48のいずれかに記載のデコーダ。   49. A decoder according to any of claims 44 to 48, in combination with any of claims 7 to 13 or 20 to 26. 装置であって、
振幅の入力列を受信するよう接続可能な入力と、
振幅の入力列を振幅の第2の列と比較して、振幅の入力列と振幅の第2の列との差を示す信号を生成するよう接続されたコンパレータと、
時系列を振幅の第2の列に変換するよう構成されたコンバータ装置とを含み、第2の列における各々の振幅は、コンバータ装置に入力される時系列における複数のイベントのタイミングの関数であり、前記装置はさらに、
コンバータ装置に入力される時系列を並べ替えるよう構成されたパーミュータと、
振幅の入力列としきい値を下回る振幅の第2の列との差を示す信号に応じて、コンバータ装置に入力される時系列を出力するよう接続可能な出力とを含む、装置。
A device,
An input connectable to receive an input string of amplitude;
A comparator connected to compare the amplitude input string with the second amplitude column to generate a signal indicative of the difference between the amplitude input string and the second amplitude string;
A converter device configured to convert a time series into a second column of amplitudes, each amplitude in the second column being a function of the timing of a plurality of events in the time series input to the converter device The device further comprises:
A permuter configured to rearrange the time series input to the converter device;
An apparatus comprising: an output connectable to output a time series input to a converter apparatus in response to a signal indicative of a difference between an amplitude input string and a second string of amplitudes below a threshold value.
コンバータ装置は、振幅の第2の列を生成するように、入力時系列におけるイベントの一時的なパターンに従って、反応強度を動的に調整する1つ以上の処理接合によって相互接続される信号プロセッサのネットワークを含む、請求項50に記載の装置。   The converter device includes a signal processor interconnected by one or more processing junctions that dynamically adjust the reaction intensity according to a temporal pattern of events in the input time series to generate a second column of amplitudes. 51. The apparatus of claim 50, comprising a network. 振幅の入力列を記憶するためのバッファをさらに含む、請求項50または51に記載の装置。   52. The apparatus of claim 50 or 51, further comprising a buffer for storing an amplitude input string. 振幅の第2の列を記憶するための第2のバッファをさらに含む、請求項50から52のいずれかに記載の装置。   53. The apparatus according to any of claims 50 to 52, further comprising a second buffer for storing a second column of amplitudes. コンパレータは、コンパレータの集まりを含み、コンパレータは各々、入力列の単一の振幅を振幅の第2の列の単一の振幅と比較するよう接続される、請求項50から53のいずれかに記載の装置。   54. The comparator according to any of claims 50 to 53, wherein the comparators comprise a collection of comparators, each comparator being connected to compare a single amplitude of the input column with a single amplitude of the second column of amplitudes. Equipment. 請求項44から48、7から13または20から26のいずれかと組合される、請求項50から54のいずれかに記載の装置。   55. Apparatus according to any of claims 50 to 54, in combination with any of claims 44 to 48, 7 to 13 or 20 to 26. 方法であって、
振幅の入力列を受信するステップと、
入力列の振幅を振幅の第2の列の振幅と比較して、その差を示す信号を生成するステップと、
差信号に応じて、装置に入力される時系列を並べ替えるステップとを含み、前記装置は、入力時系列に応じて振幅の第2の列を生成する、方法。
A method,
Receiving an input sequence of amplitudes;
Comparing the amplitude of the input string with the amplitude of the second column of amplitudes to generate a signal indicative of the difference;
Rearranging a time series input to the device in response to the difference signal, wherein the device generates a second column of amplitudes in response to the input time series.
しきい値を下回る差信号に応じて時系列を出力するステップをさらに含む、請求項56に記載の方法。   57. The method of claim 56, further comprising outputting a time series in response to the difference signal below a threshold value. 比較のために、入力列の振幅および第2の列の振幅を1つ以上のバッファに記憶するステップをさらに含む、請求項56または57に記載の方法。   58. The method of claim 56 or 57, further comprising storing the input column amplitude and the second column amplitude in one or more buffers for comparison. 請求項37から44、1から6または14から19のいずれかに記載の方法と組合される、請求項56から58のいずれかに記載の方法。   59. A method according to any of claims 56 to 58, in combination with a method according to any of claims 37 to 44, 1 to 6 or 14 to 19.
JP2012522150A 2009-07-28 2010-07-27 Information encoding and decoding Active JP5587412B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/EP2009/059757 WO2011012158A1 (en) 2009-07-28 2009-07-28 Encoding and decoding of information
EPPCT/EP2009/059757 2009-07-28
PCT/EP2010/060875 WO2011012614A2 (en) 2009-07-28 2010-07-27 Encoding and decoding information

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014148783A Division JP5848414B2 (en) 2009-07-28 2014-07-22 Information encoding and decoding

Publications (2)

Publication Number Publication Date
JP2013500660A true JP2013500660A (en) 2013-01-07
JP5587412B2 JP5587412B2 (en) 2014-09-10

Family

ID=42035743

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012522150A Active JP5587412B2 (en) 2009-07-28 2010-07-27 Information encoding and decoding
JP2014148783A Active JP5848414B2 (en) 2009-07-28 2014-07-22 Information encoding and decoding

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014148783A Active JP5848414B2 (en) 2009-07-28 2014-07-22 Information encoding and decoding

Country Status (5)

Country Link
JP (2) JP5587412B2 (en)
KR (1) KR101734596B1 (en)
CN (2) CN104901702B (en)
ES (1) ES2823253T3 (en)
WO (2) WO2011012158A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021536078A (en) * 2018-10-29 2021-12-23 ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィMitsubishi Electric R&D Centre Europe B.V. Methods for decryption, computer program products, and devices

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011106520A1 (en) 2010-02-24 2011-09-01 Ipplex Holdings Corporation Augmented reality panorama supporting visually impaired individuals
CN105075156B (en) * 2013-02-27 2018-01-16 Hrl实验室有限责任公司 MIMO ofdm systems and method for stabilization and effective neuromorphic communication between devices
WO2014133506A1 (en) * 2013-02-27 2014-09-04 Hrl Laboratories, Llc A mimo-ofdm system for robust and efficient neuromorphic inter-device communication
US9032273B2 (en) * 2013-09-05 2015-05-12 Infineon Technologies Ag Method, apparatus and device for data processing
US10489702B2 (en) * 2016-10-14 2019-11-26 Intel Corporation Hybrid compression scheme for efficient storage of synaptic weights in hardware neuromorphic cores
US10552738B2 (en) * 2016-12-15 2020-02-04 Google Llc Adaptive channel coding using machine-learned models
CN110326000B (en) * 2017-02-17 2023-11-24 可口可乐公司 Character recognition model based on end user input and recursive training system and method
CN109004937A (en) * 2018-07-13 2018-12-14 北京七维航测科技股份有限公司 A kind of high-precision B code generation method and module
CN113162628B (en) * 2021-04-26 2022-03-18 深圳希施玛数据科技有限公司 Data encoding method, data decoding method, terminal and storage medium
CN114124105B (en) * 2021-12-10 2022-08-19 枫树谷(成都)科技有限责任公司 Digital signal data compression, encryption and decoding method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007097154A (en) * 2005-08-31 2007-04-12 Matsushita Electric Ind Co Ltd Synchronization acquiring device and synchronization acquiring method
JP2008193701A (en) * 2007-02-06 2008-08-21 Oerlikon Space Ag Optical high-rate pulse position modulation scheme and optical communication system based thereon

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3640003C2 (en) * 1986-11-22 1996-07-25 Schunk Produktionsgesellschaft Method and device for transmitting information, in particular for mobile information carrier systems
US5155802A (en) 1987-12-03 1992-10-13 Trustees Of The Univ. Of Penna. General purpose neural computer
US4962342A (en) 1989-05-04 1990-10-09 Synaptics, Inc. Dynamic synapse for neural network
JPH03121625A (en) * 1989-10-04 1991-05-23 Seiko Epson Corp Communication equipment
US5537512A (en) 1993-05-26 1996-07-16 Northrop Grumman Corporation Neural network elements
JPH08315141A (en) * 1995-05-15 1996-11-29 Mitsubishi Electric Corp Image recognition device
IL133384A0 (en) 1997-06-11 2001-04-30 Univ Southern California Dynamic synapse for signal processing in neural networks
US6212230B1 (en) * 1998-04-04 2001-04-03 Sigmatel, Inc. Method and apparatus for pulse position modulation
AU6363099A (en) * 1999-10-28 2001-05-08 National University Of Singapore, The Method and apparatus for generating pulses from analog waveforms
US6630897B2 (en) * 1999-10-28 2003-10-07 Cellonics Incorporated Pte Ltd Method and apparatus for signal detection in ultra wide-band communications
KR100370223B1 (en) * 2001-02-05 2003-02-05 삼성전자 주식회사 Data recording/reproducing apparatus and method thereof, and data encoding method
US7149256B2 (en) * 2001-03-29 2006-12-12 Quellan, Inc. Multilevel pulse position modulation for efficient fiber optic communication
AU2003302422A1 (en) 2002-05-03 2004-06-18 University Of Southern California Artificial neural systems with dynamic synapses
US7773703B2 (en) * 2005-07-08 2010-08-10 Qualcomm Incorporated Methods and apparatus for communicating using a DC tone
US7359819B2 (en) * 2006-07-21 2008-04-15 Microsoft Corporation Evaluation of device driver output
US20080222047A1 (en) * 2007-03-06 2008-09-11 Securecard Technologies, Inc. Device and Method for Conducting Secure Economic Transactions with a Programmable Magnetic Stripe

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007097154A (en) * 2005-08-31 2007-04-12 Matsushita Electric Ind Co Ltd Synchronization acquiring device and synchronization acquiring method
JP2008193701A (en) * 2007-02-06 2008-08-21 Oerlikon Space Ag Optical high-rate pulse position modulation scheme and optical communication system based thereon

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021536078A (en) * 2018-10-29 2021-12-23 ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィMitsubishi Electric R&D Centre Europe B.V. Methods for decryption, computer program products, and devices
JP7146095B2 (en) 2018-10-29 2022-10-03 ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ Method, computer program product and device for decryption

Also Published As

Publication number Publication date
WO2011012158A1 (en) 2011-02-03
WO2011012614A3 (en) 2011-09-22
JP5848414B2 (en) 2016-01-27
JP2014209794A (en) 2014-11-06
KR101734596B1 (en) 2017-05-11
KR20120046760A (en) 2012-05-10
CN102648582A (en) 2012-08-22
CN102648582B (en) 2015-05-27
WO2011012614A2 (en) 2011-02-03
CN104901702B (en) 2018-11-30
JP5587412B2 (en) 2014-09-10
ES2823253T3 (en) 2021-05-06
CN104901702A (en) 2015-09-09

Similar Documents

Publication Publication Date Title
JP5848414B2 (en) Information encoding and decoding
US8941512B2 (en) Encoding and decoding information
US8473438B2 (en) Combined-model data compression
KR20130120441A (en) Analyzing data using a hierarchical structure
Zhu et al. On the analysis and improvement of min-entropy estimation on time-varying data
Mahmoud et al. Enhancing LSB using binary message size encoding for high capacity, transparent and secure audio steganography–an innovative approach
Ens et al. Quantifying musical style: Ranking symbolic music based on similarity to a style
CN107273322B (en) Parallel data output method and device
JP2020181256A (en) Program, device, and method which complement missing value in time-series measurement value group of plurality of sensors
CN110472739B (en) Efficient post-processing method and device for quantum random number and quantum random number generator
CN110381461A (en) Electrocardio signal transmission method, device, sensor, terminal and storage medium
US10291326B2 (en) Communication systems and methods
EP2460276B1 (en) Encoding and decoding of information
KR102079318B1 (en) Random number generation apparatus and method thereof
US20240022400A1 (en) Computer implemented methods, apparatuses and software for random number generation based on genetic information
Fabbri et al. Very low cost entropy source based on chaotic dynamics retrofittable on networked devices to prevent RNG attacks
JP2020523148A5 (en)
Pulova-Mihaylova et al. Compressing High Throughput Sequencing Data–Models and Software Implementation
Seo et al. Development of a Cost-effective Data Acquisition System using an Open-source Hardware and Matlab/Simulink
Wu et al. Decorrelation of Wireless Channel Coefficients for Secret Key Generation
Polo et al. Random number generator based on a memristive circuit
Canlas Egocentric activities of daily living recognition application using android platform
WO2024013498A1 (en) Computer implemented methods, apparatuses and software for random number generation based on genetic information
KR101045668B1 (en) A method of encoding time series data into a sound file, a method of decoding time series data from an encoded sound file, and a time series data input / output system using these methods
Mees Useful Lies: Dynamics from data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140624

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140723

R150 Certificate of patent or registration of utility model

Ref document number: 5587412

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250