Transporting Sampled Signals over Multiple Electromagnetic Pathways
20220368369 · 2022-11-17
Inventors
Cpc classification
International classification
Abstract
The subject of this disclosure is applying improved techniques to media signal communication as well as control and status exchange to implement a diversity of media interfaces, achieving suitable media communication results despite EM propagation challenges.
Claims
1. A method of distributing digital samples from one or more input media signals to P electromagnetic paths, said method comprising: a) distributing said digital samples from said one or more input media signals into P indexed input vectors each of length N, by implementing a predetermined distributing permutation by which each digital sample is distributed to one of said indexes of said input vectors, wherein P is an integer ≥2; b) encoding said digital samples of said input vectors using P encoders, each encoder encoding one of said input vectors using N codes of a code set, wherein each code of said code set is associated with one of said digital samples of said one of said input vectors, wherein each of the N codes is an indexed sequence of L chips and each of the N codes is different from and orthogonal to each of the other N−1 codes in the code set, and wherein N and L are each an integer such that L≥N≥2, each encoder performing the following sub-steps from a code index=1 to L on the input vector corresponding to said each encoder in order to form an ordered series of L digital output levels per encoder: i. modulating each digital sample in an input vector by the chip addressed by said code index in said code corresponding to said each digital sample, and ii. summing the results of all the modulations of sub-step (i) to form one of said ordered series of digital output levels; c) converting said ordered series of L digital output levels per encoder into an ordered series of L analog output levels per encoder; and d) for each of the P electromagnetic paths corresponding to one of the encoders, making available said L analog output levels and outputting said L analog output levels on said each electromagnetic path, wherein said L analog output levels represent said N digital samples of the input vector encoded by the encoder corresponding to said each electromagnetic path.
2. A method as recited in claim 1 wherein said one or more media signals originate at a single source and wherein said P electromagnetic paths terminate at a single sink.
3. A method as recited in claim 1 wherein said one or more media signals are video signals, audio signals, chemical sensor signals, chemical emitter signals, pressure sensor signals, control signals, mechanical sensor signals, mechanical effector signals, or haptic signals.
4. A method as recited in claim 1 further comprising: distributing said digital samples during a distributing interval, performing said sub-steps during an encoding interval, and making available said L analog output levels during a transport interval.
5. A method as recited in claim 1 wherein said modulating occurs during a modulating interval, said method further comprising: varying the duration of successive modulating intervals such that said successive modulating intervals are a pseudo-noise or near pseudo-noise sequence.
6. A method of receiving P ordered series of analog input levels representing one or more media signals, each of said ordered series being received from one of P electromagnetic pathways, wherein P is an integer >=2, said method comprising: a) for each ordered series of analog input levels, identifying an output vector containing a predetermined number N of indexed locations; b) for each ordered series of analog input levels, associating with each index in the output vector a code from a predetermined code set, wherein each of the N codes is an indexed sequence of L chips and each of the N codes is different from and orthogonal to each of the other N−1 codes in the code set, and wherein N and L are each an integer such that L≥N≥2; c) for each electromagnetic pathway, converting L of the received ordered series of analog input levels into an ordered series of L digital input levels; d) for each electromagnetic pathway, performing the following sub-steps from a code index=1 to L: i. for each output vector index, multiplying the chip addressed by said code index in the code associated with said each output vector index by the digital input level in said ordered series of L digital input levels addressed by said code index, ii. for each output vector index, summing the result from sub-step i) with the contents at said each output vector index, and iii. for each output vector index, storing the summing result from sub-step ii) at said each output vector index; and e) collecting digital samples from said locations of said output vectors by implementing a predetermined permutation, wherein the predetermined permutation collects said digital samples from said output vectors into one or more reconstructed media signals.
7. A method as recited in claim 6 wherein said one or more media signals originate at a single source and wherein said one or more reconstructed media signals terminate at a single sink.
8. A method as recited in claim 6 wherein said one or more media signals are video signals, audio signals, chemical sensor signals, chemical emitter signals, pressure sensor signals, control signals, mechanical sensor signals, mechanical effector signals, or haptic signals.
9. A method as recited in claim 6 further comprising: collecting said digital samples during a collection interval, performing said sub-steps during a decoding interval, and receiving said L analog input levels during a measuring interval.
10. A method as recited in claim 6 wherein each of said P ordered series of analog input levels being produced by a corresponding encoding method having been applied to one or more media signals, wherein said code set for each of said ordered series of analog input levels is identical to a code set applied in said corresponding encoding method, and wherein said one or more reconstructed media signals are reconstructed versions of said one or more media signals.
11. An apparatus for distributing digital samples from one or more input media signals to P electromagnetic paths, said apparatus comprising: a distributing permuter that distributes said digital samples from said one or more input media signals into P indexed input vectors each of length N, by implementing a predetermined distributing permutation by which each digital sample is distributed to one of said indexes of said input vectors, wherein P is an integer ≥2; P encoders, each encoder encoding one of said input vectors using N codes of a code set, wherein each code of said code set is associated with one of said digital samples of said one of said input vectors, wherein each of the N codes is an indexed sequence of L chips and each of the N codes is different from and orthogonal to each of the other N−1 codes in the code set, and wherein N and L are each an integer such that L≥N≥2, each encoder performing the following sub-steps from a code index=1 to L on the input vector corresponding to said each encoder in order to form an ordered series of L digital output levels per encoder: i. modulating each digital sample in an input vector by the chip addressed by said code index in said code corresponding to said each digital sample, and ii. summing the results of all the modulations of sub-step (i) to form one of said ordered series of digital output levels; a digital-to-analog converter that converts said ordered series of L digital output levels per encoder into an ordered series of L analog output levels per encoder; and an output terminal for each of the P electromagnetic paths corresponding to one of the encoders that makes available said L analog output levels and outputs said L analog output levels on said each electromagnetic path, wherein said L analog output levels represent said N digital samples of the input vector encoded by the encoder corresponding to said each electromagnetic path.
12. An apparatus as recited in claim 11 wherein said one or more media signals originate at a single source and wherein said P electromagnetic paths terminate at a single sink.
13. An apparatus as recited in claim 11 wherein said one or more media signals are video signals, audio signals, chemical sensor signals, chemical emitter signals, pressure sensor signals, control signals, mechanical sensor signals, mechanical effector signals, or haptic signals.
14. An apparatus as recited in claim 11 wherein said digital samples are distributed during a distributing interval, said sub-steps are performed during an encoding interval, and said L analog output levels are made available during a transport interval.
15. An apparatus as recited in claim 11 wherein said modulating occurs during a modulating interval, and wherein said each encoder varies the duration of successive modulating intervals such that said successive modulating intervals are a pseudo-noise or near pseudo-noise sequence.
16. An apparatus for receiving analog input levels representing one or more media signals, said apparatus comprising: P input terminals that each receive an ordered series of analog input levels, each of said ordered series being received from one of P electromagnetic pathways, wherein P is an integer >=2; an analog-to-digital encoder for each electromagnetic pathway that converts L of the received ordered series of analog input levels into an ordered series of L digital input levels; for each ordered series of L digital input levels, an output vector containing a predetermined number N of indexed locations; a decoder for each electromagnetic pathway, wherein for each ordered series of L digital input levels a code from a predetermined code set is associated with each index in the output vector, wherein each of the N codes is an indexed sequence of L chips and each of the N codes is different from and orthogonal to each of the other N−1 codes in the code set, and wherein N and L are each an integer such that L≥N≥2, each decoder arranged to perform the following sub-steps from a code index=1 to L for each electromagnetic pathway: i. for each output vector index, multiplying the chip addressed by said code index in the code associated with said each output vector index by the digital input level in said ordered series of L digital input levels addressed by said code index, ii. for each output vector index, summing the result from sub-step i) with the contents at said each output vector index, and iii. for each output vector index, storing the summing result from sub-step ii) at said each output vector index; and a collecting permuter that collects digital samples from said locations of said output vectors by implementing a predetermined permutation, wherein the predetermined permutation collects said digital samples from said output vectors into one or more reconstructed media signals.
17. An apparatus as recited in claim 16 wherein said one or more media signals originate at a single source and wherein said one or more reconstructed media signals terminate at a single sink.
18. An apparatus as recited in claim 16 wherein said one or more media signals are video signals, audio signals, chemical sensor signals, chemical emitter signals, pressure sensor signals, control signals, mechanical sensor signals, mechanical effector signals, or haptic signals.
19. An apparatus as recited in claim 16 wherein said digital samples are collected during a collection interval, said sub-steps are performed during a decoding interval, and said L analog input levels are received during a measuring interval.
20. An apparatus as recited in claim 16 wherein each of said P ordered series of analog input levels being produced by a corresponding encoder applied to said one or more media signals, wherein said code set for each of said ordered series of analog input levels is identical to a code set applied in said corresponding encoder, and wherein said one or more reconstructed media signals are reconstructed versions of said one or more media signals.
Description
BRIEF DESCRIPTIONS OF FIGURES
[0228]
[0229]
[0230]
[0231]
[0232]
[0233]
[0234]
[0235]
[0236]
[0237]
[0238]
[0239]
[0240]
[0241]
[0242]
[0243]
[0244]
[0245]
[0246]
[0247]
[0248]
[0249] Similarly,
[0250]
[0251]
[0252]
[0253]
[0254]
[0255]
[0256]
[0257]
[0258]
[0259]
[0260]
[0261]
[0262]
[0263]
[0264]
[0265]
[0266]
[0267]
GLOSSARY
[0268] Terms relating to the widely understood Spread Spectrum transmission system are defined and elaborated upon in “Spread Spectrum Systems with Commercial Applications” by Robert C. Dixon, volume 3, Wiley & Sons 1994. [0269] EM Signal A physical quantity measurable across an EM path [0270] Visual Perception A person's subjective awareness, comprehension, or understanding of a an EM signal whose wavelength lies in the visible spectrum [0271] Media Signal sampled signal destined for human perception via some output device [0272] Media Signal Snippet A finite, ordered, contiguous series of samples from a media signal. [0273] Media Transport method or apparatus for communicating one or more media signals over a single EM path [0274] Sink media sink equipment; the downhill side of one or more EM paths, with respect to the direction of media communication; repeatedly reconstructs output media signal snippets from input EM signals [0275] Source media source equipment; the uphill side of one or more EM paths, with respect to the direction of media communication; repeatedly encodes input media signal snippets as output EM signals [0276] Media Interface A specification for source and sink equipment for communicating media signals as EM signals; implemented with one or more instances of a media transport, plus provisions for bi-directional communication of control and status information. The media interface also specifies requirements for mechanical/electrical/logical characteristics of the connectors connecting source and sink equipment to the EM path, as well as requirements for the EM path itself. [0277] Tunnelling The technique of conveying modest-volume, must-be-bit-accurate digital signals through the same EM path used by a media transport through SSDS-CDMA modulation with very long codes that are orthogonal to the preferred media transport code book. [0278] Color Space An abstract mathematical model, which describes a color gamut as tuples of numbers, typically as 3 or 4 components (examples include RGB, YUV, YCbCr, and CMYK) [0279] Color Value A signal amplitude corresponding to a basis vector in a color space. [0280] Dot A geometric location in a 2D focal region or display region that is completely described as one Color Value. (This definition presupposes mono-layer photodiodes and photoemitters, as matches the state of the art in image sensors and displays.) [0281] Pixel A mathematical object associated with a geometric location in a 2D region, such as an image frame; a pixel is completely described as a set of Color Values, equivalently, a vector in a color space [0282] Image A 2-dimensional array of Color Values [0283] Video A sequence of Images displayed at a predetermined frame rate which induces perception of motion and continuity in human viewers [0284] “analog” EM Signal [0285] [0089] Any measurable electromagnetic energy. Physical quantities change continuously over time, and the number of different amplitudes available is limited by our ability to measure energy. Examples of analog representations of a signal include: [0286] [0090] Image sensor: voltage (at each “pixel” in the sensor: precharge a capacitor to a known voltage, then conditionally discharge the capacitor through a photodiode during a predetermined exposure interval; the brighter that portion of the focal area, the greater the number of photons traversing the photodiode, the greater the current in the photodiode, the lower the voltage on the capacitor after the exposure interval) [0287] [0091] LED/LCD display: current (the brightness of each “pixel” in the display (the smallest controllable portion) is determined by a control current at any given moment) [0288] “digital” Representation of a Signal [0289] [0092] A number that changes at predetermined intervals. Examples of digital representations of a signal include: [0290] [0093] PC: An R or G or B entry in a TIF file [0291] [0094] Serial digital Interface: An ordered series of bits in a predetermined format [0292] P Number of EM paths connecting source to sink [0293] N Number of elements in an encoder input vector and the corresponding decoder output vector
[0294] L The common number of Chips in each code, equivalently, the number of Chip intervals applied during each encoding interval or decoding interval. L can be any counting number. The bigger L is than N, the more electrical resilience is afforded to the conveyed information signal [0295] Input Vector A finite, ordered series of samples collected from input media signal snippets. The input vector comprises N values. [0296] Output Vector A finite, ordered series of samples distributed to reconstructed media signal snippets. The output vector comprises N values. [0297] EM Path A physical electromagnetic (EM) propagation pathway and its environment, through which electromagnetic energy is conveyed between terminals. Every EM path is an imperfect medium, because EM signal levels measured at a receiver terminal do not perfectly equal the EM signal levels made available at a corresponding transmitter terminal. [0298] Waveguide An EM path that physically constrains and confines the EM signal propagation vectors. [0299] Chip A value from a predetermined, bounded but not necessarily finite, set of possible values, that is one of the sequence of values making up a Code. [0300] Code A pre-determined sequence of Chips. In this disclosure, L is the variable that represents the length of a code in Chips. In an aspect, the statistical/frequency characteristics of Codes are essential to an embodiment of the media signal transport disclosed herein. [0301] Binary Code Book A Code book wherein the chips are binary, taking one of two values. [0302] PN Sequence A Code whose output exhibits spectral characteristics similar to those of white noise. “PN” stands for “Pseudo Noise.” An ideal PN Sequence's signal energy is uniform across the transmission spectrum; such that its Fourier Transform looks like a fine-tooth comb, with equal energy at every frequency. (NB: Not all Codes are PN Sequences.) [0303] Spreading A property of individual Codes, and the effect of modulating a signal by a PN Sequence: A signal modulated by an ideal PN Sequence exhibits spectral characteristics similar to those of white noise [0304] Spreading Code PN Sequence (NB: Not all PN Sequences “spread” ideally) [0305] Spreading Ratio=L [0306] =The number of successive Chips modulating each input sample [0307] =The number of successive Chips demodulating the ordered series of received values to decode the output vector [0308] =Spreading Factor (Dixon uses the terms “Spreading Ratio” and “Spreading Factor” interchangeably) [0309] =SSDS process gain [0310] =Code length [0311] =Chip sequence length [0312] =The number of encoder Chips modulating each sample in the input vector [0313] =The number of decoder Chip correlations contributing to each sample in the output vector [0314] Orthogonality A property of sets of Codes (“Code Books”). A Code Book is considered orthogonal if all of its N codes are pair-wise uncorrelated and independent sequences. (An orthogonal Code Book minimize inter-track interference among N tracks.) [0315] Walsh-Hadamard Code Set A set of PN Sequences wherein each Code constitutes an orthonormal basis vector for the L-dimensional space of Codes. For any two Codes in the set, the cross product is 0, representing nil cross-correlation. For any Code in the set, the self-product is 1, representing 100% auto-correlation. [0316] Distributing Interval The period allocated for initializing the Input Vector with N samples collected from input media signals [0317] Encoding Interval The period allocated for encoding one set of N Input Vector samples by the L chips per code [0318] Modulating Interval The period allocated for modulating one input vector sample by a Chip in its associated Code. In a uniform sequence of modulating intervals, each modulating interval=encoding interval/L. The modulating intervals need not be uniform. The sum of the modulating intervals must not exceed the encoding interval duration. [0319] Transport Interval The period allocated for simultaneously making available the EM signal corresponding to one set of Input Vector contents and receiving the EM signal corresponding to one set of Output Vector contents [0320] Dispatching Interval The period allocated for making available to the EM path one of the ordered series of levels corresponding to one set of Input Vector contents. The dispatching intervals need not be uniform. The sum of the dispatching intervals must not exceed the transport interval duration. In an embodiment, the dispatching intervals are varied to mitigate possible EMI/RFI issues. [0321] Measuring Interval The period allocated for receiving one of the ordered series of levels from the EM path. The measuring intervals need not be uniform. The sum of the measuring intervals must not exceed the transport interval duration. In a preferred embodiment, each measuring interval equals the dispatching interval in the paired apparatus or method for making available. [0322] Decoding Interval The period allocated for decoding one ordered series of values received from the EM path by the L chips per code set to reconstruct N Output Vector samples [0323] Demodulating Interval The period allocated for demodulating one received value by a Chip in its associated Code. In a uniform sequence of demodulating intervals, each demodulating interval=decoding interval/L. The demodulating intervals need not be uniform. The sum of the demodulating intervals must not exceed the decoding interval duration. [0324] Collecting Interval The period allocated for assigning the N Output Vector samples to output media signals. DETAILED DESCRIPTION OF EMBODIMENTS
[0325] The embodiments provided disclose ways in which certain methods and apparatus are used and useable in a range of environments.
[0326] In an aspect, the embodiments include methods and apparatuses for communicating a video signal together with bi-directional control and status information as specified in an associated video interface through a predetermined number P of EM paths, by repeating the following three sequences of steps an unlimited number of times:
[0327] In an aspect, one independent sequence of repeated steps includes the following steps: [0328] Distributing P*N samples from the input video signal during a predetermined distributing interval to form an N-element Input Vector in each of P encoders, one associated with each EM path; [0329] In each of the P encoders, Encoding the Input Vector into an ordered series of L levels during a predetermined encoding interval; [0330] Conveying each ordered series of L levels as an EM signal through the associated EM path during a predetermined transport interval, wherein the following sub-steps are performed once per Level: [0331] Dispatching the level to a transmitting terminal during a predetermined dispatching interval, [0332] Conveying the level through the associated EM path (more than one level may be propagating at once), and [0333] Measuring the level at a receiving terminal during a predetermined measuring interval; [0334] In each of P decoders, one associated with each EM path, Decoding the received ordered series of L levels during a predetermined decoding interval to form an N-sample Output Vector; and [0335] Collecting the P*N Output Vector samples during a predetermined collecting interval as the output video signal,
[0336] In an aspect, another independent sequence of repeated steps includes the following steps: [0337] Assigning the next one or more status bits to one of the P EM paths [0338] Encoding the status bits using any one of the many known SSDS-CDMA techniques for communicating binary signals, ensuring that the codes used are orthogonal to all codes in the media transport code book and to the codes used for control communication, [0339] Summing the EM signal level resulting from the status bits SSDS-CDMA modulation and the EM signal level resulting from the media signal SSDS-CDMA modulation to produce an output EM signal, [0340] Applying the ordered series of EM signal levels to the transmitter terminal, [0341] Conveying the output EM signal via the assigned EM path, [0342] measuring the ordered series of EM signal levels at the receiver terminal, [0343] Correlating the received EM signal with the same codes to reconstruct the status bits, and [0344] Interpreting some of the status bits to adjust the sink synchronization while collecting the other status bits as down-cable protocol signals per the media interface,
[0345] In an aspect, another independent sequence of repeated steps includes the following steps: [0346] Assigning the next one or more control bits to one of the P EM paths [0347] Encoding the control bits using any one of the many known SSDS-CDMA techniques for communicating binary signals, ensuring that the codes used are orthogonal to all codes in the media transport code book and to the codes used for status communication, [0348] Applying the ordered series of EM signal levels produced by the control bits SSDS-CDMA modulation to the receiver terminal to produce an output EM signal, [0349] Conveying the output EM signal via the assigned EM path, contrary to the direction of media signal conveyance, [0350] Measuring the ordered series of EM signal levels at the transmitter terminal, [0351] Correlating the measured EM signal with the same codes to reconstruct the control bits, and [0352] collecting the control bits as up-cable protocol signals per the media interface.
[0353] An encoding process 506 embodiment is depicted in .sub.j 112 in an ordered series 110 of output levels for making available.
[0354] The encoding process 506 repeats a modulating step, once for each of L modulating intervals 13 and, equivalently, once for each common index in the Codes 304 of a predetermined code book 354 of indexed Chips 104. The sub-steps of the modulating step comprise but are not limited to the sub-steps of: [0355] i) During the first part of a Modulating Interval 13, modulating 308 each input sample 300 by the commonly indexed Chip 104 in the Code 304 corresponding to the input sample's index in the input vector 350. The sum of the L Modulating Intervals must not exceed the predetermined Encoding Interval 12. In an embodiment, the Modulating Intervals are not uniform. If the input signals are pulsatile, then the samples are continuous values and an embodiment of modulation is an analog multiplication. If the Codes are binary (1/−1), then the samples are levels, and an embodiment of analog modulation is a conditional inversion. If the input signals are digital, then the samples are numbers, and an embodiment of modulation is a digital multiplier. If the Codes are binary (1/−1) and the input signals are digital, then an embodiment of the digital multiplier is a conditional negation. [0356] ii) During the remainder of the Modulating Interval 13, summing 310 the N modulation results 114 from step i) to form one of the ordered series 110 of output values .sub.j 112 for making available. If the input signals are pulsatile, then the modulation results are continuous values and the summing is a summing circuit. If the input signals are digital, then the modulation results are numbers, and the summing is an adder.
[0357] By following the steps disclosed to produce one value for each code 304 index during each Modulating Interval 112 during the encoding interval 12, the ordered series 110 of values .sub.j 112 represents the input vector 350. This process is achieved for each encoding interval, such that the encoding process 506 can be repeated for successive input vectors ad infinitum.
[0358] In a preferred embodiment of the encoding process 506 of
[0359] The encoding process 506 of
[0362] wherein the ordered series 110 of values .sub.j 112, one value for each code 304 index, in its entirety represents the input vector 350.
[0363] The sum of the modulating intervals 13 must not exceed the encoding interval 12. The sequence of modulating intervals need not be uniform. In an embodiment, the sequence of modulating intervals is uniform, and each modulating interval=encoding interval divided by L.
[0364] Only the signals appearing entirely within the encoding process 506 in .sub.j 112.
[0365]
[0366] The demodulating intervals 15 need not be uniform. In an embodiment, the sequence of demodulating intervals is uniform and each is equal to the decoding interval 14 divided by L.
[0367] The decoding process of
[0368] At the beginning of the decoding process 507 (before processing .sub.0), initialize the output vector samples 302 each to 0.
[0369] During each demodulating interval 15, the received value 214 is correlated 334 by the correspondingly indexed Chip 206 of the Code 202 whose index in the code book 356 corresponds to the index of the output value 302 in the output vector 352. If the media signals are pulsatile, then the samples are continuous values and an embodiment of correlating is analog multiplication. If the Codes are binary (1/−1), then an embodiment of analog multiplication is conditional inversion. If the media signals are digital, then the samples are numbers and an embodiment of correlating is digital multiplication. If the media signals are digital and the Codes are binary (1/−1), then an embodiment of digital multiplication is conditional negation.
[0370] All L correlation results 204 at each input vector 350 index produced during each demodulating interval 15 are summed 336 progressively over the course of the decoding interval 14 to yield the respective output sample 302.
[0371] The output vector 352 contains the reconstructed media signal samples 302 after the L demodulating intervals 15 collected to output media signal samples 344.
[0372] Only the signals appearing entirely within the decoder process 507 in
[0373] Referring now to
[0374] The source assembly encoder 358 consumes an input vector 350 of input samples 504 and produces an ordered series of levels made available at terminal 338 as an EM signal. The sink assembly measures an EM signal at the receiving terminal and produces an output vector 352 of reconstructed samples 344, each of which approximates its corresponding input media signal sample such that the output media signal produced after large numbers of iterations of the process represents the corresponding input media signal. In a preferred embodiment, the encoding, making available, receiving and decoding intervals are common, together operating in the high-speed operation domain 510.
[0375] An encoder input vector 350 is collected from successive samples 504 from each of one or more input media signals 500 during a distributing interval 100 according to the distributing permutation (an arbitrary, pre-determined bijective distributing mapping function) 346. The corresponding output media signals 502 are collected during a collecting interval 102 from the decoder output vector 352 by the collecting permutation (a bijective collecting mapping function 348. In a preferred embodiment, the collecting permutation is the inverse of the corresponding distributing permutation.
[0376] The source assembly 326 transforms the encoder input vector 350 into a series of levels dispatched to the EM path 314 and measured by the sink assembly 328. The EM path connects the source assembly output transmitting terminal 338 to the sink assembly input receiving terminal 340. An impedance 316 terminates the EM path at the receiving terminal. The sink assembly measures the propagated signal at the receiving terminal and decodes the sequence of received levels into the decoder output vector 352.
[0377] The video transport 3 shown in
[0378] Without loss of generality, it is apparent to one skilled in the art that while the media transport 3 is described as communicating sampled input media signals from source assembly 326 to sink assembly 328 that information may also flow in the opposite direction over the EM path 314 with the implementation of a secondary decoder parallel to primary encoder 326 and attached to the transmission medium at 338 receiving information from a secondary encoder block parallel to primary decoder 328 and driving the line at 340 to implement bi-directional communication. The payload in either direction is any kind of sampled signal, either digital or pulsatile. The primary distinction of primary vs. secondary encoder/decoder is a distinction in the amount of information being communicated. The lower-volume, and therefore secondary, information flow being for example command and control signals, or audio signals carrying microphone measurements or driving speaker deflections or connecting similar apparatus. This capability is known as upstream communications. The amount of information in upstream communications is orders of magnitude lower than the amount of information in a media signal. With the use of a separate code sequence for the upstream communications the information in the form of digital or pulsatile signals may flow in the opposite direction, such separate code sequence being orthogonal to the primary code sequences.
[0379]
[0380]
[0381] Although there are N! equally good choices for permutation implemented by the distributing permuter 346, the collecting permuter 348 (of
[0382] The schema drawn in
[0383] The schema of
[0384] The permuter 346 in
[0385]
[0386] Further to the example begun in
[0387] Referring now to
[0388] The source assembly 326 data path embodiment shown in
[0389] If the input media signal 500 is pulsatile, then the input samples 301 are continuous values and an embodiment of the modulator 308 is an analog multiplier. If the Codes 330 are binary (1/−1) in this case, then an embodiment of the analog modulator is a conditional inverter. If the media signal is digital, then the samples are numbers and an embodiment of the modulator is a digital multiplier. If the Codes are binary (1/−1) in this case, then an embodiment of the digital multiplier is a conditional negator.
[0390] An application media signal 500 of longer duration than a single collecting interval 100 is encoded over the course of several collecting intervals and thus over the course of a corresponding number of encoding intervals 12 as well as a corresponding number of transport intervals 2. In a preferred embodiment, the parameters defining the source assembly 326, including collecting interval, encoding interval, transport interval, N 8, L 10, code book 354, and distributing permuter 346 permutation all remain constant throughout the steps involved in the processing of one set of input media signal samples 504 corresponding to a single set of input vector 350 contents, to facilitate timing acquisition and tracking in a paired receiver assembly.
[0391] In one embodiment of the source assembly, all the encoding parameters are “hard coded” and cannot be changed. Because the encoding of one input vector is logically independent from the encodings of all previous input vectors and of all successive input vectors, the encoding parameters may change from one input vector's worth of media signal samples to the next. Therefore, in a further embodiment of the source assembly, any of the encoding parameters may be varied from one collecting interval to the next under algorithmic control, for example in response to changes in media signal characteristics, EM path 314 characteristics, and/or application requirements.
[0392] For a digital embodiment of the encoder modulator 308 wherein the encoder Chips 306 happen to be constrained to be binary (for example, 1 and 0), one embodiment of the modulator comprises a combinatorial circuit that inverts the signed integer representation of each input sample 342. A corresponding embodiment of the line driver 312 effects a digital to analog conversion.
[0393] For an analog embodiment of the encoder modulator 308 wherein the encoder Chips 306 happen to be constrained to be binary (for example, 1 and −1), one modulator embodiment comprises a commutating modulator, such as the example shown in
[0394] The example modulator 308 shown in
[0395] Referring now to
[0396] In a preferred embodiment, the parameters defining the sink assembly 328 operation, including transport interval, decoding interval, collecting interval, N 8, L 10, code book 356, and collecting permuter 348 permutation all remain constant throughout the steps involved in reconstructing one set of N output media signal samples 357 in the output memory 352. In one embodiment of the sink assembly, all the decoding parameters are “hard coded” and cannot be changed. However, the decoding of one output vector is logically independent from the decoding of all previous and of all following output vectors. Therefore, in a further embodiment the decoding parameters do change from one output vector's worth of reconstructed media signal samples to the next. In a further embodiment of the sink assembly, any of the decoding parameters may be varied from one collecting interval to the next under algorithmic control, for example in response to changes in media signal characteristics, EM path 314 characteristics, and/or application requirements. In a further embodiment of the sink assembly, the predetermined individual measuring intervals and demodulating intervals are not uniform.
[0397] In a further embodiment of an analog version of the sink assembly 328, the analog portion can be implemented as a switched capacitor circuit. Given that the operation of this circuit will entail the use of sample and hold circuits, multiplier circuits and a pipeline type operation, it should be obvious to those skilled in the art the similarities to state-of-the-art ADC design. Indeed, one such implementation of the analog sink assembly allows for accommodating any amplitude representation, from binary through n-ary to continuous, through the simple selection of thresholding levels in the pipeline operation of the sink assembly. In an embodiment, a sink assembly is design parametrically reconfigurable to accommodate either digital signals or pulsatile signals, thereby enabling system flexibility.
[0398] The output vector 352 is reconstructed by the decoder 512 from the ordered series of received levels 214 over the course of the decoding interval by accumulating partial contributions in the storage elements 302 during each demodulating interval of the decoding process (507 in
[0399] The decoding controller 507 carries out the following process: Before beginning to decode an ordered series of received values, the output vector 352 entries 302 are cleared (by storing the value 0 in each). Subsequently, during each predetermined demodulating interval for each successive output vector index, directing the correlator 334 to correlate the received value 214 produced by line amplifier 322 with the correspondingly indexed Chip 332, and gather using the summing circuit 336 the correlation result 321 with the contents of the corresponding output sample memory 352. Store the summing circuit result in each demodulating interval into the output sample memory, for reference in the successive demodulating interval.
[0400] For a digital embodiment of the decoder 512 wherein the Chips 332 happen to be constrained to be binary (for example, 1 and 0), one embodiment of a correlator 334 comprises a combinatorial circuit that inverts the signed integer representation of each received value 214 according to the Chip. A corresponding embodiment of the line amplifier 322 effects an analog-to-digital conversion.
[0401] For an analog embodiment of the decoder 512 wherein the Chips happen to be constrained to be binary (for example, 1 and −1), a correlator might consist of an analog modulator, such as the example shown in
[0402] The output of each correlator 334 is integrated, together with the contents of its corresponding output sample memory 302, by the corresponding integrator 336. For a digital embodiment of the decoder 512, the integrator might be a straightforward combinatorial adder. For an analog embodiment of the decoder, one embodiment of an integrator comprises an op-amp-based integrator.
[0403] If the reconstructed media signal 502 is pulsatile, then the output samples 302 are continuous values and an embodiment of the correlator 334 is an analog multiplier. If the Codes 332 are binary (1/−1) in this case, then an embodiment of the analog correlator is a conditional inverter. If the media signals are digital, then the samples are numbers and an embodiment of the correlator is a digital multiplier. If the Codes are binary (1/−1) in this case, then an embodiment of the digital correlator is a conditional negater.
[0404] Repetition of the process provides the sink assembly the opportunity to acquire and track synchronization. The correlation spike detector 320 monitors the outputs of the array of decoder correlators 334. In one embodiment, all sink assembly 328 functional elements are synchronized by a clock recovery circuit 318, which monitors the output 214 of the line amplifier 322 as well as the output of the correlation spike detector to acquire and track carrier synchronization.
[0405] There is an additional benefit arising from the fact that the modulation/making available intervals in the source assembly and the measuring/demodulation intervals during the transport interval are controlled by crystal oscillators or other accurate time sources in an embodiment. The difference in the fundamental accurate time source frequencies between source assembly and sink assembly will be on the order of only hundreds of parts per million, given the performance specifications of known accurate time sources. Another consideration in favour of simplicity and, therefore, low implementation cost is that the sequence lengths of the pseudo noise generation circuits are not overly large, inasmuch that the values for L are not very large.
[0406] The encoding/decoding process admits aforementioned simplifications, allowing us to forego a lengthy initial timing acquisition procedure. The sink assembly measuring/demodulating interval will be running close to the source assembly modulating/dispatching interval, and the relative phase of the PN generator in the receiver (i.e., the index within the code book) is readily acquired on this basis. In an embodiment, the circuit implemented is simply a tracking system that acquires the relative phase of the receiver in respect to the transmitter with a slight variation on the ability to change frequency to match frequency of the source assembly.
[0407] The synchronization acquisition system can be described as a sliding correlator that takes as inputs the received signal from the media as well as output from a PN generator that is local to the receiver. The local PN generator is driven from a PLL or phase lock loop which has a narrow band of frequency diversity, i.e. it natively will run at close to the target frequency and has a band of control around that center frequency. The output from the sliding correlator is analyzed to determine whether or not a lock condition has been achieved or if the frequency is either too high or too low, this lock detector then drives a PLL to either speed up or slow down first to stay the same in a feedback loop.
[0408] The sliding correlator architecture can be implemented as either a sampled and digitized representation of the incoming signal in which case the correlation is formed in digital logic. Another implementation of the sliding correlator can be as switched analog circuitry, in which in this case the incoming signal is sampled analog and the correlation is performed in switched capacitor circuitry.
[0409] One classical technique in the acquisition process would be to have coarse phase alignment accomplished through searching through the various taps or delays of the receiver assembly PN generator and subtle phase frequency alignment being accomplished to the PLL. However, in an embodiment of the system, the time required to search through all of the available taps in the PN sequence generator is relatively short. Classically one might search amongst the various taps of the PN generator to find a correlation spike that is relatively close and then fine-tune this correlation by changing the frequency of the PLL. Through this it becomes possible to accomplish both coarse and fine adjustments. Because an embodiment of the system is relatively unconstrained, it becomes possible simply to slide the phase by changing the frequency and accomplishing both the coarse and the fine adjustments through the changing of the PLL.
[0410] A further embodiment allows the transmitter to send a training sequence that has predetermined characteristics to facilitate synchronization acquisition and tracking. This training sequence may occur at the beginning of every grouping of data video data or it may exist as a sub band, i.e. modulated by a further code orthogonal to all the codes in the code book applied to the media signal snippets and transmitted at the same time, continuously. The independent training sequence, or sub-band, serves as a probe of the EM characteristics of the EM path, which may in turn be referenced for parametric tuning of signal correction circuits, such as pre-emphasis. Henceforth this signal is referred to as the “probe signal” without loss of generality. This probe signal may be held constant over k transport intervals, for some predetermined k, and its associated code made k*L chips long. As with the media signal samples in the input vector, this probe signal may be implemented either with discrete (digital) or with continuous (pulsatile) representations. This approach enhances the resilience of the probe track to noise, interference, and reflections. In this application, the probe signal is particularly powerful in facilitating acquisition and tracking because the probe signal can be made to have a constant amplitude that allows channel attenuation to be measured directly.
[0411]
[0412] The sliding correlator architecture shown in
[0413] In an alternative embodiment, the source assembly 326 sends a training sequence with known characteristics as a preamble to a series of vector transmissions, so as to facilitate synchronization acquisition and tracking. This training sequence may occur at the beginning of every vector transmission, or it may be transmitted as an independent snippet along with the input media signal snippets. Sending the training sequence as an independent EM signal allows this probe signal to characterise the quality of transmission media. Such characterization data is used for various signal correction parameters like pre-emphasis. Additionally, the training sequence signal could also be of much longer period than one collecting interval, increasing the SSDS process gain and thereby increasing the resilience against noise and interference. In the present disclosure, the training sequence is particularly powerful in facilitating acquisition and tracking simply because the training sequence can be made to have a constant amplitude.
[0414] An example of a parallel-correlation synchronization acquisition and tracking system is shown in
[0415] In a further embodiment, the receiving circuit is adapted to retransmit a phase-aligned and synchronized signal back to the transmitting circuit in an independent sub-band. Completing the control loop in this manner allows the transmitter to transition, in an embodiment, between providing the probe signal versus encoding media signal snippets. Upon initial power-up, the transmitting circuit transmits the probe signal until it acquires a sub-band signal that is returned from the receiving circuit. When the returned signal is received, the transmitting circuit then starts transmitting data according to the received parameters. This closed-loop control system allows a robust and self-calibrating media interface to be implemented.
[0416] Another preferred embodiment is the parallel correlation system shown in
[0417] In a further embodiment, the sink assembly is adapted to retransmit a phase-aligned and synchronized signal back to the source assembly in an independent sub-band. Completing the control loop in this manner allows the source assembly to transition, in an embodiment, between providing the probe signal versus encoding media signal snippets. Upon initial power-up, the source assembly transmits the probe signal until it acquires a sub-band signal that is returned from the sink assembly. When the returned signal is received, the source assembly then starts transmitting an EM signal according to the parameters received from the sink assembly. This closed-loop control system allows a robust and self-calibrating media transport to be implemented.
[0418]
[0419] Although there are N! equally good choices for collecting permuter 348 permutation, successful media signal transport demands that the collecting permuter implement the inverse of the collecting permuter 346 (shown in other figures) permutation. Ensuring agreement regarding such details is appropriately the subject of international standards, rather than of the present disclosure.
[0420] The schema drawn in
[0421] There are many ways to implement the collecting permuter 348; one example is to write each successive output sample to a port; another alternative is to store the output samples to a memory upon which a reading can be executed to make the output available in the desired order.
[0422]
[0423]
[0424] Further to the example begun in
[0425]
[0426]
[0427] 1. Instantiate the L×L identity matrix
[0428] 2. Keep only the 1.sup.st N rows
[0429] 3. Convert 0 entries to −1 values
[0430] 4. The result is the example code book depicted in
[0431]
[0432]
[0433] In an embodiment, the input media signal 500 and reconstructed media signal 502 comprise video signals, for example as illustrated in
[0434]
[0435] The architecture depicted in
[0436] The camera 516 depicted in
[0437] The image sensor 522 output signal 524 is intrinsically pulsatile; converting to digital signals uses an additional analog-to-digital converter circuit, which cannot possibly add fidelity while certainly adding non-zero manufacturing cost. A simplest embodiment of the subject of this disclosure conveys pulsatile signals directly, without requiring analog-to-digital conversion of the light measurements, resulting in fit-for-purpose transmission of high-resolution video signals at least cost compared to prior arrangements.
[0438] The display 518 shown in
[0439] In a video embodiment of
[0440] In an embodiment, the MPU 548 performs a variety of operations on video, including decoding stored content 562 retrieved from non-volatile memory 560, storing compressed video signals 562 to non-volatile memory, and/or exchanging Internet Protocol signals 546 with the Internet 576 via a WAN Modem 544. A bidirectional converter 542 translates between Ethernet packets and the pulsatile or digital signals traversing the datapaths of the video processor.
[0441] In one embodiment, the video processor 536 is a CPU. In a further embodiment, the video processor is a GPU. The video processor may be implemented either with digital datapaths or with pulsatile data-paths. Digital data-paths demand A/D on inputs and D/A on outputs and are therefore intrinsically less efficient for video than pulsatile data-paths.
[0442] A broad diversity of common video systems are seen to be parametric variants of the schema sketched in
[0453] The subject of the present disclosure is aspects of a Media Transport 3 that can be used to implement any media interface over one or more EM paths of any type. In many applications requiring transport of video, audio, and other kinds of media signals, it is desirable also to be able to transport information along the EM path in the direction opposite to that of the main media signal information flow. For example, the MPU 548 shown in
[0454] The source assembly 326 encodes a vector of N samples every encoding interval. If we call the number of encoding intervals per second f (so f=1/encoding interval), the throughput of the source assembly is Nf samples per second, making available Lf samples per second for transmission into the EM path 314, where L>=N. For example, 1920×1080 1080p60 HD Video, is approximately 2 million pixels or 6 million samples per frame, or 360 million samples per second for an RGB encoding of each pixel. That tells us Nf=360e6 =0.36e9. It might reasonably be expected that Lf=1 GHz=1e9. Then N/L=0.36, or for L=128, N=46. The source assembly transmits the entire ordered series of output values during the transport interval.
[0455]
[0456]
[0457]
[0458]
[0459]
[0460]
[0461]
[0462]
[0469]
[0470]
[0471]
[0472]
[0473]
[0474]
[0475]
[0476]
[0477]
[0478] The code overlaid per
[0479] Note that it may be possible to apply the long-code control/status tunnelling scheme to provide media framing information, for example hsync and vsync for video signals.
[0480]
[0481]
[0482]
[0483]
[0484]
[0485]
[0486] Throughout the specification and the claims that follow, unless the context requires otherwise, the words “comprise” and “include” and variations such as “comprising” and “including” will be understood to imply the inclusion of a stated integer or group of integers, but not the exclusion of any other integer or group of integers.
[0487] The reference to any prior art in this specification is not, and should not be taken as, an acknowledgement of any form of suggestion that such prior art forms part of the common general knowledge.
[0488] It will be appreciated by those skilled in the art that the invention is not restricted in its use to the particular application described. While some of the examples shown are for RGB full-color images, the subject of this disclosure applies regardless of the depth/number of media signals or color space of any video in the media signal, including all variants of chroma/luma separated (and chroma-sub-sampled) color spaces (e.g., YUV, YUV 4:2:0, etc.), as well as Monochrome (i.e., just Y). Neither is the present invention restricted in its preferred embodiment regarding the particular elements and/or features described or depicted herein. It will be appreciated that the invention is not limited to the embodiment or embodiments disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the scope of the invention as set forth and defined by the following claims.