WO2022115312A1 - Encoder and decoder circuits for the transmission of video media using spread spectrum direct sequence modulation - Google Patents
Encoder and decoder circuits for the transmission of video media using spread spectrum direct sequence modulation Download PDFInfo
- Publication number
- WO2022115312A1 WO2022115312A1 PCT/US2021/059966 US2021059966W WO2022115312A1 WO 2022115312 A1 WO2022115312 A1 WO 2022115312A1 US 2021059966 W US2021059966 W US 2021059966W WO 2022115312 A1 WO2022115312 A1 WO 2022115312A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- differential
- signals
- ssds
- samples
- decoder
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 55
- 238000001228 spectrum Methods 0.000 title claims abstract description 23
- 239000003990 capacitor Substances 0.000 claims description 100
- 239000013598 vector Substances 0.000 claims description 76
- 238000000034 method Methods 0.000 claims description 54
- 238000012935 Averaging Methods 0.000 claims description 30
- 238000005070 sampling Methods 0.000 claims description 14
- 230000000295 complement effect Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 9
- 238000009825 accumulation Methods 0.000 claims description 5
- 230000003213 activating effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 14
- 230000037361 pathway Effects 0.000 description 11
- 101100328957 Caenorhabditis elegans clk-1 gene Proteins 0.000 description 10
- 230000007704 transition Effects 0.000 description 6
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000009432 framing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000004907 flux Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- QVWYCTGTGHDWFQ-AWEZNQCLSA-N (2s)-2-[[4-[2-chloroethyl(2-methylsulfonyloxyethyl)amino]benzoyl]amino]pentanedioic acid Chemical compound CS(=O)(=O)OCCN(CCCl)C1=CC=C(C(=O)N[C@@H](CCC(O)=O)C(O)=O)C=C1 QVWYCTGTGHDWFQ-AWEZNQCLSA-N 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003331 infrared imaging Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012285 ultrasound imaging Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2383—Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
- H04N21/43637—Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4382—Demodulation or channel decoding, e.g. QPSK demodulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/615—Signal processing at physical level
Definitions
- the present invention relates generally to video and/or other media transport, and more particularly, to encoding and decoding of video media for transmission between a video source and a video sink using Code Division Multiple Access (CDMA) and spread spectrum direct sequence (SSDS) modulation.
- CDMA Code Division Multiple Access
- SSDS spread spectrum direct sequence
- High definition video is typically generated in a number of different formats, including “720p”, “1080i”, “1080p” and more recently “4K”. With these formats, “i” refers to interlaced scanning and “p” refers to progressive scanning.
- the amount of video data transmitted using any of the above-listed formats is enormous.
- 720p the transmission rate is 1280 horizontal lines by 720 vertical lines or approximately 921,600 pixels per frame with a typical refresh rate of 50 or 60 frames per second.
- the transmission of 1080i requires transmission of 1920 horizontal lines by 540 vertical lines, or 1,036,800 pixels per field, with two interlaced fields making up each frame, with a refresh rate ranging from 12.5 to 60 fields per second.
- the transmission of 1080p involves 1920 horizontal lines by 1080 vertical lines, or 2,073,600 pixels per frame, and typically a refresh rate ranging from 30 to 60 frames per second.
- 4K video transmission involves 3840 horizontal lines by 2160 vertical lines per frame with a typical refresh rate of 30 or 60 frames per second.
- Video compression Given the huge amount of bandwidth needed for the transmission of video, various types of video compression are typically used, such as MPEG, AVC, and HEVC.
- the problems with video compression include limited interoperability, increased implementation cost, added latency, and reduced image fidelity. As a result, some degree of picture quality is degraded when displaying compressed video versus uncompressed or visually lossless video.
- a video transport capable of transmitting high-quality, high-definition video that is not compressed is therefore needed.
- the present invention is directed to encoding and decoding circuits for video media that is transmitted between a video source and a video sink using Spread Spectrum Direct Sequence (SSDS) modulation-based Code Division Multiple Access (CDMA) channel sharing.
- SSDS Spread Spectrum Direct Sequence
- CDMA Code Division Multiple Access
- L is a parameter defined as the length of codes used in the CDMA codebook.
- the method and encoder circuit involve (a) constructing a video vector including N samples of first and second voltage values, the N samples derived from multiple sets of samples representative of multiple pixels respectively, (b) modulating each of the first and the second voltage values of the N samples in the video vector using L SSDS chips each from its respective code, each of the modulations involving conditionally either inverting or not inverting the first and second voltage values of the N samples depending on the state of the L corresponding SSDS chips respectively, and (c) generating a sequence of L differential level output signals, each one from an accumulation of the modulated first and second voltage values of the N samples that are conditionally either inverted or not inverted.
- a decode circuit and method for applying the same set of mutually orthogonal SSDS codes to decode the L differential level signals into N samples involves (a) receiving the series of L differential level signals, (b) providing each received differential level signal to N decoder circuits, (c) providing N Spread Spectmm Direct Sequence (SSDS) chips from the corresponding codes to the N decoder circuits respectively, each of the N SSDS chips having either a first state or a second state, (d) for each of the N decoder circuits, demodulating by conditionally inverting or not inverting the differential level signals depending on whether the SSDS chip provided to each of the N decoder circuits is of the first state or the second state respectively, (e) for each of the N decoder circuits, accumulating the inverted or not inverted differential level signals at first and second storage locations; and (f) after L demodulation steps (d) and (e), presenting the N reconstructed samples, the N
- SSDS N Spread Spectmm Direct Sequence
- a decoder circuit and method for generating a sample video signal by decoding (L) signals of encoded video media using SSDS coding by generating an average voltage value derived from averaging voltage values stored on (L) storage devices arranged in a first bank, the (L) voltage values derived from multiplying the (L) signals with (L) SSDS chip values respectively.
- FIG. 1 is a system diagram illustrating transmission of electromagnetic (EM) video signals from a digital video source to a digital video sink using spread spectrum direct sequence (SSDS)-based CDMA modulation (Spread- Spectrum Video Transport (SSVT)) in accordance with a non-exclusive embodiment of the invention.
- SSDS spread spectrum direct sequence
- SSVT Spread- Spectrum Video Transport
- FIG. 2A is a logic block diagram of a Spread Spectrum Video Transmission (SSVT) transmitter and SSVT receiver connected by a transmission cable in accordance with a non- exclusive embodiment of the invention.
- SSVT Spread Spectrum Video Transmission
- FIG. 2B is a diagram of one possible permutation of video signals into vectors that are then modulated before transmission in accordance with a non-exclusive embodiment of the invention.
- FIG. 3 is a logic block diagram of an encoder-distributor used in the SSVT transmitter in accordance with a non-exclusive embodiment of the invention.
- FIG. 4 is a circuit diagram of an SSVT encoder in accordance with a non-exclusive embodiment of the invention.
- FIG. 5A is a logic block diagram illustrating a receiver assembly for de-modulating P received differential pairs of EM level signals back into HDMI signals in accordance with a non- exclusive embodiment of the invention.
- FIG. 5B is a logic block diagram illustrating another receiver assembly for de- modulating P received differential pairs of EM level signals back into HDMI signals in accordance with another non-exclusive embodiment of the invention.
- FIG. 6 is a logic diagram of N decoder tracks for de-modulating one differential pair of EM level signals accordance with a non-exclusive embodiment of the invention.
- FIG. 7 is a circuit diagram of a representative decoder track circuit in accordance with a non-exclusive embodiment of the invention.
- FIG. 8 is a circuit diagram of another decoder circuit for decoding SSDS encoded media signals in accordance with another non-exclusive embodiment of the invention.
- FIG. 9 is a timing diagram illustrating operation of the decoder circuit of FIG. 8 in accordance with a non-exclusive embodiment of the invention.
- FIG. 10 illustrates a storage bank and control logic used in the decoder circuit of FIG. 8 in accordance with a non-exclusive embodiment of the invention.
- CDMA Code Division Multiple Access
- CDMA Code Division Multiple Access
- SSDS Spread Spectrum Direct Sequence
- SSDS Spread Spectrum Direct Sequence (SSDS) Modulation
- SSDS Spread Spectrum Direct Sequence
- the present invention is directed to circuits for encoding and decoding video media that is transmission between a video source and a video sink using spread spectrum direct sequence (SSDS) modulation-based Code Division Multiple Access (CDMA) channel sharing.
- SSDS spread spectrum direct sequence
- CDMA Code Division Multiple Access
- a stream of time-ordered video samples containing color values and pixel related information is received from the video source and reconstructed for the video sink.
- the number and content of input video samples received from the video source depends on the color space in operation at the source. Regardless of which color space is used, each video sample is representative of a sensed or measured amount of light in the designated color space.
- the input video samples are repeatedly (1) “distributed” by assigning the input video samples into encoder input vectors according to a predetermined permutation and (2) encoded by applying an SSDS-based CDMA modulation to each of the multiple encoder input vectors, applying orthogonal codes, to generate multiple composite EM signals with noise-like properties. (3)
- the EM signals are than transmitted over a transmission medium, such as an HDMI cable.
- the incoming EM signals are decoded by applying an SSDS-based CMDA demodulation, applying the same orthogonal codes, to reconstruct the samples into output vectors and then (5) the output vectors are “collected” by assigning the reconstructed video samples from the output vectors to an output stream using the inverse of the predetermined permutation.
- the original stream of time-ordered video samples containing color and pixel related information is conveyed from video source to video sink.
- FIG. 1 a system 10 illustrating transmission of electromagnetic (EM) video signals from a digital video source to a digital video sink using spread spectrum direct sequence (SSDS)-based CDMA modulation in accordance with a non-exclusive embodiment of the invention is shown.
- EM electromagnetic
- SSDS spread spectrum direct sequence
- the video source 12 includes an image sensor array 16, one or more analog-to-digital converters 18, an Image Signal Processor (ISP 20), and a video streamer 21 responsible for generating a stream of video samples 22.
- the video source 12 may also optionally be connected to a video media storage device 24.
- the storage device may be either proximate to the location of the image sensor array 16 or remote.
- the video source 12 can be any device capable of capturing imaging information, such as but not limited to a video camera, an Infrared imaging device, an ultrasound imaging device, a magnetic resonance imaging (MRI) device, computed tomography, or just about any other type of imaging device capable of generating video information.
- a video camera an Infrared imaging device
- an ultrasound imaging device a magnetic resonance imaging (MRI) device
- computed tomography a device capable of generating video information.
- the image sensor 16 is any device capable of generating an electronic signal that is proportional to an amount of measured light.
- the image sensor is a planar array of photodiodes. Each photodiode represents a pixel sample location in the planar array. The number of photodiodes in the planar array may widely vary and is dependent on the size of the image sensor 16.
- a “4K” imaging sensor for instance, includes a photodiode array of 3840 horizontal lines by 1080 vertical lines, or a total of 4,147,200 photodiodes. An 8K imaging sensor will have 7,680 horizontal lines and 4,320 vertical lines, or 33,177,600 pixels per frame.
- 4K and 8K are merely examples of resolution and the image sensor 16 may be any size, including less than 480, 480, 720, 1080, 4K, 8K.
- the number of photodiodes in the array will of course vary accordingly.
- the image sensor 16 continually repeats a sensing interval at a given refresh rate. During each sensing interval, each photodiode in the array generates for every pixel position an electrical voltage that is inversely proportional to the number of photons generated the photodiode. As a result, the array of photodiodes generates a set of voltages that collectively represent a frame. As the image sensor is continually refreshing at a given frame rate, multiple sets of voltages, each representing a frame, are continuously generated one after another.
- the photodiode For each pixel position, the photodiode is provided between a capacitor and ground. Just prior to a sensing interval, the capacitor is pre-charged. When sensing, the photodiode generates a current that is proportional to the magnitude of light received. When little to no light is sensed, there is little to no capacitor discharge to ground through the photodiode. Conversely, if a large amount of light is sensed, then a large portion of the voltage on the capacitor is discharged. The voltage remaining on the capacitor following the exposure interval is therefore inversely proportional to the magnitude of the sensed light.
- ADCs analog-to- digital converters
- ADCs analog-to- digital converters
- all the rows of the array 16 are sampled, typically one after the other from top to bottom, sometimes referred to herein as “row-major” order.
- the ADCs 18 convert the sensed voltage into a digital value for the pixel position for each column in the array.
- a frame is complete when all the rows of the array 16 have been sampled.
- the above process it is repeated, in row-major order, on a frame-by-frame basis.
- the net result is a string of digital values, with each digital value representative of a pixel position in a frame.
- the size of the image sensor and the refresh rate are determinative of the number of digital values per frame. For example, a 4K or an 8K digital image sensor will measure 8,294,400 or 33,177,600 digital samples per frame, respectively.
- each voltage may be converted by the analog-to-digital converters 18 into an 8 or 10 bit value. It should be understood that such bit values listed herein are merely illustrative and the number of bits used to represent the pixel voltage values may be more or less than 8 or 10.
- the image sensor array 16 can be either monochromatic or color. In the case of the former, the digital values generated by the ADCs 18 are representative of only one color. With the latter, well known color techniques such as Bayer filtering is typically applied. With Bayer filtering, the individual photodiodes 16 are selectively covered with filters of a predetermined color (e.g., either Red (R) or Blue (B) or Green (G)). In alternative embodiments, CYGM (Cyan, Yellow, Green and Magenta) or CMY (Cyan, Magenta and Yellow) filtering may be used. Regardless of the type of filter used, the magnitude of the filtered light is measured at each sample position.
- a predetermined color e.g., either Red (R) or Blue (B) or Green (G)
- CYGM Cyan, Yellow, Green and Magenta
- CMY Cyan, Magenta and Yellow
- the ISP 20 is arranged to interpolate the string of digital values received from the ADC 18. By interpolation, the ISP 20 takes the information contained in the digital values for each pixel measurement and its geometric neighborhood and defines an estimate of the color of the corresponding pixel. To output full-color images in a specific color space (there are many), the ISP 20 interpolates the "missing" color values at each location. That is, given only a single- color measurement per pixel, the ISP algorithmically estimates the "missing" color values to create, for example, an RGB or YCbCr representation for the pixel.
- the ISP 20 thus generates a set of samples 22 for a given pixel of a given frame, each set of samples 22 representative of the color values (either as measured and/or interpolated) for a given pixel position within the frame.
- the contents of a given set of samples 22 may vary since there are many ways to represent color. In different embodiments, the information contained in each set of samples 22 may therefore vary.
- RGB is considered full color, and other spaces such as YCbCr are approximations to full color that are smaller to transmit.
- RGB provides three color values. With YCbCr, Y is the luminance component and Cb and Cr are the blue-difference and red- difference chroma values, respectively.
- the video streamer 21 in response generates a sequence of time-ordered sets of samples 22.
- each set of samples 22 output together represents the light measurement for one pixel location on the array 16.
- the values and/or number of samples produced by the ISP per pixel location depends on the ISP implementation and, in particular, on the color space applied.
- the output of the video streamer 21 is a continuous stream of time-ordered sets of samples 22, each representative of a pixel in a row, from left to right, in row-major order, frame after frame, so long as the array 16 is sensing.
- the stream of sets of samples 22 is then processed, after transmission, by the video sink 14 to reconstruct the images sensed, frame-by- frame, by the image array sensor 16.
- the stream of sets of samples 22 can be stored in a storage device 24.
- the stream of sets of samples 22 can be transmitted at any time after the video stream was initially captured by the image sensor 16.
- the stream of sets of samples 22 can be captured during one time interval and then either transmitted to the video sink 14 frame by frame for display and/or stored in storage unit 24 for transmission to the video sink 14 at some later point in time.
- the video captured by the video source 12 can be displayed by the video sink 14 in a time-shifted manner.
- An advantage for using SSVT in the context of image capture and display is that images are measured on intrinsically error-prone sensors and displayed on intrinsically noisy LED arrays and viewed by extremely complex and robust human vision systems.
- the communication requirements for video are very different from the communication requirements for conventional digital artifacts such as spreadsheets and email, wherein bit-perfect transmission is required.
- conventional video transmission treats a video signal just like another kind of (digital) document.
- video signals are transmitted in an electrically robust manner.
- any uncompensated errors occurring in the EM signal measurement at the receiver manifest in the reconstructed images as broad-spectrum temporal and spatial noise. Such white noise is more palatable to human cognition than are the blank screens, repeated images, and blocky compression artifacts that arise from conventional bit-serial transmission.
- Fig. 1 further includes a transmit retimer 26 and a Spread Spectrum Video Transport (SSVT) transmitter (TX) 28 on the transmit side.
- SSVT Spread Spectrum Video Transport
- TX Spread Spectrum Video Transport
- the retimer 26 is responsible for decoding or exposing the color component information (e.g., RGB values) from each of the sets of samples 22 in the stream generated by the video streamer 21.
- the SSVT 28 is then responsible for (a) distributing the set of samples 22 into one of multiple encoder input vectors using a predetermined permutation, and (b) applying SSDS modulation to each of the multiple encoder input vectors and (c) encoding the multiple input vectors with SSDS-based CDMA coding to generate sequences of EM level signals, and (d) then transmitting the sequences of EM level signals over multiple EM pathways or a transmission medium, such as an HDMI cable, towards the video sink 14.
- a SSVT receiver (RX) 30, a retimer 32 and a video sink 14 are provided on the receive side.
- the function of the SSVT receiver (RX) 30 and the retimer 32 are the complement of the retimer 26 and SSVT transmitter 28 on the transmit side. That is, the SSVT receiver RX 30 (a) receives the sequences of EM level signals from the multiple EM pathways of the transmission medium, (b) decodes each sequence by applying SSDS-based CDMA demodulation to reconstmct the video samples in multiple output vectors, and (c) collects the samples from the multiple output vectors into a reconstruction of the original stream of sets of samples 22 using the same permutation used to distribute the input samples into input vectors on the transmit side.
- the retimer 32 then transforms the reconstructed output samples into a format that is suitable for display by the video sink 14 or for storage on the receive side for display in a time-shifted mode.
- the SSDS modulation and demodulation is performed in the analog or electromagnetic (“EM”) domain.
- the stream of sets of input samples 22 are distributed at a first clock rate (pix-clk) to create encoder input vectors according to a predetermined permutation.
- SSDS-based CDMA modulation is then applied to each of the encoder input vectors, resulting in the generation of an encoded “EM” signal for each encoder input vector.
- the EM signals are then transmitted over the transport in parallel at a second clock rate (SSVT_clk).
- Applying spreading (SSDS) to each sample in the encoder input vectors provides electrical resiliency, but at the expense of bandwidth per sample.
- CDMA modulating a set of mutually orthogonal codes and transmitting all of the resultant EM signals simultaneously
- FIG. 2A is a logic block diagram of the SSVT transmitter 28 and SSVT receiver 30 connected by a transmission medium 34.
- the SSVT transmitter 28 includes a distributor 40 and multiple encoders 42.
- the SSVT receiver 30 includes multiple decoders 44 and a collector 46.
- the distributor 40 of the SSVT receiver 30 is arranged to receive the color information (e.g., R, G, and B values) exposed in the input sets of samples 22.
- the distributor 40 takes the exposed color information for the incoming sets of samples 22 and builds multiple encoder input vectors according to a predefined permutation.
- the color information e.g., R, G, and B values
- the transmission medium 34 can be a cable such as HDMI, fiber optic or wireless.
- One of the multiple encoders 42 is assigned to one of the four vectors V 0 , V 1 , V 2 and V 3 respectively.
- Each encoder 42 is responsible for encoding sample values contained in the corresponding encoder input vector and generating an EM signal that is sent over one of the parallel pathways on the transmission medium 34.
- FIG. 2B a diagram of one possible permutation implemented by the distributor 40 for building four vectors V 0 , V 1 , V 2 and V 3 is shown.
- Each of the vectors includes N samples of color information.
- the exposed color information for the sets of samples 22 is “RGB” respectively.
- the exposed RGB samples of the sets of samples 22 in this example are assigned to vectors V 0 , V 1 , V 2 and V 3 from left to right.
- the “R”, “G” and “B” values of the left most sample and the “R” signal of the next set of samples 22 are assigned to vector V 0
- the next (from left to right) “G”, “B”, “R” and “G” values of the next sample 22 are assigned to vector V 1
- the next (from left to right) “B”, “R”, G” and “B” values are assigned to vector V 2
- the next (from left to right) “R”, “G”, “R” and “R” values are assigned to vector V 3 .
- the number of N samples may widely vary.
- N 60.
- Vector V 0 includes Samples P 0 , N 0 through P 0 , N N-1 ;
- Vector V 1 includes Samples P 1 , N 0 through P1, N N-1 ;
- Vector V 2 includes Samples P 2 , N 0 through P 2 , N N-1 ;
- Vector V 3 includes Samples P 3 , N 0 through P 3 , N N-1 ⁇
- the number of samples N may be more or less than 60.
- the exposed color information for each set of samples 22 can be any color information (e.g., Y, C, Cr, Cb, etc.) and is not limited to RGB.
- the number of EM pathways over the transmission medium 34 can also widely vary. Accordingly, the number of vectors V and the number of encoders 42 may also widely vary from just one or any number larger than one. [0057] It should also be understood that the permutation scheme used to construct the vectors, regardless of the number, is arbitrary. Any permutation scheme may be used, limited only by whatever permutation scheme that is used on the transmit side is also used on the receive side. [0058] Referring to Fig. 3, a logic block diagram of the SSVT transmitter 28 is illustrated.
- the distributor-encoder 40 includes an assembly bank 50, a staging bank 52, a presentation bank 54 and a frame controller 56.
- An encoder block 60 includes a bank of Digital-to-Analog converters (DACs) 62 and four encoders 42, one for each EM pathway on the transmission medium 34.
- DACs Digital-to-Analog converters
- the distributor 40 is arranged to receive the exposed color information (e.g., RGB) for the stream of sets samples 22, one after the other.
- the assembly bank 50 builds the four vectors V 0 , V 1 , V 2 and V 3 from the exposed color information (e.g. RGB) for the incoming stream of sets of samples 22.
- the sets of samples 22 are received, they are stored in the assembly bank 50 according to the predetermined permutation.
- the distributor 40 may use any number of different permutations when building the vectors containing N samples each.
- the staging bank 52 facilitates the crossing of the N samples of each of the four vectors V 0 , V 1 , V 2 and V 3 from a first clock frequency or domain used by the retimer 26 into a second clock frequency or domain used for the encoding and transmission of the resulting EM level signals over the transmission medium 34.
- the samples representing exactly 80 sets of RGB samples are contained in the four encoder input vectors V 0 , V 1 , V 2 and V 3 .
- the first clock frequency can be faster, slower or the same as the second clock frequency.
- the first clock frequency f_pix is determined by the video format selected by the video source 12.
- the input clock (pix_clk) oscillates at one rate
- the SSVT clock (ssvt_clk) oscillates a different rate. They can be the same or different.
- the spreading arises because N input samples (individual color components) are assigned to an input vector; then the encoder performs the forward transform (SSDS-based CDMA) while the next input vector is prepared.
- the presentation bank 54 presents the N samples (N 0 through N -1 ) of each of the four encoder input vectors V 0 , V 1 , V 2 and V 3 to the encoder block 60.
- the controller 56 controls the operation and timing of the of the assembly bank 50, the staging bank 52, and the presentation bank 54.
- the controller is responsible for defining the permutation used and the number of samples N when building the four encoder input vectors V 0 , V 1 , V 2 and V 3 .
- the controller 56 is also responsible for coordinating the clock domain crossing from the first clock frequency to the second clock frequency as performed by the staging bank 52.
- the controller 56 is further responsible for coordinating the timing of when the presentation bank 54 presents the N samples (N 0 through N -1 ) of each of the encoder input four vectors V 0 , V 1 , V 2 and V 3 to the encoder block 60.
- DACs Digital-to-Analog Converters
- Each DAC 62 converts its received sample from the digital domain into a differential pair of voltage signals having a magnitude that is proportional to its incoming the digital value.
- the output of the DACs 62 range from a maximum voltage to a minimum voltage.
- the four encoders 42 are provided for the four encoder input vectors V 0 , V 1 , V2 and V 3 respectively.
- Each encoder 42 receives the differential pair of signals for each of the N samples (N 0 through N -1 ) for its encoder input vector, modulates each of the N differential pair of voltage signals using an orthogonal SSVT “chip”, accumulates the modulated values and then generates a differential EM level output signal. Since there are four encoders 42 in this example, there are EM level signals (Level 0 through Level 1 ) that are simultaneously transmitted over the transmission medium 34.
- a sequencer circuit 65 coordinates the timing of the operation of the DACs 62 and the encoders 42.
- the sequencer circuit 65 is responsible for controlling the clocking of the DACs 62 and the encoders 42. As described in detail below, the sequencer circuit 65 is also responsible for generating two clock phase signals, “clk 1” and “clk 2”, that are responsible for controlling the operation of the encoders 42.
- the encoder circuit 42 includes a plurality of multiplier stages 70 and an accumulator stage 72 that includes a differential amplifier 74.
- Each multiplier stage 70 is arranged to receive at first (+) and second (-) terminals a differential pair of sample signals (+Sample N-1 /-Sample N-1 through +Sample 0 / -Sample 0 ) from one of the DACs 66 respectively.
- Each multiplier stage 70 also includes a terminal to receive a Spread Spectrum Direct Sequence (SSDS) “chip”, an inverter 72, sets of switches S1-S1, S2-S2 and S3-S3, sets of switches driven by clk 1 and clk 2, and a first storage device C1 on a first voltage rail and a second storage device C2 on a second voltage rail.
- SSDS Spread Spectrum Direct Sequence
- each multiplier stage 70 modulates its received differential pair of analog signals by conditionally multiplying by either (+1) or (-1), depending on a value of a received SSDS chip. If the SSDS chip is (+1), then when clk 1 is active, switch pairs S1-S1 and S3-S3 close, while switch pair S2-S2 remain open. As a result, both the differential pair of +/- samples are stored on the storage devices C1 and C2 without any inversion (i.e., multiplied by +1) respectively. On the other hand, if the SSDS chip is (-1), then the complement of the above occurs.
- switch pair S1-S1 open, while switch pairs S2-S2 and S3-S3 close when clk 1 is active.
- the differential pair of samples are inverted (multiplied by -1) and stored on C1 and C2, respectively.
- the accumulator stage 72 operates to accumulate the charges on the storage devices C1 and C2 for all of the multiplier stages 70.
- clk 1 transitions to inactive and clk 2 transitions it active, then all the clk 1 controlled switches (S4-S4) close and the clk 2 controlled switches (S5-S5, S6-S6) open.
- all the charges on the first storage devices C1 of all the multiplier stages 70 are amplified by amplifiers 78 and accumulated on a first input of the differential amplifier 74, while all the charges on the second storage devices C2 of all the multiplier stages 70 are amplified by amplifiers 78 and accumulated on a second input of the differential amplifier 74.
- the differential amplifier 74 generates a pair of differential electro-magnetic (EM) level signals.
- EM electro-magnetic
- the SSVT RX 30 is responsible for decoding the stream of four differential EM level output signals received over the transmission medium 34 back into a format suitable for display.
- the video content e.g., signals S
- the video capture by the video source 12 can be re-created by the video sink 14.
- the decoded video information can be stored for display at a later time in a time shifted mode.
- the SSVT RX 30 performs the inverse of the SSVT TX 28 on the transmit side.
- the SSVT RX 30 uses four decoders 80 and a collector 46.
- the decoders 80 reconstruct the four differential EM level output signals into four decoder output vectors.
- the collector 46 assigns the samples of the decoder output vectors to the original stream of sets of samples 22, which each include S reconstructed samples corresponding to the original S samples at that location in the stream.
- the P decoders 80 (labeled 0 through P-1) are arranged to receive differential EM level signals Level 0 through Level P-1 respectively.
- each of the decoders 80 generates N differential pairs of reconstructed samples (Sampleo through Sample N-1 ).
- Reconstruction banks 82 sample and hold each of the differential pairs of N reconstructed samples (Sampleo through Sample N-1 ) for each of the four decoder output vectors V 0 , V 1 , V 2 and V 3 at the end of each decoding interval respectively.
- An Analog-to-Digital Converter (ADC) 84 is provided for each of the N samples (Sampleo through Sample ⁇ ) for each of the four vectors V 0 , V 1 , V 2 and V 3 respectively.
- Each ADC converts its received differential pair of voltage signals into a corresponding digital value, resulting in digital samples (Sample N-1 through Sample 0 ) for each of the four vectors V 0 , V 1 , V 2 and V 3 respectively.
- the collector 46 includes a staging bank 86 and a disassembly bank 88.
- the staging bank 86 receives all the reconstructed samples (N n-1 through No) for each of the four decoder output vectors V 0 , V 1 , V 2 and V 3 .
- the stream of sets of reconstructed samples 22 is then provided to the retimer 32, which reformats the video signal.
- the output of the retimer 32 is therefore a recreation of the sequence of time-ordered sets of samples 22.
- the video sink 14 includes a bank of DACs 103 and a video display 85.
- the bank of DACs 103 is responsible for converting the samples 22 in the digital domain back into the analog domain.
- a DAC 103 is provided for each row in the display 85. Once the samples 22 are converted into the analog domain, they are displayed on the video display 85 in a well-known manner.
- SSVT RX 30 also includes a channel aligner 87 and a collector controller 89, which receives framing information and aperture information from each decoder 80. In response, the collector controller 89 coordinates the timing of the staging bank 86 and/or the disassembly bank 88 to ensure that all the samples presented to the disassembly bank come from a common time interval in which the level signals were sent by the SSVT TX 28. As a result, (a) the disassembly by the bank 88 may be delayed until all samples are received and (b) the individual channels of the transmission medium 34 do not necessarily have to all be the same length since the disassembly bank 88 compensates for any timing differences.
- FIG. 6 is a logic diagram for one of the four encoders 80.
- the encoder 80 includes differential amplifier 92 and sample and hold circuit 94 arranged to receive, sample and hold one of the four differential EM level signals received over the transmission medium 34.
- the sampled EM level signals are then provided to each of N decoder track circuits 96 (N n-1 through No).
- a sequencer controller 98 provides the same SSDS chip to each of N decoder track circuits 96 that was applied on the transmit side respectively.
- the sample outputs (N n-1 through No) are provided to the reconstruction bank 82.
- the same SSDS chip that was used on the transmit side is used by each of the decoder track circuits 96.
- the demodulated sample N n-1 through N 0 is the same as prior to modulation on the transmit side.
- the collector controller 89 is responsible for keeping track of any permutations and making sure that disassembly bank 88 applied the same permutation that was used in constructing the vectors V 0 , V 1 , V 2 and V 3 on the transmit side.
- the collector controller 89 of each of the decoders 80 also generates a number of control signals, including a strobe signal, an end of bank (eob) signal, an aperture signal and a framing signal.
- the strobe signal is provided to the ADCs 84 and indicates the timing of when the analog-to-digital conversion process of a given reconstruction bank contents may begin.
- the eob signal is provided to the reconstruction bank 82 and signifies the timing for when the staging bank 86 is completely full with samples. When this occurs, the eob signal is asserted, clearing both the decoder tracks 96 and the staging bank 86 in anticipation of a next set of reconstructed samples (N n-1 through No).
- the aperture control signal is provided to the sample and hold circuit 94, and the framing signal is provided to the channel aligner 87 and the collector controller 89.
- the ADCs 84 convert the decoded samples into the digital domain and the ADCs 103 in the video sink 14 convert the ordered sets of samples 22 back into the analog domain just prior to display.
- FIG. 5B an alternative embodiment is shown where the sample outputs from the reconstruction banks 82 remain in the analog domain, thus eliminating the need to for the ADC 103 and other componentry.
- the ADCs 84, disassembly bank 88, and retimer 32 are optionally eliminated.
- the analog sample outputs are provided to the staging bank 86, which performs the same permutation on the samples used when the vectors V 0 through V 3 were constructed on the transmit side.
- the sample outputs of the staging bank 86 are then used to directly drive a display 85 of the video sink through an optional level shifter (not illustrated).
- a level shifter may be used to scale the scale the voltages of the video sample outputs of the staging bank as needed. Any suitable level shifters may be used, as known in the art, such as latch type or inverter type.
- the collector controller 89 performs several functions.
- the collector controller 98 is responsible for keeping track and providing to the staging bank 86 the proper permutation selection to use.
- the collector controller 89 may also provide gain and gamma values to the display 85. Gain determines how much amplification is applied and the gamma curve relates the luminous flux to the perceived brightness, which linearizes human’s optical perception of the luminous flux.
- the framing signal signifies the timing for constructing video frames on the display 85.
- the inversion signal may optionally be used to control the level shifter to invert or not invert the video sample outputs, as may be required by some types of display panels such as OLEDs.
- a level shifter is used, the output of the level shifter is typically latched.
- a latch signal may be used to control the timing of the latching and release of any level shifted the video sample output signals.
- the gate driver control signal is used to the gate driver circuitry typically used to drive the horizontal rows of many displays.
- the decoder track circuit 96 includes a multiplier portion 100 and an accumulator portion 102.
- the multiplier portion 100 includes a first pair of switches S1- S1, a second pair of switches S2-S2, a third pair of switches S3-S3 and a pair of capacitors C1-C1 on first (positive) and second (negative) power rails respectively.
- the accumulator portion 102 includes additional pairs of transistors S4-S4, S5-S5, S6-S6 and S7-S7, an operational amplifier 104, and a pair of capacitors C F and C F on the first (positive) and second (negative) power rails respectively.
- a differential EM level signal pair is received at the first level input (level +) terminal and a second level input (level -) terminal.
- the differential EM level signal pair is demodulated in the multiplier portion 100 by conditionally inverting by multiplying by either (1) or negative (-1), depending on the value of the received SSDS chip.
- the SSDS chip has a value of (+1), then transistor pairs S1-S1 and S3-S3 close, while S2-S2 remain open, when clk 1 is active.
- the voltage values at the first level input (level +) terminal and the second level input (level -) are passed onto and stored by the two capacitors C1 and C1 on the positive and negative rails respectively. In other words, the input values are multiplied by (+1) and no inversion takes place.
- the SSDS chip has a value of -1, then the S1-S1 switches are both off, while the switches S2-S2 and S3 -S3 are all turned on when clk 1 is active.
- the voltage values received at the positive or first (+) terminal and the negative or second (-) terminal are swapped.
- the input voltage value provided at the first or positive terminal is directed to and stored on the capacitor C1 on the lower negative rail, while the voltage value provided on the second or (-) terminal is switched to and stored on the capacitor C1 on the positive upper rail.
- the received voltage values at the input terminals are thereby inverted or multiplied by (-1).
- the accumulated charge on the two capacitors C1 and C1 are also passed on to the capacitors CF and CF on the upper or positive rail and the lower or negative rail when C1k 2 is active.
- the charges on the capacitors C1 and C1 on the upper and lower rails are accumulated onto the two capacitors CF and CF on the upper and lower rails, respectively.
- the transistor pair S7-S7 are both closed, shorting the plates of each of the capacitors CF and CF.
- the accumulated charge is removed, and the two capacitors CF and CF are reset and ready for the next demodulation cycle.
- the decoder track 96 reconstructs incoming level samples over a succession of L cycles, demodulating each successive input level with the successive SSDS chips of that track's code. The results of each of the L demodulations is accumulated on the feedback capacitor CF. When eob is asserted during clkl corresponds to the first demodulation cycle of the decoding cycle, CF is cleared after eob such that it can begin again accumulating from zero volts or some other reset voltage.
- the value of L is a predetermined parameter. In general, the higher the parameter L the greater the SSDS process gains and the better the electrical resiliency of the transmission of the SSVT signals over the transmission medium 34. On the other hand, the higher the parameter L, the higher the required frequency for the application of the SSVT modulation, which may compromise the signal quality due to insertion losses caused by the transmission medium 34.
- the above-described demodulation cycle is repeated over and over with each of the four decoders 80.
- the net result is the recovery of the original string of time-ordered sets of samples 22, each with their original color content information (i.e., a set of S samples).
- the sets of samples 22 are then processed and displayed on the display 85 of video sink 14 as is well known in the art.
- the recovered sets of samples 22 can be stored on the received side for display in a time-shifted mode.
- a passive multiply-accumulator decoder may optionally be used in the decoder blocks 80 as described with respect to Fig. 5A.
- the passive multiply-accumulator processes groups of (L) differential pairs of samples of video media that are received over the transmission medium 34, where (L) is the length of the SSDS code used for encoding the media prior to transmission.
- This decoder is passive since no active components, such as amplifiers, are used in the decoding process.
- This decoder also characterized as being a multiply-accumulator because the product result of the (L) differential pairs of samples and their corresponding SSDS chip value are accumulated or stored on multiple storage devices (e.g., capacitors) during the decoding process.
- the passive multiply-accumulator encoder 120 includes a chip multiplier stage 122, a first storage bank A, including a (+) set of (L) capacitors and a (-) set of (L) capacitors, and a first pair of capacitors 129.
- a differential amplifier 124 having a positive (+) input terminal and a negative input terminal (-) is also provided.
- the negative (- ) input terminal is selectively coupled to the (+) set of capacitors (L) through a first of the capacitors 129, while the positive (+) input terminal is selectively coupled to the (-) set of (L) capacitors through the second of the capacitors 129.
- a pair of reset elements 128 located on feedback paths coupled between the (+/-) outputs and (-/+) inputs of the differential amplifier 124 are also provided respectively. By providing negative feedback between the (+/-) outputs and (-/+) inputs, the gain of the differential amplifier 124 can be set.
- the reset elements 128 each include a capacitor and a switch (not shown).
- the chip multiplier stage 122 is configured to sequentially receive over the transmission medium 34 differential pairs of samples of video media that have been encoded by the encoder 28 using Spread Spectrum Direct Sequence (SSDS) coding as previously described.
- the chip multiplier stage 122 is also configured to receive SSDS chip values specified by the mutually orthogonal SSDS codes used to encode the differential pairs of samples by the encoder 28 respectively.
- the channel aligner 87 is responsible for applying the correct SSDS chip value to each of the received differential pair samples respectively.
- one differential pair sample is received with each clock cycle of the sampling clock Fssvt.
- the chip multiplier stage 122 performs the following:
- the multiplier is either (+1) or (-1). If the chip value is a first state (e.g., “1”), the multiplier is (+1). If the chip value is a second state (e.g., “0”), then the multiplier is (-1); and
- the passive multiply- accumulator encoder 120 operates to generate a decoded, differential, video media sample output (i.e., a Sample P-1 , N-1 +, Sample P-1 , N-1 -). This is accomplished with the assertion of an “averaging” control signal, which causes:
- the decoded, differential, video media sample is thus represented by the difference between the average voltages accumulated on first and second capacitors 129 coupled to the positive and negative terminals of the differential amplifier 124 respectively.
- the differential amplifier 124 acts to amplify the voltage difference between the positive and negative terminals, while suppressing any common voltage between the two. With the additional current gain, the decoded, differential, video media sample is better suited to drive the reconstruction banks 82, as illustrated in Fig. 5A or 5B.
- the frequency of the differential amplifier 124 does not need to operate at the same frequency Fssvt that is used for sampling the incoming the (L) differential samples. Since an averaging operation is performed for every (L) incoming samples, the frequency of the differential amplifier 124 need be only Fssvt/L. By reducing the speed/settling time requirements of the differential amplifier 124, the power required to perform the function is reduced.
- the reset circuits 128 for the differential amplifier 124 are provided to initialize or reset the voltage on the capacitors 129 at the (+/-) inputs of the differential amplifier to zero volts or some other reset voltage value with each Fssvt/L cycle. Without a reset prior to each averaging operation, the differential amplifier 124 would act as an integrator and accumulate differential voltage inputs it receives over time rather than simply amplifying the differential inputs it receives for a single averaging operation.
- storage bank A cannot be used for storing multiplication product charges for incoming differential samples during averaging operations. As a result, processing delays may be incurred.
- the passive multiply-accumulator encoder 120 may optionally also include a second storage bank B including (L) sets of (+) and (-) capacitors, a second differential amplifier 126, a second set of capacitors 129, a pair of reset circuits 128, and a multiplexor 130.
- the second storage bank B, the differential amplifier 126, second set of capacitors 129, and the reset circuits 128, all operate essentially the same as their counterparts as described above. A detailed explanation of these components is, therefore, not provided herein for the sake of brevity.
- the two storage banks A and B are alternatively used. While one is sampling, the other is averaging, and vice-versa.
- processing delays are reduced in at least two ways. First, multiple sets of incoming (L) differential pairs of signals can be received, multiplied, and stored without interruption. Second, any speed/settling time requirements of the differential amplifiers following an averaging operation are effectively negated since one bank is always sampling while the other is averaging and vice versa.
- control signals include:
- a bank select control signal is provided to the multiplexer 130. Accordingly, when one bank is sampling and storing, the multiplexer 130 selects the differential amplifier output (either 124 or 126) of the other bank that is averaging. By transitioning the bank select control signal to coincide with transitions of the sample/average control signal, the output of the multiplexor 130 is always selected to pick the capacitor bank that is averaging. As a result, decoded, differential, video media samples are continually generated so long as the chip multiplier stage 122 is receiving incoming differential input signals.
- FIG. 9 a timing diagram illustrating the alternating nature of the operation of the two-bank embodiment of the passive multiply- accumulator encoder 120 is illustrated.
- the two capacitor banks A and B alternative between sampling and averaging. From left to right, the capacitor bank A initially samples, then averages and outputs results to the capacitors 129 of the differential amplifier 124, then samples again. Simultaneously, the capacitor bank B performs the complement, meaning it initially averages and outputs results to the differential amplifier 126, then samples, and then averages and outputs results to the differential amplifier 126. This alternating pattern is continually repeated by transitioning the state of the average/control signal every (L) clock cycles of Fssvt. As a result, a plurality of output, decoded, differential, video media samples are continually generated.
- an exemplary storage bank 140 (e.g., either A or B) and control logic is illustrated.
- the storage bank 140 would include 128 stages, labeled in the drawing 1 through (L). Each stage includes a first pair of switches (S1- S1), a second pair of switches (S2-S2), and complementary capacitors C(+) and C(-).
- Each stage is also configured to receive an output from a control logic unit 148 for controlling the opening/closing of the first pair of switches S1-S1.
- the control logic unit 148 includes a circulating shift-register of (L) bits in length that circulates a single “1” bit around to the (L) stages respectively. The position of the “1” bit at any point in time selects which of the (L) stages is to be used for sampling for the multiplication product of a given differential pair input. By circulating the “1” bit to substantially coincide with (L) Fssvt clock cycles, (L) samples are collected on the (L) stages respectively.
- the pulse width of the single “1” bit may be the same or somewhat less than the pulse width of the Fssvt clock. By using a smaller pulse width, any overlap between sampling capacitors of adjacent stages (L) being partially on is avoided or mitigated.
- Each stage also has an input terminal configured to receive either the sample/average control signal for capacitor bank A, or the complementary average/sample control signal for capacitor bank B. With both banks, this control signal is used for controlling the opening/closing of the second set of switches S2-S2. [0114] During sampling, the sample/average for capacitor bank A (or average/sample for capacitor bank B) signal is held in the sampling state. As a result, the switches S2-S2 remain open.
- control logic unit 148 sequentially circulates the single “1” bit for the stages (L) through (1) respectively. As a result, only one stage is selected per Fssvt clock cycle. For the selected stage, the switches S1-S1 are closed, allowing the charge values commensurate with the multiplication product results for the currently received differential pair sample to be received and stored on the C(+) and C(-) capacitors of the selected stage respectively.
- the sample/average signal for storage bank A transitions to the averaging state and the control logic unit 148 stops the circulation of the “1” bit.
- the switches S1-S1 of all (L) stages are opened, and the switches S2-S2 of all (L) stages are closed. Consequently, the charge on the complementary capacitors C(+) and C(-) of all (L) stages is “dumped” (i.e. averaged) onto the capacitors 129 at the (-) and (+) terminals of the corresponding differential amplifier respectively respectively.
- the storage banks A and B as described above are symmetrical and both include (L) stages, it should be understood that this is by no means a requirement. On the contrary, the A and B storage banks do not need to be complete replicas. There is only the need to have enough duplication to satisfy the requirement that a continuous stream of differential input samples can be handled. For instance, one or both storage banks can have fewer than (L) stages. In alternative embodiments, only a small number of stages in multiple storage banks need to be duplicated. The number of potential duplicate stages just needs to be sufficient to ensure completion of averaging operations into input capacitor 129 of the output amplifier. Outputting of the result (by the amplifier) of one bank can be done during sampling of the next even though they share the storage elements, because the output amplifier “stands alone” after the evaluation is completed.
- each storage bank does not necessarily need a corresponding differential amplifier.
- the inputs from multiple storage banks to a given differential amplifier can be multiplexed, reducing the number of differential amplifiers that are needed.
- the various above-described embodiments of the passive multiply-accumulator decoder 120 are essentially a “drop-in” replacement for the N decoders that are used in the decoder blocks 80 as illustrated in Fig. 5 A and Fig. 5B.
- N decoder circuits (N 0 through N -1 ) are provided per decoder block 80.
- Each of the N decoder circuits is configured to sequentially receive differential level samples (+/- Level Signals). As the differential level signals are received, each of the N passive multiply-accumulator decoder circuits 120 applies the same unique SSDS code of the mutually orthogonal SSDS code used for encoding for the level position (P) and sample position (N) on the transmit side.
- each of the passive multiply-accumulator decoder circuits 120 generates a differential pair of samples for its given P and N position.
- a complete set of differential samples from (Sample 0 + , sample 0- to Sample P-1 , N-1 +, Sample P-1 is generated and provided to the reconstruction banks 82 as shown in Fig. 5A and Fig. 5B.
- the encoders and decoders are described with respect to differential signals. It should be noted, however, that this is by no means a requirement.
- the encoders and decoders can be configured to operate and process non-differential signals (i.e., a single signal) as well.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
- Television Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The present invention relates generally to video or other media transmission, and more particularly, to encoding and decoding of video media that has been transmitted between a video source and a video sink using spread spectrum direct sequence (SSDS) modulation.
Description
ENCODER AND DECODER CIRCUITS FOR THE TRANSMISSION OF VIDEO MEDIA USING SPREAD SPECTRUM DIRECT SEQUENCE
MODULATION
CROSS-REFERENCE TO RELATED APPLICATIONS [0001] This Application claims priority of U.S. Provisional Application No. 63/118,320 filed on November 25, 2020, which is entitled "Encoder and Decoder Circuits for the Transmission of Video Media Using Spread Spectrum Direct Sequence Modulation", and incorporated herein by reference for all purposes.
BACKGROUND
[0002] The present invention relates generally to video and/or other media transport, and more particularly, to encoding and decoding of video media for transmission between a video source and a video sink using Code Division Multiple Access (CDMA) and spread spectrum direct sequence (SSDS) modulation.
[0003] High definition video is typically generated in a number of different formats, including “720p”, “1080i”, “1080p” and more recently “4K”. With these formats, “i” refers to interlaced scanning and “p” refers to progressive scanning.
[0004] The amount of video data transmitted using any of the above-listed formats is enormous. With “720p” the transmission rate is 1280 horizontal lines by 720 vertical lines or approximately 921,600 pixels per frame with a typical refresh rate of 50 or 60 frames per second. The transmission of 1080i requires transmission of 1920 horizontal lines by 540 vertical lines, or 1,036,800 pixels per field, with two interlaced fields making up each frame, with a refresh rate ranging from 12.5 to 60 fields per second. The transmission of 1080p involves 1920 horizontal lines by 1080 vertical lines, or 2,073,600 pixels per frame, and typically a refresh rate ranging from 30 to 60 frames per second. 4K video transmission involves 3840 horizontal lines by 2160 vertical lines per frame with a typical refresh rate of 30 or 60 frames per second.
[0005] Given the huge amount of bandwidth needed for the transmission of video, various types of video compression are typically used, such as MPEG, AVC, and HEVC. The problems with video compression include limited interoperability, increased implementation cost, added latency, and reduced image fidelity. As a result, some degree of picture quality is degraded when displaying compressed video versus uncompressed or visually lossless video.
[0006] The magnitude of the above-described problems is only going to get significantly worse in the near future. Consumer electronics companies are now introducing 8K cameras and displays into the market. 8K devices have a frame size of 7,680 horizontal lines and 4,320
vertical lines, or 33,177,600 pixels per frame, and a refresh rate of typically either 120 or 240 frames per second. The transmission of 8K video will therefore make an already existing set of challenges significantly worse.
[0007] A video transport capable of transmitting high-quality, high-definition video that is not compressed is therefore needed.
SUMMARY
[0008] The present invention is directed to encoding and decoding circuits for video media that is transmitted between a video source and a video sink using Spread Spectrum Direct Sequence (SSDS) modulation-based Code Division Multiple Access (CDMA) channel sharing. [0009] In one non-exclusive embodiment, an encoder circuit and method for applying a set of mutually orthogonal SSDS codes to video data is described, where (“L”) is a parameter defined as the length of codes used in the CDMA codebook. The method and encoder circuit involve (a) constructing a video vector including N samples of first and second voltage values, the N samples derived from multiple sets of samples representative of multiple pixels respectively, (b) modulating each of the first and the second voltage values of the N samples in the video vector using L SSDS chips each from its respective code, each of the modulations involving conditionally either inverting or not inverting the first and second voltage values of the N samples depending on the state of the L corresponding SSDS chips respectively, and (c) generating a sequence of L differential level output signals, each one from an accumulation of the modulated first and second voltage values of the N samples that are conditionally either inverted or not inverted.
[0010] In another non-exclusive embodiment, a decode circuit and method for applying the same set of mutually orthogonal SSDS codes to decode the L differential level signals into N samples is described. The method and circuit involve (a) receiving the series of L differential level signals, (b) providing each received differential level signal to N decoder circuits, (c) providing N Spread Spectmm Direct Sequence (SSDS) chips from the corresponding codes to the N decoder circuits respectively, each of the N SSDS chips having either a first state or a second state, (d) for each of the N decoder circuits, demodulating by conditionally inverting or not inverting the differential level signals depending on whether the SSDS chip provided to each of the N decoder circuits is of the first state or the second state respectively, (e) for each of the N decoder circuits, accumulating the inverted or not inverted differential level signals at first and second storage locations; and (f) after L demodulation steps (d) and (e), presenting the N reconstructed samples, the N samples retrieved from the inverted or not inverted differential
level signals stored at the first and the second storage locations of each of the N decoder circuits respectively.
[0011] In yet other non-exclusive embodiments, a decoder circuit and method is described for generating a sample video signal by decoding (L) signals of encoded video media using SSDS coding by generating an average voltage value derived from averaging voltage values stored on (L) storage devices arranged in a first bank, the (L) voltage values derived from multiplying the (L) signals with (L) SSDS chip values respectively.
BRIEF DESCRIPTION OF THE DRAWINGS [0012] The invention and the advantages thereof, may best be understood by reference to the following description taken in conjunction with the accompanying drawings in which:
[0013] FIG. 1 is a system diagram illustrating transmission of electromagnetic (EM) video signals from a digital video source to a digital video sink using spread spectrum direct sequence (SSDS)-based CDMA modulation (Spread- Spectrum Video Transport (SSVT)) in accordance with a non-exclusive embodiment of the invention.
[0014] FIG. 2A is a logic block diagram of a Spread Spectrum Video Transmission (SSVT) transmitter and SSVT receiver connected by a transmission cable in accordance with a non- exclusive embodiment of the invention.
[0015] FIG. 2B is a diagram of one possible permutation of video signals into vectors that are then modulated before transmission in accordance with a non-exclusive embodiment of the invention.
[0016] FIG. 3 is a logic block diagram of an encoder-distributor used in the SSVT transmitter in accordance with a non-exclusive embodiment of the invention.
[0017] FIG. 4 is a circuit diagram of an SSVT encoder in accordance with a non-exclusive embodiment of the invention.
[0018] FIG. 5A is a logic block diagram illustrating a receiver assembly for de-modulating P received differential pairs of EM level signals back into HDMI signals in accordance with a non- exclusive embodiment of the invention.
[0019] FIG. 5B is a logic block diagram illustrating another receiver assembly for de- modulating P received differential pairs of EM level signals back into HDMI signals in accordance with another non-exclusive embodiment of the invention.
[0020] FIG. 6 is a logic diagram of N decoder tracks for de-modulating one differential pair of EM level signals accordance with a non-exclusive embodiment of the invention.
[0021] FIG. 7 is a circuit diagram of a representative decoder track circuit in accordance with a non-exclusive embodiment of the invention.
[0022] FIG. 8 is a circuit diagram of another decoder circuit for decoding SSDS encoded media signals in accordance with another non-exclusive embodiment of the invention.
[0023] FIG. 9 is a timing diagram illustrating operation of the decoder circuit of FIG. 8 in accordance with a non-exclusive embodiment of the invention.
[0024] FIG. 10 illustrates a storage bank and control logic used in the decoder circuit of FIG. 8 in accordance with a non-exclusive embodiment of the invention.
[0025] In the drawings, like reference numerals are sometimes used to designate like structural elements. It should also be appreciated that the depictions in the figures are diagrammatic and not to scale.
DETAILED DESCRIPTION
[0026] The following description recites various aspects and embodiments of the inventions disclosed herein. No particular embodiment is intended to define the scope of the invention. Rather, the embodiments provide non- limiting examples of various apparatus’ and methods that are included within the scope of the claimed inventions. The description is to be read from the perspective of one of ordinary skill in the art. Therefore, information that is well known to the ordinarily skilled artisan is not necessarily included.
Code Division Multiple Access (CDMA)
[0027] Code Division Multiple Access (CDMA) is a well-known channel access protocol that is commonly used for radio communication technologies, including cellular. CDMA is an example of multiple access, wherein several transmitters can send information simultaneously over a single communication channel. In telecommunications applications, CDMA allows multiple users to share a given frequency band without interference from other users. CDMA employs Spread Spectrum Direct Sequence (SSDS), encoding which relies on unique, orthogonal codes to encode each user’s data. By using unique codes, the transmission of the multiple users can he combined and sent without interference between the users. On the receive side, the same unique or orthogonal codes are used for each user to demodulate the transmission, recovering the data of each user respectively.
Spread Spectrum Direct Sequence (SSDS) Modulation [0028] SSDS is a modulation technique by which a signal (e.g., a series of electrical or electromagnetic values) in a particular bandwidth is deliberately spread using an orthogonal code, resulting in a signal with a wider bandwidth. The wider bandwidth signal is then
transmitted over a transmission medium. On the receive side, the wide bandwidth signal is demodulated using the same orthogonal code used for modulation on the transmit side. As a result, the original electrical or electromagnetic signal is recovered.
[0029] The present invention is directed to circuits for encoding and decoding video media that is transmission between a video source and a video sink using spread spectrum direct sequence (SSDS) modulation-based Code Division Multiple Access (CDMA) channel sharing. During operation, a stream of time-ordered video samples containing color values and pixel related information is received from the video source and reconstructed for the video sink. As described in more detail below, the number and content of input video samples received from the video source depends on the color space in operation at the source. Regardless of which color space is used, each video sample is representative of a sensed or measured amount of light in the designated color space. As the stream of input video samples is received, the input video samples are repeatedly (1) “distributed” by assigning the input video samples into encoder input vectors according to a predetermined permutation and (2) encoded by applying an SSDS-based CDMA modulation to each of the multiple encoder input vectors, applying orthogonal codes, to generate multiple composite EM signals with noise-like properties. (3) The EM signals are than transmitted over a transmission medium, such as an HDMI cable. On the receive side, (4) the incoming EM signals are decoded by applying an SSDS-based CMDA demodulation, applying the same orthogonal codes, to reconstruct the samples into output vectors and then (5) the output vectors are “collected” by assigning the reconstructed video samples from the output vectors to an output stream using the inverse of the predetermined permutation. As a result, the original stream of time-ordered video samples containing color and pixel related information is conveyed from video source to video sink.
[0030] Referring to Fig. 1, a system 10 illustrating transmission of electromagnetic (EM) video signals from a digital video source to a digital video sink using spread spectrum direct sequence (SSDS)-based CDMA modulation in accordance with a non-exclusive embodiment of the invention is shown.
[0031] In the discussion below, a process is described of how digital video data is typically captured. Once captured, the digital video data can be transmitted to a video display for near real-time consumption. On the other hand, the captured video data can be stored for later consumption in a time-shifted mode. In either case, it is proposed herein that SSDS-based CDMA modulation be used to transmit the digital video data from the video source (or storage device) to a video sink for display (or storage).
Video Capture
[0032] The video source 12 includes an image sensor array 16, one or more analog-to-digital converters 18, an Image Signal Processor (ISP 20), and a video streamer 21 responsible for generating a stream of video samples 22. The video source 12 may also optionally be connected to a video media storage device 24. The storage device may be either proximate to the location of the image sensor array 16 or remote.
[0033] In various embodiments, the video source 12 can be any device capable of capturing imaging information, such as but not limited to a video camera, an Infrared imaging device, an ultrasound imaging device, a magnetic resonance imaging (MRI) device, computed tomography, or just about any other type of imaging device capable of generating video information.
[0034] The image sensor 16 is any device capable of generating an electronic signal that is proportional to an amount of measured light. For example, in a non-exclusive embodiment, the image sensor is a planar array of photodiodes. Each photodiode represents a pixel sample location in the planar array. The number of photodiodes in the planar array may widely vary and is dependent on the size of the image sensor 16. A “4K” imaging sensor, for instance, includes a photodiode array of 3840 horizontal lines by 1080 vertical lines, or a total of 4,147,200 photodiodes. An 8K imaging sensor will have 7,680 horizontal lines and 4,320 vertical lines, or 33,177,600 pixels per frame. It should be understood that 4K and 8K are merely examples of resolution and the image sensor 16 may be any size, including less than 480, 480, 720, 1080, 4K, 8K. The number of photodiodes in the array will of course vary accordingly.
[0035] During operation, the image sensor 16 continually repeats a sensing interval at a given refresh rate. During each sensing interval, each photodiode in the array generates for every pixel position an electrical voltage that is inversely proportional to the number of photons generated the photodiode. As a result, the array of photodiodes generates a set of voltages that collectively represent a frame. As the image sensor is continually refreshing at a given frame rate, multiple sets of voltages, each representing a frame, are continuously generated one after another.
[0036] For each pixel position, the photodiode is provided between a capacitor and ground. Just prior to a sensing interval, the capacitor is pre-charged. When sensing, the photodiode generates a current that is proportional to the magnitude of light received. When little to no light is sensed, there is little to no capacitor discharge to ground through the photodiode. Conversely, if a large amount of light is sensed, then a large portion of the voltage on the capacitor is
discharged. The voltage remaining on the capacitor following the exposure interval is therefore inversely proportional to the magnitude of the sensed light.
[0037] With many digital image sensor arrays 16, there is typically a row of analog-to- digital converters (“ADCs”) 18, with one ADC per column. During a given frame interval, all the rows of the array 16 are sampled, typically one after the other from top to bottom, sometimes referred to herein as “row-major” order. With each sample, the ADCs 18 convert the sensed voltage into a digital value for the pixel position for each column in the array. A frame is complete when all the rows of the array 16 have been sampled. The above process it is repeated, in row-major order, on a frame-by-frame basis. The net result is a string of digital values, with each digital value representative of a pixel position in a frame. Again, the size of the image sensor and the refresh rate are determinative of the number of digital values per frame. For example, a 4K or an 8K digital image sensor will measure 8,294,400 or 33,177,600 digital samples per frame, respectively.
[0038] The number of bits used to represent each sample may widely vary. For instance, each voltage may be converted by the analog-to-digital converters 18 into an 8 or 10 bit value. It should be understood that such bit values listed herein are merely illustrative and the number of bits used to represent the pixel voltage values may be more or less than 8 or 10.
[0039] The image sensor array 16 can be either monochromatic or color. In the case of the former, the digital values generated by the ADCs 18 are representative of only one color. With the latter, well known color techniques such as Bayer filtering is typically applied. With Bayer filtering, the individual photodiodes 16 are selectively covered with filters of a predetermined color (e.g., either Red (R) or Blue (B) or Green (G)). In alternative embodiments, CYGM (Cyan, Yellow, Green and Magenta) or CMY (Cyan, Magenta and Yellow) filtering may be used. Regardless of the type of filter used, the magnitude of the filtered light is measured at each sample position.
[0040] The ISP 20 is arranged to interpolate the string of digital values received from the ADC 18. By interpolation, the ISP 20 takes the information contained in the digital values for each pixel measurement and its geometric neighborhood and defines an estimate of the color of the corresponding pixel. To output full-color images in a specific color space (there are many), the ISP 20 interpolates the "missing" color values at each location. That is, given only a single- color measurement per pixel, the ISP algorithmically estimates the "missing" color values to create, for example, an RGB or YCbCr representation for the pixel. The ISP 20 thus generates a
set of samples 22 for a given pixel of a given frame, each set of samples 22 representative of the color values (either as measured and/or interpolated) for a given pixel position within the frame. [0041] The contents of a given set of samples 22 may vary since there are many ways to represent color. In different embodiments, the information contained in each set of samples 22 may therefore vary. Generally, RGB is considered full color, and other spaces such as YCbCr are approximations to full color that are smaller to transmit. RGB provides three color values. With YCbCr, Y is the luminance component and Cb and Cr are the blue-difference and red- difference chroma values, respectively. YCbCr color spaces are defined by a mathematical coordinate transformation from an associated RGB color space. In yet another way to represent color, an “alternating” approach can be used. For example, every second pixel is represented by its Luminance(Y) value, while alternating pixels are represented by either Cb (Blue) or Cr (Red) values. Accordingly in various embodiments, each set of samples 22 includes some number “S” of sample values that are transmitted in parallel. With RGB, the number of samples per set of samples 22 is S =3, while for YCbCr, S = 2.
[0042] The video streamer 21 in response generates a sequence of time-ordered sets of samples 22. In general, each set of samples 22 output together represents the light measurement for one pixel location on the array 16. The values and/or number of samples produced by the ISP per pixel location depends on the ISP implementation and, in particular, on the color space applied.
[0043] The output of the video streamer 21 is a continuous stream of time-ordered sets of samples 22, each representative of a pixel in a row, from left to right, in row-major order, frame after frame, so long as the array 16 is sensing. The stream of sets of samples 22 is then processed, after transmission, by the video sink 14 to reconstruct the images sensed, frame-by- frame, by the image array sensor 16.
[0044] In another optional embodiment, the stream of sets of samples 22 can be stored in a storage device 24. In this way, the stream of sets of samples 22 can be transmitted at any time after the video stream was initially captured by the image sensor 16. For instance, the stream of sets of samples 22 can be captured during one time interval and then either transmitted to the video sink 14 frame by frame for display and/or stored in storage unit 24 for transmission to the video sink 14 at some later point in time. In this manner, the video captured by the video source 12 can be displayed by the video sink 14 in a time-shifted manner.
[0045] An advantage for using SSVT in the context of image capture and display is that images are measured on intrinsically error-prone sensors and displayed on intrinsically noisy
LED arrays and viewed by extremely complex and robust human vision systems. As a result, the communication requirements for video are very different from the communication requirements for conventional digital artifacts such as spreadsheets and email, wherein bit-perfect transmission is required. However, conventional video transmission treats a video signal just like another kind of (digital) document. With SSVT, however, video signals are transmitted in an electrically robust manner. Among the advantages of SSVT is the fact that any uncompensated errors occurring in the EM signal measurement at the receiver manifest in the reconstructed images as broad-spectrum temporal and spatial noise. Such white noise is more palatable to human cognition than are the blank screens, repeated images, and blocky compression artifacts that arise from conventional bit-serial transmission.
Transmission
[0046] Fig. 1 further includes a transmit retimer 26 and a Spread Spectrum Video Transport (SSVT) transmitter (TX) 28 on the transmit side. As explained in greater detail below, the retimer 26 is responsible for decoding or exposing the color component information (e.g., RGB values) from each of the sets of samples 22 in the stream generated by the video streamer 21. The SSVT 28 is then responsible for (a) distributing the set of samples 22 into one of multiple encoder input vectors using a predetermined permutation, and (b) applying SSDS modulation to each of the multiple encoder input vectors and (c) encoding the multiple input vectors with SSDS-based CDMA coding to generate sequences of EM level signals, and (d) then transmitting the sequences of EM level signals over multiple EM pathways or a transmission medium, such as an HDMI cable, towards the video sink 14.
[0047] On the receive side, a SSVT receiver (RX) 30, a retimer 32 and a video sink 14 are provided. The function of the SSVT receiver (RX) 30 and the retimer 32 are the complement of the retimer 26 and SSVT transmitter 28 on the transmit side. That is, the SSVT receiver RX 30 (a) receives the sequences of EM level signals from the multiple EM pathways of the transmission medium, (b) decodes each sequence by applying SSDS-based CDMA demodulation to reconstmct the video samples in multiple output vectors, and (c) collects the samples from the multiple output vectors into a reconstruction of the original stream of sets of samples 22 using the same permutation used to distribute the input samples into input vectors on the transmit side. The retimer 32 then transforms the reconstructed output samples into a format that is suitable for display by the video sink 14 or for storage on the receive side for display in a time-shifted mode. The number of output sample values S in each set of samples 22 is determined by the color space applied by the video source. With RGB, S=3, and with YCbCr, S
= 2. In other situations, the sample values S in each set of samples 22 can be less than two (i.e. just one (1) or more than three (3).
[0048] The SSDS modulation and demodulation, as described herein, is performed in the analog or electromagnetic (“EM”) domain. As explained in more detail below, the stream of sets of input samples 22 are distributed at a first clock rate (pix-clk) to create encoder input vectors according to a predetermined permutation. SSDS-based CDMA modulation is then applied to each of the encoder input vectors, resulting in the generation of an encoded “EM” signal for each encoder input vector. The EM signals are then transmitted over the transport in parallel at a second clock rate (SSVT_clk). Applying spreading (SSDS) to each sample in the encoder input vectors provides electrical resiliency, but at the expense of bandwidth per sample. However, by modulating a set of mutually orthogonal codes and transmitting all of the resultant EM signals simultaneously (CDMA), some or all of the lost bandwidth is recovered.
[0049] FIG. 2A is a logic block diagram of the SSVT transmitter 28 and SSVT receiver 30 connected by a transmission medium 34. The SSVT transmitter 28 includes a distributor 40 and multiple encoders 42. The SSVT receiver 30 includes multiple decoders 44 and a collector 46. [0050] On the transmit side, the distributor 40 of the SSVT receiver 30 is arranged to receive the color information (e.g., R, G, and B values) exposed in the input sets of samples 22. In response, the distributor 40 takes the exposed color information for the incoming sets of samples 22 and builds multiple encoder input vectors according to a predefined permutation. In the non- exclusive embodiment shown in Fig. 2A, there are four encoder input vectors (V0, V1, V2 and V3), one for each of four EM pathways on the transmission medium 34 respectively. In various embodiments, the transmission medium 34 can be a cable such as HDMI, fiber optic or wireless. One of the multiple encoders 42 is assigned to one of the four vectors V0, V1, V2 and V3 respectively. Each encoder 42 is responsible for encoding sample values contained in the corresponding encoder input vector and generating an EM signal that is sent over one of the parallel pathways on the transmission medium 34.
[0051] In this particular embodiment shown, there are four EM pathways, and the four encoders 42 each generates an EM signal for each of the four pathways respectively. It should be understood, however, the present invention should be by no means be limited to four pathways. On the contrary, the number of pathways on the transmission medium 34 may widely range from one to any number more than one, including more than four.
Permutation Example
[0052] Referring to Fig. 2B, a diagram of one possible permutation implemented by the distributor 40 for building four vectors V0, V1, V2 and V3 is shown. Each of the vectors includes N samples of color information. [0053] In this non-exclusive embodiment, the exposed color information for the sets of samples 22 is “RGB” respectively. The exposed RGB samples of the sets of samples 22 in this example are assigned to vectors V0, V1, V2 and V3 from left to right. In other words, the “R”, “G” and “B” values of the left most sample and the “R” signal of the next set of samples 22 are assigned to vector V0, whereas the next (from left to right) “G”, “B”, “R” and “G” values of the next sample 22 are assigned to vector V1, the next (from left to right) “B”, “R”, G” and “B” values are assigned to vector V2, and the next (from left to right) “R”, “G”, “R” and “R” values are assigned to vector V3. Once the fourth vector V3 has been assigned its signals, the above process is repeated until each of the four vectors V0, V1, V2 and V3 have N samples. In various embodiments, the number of N samples may widely vary. [0054] By way of example, consider a non-exclusive embodiment with N = 60. In this case, the total number of N samples included in the four vectors V0, V1, V2 and V3 is 240 (60 x 4 = 240). The four encoder input vectors V0, V1, V2 and V3, when completely built up, include the samples (where S =3) for 80 distinct sets of samples 22 (240/3 = 80). In other words:
• Vector V0 includes Samples P0, N0 through P0, NN-1; · Vector V1 includes Samples P1, N0 through P1, NN-1;
• Vector V2 includes Samples P2, N0 through P2, NN-1; and
• Vector V3 includes Samples P3, N0 through P3, NN-1·
[0055] It should be understood that the above example is merely illustrative and should not be construed as limiting in any regard. The number of samples N may be more or less than 60. Also, it should be understood that (a) the exposed color information for each set of samples 22 can be any color information (e.g., Y, C, Cr, Cb, etc.) and is not limited to RGB.
[0056] The number of EM pathways over the transmission medium 34 can also widely vary. Accordingly, the number of vectors V and the number of encoders 42 may also widely vary from just one or any number larger than one. [0057] It should also be understood that the permutation scheme used to construct the vectors, regardless of the number, is arbitrary. Any permutation scheme may be used, limited only by whatever permutation scheme that is used on the transmit side is also used on the receive side.
[0058] Referring to Fig. 3, a logic block diagram of the SSVT transmitter 28 is illustrated. The distributor-encoder 40 includes an assembly bank 50, a staging bank 52, a presentation bank 54 and a frame controller 56. An encoder block 60 includes a bank of Digital-to-Analog converters (DACs) 62 and four encoders 42, one for each EM pathway on the transmission medium 34.
[0059] The distributor 40 is arranged to receive the exposed color information (e.g., RGB) for the stream of sets samples 22, one after the other. In response, the assembly bank 50 builds the four vectors V0, V1, V2 and V3 from the exposed color information (e.g. RGB) for the incoming stream of sets of samples 22. As the sets of samples 22 are received, they are stored in the assembly bank 50 according to the predetermined permutation. Again, the distributor 40 may use any number of different permutations when building the vectors containing N samples each. [0060] The staging bank 52 facilitates the crossing of the N samples of each of the four vectors V0, V1, V2 and V3 from a first clock frequency or domain used by the retimer 26 into a second clock frequency or domain used for the encoding and transmission of the resulting EM level signals over the transmission medium 34. As previously discussed in the example above with N = 60 and S = 3, the samples representing exactly 80 sets of RGB samples are contained in the four encoder input vectors V0, V1, V2 and V3.
[0061] In various embodiments, the first clock frequency can be faster, slower or the same as the second clock frequency. The first clock frequency f_pix is determined by the video format selected by the video source 12. The second clock frequency f_ssvt is a function of f_pix, the number P of EM pathways in the transmission medium 34, the number S of samples in each set of input/output samples, and the SSVT transform parameters N (the number of input/output vector locations) and L (the length of each SSDS code), where f ssvt = (f_pix * S * L) / (P * N). With this arrangement, the input clock (pix_clk) oscillates at one rate, the SSVT clock (ssvt_clk) oscillates a different rate. They can be the same or different. The spreading arises because N input samples (individual color components) are assigned to an input vector; then the encoder performs the forward transform (SSDS-based CDMA) while the next input vector is prepared. [0062] The presentation bank 54 presents the N samples (N0 through N-1) of each of the four encoder input vectors V0, V1, V2 and V3 to the encoder block 60.
[0063] The controller 56 controls the operation and timing of the of the assembly bank 50, the staging bank 52, and the presentation bank 54. In particular, the controller is responsible for defining the permutation used and the number of samples N when building the four encoder input vectors V0, V1, V2 and V3. The controller 56 is also responsible for coordinating the clock
domain crossing from the first clock frequency to the second clock frequency as performed by the staging bank 52. The controller 56 is further responsible for coordinating the timing of when the presentation bank 54 presents the N samples (N0 through N-1) of each of the encoder input four vectors V0, V1, V2 and V3 to the encoder block 60.
[0064] Within the encoder block 60, a plurality of Digital-to-Analog Converters (DACs) 62 is provided, each arranged to receive one of the P*N samples (P0, N0 through P3, NN-1) assigned to the four encoder input vectors V0, V1, V2 and V3 collectively. Each DAC 62 converts its received sample from the digital domain into a differential pair of voltage signals having a magnitude that is proportional to its incoming the digital value. In a non-exclusive embodiment, the output of the DACs 62 range from a maximum voltage to a minimum voltage.
[0065] The four encoders 42 are provided for the four encoder input vectors V0, V1, V2 and V3 respectively. Each encoder 42 receives the differential pair of signals for each of the N samples (N0 through N-1) for its encoder input vector, modulates each of the N differential pair of voltage signals using an orthogonal SSVT “chip”, accumulates the modulated values and then generates a differential EM level output signal. Since there are four encoders 42 in this example, there are EM level signals (Level0 through Level1) that are simultaneously transmitted over the transmission medium 34.
[0066] A sequencer circuit 65 coordinates the timing of the operation of the DACs 62 and the encoders 42. The sequencer circuit 65 is responsible for controlling the clocking of the DACs 62 and the encoders 42. As described in detail below, the sequencer circuit 65 is also responsible for generating two clock phase signals, “clk 1” and “clk 2”, that are responsible for controlling the operation of the encoders 42.
[0067] Referring to Fig. 4, a circuit diagram of an encoder 42 for one of the input vectors V is illustrated. The encoder circuit 42 includes a plurality of multiplier stages 70 and an accumulator stage 72 that includes a differential amplifier 74.
[0068] Each multiplier stage 70 is arranged to receive at first (+) and second (-) terminals a differential pair of sample signals (+SampleN-1 /-SampleN-1 through +Sample0 / -Sample0) from one of the DACs 66 respectively. Each multiplier stage 70 also includes a terminal to receive a Spread Spectrum Direct Sequence (SSDS) “chip”, an inverter 72, sets of switches S1-S1, S2-S2 and S3-S3, sets of switches driven by clk 1 and clk 2, and a first storage device C1 on a first voltage rail and a second storage device C2 on a second voltage rail.
[0069] During operation, each multiplier stage 70 modulates its received differential pair of analog signals by conditionally multiplying by either (+1) or (-1), depending on a value of a
received SSDS chip. If the SSDS chip is (+1), then when clk 1 is active, switch pairs S1-S1 and S3-S3 close, while switch pair S2-S2 remain open. As a result, both the differential pair of +/- samples are stored on the storage devices C1 and C2 without any inversion (i.e., multiplied by +1) respectively. On the other hand, if the SSDS chip is (-1), then the complement of the above occurs. In other words, switch pair S1-S1 open, while switch pairs S2-S2 and S3-S3 close when clk 1 is active. As a result, the differential pair of samples are inverted (multiplied by -1) and stored on C1 and C2, respectively.
[0070] The accumulator stage 72 operates to accumulate the charges on the storage devices C1 and C2 for all of the multiplier stages 70. When clk 1 transitions to inactive and clk 2 transitions it active, then all the clk 1 controlled switches (S4-S4) close and the clk 2 controlled switches (S5-S5, S6-S6) open. As a result, all the charges on the first storage devices C1 of all the multiplier stages 70 are amplified by amplifiers 78 and accumulated on a first input of the differential amplifier 74, while all the charges on the second storage devices C2 of all the multiplier stages 70 are amplified by amplifiers 78 and accumulated on a second input of the differential amplifier 74. In response, the differential amplifier 74 generates a pair of differential electro-magnetic (EM) level signals.
[0071] The above process is performed for all four vectors V0, V1, V2 and V3. In addition, the above-described process is continually repeated so long as the stream of sets of samples 22 is received by the SSVT transmitter 28. In response, four streams of differential EM output level signals are transmitted to the SSVT receiver 30 over the transmission medium 34.
Receiver
[0072] On the receive side, the SSVT RX 30 is responsible for decoding the stream of four differential EM level output signals received over the transmission medium 34 back into a format suitable for display. Once in the suitable format, the video content (e.g., signals S) contained in the samples 22 can be presented on a video display, frame after frame. As a result, the video capture by the video source 12 can be re-created by the video sink 14. Alternatively, the decoded video information can be stored for display at a later time in a time shifted mode. [0073] The SSVT RX 30 performs the inverse of the SSVT TX 28 on the transmit side. The SSVT RX 30 uses four decoders 80 and a collector 46. The decoders 80 reconstruct the four differential EM level output signals into four decoder output vectors. The collector 46 then assigns the samples of the decoder output vectors to the original stream of sets of samples 22, which each include S reconstructed samples corresponding to the original S samples at that location in the stream.
[0074] Referring to Fig. 5A, a detailed block diagram of the SSVT RX 30, retimer 32 and a video display 85 of the video sink 14 is illustrated. The P decoders 80 (labeled 0 through P-1) are arranged to receive differential EM level signals Level0 through LevelP-1 respectively. In response, each of the decoders 80 generates N differential pairs of reconstructed samples (Sampleo through SampleN-1). In the case where there are four decoders 80 (P=4), four vectors V0, V1, V2 and V3 are constructed respectively.
[0075] Reconstruction banks 82 sample and hold each of the differential pairs of N reconstructed samples (Sampleo through SampleN-1) for each of the four decoder output vectors V0, V1, V2 and V3 at the end of each decoding interval respectively. An Analog-to-Digital Converter (ADC) 84 is provided for each of the N samples (Sampleo through Sample^) for each of the four vectors V0, V1, V2 and V3 respectively. Each ADC converts its received differential pair of voltage signals into a corresponding digital value, resulting in digital samples (SampleN-1 through Sample0) for each of the four vectors V0, V1, V2 and V3 respectively. The ADCs operate at a clock rate = f_ssvt / L.
[0076] The collector 46 includes a staging bank 86 and a disassembly bank 88. The staging bank 86 receives all the reconstructed samples (Nn-1 through No) for each of the four decoder output vectors V0, V1, V2 and V3. The disassembly bank 88 (a) disassembles the samples (SampleN-1 through Sampleo) for each of the four decoder output vectors V0, V1, V2 and V3 back into the exposed color information (e.g., the S signals) for the stream of sets of samples 22 (e.g., in this example, “S=3 for RGB pixels”) using the same permutation scheme as used on the transmit side and (b) crosses the reconstructed samples from the second clock domain back to the first clock domain. The stream of sets of reconstructed samples 22 is then provided to the retimer 32, which reformats the video signal. The output of the retimer 32 is therefore a recreation of the sequence of time-ordered sets of samples 22. The video sink 14 includes a bank of DACs 103 and a video display 85. The bank of DACs 103 is responsible for converting the samples 22 in the digital domain back into the analog domain. In one embodiment, a DAC 103 is provided for each row in the display 85. Once the samples 22 are converted into the analog domain, they are displayed on the video display 85 in a well-known manner.
[0077] SSVT RX 30 also includes a channel aligner 87 and a collector controller 89, which receives framing information and aperture information from each decoder 80. In response, the collector controller 89 coordinates the timing of the staging bank 86 and/or the disassembly bank 88 to ensure that all the samples presented to the disassembly bank come from a common time interval in which the level signals were sent by the SSVT TX 28. As a result, (a) the
disassembly by the bank 88 may be delayed until all samples are received and (b) the individual channels of the transmission medium 34 do not necessarily have to all be the same length since the disassembly bank 88 compensates for any timing differences.
[0078] FIG. 6 is a logic diagram for one of the four encoders 80. The encoder 80 includes differential amplifier 92 and sample and hold circuit 94 arranged to receive, sample and hold one of the four differential EM level signals received over the transmission medium 34. The sampled EM level signals are then provided to each of N decoder track circuits 96 (Nn-1 through No). A sequencer controller 98 provides the same SSDS chip to each of N decoder track circuits 96 that was applied on the transmit side respectively. As a result, the sample outputs (Nn-1 through No) are provided to the reconstruction bank 82. Again, the same SSDS chip that was used on the transmit side is used by each of the decoder track circuits 96. As a result, the demodulated sample Nn-1 through N0 is the same as prior to modulation on the transmit side.
[0079] The collector controller 89 is responsible for keeping track of any permutations and making sure that disassembly bank 88 applied the same permutation that was used in constructing the vectors V0, V1, V2 and V3 on the transmit side.
[0080] The collector controller 89 of each of the decoders 80 also generates a number of control signals, including a strobe signal, an end of bank (eob) signal, an aperture signal and a framing signal. The strobe signal is provided to the ADCs 84 and indicates the timing of when the analog-to-digital conversion process of a given reconstruction bank contents may begin. The eob signal is provided to the reconstruction bank 82 and signifies the timing for when the staging bank 86 is completely full with samples. When this occurs, the eob signal is asserted, clearing both the decoder tracks 96 and the staging bank 86 in anticipation of a next set of reconstructed samples (Nn-1 through No). The aperture control signal is provided to the sample and hold circuit 94, and the framing signal is provided to the channel aligner 87 and the collector controller 89.
Alternative Embodiment
[0081] In the above-described embodiment, the ADCs 84 convert the decoded samples into the digital domain and the ADCs 103 in the video sink 14 convert the ordered sets of samples 22 back into the analog domain just prior to display.
[0082] As illustrated in Fig. 5B, an alternative embodiment is shown where the sample outputs from the reconstruction banks 82 remain in the analog domain, thus eliminating the need to for the ADC 103 and other componentry. With this embodiment, the ADCs 84, disassembly bank 88, and retimer 32 are optionally eliminated. Instead, the analog sample outputs are
provided to the staging bank 86, which performs the same permutation on the samples used when the vectors V0 through V3 were constructed on the transmit side. The sample outputs of the staging bank 86 are then used to directly drive a display 85 of the video sink through an optional level shifter (not illustrated). Since different types of displays require different voltages used to drive their display panels, a level shifter may be used to scale the scale the voltages of the video sample outputs of the staging bank as needed. Any suitable level shifters may be used, as known in the art, such as latch type or inverter type.
[0083] With this embodiment, the collector controller 89 performs several functions. The collector controller 98 is responsible for keeping track and providing to the staging bank 86 the proper permutation selection to use. The collector controller 89 may also provide gain and gamma values to the display 85. Gain determines how much amplification is applied and the gamma curve relates the luminous flux to the perceived brightness, which linearizes human’s optical perception of the luminous flux. The framing signal signifies the timing for constructing video frames on the display 85. The inversion signal may optionally be used to control the level shifter to invert or not invert the video sample outputs, as may be required by some types of display panels such as OLEDs. If a level shifter is used, the output of the level shifter is typically latched. In such embodiments, a latch signal may be used to control the timing of the latching and release of any level shifted the video sample output signals. Finally, the gate driver control signal is used to the gate driver circuitry typically used to drive the horizontal rows of many displays.
[0084] Referring to Fig. 7, a diagram of a representative decoder track circuit 96 is illustrated. The decoder track circuit 96 includes a multiplier portion 100 and an accumulator portion 102. The multiplier portion 100 includes a first pair of switches S1- S1, a second pair of switches S2-S2, a third pair of switches S3-S3 and a pair of capacitors C1-C1 on first (positive) and second (negative) power rails respectively. The accumulator portion 102 includes additional pairs of transistors S4-S4, S5-S5, S6-S6 and S7-S7, an operational amplifier 104, and a pair of capacitors CF and CF on the first (positive) and second (negative) power rails respectively.
[0085] For each demodulation cycle, a differential EM level signal pair is received at the first level input (level +) terminal and a second level input (level -) terminal. The differential EM level signal pair is demodulated in the multiplier portion 100 by conditionally inverting by multiplying by either (1) or negative (-1), depending on the value of the received SSDS chip.
[0086] If the SSDS chip has a value of (+1), then transistor pairs S1-S1 and S3-S3 close, while S2-S2 remain open, when clk 1 is active. As a result, the voltage values at the first level
input (level +) terminal and the second level input (level -) are passed onto and stored by the two capacitors C1 and C1 on the positive and negative rails respectively. In other words, the input values are multiplied by (+1) and no inversion takes place.
[0087] If the SSDS chip has a value of -1, then the S1-S1 switches are both off, while the switches S2-S2 and S3 -S3 are all turned on when clk 1 is active. As a result, the voltage values received at the positive or first (+) terminal and the negative or second (-) terminal are swapped. In other words, the input voltage value provided at the first or positive terminal is directed to and stored on the capacitor C1 on the lower negative rail, while the voltage value provided on the second or (-) terminal is switched to and stored on the capacitor C1 on the positive upper rail. The received voltage values at the input terminals are thereby inverted or multiplied by (-1). [0088] When clk 1 transitions to inactive, the accumulated charge on C1 and C1 remain. When clk 2 transitions to active, then transistor pairs S4-S4 open while transistor pairs S5-S5 and S6-S6 close. The accumulated charge on the capacitors C1 on the upper or positive rail and C1 on the lower or negative rail are then provided to the differential inputs of the operational amplifier 104. The output of the operational amplifier 104 is the original +/- sample pair prior to encoding on the transmit side
[0089] The accumulated charge on the two capacitors C1 and C1 are also passed on to the capacitors CF and CF on the upper or positive rail and the lower or negative rail when C1k 2 is active. With each demodulation cycle, the charges on the capacitors C1 and C1 on the upper and lower rails are accumulated onto the two capacitors CF and CF on the upper and lower rails, respectively. When clk 1 and the eob signal are both active, then the transistor pair S7-S7 are both closed, shorting the plates of each of the capacitors CF and CF. As a result, the accumulated charge is removed, and the two capacitors CF and CF are reset and ready for the next demodulation cycle.
[0090] Since each decoder 80 has N decoder track circuits 96, N decoded or original +/- sample pairs are re-created each demodulation cycle. These N +/- sample pairs are then provided to the reconstruction bank 82, ADCs 84, and then the collector 46, including the staging bank 86 and the disassembly bank 88, and finally the retimer 32. As a result, the original set of samples 22 is re-created with its original color content information (e.g., S= 3 for RGB) and ready for display on the display 85 of the video sink 14.
[0091] The decoder track 96 reconstructs incoming level samples over a succession of L cycles, demodulating each successive input level with the successive SSDS chips of that track's code. The results of each of the L demodulations is accumulated on the feedback capacitor CF.
When eob is asserted during clkl corresponds to the first demodulation cycle of the decoding cycle, CF is cleared after eob such that it can begin again accumulating from zero volts or some other reset voltage. In various non-exclusive embodiments, the value of L is a predetermined parameter. In general, the higher the parameter L the greater the SSDS process gains and the better the electrical resiliency of the transmission of the SSVT signals over the transmission medium 34. On the other hand, the higher the parameter L, the higher the required frequency for the application of the SSVT modulation, which may compromise the signal quality due to insertion losses caused by the transmission medium 34.
[0092] The above-described demodulation cycle is repeated over and over with each of the four decoders 80. The net result is the recovery of the original string of time-ordered sets of samples 22, each with their original color content information (i.e., a set of S samples). The sets of samples 22 are then processed and displayed on the display 85 of video sink 14 as is well known in the art. Alternatively, the recovered sets of samples 22 can be stored on the received side for display in a time-shifted mode.
Passive Multiply-Accumulator Decoder
[0093] In an alternative embodiment, a passive multiply-accumulator decoder may optionally be used in the decoder blocks 80 as described with respect to Fig. 5A. As described in detail below, the passive multiply-accumulator processes groups of (L) differential pairs of samples of video media that are received over the transmission medium 34, where (L) is the length of the SSDS code used for encoding the media prior to transmission. This decoder is passive since no active components, such as amplifiers, are used in the decoding process. This decoder also characterized as being a multiply-accumulator because the product result of the (L) differential pairs of samples and their corresponding SSDS chip value are accumulated or stored on multiple storage devices (e.g., capacitors) during the decoding process.
[0094] Referring to Fig. 8, a passive multiply-accumulator encoder 120 is illustrated. In accordance with one embodiment, the passive multiply-accumulator encoder 120 includes a chip multiplier stage 122, a first storage bank A, including a (+) set of (L) capacitors and a (-) set of (L) capacitors, and a first pair of capacitors 129.
[0095] In an optional embodiment, a differential amplifier 124 having a positive (+) input terminal and a negative input terminal (-) is also provided. With this embodiment, the negative (- ) input terminal is selectively coupled to the (+) set of capacitors (L) through a first of the capacitors 129, while the positive (+) input terminal is selectively coupled to the (-) set of (L) capacitors through the second of the capacitors 129.
[0096] A pair of reset elements 128 located on feedback paths coupled between the (+/-) outputs and (-/+) inputs of the differential amplifier 124 are also provided respectively. By providing negative feedback between the (+/-) outputs and (-/+) inputs, the gain of the differential amplifier 124 can be set. In non-exclusive embodiments, the reset elements 128 each include a capacitor and a switch (not shown).
[0097] The chip multiplier stage 122 is configured to sequentially receive over the transmission medium 34 differential pairs of samples of video media that have been encoded by the encoder 28 using Spread Spectrum Direct Sequence (SSDS) coding as previously described. The chip multiplier stage 122 is also configured to receive SSDS chip values specified by the mutually orthogonal SSDS codes used to encode the differential pairs of samples by the encoder 28 respectively. In a non-exclusive embodiment, the channel aligner 87 is responsible for applying the correct SSDS chip value to each of the received differential pair samples respectively.
[0098] During operation, one differential pair sample is received with each clock cycle of the sampling clock Fssvt. In response to each received differential pair sample, the chip multiplier stage 122 performs the following:
(1) Applies the same SSDS chip value of the mutually orthogonal SSDS code that was used during encoding to the received differential pair sample;
(2) Multiplies the differential pair sample with the applied chip value. Depending on the state of the applied chip value for a given differential pair sample, the multiplier is either (+1) or (-1). If the chip value is a first state (e.g., “1”), the multiplier is (+1). If the chip value is a second state (e.g., “0”), then the multiplier is (-1); and
(3) Stores voltage charges commensurate with the product result of the multiplication on a (+) and (-) pair of capacitors in the storage block A respectively. When the chip value is (+1), then the charges are stored without any inversion. If the chip value is (-1), then the charges are first inverted before storage.
[0099] As (L) differential pairs of signals of video media are sequentially received, the above process is repeated with each sample. As a result, the (L) capacitors in the (+) and (-) sets are sequentially written to and store the charges commensurate with the multiplication product for the received (L) differential samples respectively.
[0100] Once (L) differential samples have been received and all of the (L) the capacitors of the (+) and (-) capacitor sets of the storage bank A have stored a multiplication product result, the passive multiply- accumulator encoder 120 operates to generate a decoded, differential, video
media sample output (i.e., a Sample P-1, N-1+, Sample P-1, N-1 -). This is accomplished with the assertion of an “averaging” control signal, which causes:
(1) Interruption of the storage of multiplication product charges in capacitor bank A;
(2) The shorting of the charges on all (L) of the (+) capacitors in the storage bank A together, causing the accumulated charges to be “dumped” onto the first capacitor 129 coupled to the negative (-) input terminal of the differential amplifier 124. By dumping the accumulated charges on all of the (+) capacitors, an “average” voltage is realized on the first capacitor 129; and
(3) The shorting of the charges on all (L) of the (-) capacitors in the storage bank A together, causing the accumulated charges to be “dumped” onto the second capacitor 129 coupled to the positive (+) terminal of the differential amplifier 124. By dumping the accumulated charges on all of the (-) capacitors, an “average” voltage is realized on the second capacitor 129.
[0101] By simply shorting together all of the (+) capacitors and all of the (-) capacitors in the storage bank A, the average of the accumulated charge for the (L) incoming differential samples is provided on the pair of capacitors 129 respectively. The averaging is thus essentially performed “for free”, meaning the correlation process is done passively without any active components (e.g., no amplifiers).
[0102] The decoded, differential, video media sample is thus represented by the difference between the average voltages accumulated on first and second capacitors 129 coupled to the positive and negative terminals of the differential amplifier 124 respectively. The differential amplifier 124 acts to amplify the voltage difference between the positive and negative terminals, while suppressing any common voltage between the two. With the additional current gain, the decoded, differential, video media sample is better suited to drive the reconstruction banks 82, as illustrated in Fig. 5A or 5B.
[0103] The frequency of the differential amplifier 124 does not need to operate at the same frequency Fssvt that is used for sampling the incoming the (L) differential samples. Since an averaging operation is performed for every (L) incoming samples, the frequency of the differential amplifier 124 need be only Fssvt/L. By reducing the speed/settling time requirements of the differential amplifier 124, the power required to perform the function is reduced.
[0104] The reset circuits 128 for the differential amplifier 124 are provided to initialize or reset the voltage on the capacitors 129 at the (+/-) inputs of the differential amplifier to zero
volts or some other reset voltage value with each Fssvt/L cycle. Without a reset prior to each averaging operation, the differential amplifier 124 would act as an integrator and accumulate differential voltage inputs it receives over time rather than simply amplifying the differential inputs it receives for a single averaging operation.
[0105] With the above-described embodiment, storage bank A cannot be used for storing multiplication product charges for incoming differential samples during averaging operations. As a result, processing delays may be incurred.
[0106] In an alternative embodiment, the passive multiply-accumulator encoder 120 may optionally also include a second storage bank B including (L) sets of (+) and (-) capacitors, a second differential amplifier 126, a second set of capacitors 129, a pair of reset circuits 128, and a multiplexor 130. The second storage bank B, the differential amplifier 126, second set of capacitors 129, and the reset circuits 128, all operate essentially the same as their counterparts as described above. A detailed explanation of these components is, therefore, not provided herein for the sake of brevity.
[0107] During operation, the two storage banks A and B are alternatively used. While one is sampling, the other is averaging, and vice-versa. By using one bank to sample while the other is averaging, processing delays are reduced in at least two ways. First, multiple sets of incoming (L) differential pairs of signals can be received, multiplied, and stored without interruption. Second, any speed/settling time requirements of the differential amplifiers following an averaging operation are effectively negated since one bank is always sampling while the other is averaging and vice versa.
[0108] To implement embodiments of the passive multiply-accumulator encoder 120 with two storage banks A and B, several control signals are required. These control signals include:
(1) A sample/average control signal that is provided to storage bank A, while a complementary average/sample signal is provided to storage bank B. Since these two control signals are complementary, one bank will always be sampling for the currently incoming set of (L) differential signals while the differential amplifier associated with the other storage bank is averaging, and vice-versa; and
(2) A bank select control signal is provided to the multiplexer 130. Accordingly, when one bank is sampling and storing, the multiplexer 130 selects the differential amplifier output (either 124 or 126) of the other bank that is averaging. By transitioning the bank select control signal to coincide with transitions of the sample/average control signal, the output of the multiplexor 130 is always selected to pick the capacitor bank that is averaging. As a result,
decoded, differential, video media samples are continually generated so long as the chip multiplier stage 122 is receiving incoming differential input signals.
[0109] Referring to Fig. 9, a timing diagram illustrating the alternating nature of the operation of the two-bank embodiment of the passive multiply- accumulator encoder 120 is illustrated.
[0110] As evident in the diagram, the two capacitor banks A and B alternative between sampling and averaging. From left to right, the capacitor bank A initially samples, then averages and outputs results to the capacitors 129 of the differential amplifier 124, then samples again. Simultaneously, the capacitor bank B performs the complement, meaning it initially averages and outputs results to the differential amplifier 126, then samples, and then averages and outputs results to the differential amplifier 126. This alternating pattern is continually repeated by transitioning the state of the average/control signal every (L) clock cycles of Fssvt. As a result, a plurality of output, decoded, differential, video media samples are continually generated.
[0111] Referring to Fig. 10, an exemplary storage bank 140 (e.g., either A or B) and control logic is illustrated. Using the above example with L=128, the storage bank 140 would include 128 stages, labeled in the drawing 1 through (L). Each stage includes a first pair of switches (S1- S1), a second pair of switches (S2-S2), and complementary capacitors C(+) and C(-).
[0112] Each stage is also configured to receive an output from a control logic unit 148 for controlling the opening/closing of the first pair of switches S1-S1. In a non-exclusive embodiment, the control logic unit 148 includes a circulating shift-register of (L) bits in length that circulates a single “1” bit around to the (L) stages respectively. The position of the “1” bit at any point in time selects which of the (L) stages is to be used for sampling for the multiplication product of a given differential pair input. By circulating the “1” bit to substantially coincide with (L) Fssvt clock cycles, (L) samples are collected on the (L) stages respectively. In various alternative embodiments, the pulse width of the single “1” bit may be the same or somewhat less than the pulse width of the Fssvt clock. By using a smaller pulse width, any overlap between sampling capacitors of adjacent stages (L) being partially on is avoided or mitigated.
[0113] Each stage also has an input terminal configured to receive either the sample/average control signal for capacitor bank A, or the complementary average/sample control signal for capacitor bank B. With both banks, this control signal is used for controlling the opening/closing of the second set of switches S2-S2.
[0114] During sampling, the sample/average for capacitor bank A (or average/sample for capacitor bank B) signal is held in the sampling state. As a result, the switches S2-S2 remain open.
[0115] During sampling, the control logic unit 148 sequentially circulates the single “1” bit for the stages (L) through (1) respectively. As a result, only one stage is selected per Fssvt clock cycle. For the selected stage, the switches S1-S1 are closed, allowing the charge values commensurate with the multiplication product results for the currently received differential pair sample to be received and stored on the C(+) and C(-) capacitors of the selected stage respectively.
[0116] By circulating through all (L) stages, the charges commensurate with the multiplication product for (L) incoming differential signal pair samples that are received are stored on the (L) stages over (L) Fssvt clock cycles of respectively. Once all the (L) stages have accumulated their charges, an averaging operation is ready to be performed.
[0117] To initiate the averaging operation, the sample/average signal for storage bank A (or the average/sample signal for storage bank B) transitions to the averaging state and the control logic unit 148 stops the circulation of the “1” bit. As a result, the switches S1-S1 of all (L) stages are opened, and the switches S2-S2 of all (L) stages are closed. Consequently, the charge on the complementary capacitors C(+) and C(-) of all (L) stages is “dumped” (i.e. averaged) onto the capacitors 129 at the (-) and (+) terminals of the corresponding differential amplifier respectively respectively.
[0118] Note that during the "dumping"/averaging process, it is possible to connect another capacitor (previously initialized to have no charge) to the set of L capacitors to transfer a proportion of the result (the proportion depends on the ratio of the size of the extra capacitor to the sum of the L capacitors) to the extra capacitor. This technique provides the means to pass the result to the inputs of the corresponding differential amplifier, either 124 for bank A or 126 for bank B.
[0119] Although the storage banks A and B as described above are symmetrical and both include (L) stages, it should be understood that this is by no means a requirement. On the contrary, the A and B storage banks do not need to be complete replicas. There is only the need to have enough duplication to satisfy the requirement that a continuous stream of differential input samples can be handled. For instance, one or both storage banks can have fewer than (L) stages. In alternative embodiments, only a small number of stages in multiple storage banks need to be duplicated. The number of potential duplicate stages just needs to be sufficient to
ensure completion of averaging operations into input capacitor 129 of the output amplifier. Outputting of the result (by the amplifier) of one bank can be done during sampling of the next even though they share the storage elements, because the output amplifier “stands alone” after the evaluation is completed.
[0120] Also, each storage bank does not necessarily need a corresponding differential amplifier. In alternative embodiments, the inputs from multiple storage banks to a given differential amplifier can be multiplexed, reducing the number of differential amplifiers that are needed.
[0121] The various above-described embodiments of the passive multiply-accumulator decoder 120 are essentially a “drop-in” replacement for the N decoders that are used in the decoder blocks 80 as illustrated in Fig. 5 A and Fig. 5B. As previously described, N decoder circuits (N0 through N-1) are provided per decoder block 80. Each of the N decoder circuits is configured to sequentially receive differential level samples (+/- Level Signals). As the differential level signals are received, each of the N passive multiply-accumulator decoder circuits 120 applies the same unique SSDS code of the mutually orthogonal SSDS code used for encoding for the level position (P) and sample position (N) on the transmit side. As a result, each of the passive multiply-accumulator decoder circuits 120 generates a differential pair of samples for its given P and N position. In other words for all of the N decoder circuits for each of the (P) decoders 80, a complete set of differential samples from (Sample 0+, sample 0- to Sample P-1, N-1 +, Sample P-1, is generated and provided to the reconstruction banks 82 as shown in Fig. 5A and Fig. 5B. In the non-exclusive embodiment described with regard to Fig. 5A and Fig. 5B, and herein with respect to Fig. 8, N is 64 channels and the length of the SSDS code is L=128. [0122] The above discussion of the various encoders and decoders are described with respect to differential signals. It should be noted, however, that this is by no means a requirement. In various alternative embodiments, the encoders and decoders can be configured to operate and process non-differential signals (i.e., a single signal) as well.
Conclusion
[0123] The present embodiments should be considered illustrative and not restrictive and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
Claims
1. A method of demodulating differential level signals into a plurality of samples, the method comprising:
(a) receiving the differential level signals;
(b) providing the differential level signals to a plurality of decoder circuits;
(c) providing a plurality of Spread Spectrum Direct Sequence (SSDS) chips to the plurality of decoder circuits respectively, each of the plurality of SSDS chips having either a first state or a second state;
(d) for each of the plurality of decoder circuits, conditionally inverting or not inverting the differential level signals depending if the SSDS chip provided to each of the plurality of decoder circuits is of the first state or the second state respectively;
(e) for each of the plurality of decoder circuits, storing the inverting or not inverting the differential level signals at first and second storage locations; and
(f) generating a video vector including the plurality of samples, the plurality of samples derived from the inverted or not inverted differential level signals stored at the first and the second storage locations of each of the plurality of decoder circuits respectively.
2. The method of claim 1, wherein conditionally inverting or not inverting is performed by a select decoder circuit, among the plurality of decoder circuits, and further comprises multiplying the differential level signals by (+1) if the SSDS chip provided to the select decoder circuit is of the first state or (-1) if the SSDS chip is of the second state.
3. The method of claim 1 or 2, wherein each of the plurality of decoder circuits conditionally inverts or does not invert the differential level signals by multiplying by either (+1) or (-1) depending on if each of the plurality of SSDS chips provided to each of the plurality of decoder circuits is of the first state or of the second state respectively.
4. The method of any of claims 1-3, further comprising for each of the plurality of decoder circuits, operating a switching network during an active state of a first clock signal, the switching network responsible for switching the differential level signals to the first and the second storage locations, wherein the switching network selectively inverting or not inverting
the differential level signals to the first and second storage locations depending on if the SSDS chip provided to each of the plurality of decoder circuits is of the first state or the second state respectively.
5. The method of claim 4, further comprising presenting the plurality of samples during an active state of a second clock signal.
6. The method of any of claims 1-5, further comprising sampling and holding the received differential level signals prior to providing to the plurality of decoder circuits.
7. The method of any of claims 1-6, further comprising converting the plurality of samples in an analog domain into a digital domain.
8. The method of any of claims 1-7, wherein the plurality of samples of the video vector containing color information for one or more sets of samples for one or more pixels respectively.
9. The method of claim 8, further comprising disassembling the video vector into the one or more samples.
10. The method of claim 9, further comprising disassembling the video vector using a same permutation that was used to create the video vector.
11. A decoder for decoding differential level signals that has been encoded using Spread Spectrum Direct Sequence (SSDS) encoding, the decoder comprising: a plurality of decoder track circuits for generating a plurality of differential sample outputs, each of the decoder track circuits including:
(a) first and second terminals configured to receive first and second values of the differential level signals and a third terminal to receive an SSDS chip having either a first state or a second state;
(b) a multiplier circuit configured to demodulate the first and the second values of the differential level signals by conditionally either inverting or not inverting the first and the second values depending on the state of a SSDS chip; and
(c) first and second storage devices configured to store the demodulated first and the second values;
(d) output terminals for presenting the demodulated first and the second values stored on the first and the second storage devices, wherein the plurality of differential sample outputs are derived from the demodulated first and the second values presented at the output terminals of the plurality of encoder track circuits respectively.
12. The decoder of claim 11, wherein the multiplier circuit is configured to demodulate the first and the second values of the differential level signal by multiplying by (+1) or (-1) if the SSDS chip is the first state or the second state respectively.
13. The decoder of claim 11 or 12, wherein the multiplier circuit includes a first set of switches and a second set of switches, wherein the first set of switches and the second set of switches are complementary such that the first set of switches are closed while the second set of switches are opened and vice versa.
14. The decoder of claim 13, wherein the first set of switches and the second set of switches are coupled between the first and second terminals and the first and the second storage devices.
15. The decoder of claim 13 or 14, wherein the first set of switches are closed while the second set of switches are opened when the SSDS chip is of the first state and the multiplier circuit is multiplying by (+1) and the second set of switches are closed while the first set of switches are opened when the SSDS chip is of the second state and the multiplier circuit is multiplying by (-1).
16. The decoder of any of claims 11-15, wherein the first and second storage devices are first and second capacitors located on first and second power rails of the multiplier circuit respectively.
17. The decoder of any of claims 11-16, wherein each of the decoder track circuits includes an operational amplifier selectively coupled between the output terminals and the first and the second storage devices.
18. The decoder of any of claims 11-17, wherein the multiplier is arranged to perform the demodulation during a first active state of a first clock signal and the output terminals are arranged to present the demodulated first and the second values during a second active state of a second clock signal.
19. The decoder of any of claims 11-18, further comprising a sample and hold circuit configured to sample and hold the differential level signal.
20. The decoder of any of claims 11-19, wherein the plurality of differential signal outputs are converted from an analog domain into a digital domain.
21. The decoder of any of claims 11-20, wherein the plurality of differential signal outputs represent a video vector containing color information for one or more samples.
22. The decoder of any of claims 11-21, further comprising a disassembly bank for disassembling the video vector into the one or more samples, the disassembly bank using a same permutation that was used to create the video vector.
23. A method, comprising:
(a) receiving over a transmission medium (L) differential pairs of signals of video media that have been encoded using Spread Spectrum Direct Sequence (SSDS) coding;
(b) applying (L) chip values to the received (L) differential pairs of signals respectively;
(c) multiplying the (L) differential pairs of signals by either (+1) or (-1) depending a state of the L chip values applied to each of the (L) differential pairs of signals respectively;
(d) storing the multiplied (L) differential pairs of signals in a first capacitor bank, the first capacitor bank having first set of (L) capacitors and second set of (L) capacitors each for storing a charge commensurate with a product result from the multiplication of the (L) differential pairs of signals respectively; and
(e) generating a decoded, differential, video media sample by:
(i) generating averages of the charges accumulated on the first set of capacitors and the second set of capacitors respectively; and
(ii) generating the decoded, differential, video media sample from a differential amplifier, associated with the first capacitor, bank and arranged to receive the averages of the charges accumulated on the first set of capacitors and the second set of capacitors respectively.
24. The method of claim 23 further comprising generating sequences of decoded, differential, video media samples by repeating (a) through (e), including (i) and (ii), for multiple sets of (L) differential pairs of signals of video media sequentially received over the transmission medium respectively.
25. The method of claim 23 or 24, further comprising alternating the storing of the products resulting from the multiplication of a first set of (L) differential pairs of signals and a second set of (L) differential pairs of signals in the first capacitor bank and a second capacitor bank respectively.
26. The method of any of claims 23-25, further comprising sequentially performing (e) to generate a sequence of decoded, differential, video media samples by alternating between the averages of the accumulated charges maintained by the first capacitor bank and a second capacitor bank.
27. The method of any of claims 23-26, further comprising generating a sequence of decoded, differential, video media samples by time-multiplexing outputs associated with the first capacitor bank and a second amplifier associated with a second capacitor bank.
28. The method of any of claims 23-27, wherein (b), (c), (d), and (e) are sequentially performed as the (L) differential pairs of signals of video media are sequentially received over the transmission medium respectively.
29. The method of any of claims 23-28, wherein (d) further comprises sequentially storing each of the multiplied (L) differential pairs of signals in (L) stages of the first capacitor bank, each of the (L) stages including one of the first set of capacitors and one of the second set of capacitors respectively.
30. The method of any of claims 23-29, wherein generating the averages of the charges accumulated on the first set of capacitors and the second set of capacitors of the first capacitor bank further comprises: receiving an averaging control signal at the first capacitor bank; and in response to the averaging control signal, dumping first charges stored on the first set of capacitors and second charges stored on the second set of capacitors onto a first capacitor and a second capacitor couple to differential inputs of the amplifier.
31. The method of claim 30, further comprising initializing the first capacitor and the second capacitor prior to dumping the first and the second changes.
32. The method of any of claims 23-25, further comprising providing one or more control signals to the first capacitor bank, the one or more control signals causing the first capacitor bank to alternate between performing (d) and (e) (i).
33. A decoder for decoding video media that has been encoded using Spread Spectrum Direct Sequence (SSDS) coding, the decoder comprising: a chip multiplier configured to multiply (L) SSDS coded video media signals with (L) SSDS chip values respectively; a storage bank with (L) storage elements, each storage element configured store a signal commensurate with a product resulting from the multiplication of one of the (L) SSDS coded video media signals with one of the (L) SSDS chip values respectively; an averaging element configured to average the signal stored on the (L) storage elements; and an output terminal configured to provide a decoded video media signal output that is derived from the average of the signal stored on the (L) storage elements.
34. The decoder of claim 33, further configured to sequentially store on the (L) storage elements the signals commensurate with the products resulting from the multiplication of the (L) SSDS coded video media signals and the (L) SSDS chip values as the (L) SSDS coded video media signals are sequentially received by the chip multiplier.
35. The decoder of claim 33 or 34, further comprising control logic configured to control:
(a) the sequential storing in the (L) storage elements the signals commensurate with the products resulting from the multiplication of the (L) SSDS coded video media signals with the (L) SSDS chip values as the (L) SSDS coded video media signals are sequentially received; and
(b) activating the averaging element to average the signal stored on the (L) storage elements after all of the (L) storage elements have stored the signals commensurate with the product resulting from the multiplication of the (L) SSDS coded video media signals with the (L) SSDS chip values respectively.
36. The decoder of claim 35, wherein the control logic is further configured to repeat (a) and (b) multiple times for multiple sets of the (L) SSDS coded video media signals that are sequentially received by the chip multiplier respectively.
37. The decoder of any of claims 33-36, further comprising a second storage bank having (L) storage elements.
38. The decoder of claim 37, further wherein the control logic is further configured to alternate storage of the product of the multiplication between the first storage bank and the second storage bank.
39. The decoder of any of claims 33-38, further comprising control logic further configured to alternate:
(a) the storage of the product of the multiplication between the first storage bank and the second storage bank for multiple sets of the (L) SSDS coded video media signals respectively; and
(b) the averaging of the signal stored on the (L) storage elements of the first storage bank when the second storage bank, wherein the averaging occurs for one of the two storage banks while the other of the two storage banks is storing and vice versa.
40. The decoder of any of claims 33-39, further comprising an amplifier coupled to the output terminal for providing the decoded video media signal output.
41. The decoder of any of claims 33-40, wherein the (L) SSDS coded video media signals are differential signals and the multiplier is configured to multiply the differential (L) SSDS coded video media signals; the storage bank is configured to the store the signal commensurate with the product of the multiplication of the differential (L) SSDS coded video media signals on a first set of storage elements and a second set of storage elements respectively; the averaging element is configured to average the signal stored on the first set of storage elements and the second set of storage elements respectively; and the output terminal is a differential output terminal and the decoded video media signal output is a differential decoded video media signal output.
42. The decoder of 41, further comprising a differential amplifier configured to receive the average signal stored on the first set of storage elements and the second set of storage elements and to provide the differential decoded video media signal output at the differential output terminal.
43. An apparatus for generating a sample video signal by decoding (L) signals of encoded video media using Spread Spectrum Direct Sequence (SSDS) coding by generating an average signal value derived from averaging signal values stored on (L) storage devices arranged in a first bank, the (L) signal values derived from multiplying the (L) signals with (L) SSDS chip values respectively.
44. The apparatus of claim 43, further comprising a multiplier for sequentially receiving the encoded (L) signals of encoded video media and for sequentially applying and multiplying the (L) signals of the encoded video media and the (L) SSDS chip values having either a first state or a second state respectively.
45. The apparatus of claim 44, wherein the multiplier is further configured to multiply each of the (L) signals of encoded video media with either a (+1) value or a (-1) value depending on if the (L) SSDS chip value applied to the each of the (L) signals is of the first state or the second state respectively.
46. The apparatus of any of claims 43-45, further comprising a storage bank that include the (L) storage devices, the storage bank configured to sequentially store the multiplied (L) signals of the video media on the (L) storage devices as the (L) signals of the encoded video media are received and multiplied respectively.
47. The apparatus of any of claims 43-46, further comprising an amplifier for amplifying the averaged signal value and outputting the sample video signal.
48. The apparatus of any of claims 43-47, wherein: the received (L) signals of video media are (L) differential signals of video media; the average signal values stored on the (L) storage devices are differential average signal values stored on (L) differential storage devices respectively, and the generated sample video signal is a differential sample video signal.
49. The apparatus of any of claims 44-48, wherein the multiplier is a differential multiplier capable of multiplying (L) differential signals of the encoded video media.
50. The apparatus of any of claims 47-49, wherein the amplifier is a differential amplifier capable of outputting differential sample video signals.
51. The apparatus of any of claims 43-50, further comprising a second bank of (L) storage devices and the apparatus is further configured to alternate:
(a) the receipt, multiplication, and storage of the (L) encoded media signals in one of the two storage banks; and
(b) the generation of sample video signals by averaging the values that are stored in the other of the two storage banks, wherein, the apparatus is further configured to repeatedly alternate (a) and (b) between the two storage banks over time such that the one storage bank is performing (a) while the second storage bank is averaging as recited in (b) and vice versa.
52. The apparatus of any of claims 43-51, further comprising a multiplexer configured to multiplex an output of a first amplifier associated with the first bank of storage devices and a second amplifier associated with a second bank of storage devices.
53. A method for applying a Spread Spectrum Direct Sequence (SSDS) code to video data, the method comprising:
(a) constructing a video vector including N samples of first and second voltage values, the N samples derived from multiple sets of samples representative of multiple pixels respectively;
(b) modulating each of the first and the second voltage values for the N samples of the video vector using N SSDS chips respectively, each of the modulations involving conditionally either inverting or not inverting the first and second voltage values of the N samples depending on a state of the N SSDS chips respectively; and
(c) generating differential level output signals from an accumulation of the modulated first and second voltage values of the N samples that are conditionally either inverted or not inverted.
54. The method of claim 53, further comprising iterating (a) through (c), each iteration using another set of N samples of first and second voltage values that represent another video vector.
55. The method of claim 53 or 54, wherein the multiple sets of samples each include color information for the multiple pixels respectively.
56. The method of any of claims 53-55, wherein the color information includes one or more of the following:
(a) a Red (R) value;
(b) a Blue (B) value;
(c) a Green (G) value;
(d) a luminance value (Y);
(e) a chrominance (C) value;
(f) a blue -difference chroma (Cb) value;
(g) a red-difference chroma (Cr) value; or
(h) any combination of (a) through (g).
57. The method of any of claims 53-56, wherein modulating further comprises multiplying the first and the second voltage values for the N samples by either (+1) or (-1) if the respective SSDS chip for each of the N samples is of a first state or a second state respectively.
58. The method of claim 57, further comprising for each of the N samples, storing the multiplied first and the second voltage values of the N samples on first N storage devices and second N storage devices, respectively.
59. The method of any of claims 53-58, further comprising generating the differential level output signals from the accumulation of the modulated first and second voltage values of the N samples that are stored on the first N storage devices and the second N storage devices respectively.
60. The method of any of claims 53-59, wherein the differential level output signals are electromagnetic signals.
61. The method of any of claims 53-60, further comprising transmitting the differential level output signals to a video sink over an HDMI transmission medium.
62. An encoder for applying a Spread Spectrum Direct Sequence (SSDS) code to video data, the encoder comprising: a plurality of multiplier circuits, at least one of the multiplier circuits including and configured to:
(a) receive a sample including first and second differential voltage values;
(b) modulate the first and second differential voltage values of the sample by conditionally either inverting or not inverting the first and second differential voltage values depending on a state of a SSDS chip; and
(c) store the modulated first and second differential voltage values of the sample on first and second storage devices; and an accumulator configured generate a pair of differential level output signals from an accumulation of a plurality of voltage values stored on a plurality of first and second storage devices of the plurality of multiplier circuits respectively, the plurality of voltage values derived from the modulation of a plurality of samples received by the plurality of multiplier circuits respectively.
63. The encoder of claim 62, wherein the at least one multiplier circuit further comprising first and second input terminals configured to receive the first and second differential voltage values of the sample respectfully.
64. The encoder of claim 62 or 63, wherein the at least one multiplier circuit further comprising a switching network that is configured to conditionally store the first and the second differential voltage values of the sample either:
(a) if the SSDS chip is of a first state, on the first and second storage devices respectively; or
(b) if the SSDS chip is of a second state, on the second and first storage devices respectively.
65. The encoder of claim 64, wherein the switching network includes: a first set of switches that selectively connect first and second input terminals to the first and second storage devices respectively; and a second set of switches that selectively connect the first and the second input terminals to the second and the first storage devices respectively.
66. The encoder of claim 65, wherein the first set of switches and the second set of switches are complementary with one another so that when the first set of switches are closed the second set of switches are opened and vice versa.
67. The encoder of claim 66, wherein the state of the SSDS chip determines when the first set of switches and the second set of switches are opened or closed respectively.
68. The encoder of any of claims 62-67, wherein the first and second storage devices are first and second capacitors on first and second power rails of the at least one multiplier circuit, respectively.
69. The encoder of any of claims 62-68, wherein the accumulator includes one or more operational amplifiers configured to receive the voltage values stored on a plurality of first and second storage devices associated with the plurality of multiplier circuits respectively.
70. The encoder of any of claims 62-69, further configured such that each of the plurality of multiplier circuits performs the modulations during a first active state of a first clock signal and the accumulator performs the accumulation during a second active state of a second clock signal.
71. The encoder of any of claims 62-70, wherein the plurality of samples defines a video vector that contains color information for one or more samples.
72. The encoder of claim 71, wherein the color information for the one or more samples includes one of the following:
(a) a Red (R) value;
(b) a Blue (B) value;
(c) a Green (G) value;
(d) a luminance value (Y);
(e) a chrominance (C) value;
(f) a blue -difference chroma (Cb) value;
(g) a red-difference chroma (Cr) value; or
(h) any combination of (a) through (g).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21898947.3A EP4186239A1 (en) | 2020-11-25 | 2021-11-18 | Encoder and decoder circuits for the transmission of video media using spread spectrum direct sequence modulation |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063118320P | 2020-11-25 | 2020-11-25 | |
US63/118,320 | 2020-11-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022115312A1 true WO2022115312A1 (en) | 2022-06-02 |
Family
ID=81756241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2021/059966 WO2022115312A1 (en) | 2020-11-25 | 2021-11-18 | Encoder and decoder circuits for the transmission of video media using spread spectrum direct sequence modulation |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4186239A1 (en) |
TW (1) | TWI810720B (en) |
WO (1) | WO2022115312A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793759A (en) * | 1995-08-25 | 1998-08-11 | Terayon Corporation | Apparatus and method for digital data transmission over video cable using orthogonal cyclic codes |
US6018547A (en) * | 1998-01-09 | 2000-01-25 | Bsd Broadband, N.V. | Method and apparatus for increasing spectral efficiency of CDMA systems using direct sequence spread spectrum signals |
EP1079536A2 (en) * | 1999-08-27 | 2001-02-28 | Ibiden Industries Co., Ltd. | Wired spread spectrum communication apparatus and communication method |
US6456607B2 (en) * | 1996-10-16 | 2002-09-24 | Canon Kabushiki Kaisha | Apparatus and method for transmitting an image signal modulated with a spreading code |
US20200014419A1 (en) * | 2017-03-20 | 2020-01-09 | Hyphy Usa Inc. | Media interfaces incorporating adaptive compression |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10230956B2 (en) * | 2012-09-26 | 2019-03-12 | Integrated Device Technology, Inc. | Apparatuses and methods for optimizing rate-distortion of syntax elements |
-
2021
- 2021-11-18 WO PCT/US2021/059966 patent/WO2022115312A1/en unknown
- 2021-11-18 EP EP21898947.3A patent/EP4186239A1/en active Pending
- 2021-11-22 TW TW110143382A patent/TWI810720B/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793759A (en) * | 1995-08-25 | 1998-08-11 | Terayon Corporation | Apparatus and method for digital data transmission over video cable using orthogonal cyclic codes |
US6456607B2 (en) * | 1996-10-16 | 2002-09-24 | Canon Kabushiki Kaisha | Apparatus and method for transmitting an image signal modulated with a spreading code |
US6018547A (en) * | 1998-01-09 | 2000-01-25 | Bsd Broadband, N.V. | Method and apparatus for increasing spectral efficiency of CDMA systems using direct sequence spread spectrum signals |
EP1079536A2 (en) * | 1999-08-27 | 2001-02-28 | Ibiden Industries Co., Ltd. | Wired spread spectrum communication apparatus and communication method |
US20200014419A1 (en) * | 2017-03-20 | 2020-01-09 | Hyphy Usa Inc. | Media interfaces incorporating adaptive compression |
Also Published As
Publication number | Publication date |
---|---|
EP4186239A1 (en) | 2023-05-31 |
TW202226821A (en) | 2022-07-01 |
TWI810720B (en) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11716114B2 (en) | Encoder and decoder circuits for the transmission of video media using spread spectrum direct sequence modulation | |
US20230223981A1 (en) | Wireless transmission of samples encoded using spread spectrum video transport | |
US11025857B2 (en) | Camera system, video processing apparatus, and camera apparatus | |
US11769468B2 (en) | Spread-spectrum video transport integration with timing controller | |
JPH07184226A (en) | Electronic camera using image compression feedback for improved color processing | |
US5159453A (en) | Video processing method and apparatus | |
US9398273B2 (en) | Imaging system, imaging apparatus, and imaging method | |
KR970008378B1 (en) | Apparatus for combining and separating components of a video signal | |
US11997415B2 (en) | Sampled analog storage system | |
WO2022115312A1 (en) | Encoder and decoder circuits for the transmission of video media using spread spectrum direct sequence modulation | |
US20060008154A1 (en) | Video compression and decompression to virtually quadruple image resolution | |
TW202418817A (en) | Decoder circuits for the transmission of video media using spread spectrum direct sequence modulation | |
CN118435610A (en) | Wireless transmission of samples encoded using spread spectrum video transmission | |
JP2023075048A (en) | Encoder and decoder circuits for transmission of video media using spread spectrum direct sequence modulation | |
US7154539B1 (en) | Image pickup device for still and motion images | |
TW202343428A (en) | Spread-spectrum video transport integration with timing controller | |
Uchiyama et al. | A digital still camera | |
RU2308169C2 (en) | Method for encoding and decoding signals | |
JP2004048799A (en) | Imaging device | |
RU2432705C1 (en) | Method of transmitting television signals | |
GB2564081A (en) | Video transmission | |
JPS63250987A (en) | Highly efficient coding device for picture signal | |
JPH03250811A (en) | Filter circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21898947 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021898947 Country of ref document: EP Effective date: 20230222 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |