Efficiently transmittable bit sequences with limited disparity
The method addresses the inefficiencies in current data transmission technologies by segmenting and encoding bit sequences to achieve efficient, error-resistant transmission with optimized disparity and run lengths, resulting in improved data transmission in automobiles.
Patent Information
- Application Number
- JP2024557219
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-09-27
- Filing Date
- 2023-04-06
- Publication Date
- 2025-05-01
- Estimated Expiration
- 2043-04-06
AI Technical Summary
Current data transmission technologies in automobiles face challenges such as high overhead, poor disparity and run length quality, and the need for complex measures like scramblers to improve transmission efficiency and reliability.
A method for generating efficient transmittable bit sequences with limited disparities and limited run lengths by segmenting bit sequences into segments of a given bit length, encoding each segment into a respective sub-symbol using multiple encoding units, and actively controlling the disparity of the sub-symbols to optimize transmission efficiency.
The method achieves high user data efficiency with minimal overhead, ensures error-resistant transmission by optimizing disparity, and allows for reliable transmission with reduced hardware complexity and power consumption.
Smart Images

Figure 2025513950000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a method for generating efficiently transmittable bit sequences with limited disparity and limited run length. The proposed method allows for efficient transmission of data in particular over a transmission channel. Optimized disparity is a quality feature for the transmittability of data. Unfavourable disparity may not be interpreted properly at the receiving side, which may result in improper transmission of data over the data channel. Another quality feature is data efficiency, which is related to the ratio between the transmitted user data and other data amounts that are not directly related to the content of the user data. This includes so-called header data. The proposed invention allows for the generation of a data stream that allows for particularly efficient reading and is also very efficient in terms of overhead data. This results in a minimal so-called overhead of the user data and thus a very efficient processing. Furthermore, the unambiguous interpretability at the receiving side eliminates the need for repeated transmission of data and allows for a high error-resilient reading at the receiving side. Furthermore, the proposed method is very efficient, since it allows for a parallel conversion of data segments into subsymbols or symbols composed of subsymbols, and this parallel design requires only units that are technically simple to manufacture. Therefore, the efficiency gains here also relate to the hardware or runtime used. The invention also relates to a correspondingly configured system apparatus, as well as to a computer program product and a memory readable medium with control instructions for carrying out the method. [Background technology]
[0002] 3, No. 1, pp. 1111-1115, 2003 presents a fault-tolerant DC-balanced line encoding scheme for use in AC-coupled channel link transceivers having a 7-bit frame alignment as opposed to the more common 8-bit alignment.
[0003] Patent Document 1 discloses a method and apparatus for encoding input data at a higher speed, which enables error detection and clock recovery as well as reduction of spectral components near DC, and can encode data while embedding error detection information.
[0004] Patent Document 2shows a method which makes it possible, inter alia, to read out an analog data stream over a data line in an error-free manner. In particular, the amplitude of the signal is monitored and, more preferably, the signal is measured at the point where the amplitude is at a maximum. This converts the analog data stream into a digital data set, ensuring that the maximum amplitude safely undercuts or exceeds the threshold between 0 and 1 on the line.
[0005] Various coding and data transmission methods are known in the current technology, but they all relate to applications that can only be used in a disadvantageous way in automobiles. For example, current technology often assumes that high computing power is available and that high real-time requirements are not required. Current technology also often assumes that the weight or reliability of the components used plays an ancillary role. Current technology often refers to traditional computer networks, where reliability and low technical complexity are not so important.
[0006] Based on this current technology, it is necessary to create a method or system arrangement that allows data for safety requirements in motor vehicles to be processed as quickly as possible, requires little technical effort, and minimizes the error rate during transmission since retransmission is not possible if an error is detected. Low technical complexity requires the introduction of components that are as simple as possible, light in weight, and can be efficiently manufactured in large quantities. Since low weight and real-time operation are not critical for standalone PCs or servers, known methods and system arrangements from computer network technology usually cannot be used here. Although the emitted heat is generally a challenge for computer configurations, energy efficiency in motor vehicles is even more important, for example in electromobility, power consumption even affects the range of the car.
[0007] Further prior art relates to the transmission of data in a serial data stream. For example, current technology provides extensive descriptive data that is transmitted together with the user data and indicates where the user data is located and how it should be interpreted. Current technology is also known to discard individual data packets if they are not transmitted correctly. Current technology is also known to resend data packets if they do not arrive at the sender on time or in an unexpected format.
[0008] When transmitting data serially, it is necessary to keep the number of 1s and 0s in the serial data stream as equal as possible. This is called disparity. On average, and even in short periods of time, a disparity of zero is desirable to avoid baseline drift during transmission. Baseline drift (DC voltage fluctuations) in a serial signal can lead to bit errors. In extreme cases, transmission becomes impossible.
[0009] A minimum number of 0 → 1 or 1 → 0 transitions are required to ensure that the receiver can reliably recover the serial bits in a serial data stream without transmitting a clock. This means that the clock to recover the serial data is generated locally from the serial data stream at the receiver. The so-called run length specifies how many times the same bit (1 or 0) occurs consecutively without changing. A short run length is always desirable, since a long run length would make it impossible to reliably recover the clock from the serial data stream.
[0010] The challenge of a line code (in this case a block code) is to generate symbols with guaranteed disparity and guaranteed run length from any data word with any disparity and infinite run length. This leads to overhead during transmission. This means that more bits (in the form of symbols) must be transmitted than are contained in the net data word transmitted. This means that the required transmission speed (bandwidth) must be greater than the data rate of the data transmitted. As a result, this means that the system requires a higher error rate or effort, power, etc. than is required to transmit the raw data.
[0011] Current technologies either have a high overhead (8B10B) or the quality of the coded signal in terms of disparity and run-length is very poor, so in order to improve the quality in terms of disparity or run-length, additional (complex) measures such as scramblers are often required. [Prior art documents] [Patent documents]
[0012] [Patent Document 1] U.S. Patent No. 6,691,275 [Patent Document 2] European Patent Application Publication No. 3323219 [Non-patent literature]
[0013] [Non-Patent Document 1] Boye Jeffrey et al, “11b / 14b Encoding - A Fault Tolerant, DC-Balanced Line Code for AC-Coupled Channel Link Transceivers”, 2019 IEEE Aerospace Conference, IEEE, 2 March 2019 Summary of the Invention
[0014] The object of the present invention is to provide a method for generating a bit sequence that can be transmitted particularly efficiently. In this context, efficient may refer to hardware efficiency, efficient decoding at the receiver side, no need for redundant data transmission due to uninterpretable signals, and / or ratio of user data to overhead data. Furthermore, the present invention should enable the creation or use of particularly efficient hardware that allows run-time optimization through parallel processing. It is further an object of the present invention to provide a correspondingly constructed system apparatus, as well as a computer program product and a computer-readable storage medium with control instructions for carrying out the method or for operating the system apparatus.
[0015] This problem is solved by the features of claim 1. Further advantageous embodiments are described in the dependent claims. Thus, there is provided a method in a motor vehicle for generating an efficiently transmittable bit sequence with bounded disparity and bounded run length, comprising: providing an arbitrary bit sequence; segmenting the provided bit sequence into a sequence of predefined segments according to a predefined bit length; and encoding each segment into a respective sub-symbol using one coding unit per segment from among a plurality of coding units, wherein a first subset of coding units actively controls signs of disparity of the generated sub-symbols by inverting the disparity of the sub-symbols to compensate for the disparity of a subset of a second coding unit, and juxtaposition of the sub-symbols results in the efficiently transmittable bit sequence.
[0016] In a preparatory step, a potentially unlimited bit sequence can be provided, including any bit sequence. Depending on the application situation, the data stream can be of any length and can be divided into a number of words or any bit sequence. This provides an output data stream with a bit sequence of potentially any length. This any length can, however, be defined in a preparatory step, preferably as 112 bits. Once the length or bit length of the any bit sequence is defined, it is fixed according to an aspect of the invention. In this respect, the length of a bit sequence in the sense of the invention cannot be understood as being any. Rather, a synonym for an any bit sequence according to the invention can be a bit sequence whose length can be freely selected in advance and / or a bit sequence whose content corresponds to the transmission data or at least a part of the transmission data.
[0017] It is therefore possible in a preparatory processing step to provide an output data stream containing an arbitrary sequence of bits, which is then read from the output data stream and provided in a first processing step.
[0018] In general, since the output data stream or output bit string may have a very large number of bits, the process is performed iteratively such that several arbitrary bit strings are generated from the output bit string, segmented, converted into sub-symbols, optimized with respect to disparity, and then transmitted, which means that the output bit string may be of any length and may ultimately be transmitted across multiple symbols.
[0019] There are multiple coding units, one for each segment corresponding to an arbitrary or freely selectable portion of the bit sequence. The coding units convert the segments into sub-symbols, and the set of concatenated sub-symbols corresponds to a symbol or whole symbols of the bit sequence to be efficiently transmitted. Thus, according to one aspect of the invention, the coding units are arranged in a logical path in the processing chain or structural arrangement between the segments and the sub-symbols.
[0020] The proposed method is particularly efficient since the transmittable bit streams have a particularly high level of user data compared to current technology. For example, 128 bits with 112 bits of user data can be transmitted. The proposed method is therefore superior to current technology in this respect. It is also very efficient since the generation of the transmittable bit streams can be performed in parallel and a coding unit of particularly simple design can be used for this purpose. Simple in this context means, for example, that very little circuitry needs to be equipped in the coding unit. The coding unit does not need to have a large logic and can also be optimized for a certain number of bits. Thus, according to the invention, it is possible to fix the input and output of each coding unit with respect to the number of bits.
[0021] The optimized disparity of the transmitted bit sequence makes it possible to avoid errors when interpreting it on a serial channel. Efficient therefore also refers among other things to the fact that the bit sequence is error-tolerant and can be reliably transmitted exactly once. Redundant transmissions are avoided by high detectability and by the optimized disparity.
[0022] When transmitting data serially, it is advantageous to keep the number of 1's and 0's in the serial data stream as equal as possible. This is commonly called disparity. For reliable clock recovery at the receiver, a run-length limitation can be imposed on the generated channel sequence. This limits the maximum number of consecutive 1's and 0's. The proposed method can therefore also be described as a method for efficient encoding of bit strings. According to the invention, the disparity is optimized by skillfully setting the partial disparity. This can be used to particular advantage when the run-length of the bit string is limited. Also, the limited disparity and the limited run-length can relate to any bit string provided. This means that it does not have to be an efficiently transmittable bit string. Overall, any bit string provided can be efficiently transmittable or the bit string to be transmitted can be generated or created from this bit string to be efficiently transmittable.
[0023] In a preparatory processing step, an arbitrary bit sequence is provided that encodes user data. Problems may arise in this arbitrary bit sequence, for example, if there is an undesirable disparity. For example, too many zeros may cause problems during transmission. This should be avoided, and for this reason, the arbitrary bit sequence is optimized in a further processing step for efficient transmission. The arbitrary bit sequence provided represents arbitrary user data to be transmitted from a transmitter to a receiver via a serial data channel. The arbitrary bit sequence may be, for example, control data in a car.
[0024] According to the invention, the provided bit sequence is segmented into a sequence of predefined segments according to predefined bit lengths. Thus, the input data stream, i.e. an arbitrary bit sequence, is divided according to a predefined procedure so that individual data segments are generated. The segments thus cumulatively result in an arbitrary bit sequence. The predefined bit lengths have the advantage that the coding units can be optimized in the same way that the respective bit lengths are taken into account. This allows highly specialized and very efficient circuits to be formed. Predefined bit lengths are explained below, but they are merely examples.
[0025] Each segment is coded into sub-symbols using one coding unit per segment from among several coding units. The coding itself is performed in one coding unit, which detects one segment at the input and converts this segment into a sub-symbol. The sub-symbols are also bit strings. Overall, therefore, any bit string is divided into several segments and these segments are converted into sub-symbols in the respective coding units, so that any bit string to be transmitted is coded in terms of the totality of sub-symbols. Overall, it is advantageous that the number of segments corresponds to the number of coding units and thus to the number of sub-symbols. Thus, it is possible to have exactly one coding unit for each segment, which generates exactly one sub-symbol from the segment. The number of coding units represents all the coding units used, which corresponds to the number of segments. The number of segments is predefined since a certain bit length is specified. Thus, the method is overall deterministic.
[0026] In order to achieve an overall preferred disparity, there is a subset of first coding units that actively control the sign of the disparity of the sub-symbols by inverting the disparity of the generated sub-symbols to compensate for the disparity of the subset of second coding units. This means that there are some subsets of coding units that control the sign of the disparity and some that do not. A subset of the first coding units controls the sign and a subset of the second coding units does not control the sign. Thus, the subset of the first coding units is said to be active and the subset of the second coding units is said to be passive. Due to the different subsets or types of coding units, it is possible to serially connect the coding units such that the subset of the first coding units advantageously shapes the overall disparity of the sub-symbols in the subset of the second coding units.
[0027] Thus, according to the invention, any coding unit is used with respect to the disparity of the sub-symbols. A subset of the first coding units may be connected in parallel and, depending on the disparity of the subset of the second coding units, control the disparity of the preceding coding unit and its own coding unit or the sign of the disparity of its sub-symbols. This means that a certain number of subsets of the second coding units are used, and then another certain number of subsets of the first coding units are used. Thus, the type or subset of coding units changes so that the next coding unit connected in parallel adapts the disparity of the preceding sub-symbols and / or its own sub-symbols. This avoids that coding units that are not controllable are connected in parallel one after the other, resulting in undesirable disparities. That is to say, each subset of the first coding units corrects the sign of the preceding coding unit connected in parallel or of their sub-symbols. This parallel connection of coding units is explained in more detail below with reference to FIG. 4.
[0028] In summary, it can be concluded that a subset of the first coding unit optimizes a subset of the second coding unit in terms of disparity. Optimizing the disparity means that the disparity is 0. How to calculate the disparity or how to set the disparity (for example by changing the sign) is well known to those skilled in the art.
[0029] Thus, according to the proposed method, sub-symbols are generated whose sequence is optimized with respect to disparity. Each segment is converted into a sub-symbol, so that the (whole) symbol to be transmitted can be generated by concatenating the sub-symbols. This allows for efficient or error-resilient transmission, since the disparity or partial disparity is optimized. Thus, a preferred bit sequence is transmitted.
[0030] According to one aspect of the invention, any bit sequence is not limited in its disparity and run length, which has the advantage that any amount of user data can be transmitted or any amount of user data can be converted into a bit sequence whose disparity and run length are limited, which means that any bit sequence is encoded and transmitted into a bit sequence optimized with respect to its disparity and run length.
[0031] According to a further aspect of the invention, the disparity of the subset of second coding units is not controllable. This has the advantage that any sub-symbols can be generated using the subset of second coding units, and simple coding units are used. These can be designed to be particularly simple, since the generated sub-symbols of this coding unit are not subject to any restrictions in terms of disparity or run length.
[0032] According to a further aspect of the invention, the active control of the sign is performed by conditional inversion of the sub-symbols. This has the advantage that the corresponding sub-symbols of a subset of the first coding unit can be controlled in a simple manner. Only the disparity of the sub-symbols or individual bits need to be inverted. The sign refers to the disparity of the sub-symbols, which can be positive or negative.
[0033] According to a further aspect of the invention, the conditional inversion is performed depending on the disparity of the entire symbol formed from all sub-symbols, which has the advantage that not only the sub-symbols are optimized, but the entire, i.e. combined, sub-symbols, i.e. the entire symbol, are optimized with respect to disparity, thereby resulting in a favorable overall symbol.
[0034] According to a further aspect of the invention, the dependencies are influenced such that the value of the disparity magnitude is minimized. This has the advantage that the lowest possible disparity is achieved, preferably 0. Thus, the disparities are related to each other in such a way that the amount of disparity is as close to 0 as possible or as low as possible.
[0035] According to a further aspect of the invention, the magnitude value is minimized such that the positive disparity of the entire symbol is cancelled by the negative parity of the sub-symbols, which has the advantage that the positive disparity of the entire symbol is minimized or eliminated.
[0036] According to a further aspect of the invention, the magnitude value is minimized such that the negative disparity of the entire symbol is cancelled by the positive parity of the sub-symbols, which has the advantage that the disparity of the entire symbol is minimized or eliminated.
[0037] According to a further aspect of the invention, an active control is provided depending on the entire symbols already transmitted, such that the disparity of the entire symbol is minimized, which has the advantage that some entire symbols are minimized with respect to their disparity or disparity is eliminated, whereby some columns of the entire symbol are also optimized with respect to their transmittability.
[0038] According to a further aspect of the invention, a subset of the first coding units codes the 11-bit segments into 13-bit sub-symbols. This has the advantage that the 11 bits are coded particularly efficiently and thus only an additional 2 bits arise. This is particularly advantageous when a total of 128-bit symbols are created. Generally, the specific values of the proposed technical teachings mentioned herein have been empirically determined and can be evidenced by the fact that only an additional 128-112 bits, i.e. an additional 14% effort, is required. The values enumerated herein have therefore proven to be advantageous for the transmission of 112 bits.
[0039] According to a further aspect of the invention, a subset of the first coding units has a disparity between +3 and +9, which is inverted by the inversion to -3 to -9. This has the advantage that, for example, a disparity of +3 is offset by a disparity of -3, which is also done when adjusting a disparity of +9 by a disparity of -9. This is particularly advantageous for any bit sequence of 112 bits that is coded as 128 bits.
[0040] According to a further aspect of the invention, the run length in the sub-symbols is at most 7. This has the advantage that at most 7 identical instances of 0 and 1 are generated, which is particularly advantageous in the proposed cases of 112 or 128 bits.
[0041] According to a further aspect of the invention, the run length of the sub-symbols in the subset of the first coding unit is at most 5 starting from the most significant bit and / or the least significant bit. This has the advantage that there can be at most 5 identical bits at the beginning or end of a sub-symbol. This has proven to be particularly advantageous in the described case.
[0042] According to a further aspect of the invention, the second subset of coding units codes 11-bit segments into 12-bit sub-symbols, or 7-bit segments into 8-bit sub-symbols, or 6-bit segments into 8-bit sub-symbols, with the advantage that this coding produces particularly advantageous values in the case of 112 bits transmitted in a 128-bit symbol, with a minimized overhead of only 14%.
[0043] According to a further aspect of the invention, a disparity between −2 and +2 is generated in a subset of the second coding units, which has the advantage that a preferred disparity is generated as well.
[0044] According to a further aspect of the invention, in a subset of the second coding units the run length of the generated sub-symbols is 6. This has the advantage that optimised sub-symbols are generated.
[0045] According to a further aspect of the invention, the subset of second coding units generates sub-symbols with a maximum run length at the edge of 3. This has the advantage that the sub-symbols created by the subset of second coding units have a maximum run length of 3 at the beginning or end, which is an advantageous value.
[0046] According to a further aspect of the invention, multiple coding units are addressed in parallel to code one segment each into one sub-symbol. This has the advantage that a segment is converted into exactly one sub-symbol by exactly one coding unit. Thus, by addressing multiple coding units in parallel, multiple segments can be formed from any bit sequence and converted into sub-symbols in parallel.
[0047] According to a further aspect of the invention, the coding units are addressed in a sequence of 212122221212, where 1 represents a subset of the first coding units and 2 represents a subset of the second coding units. This has the advantage that a coding unit that is not actively controlled is always followed by a single coding unit that can be actively controlled. It has been empirically found that the proposed coding units result in favorable overall symbols.
[0048] According to a further aspect of the present invention, when a positive data stream and a negative data stream are applied in terms of disparity, the data stream that contributes to minimizing the overall disparity of the entire symbol is selected by a multiplexer. This has the advantage that it is possible to select an appropriate data stream with a code that minimizes or removes the disparity. For example, if the disparity to be optimized is negative, a data stream with a positive disparity is selected, and then this data stream is minimized or compensated in terms of its disparity.
[0049] One aspect of the invention is to bundle several data streams (video, audio and data) into one transport frame and transmit them serially. Different data formats not only have different bandwidth requirements, but also different latency, reassembly sublayer and bit error rate requirements. In particular, the transmission of today's video data formats requires not only the transmission of pure video data and its frame information, but also the support of encryption methods such as HDCP. All this requires many different data channels with a wide range of requirements in terms of bandwidth, latency, reassembly sublayer, etc. In addition to this, a much more complex network architecture is desired than a simple transmitter and receiver architecture provides. An architecture with multiple repeaters and branches (Y) where data paths can start and end is advantageous because it also has the possibility to reintegrate data paths into links.
[0050] According to one aspect of the invention, this technology follows the basic idea of consistent bundling of services, but offers completely new possibilities in terms of network architectures and enables new approaches in the implementation of today's video interfaces. This technology can also be used as a generic data transport layer, for example for Ethernet or even for the transmission of camera data or any type of sensor data.
[0051] In contrast to IP, where a packet may reach its destination via a different route than previous and subsequent packets, in a virtual path, all packets / cells follow the same path, so the latency and reassembly sublayers across the virtual path are constant.
[0052] Also, the characteristics of the virtual paths can be configured differently so that different virtual paths do not interfere with each other, so that the virtual paths can be used as multiplexing branches for different services (video, audio, Ethernet).
[0053] A virtual path consumes bandwidth only when data is actually being transferred. The virtual path concept also makes it possible to realize complex and extensive diagnostic and network configuration functions at run-time using separate (virtual) data channels.
[0054] According to one aspect of the invention, a virtual path layer is provided between the physical layer (serializer and framer) and the various application data interfaces. In accordance with one aspect of the invention, this is used to multiplex various data paths and support more complex architectures with repeaters and branches. This is primarily done at the cell layer.
[0055] According to one aspect of the invention, a further part of the virtual path layer is an application adaptation layer which performs the conversion of video (stream) or e.g. Ethernet (packet) data into cells. This application adaptation layer also includes OAM functions for network diagnostics and management.
[0056] According to one aspect of the invention, this technology can be the basis for transmitting a variety of data formats over serial connections in the car (and elsewhere), thus forming the basis for a new generation of devices.
[0057] High serial bandwidth requires defining architectures, cell formats and interfaces that allow flexible internal data bus widths to match the speed of the internal clock system with the capabilities of the chip technology.
[0058] According to one aspect of the invention, the virtual path layer is a physical layer including a transmission sublayer and a physical media sublayer, and the cell layer and application adaptation layer include a segmentation sublayer and a reassembly sublayer, as well as a function for adapting data formats to corresponding applications.
[0059] The main task is to establish a physical connection with other physical layers. This connection is essentially bidirectional. In theory, this connection can be realized over a wide variety of media. In practice, two serial differential GBps connections are used. This layer performs line coding, insertion of null cells to separate the cell rate from the connection rate, and assembly of the cell stream into a serial frame.
[0060] In the cell layer, the segmentation data (cell payload data) of the above segmentation and reassembly sublayer is assembled into a complete cell with header, VP identifier and CRC, or the cell is CRC checked and the payload is passed to the segmentation and reassembly sublayer. This is also where the multiplexing of different cell streams of application adaptation functions and the distribution of cell payload to the application adaptation functions according to VP identifiers takes place (feed-in / feed-out).
[0061] According to one aspect of the invention, the multiplexing and demultiplexing (forwarding) of cell streams in repeaters and splitters also occurs at the cell layer. According to one aspect of the invention, the task of the application adaptation function is to adapt the data of the application interface to the format of the user data field of the cell and to transmit control information to the other side or to the other side for the adaptation used (time occurrence, framing).
[0062] According to one aspect of the invention, all virtual data paths are unidirectional, i.e., they start at an initiator and terminate at one or more targets. When virtual data paths logically join together, such as HDCP for video channels, thus forming a bidirectional data path, these paths must have the same VP identifier.
[0063] A virtual data path begins at an initiator and terminates at one or more targets. This is achieved by the Cell Sublayer, which allows: Add / remove multiplexing ·VP conversion Perform the functions of.
[0064] <Stream data (continuous data stream)> The Stream Data function combines clock domain crossing and bit-width conversion of data from the application interface to the N bits of the cell row. The cell row payload is pre-formatted so that the self-filler and header fit into the first and last cell row.
[0065] Streaming data is (usually) source synchronous. Clock domain crossings of data paths from the application clock domain to the virtual routing layer clock domain are performed here.
[0066] In the transmit direction, a data buffer is provided into which source synchronized data is written along with the source clock. The segmentation layer retrieves data from this buffer as needed to perform data format conversion into N-bit wide rows of cells. Frame data (e.g., Hsync, Vsync, DE) are encoded with payload information bits so that the frame can be reconstructed at the receiver.
[0067] In the receive direction, cell data from the reassembly sublayer is written into a data buffer (cell row bit width). Frame information is reconstructed based on the payload information bits. The source clock is regenerated, for example, using buffer fill levels and clock synthesis.
[0068] If data encryption is required (HDCP), the cell data is encrypted or decrypted by this function. There can be different implementations of this basic functionality (e.g., V-stream in / out, A-stream in / out, EncV-stream in / out) due to different types of streaming data: audio, encrypted video, unencrypted video, etc. The interface to the segmentation and reassembly sublayer is the same for all functions.
[0069] <Burst data (discontinuous data stream)> The burst data function combines clock domain crossing and data bit width conversion of data from the application interface to the N bits of the cell row. The cell row payload is pre-formatted such that the self-filler and header fit into the first and last cell row.
[0070] The burst data is (usually) synchronized to an external time and has different identification signals for direction and data type (address / data / byte enable). This data is usually accompanied by control lines to implement a particular protocol.
[0071] In the transmit direction, a data buffer is provided into which burst data is written along with the interface clock, and the segmentation layer retrieves data from the buffer as needed to perform data format conversion into N-bit wide row cells.
[0072] In the receive direction, cell data from the reassembly sublayer is written into data buffers, which make the cell rows bit-wide. Interface control signals are reconstructed based on the payload information bits.
[0073] The payload information bits are used to generate control signals for the application specific interface or to synchronize protocol state machines in the application specific interface.
[0074] Due to different interfaces providing burst-like data (SPI, I2C, MII), there can be different implementations of this basic function (e.g. SPI burst, I2C burst, MII burst).
[0075] Therefore, their structure should be the same, but they will also have (slightly) different stream in / out interfaces. The problem is solved by a system arrangement in a motor vehicle for generating an efficiently transmittable bit sequence with limited disparity and limited run length, comprising: an interface unit configured to provide an arbitrary bit sequence; a segmentation unit configured to segment the provided bit sequence into a sequence of predetermined segments according to a predetermined bit length; and an encoding device configured to encode each segment into a respective sub-symbol using one encoding unit per segment from among a plurality of encoding units, wherein a subset of a first encoding unit actively controls the signs of the disparity of the sub-symbols by inverting the disparity of the generated sub-symbols to compensate for the disparity of a subset of a second encoding unit, and juxtaposition of the sub-symbols results in an efficiently transmittable bit sequence.
[0076] The problem is also solved by a computer program product comprising control instructions for carrying out the proposed method or for operating the proposed apparatus. According to the invention, the proposed devices and units can advantageously be operated using the method. Furthermore, the proposed devices and units are suitable for implementing the method according to the invention. The devices therefore implement structural features suitable for carrying out the corresponding method. However, the structural features can also be designed as process steps. The proposed method also provides steps for implementing the functions of the structural features. Also, the physical components can be virtually provided or virtualized.
[0077] Further advantages, features and details of the present invention are apparent from the following description in which aspects of the invention are described in detail with reference to the drawings. The features described in the claims and the specification may be important to the present invention individually or in any combination. Similarly, the features mentioned above and further described herein may be used individually or in any combination. Functionally similar or identical parts or components may be provided with the same reference signs. The terms "left", "right", "upper" and "lower" used in the description of the embodiments refer to the normally readable figure names or the oriented figures having normally readable reference signs. The illustrated and described embodiments should not be understood as definitive, but are of an exemplary nature for describing the present invention. The detailed description is for the information of those skilled in the art, and therefore, known circuits, structures and methods are not shown or described in detail in the description so as not to complicate the understanding of the description. [Brief description of the drawings]
[0078] [Figure 1] FIG. 1 is a schematic flow chart of a method for generating an efficiently transmittable bit sequence with limited disparity and limited run length according to one embodiment of the present invention. [Diagram 2] FIG. 2 illustrates a basic frame format and the application of a so-called block code according to one embodiment of the present invention. [Diagram 3] FIG. 3 is a schematic diagram of the assembly and structure of a so-called block code according to a further embodiment of the invention. [Figure 4] FIG. 4 is a schematic block diagram of a system apparatus for generating an efficiently transmittable bit sequence having limited disparity and limited run length in accordance with a further embodiment of the present invention. [Diagram 5] FIG. 5 is a schematic diagram of a frame format that may be used in accordance with the present invention. [Figures 6A-6D]6A, 6B, 6C, and 6D are exemplary encodings of data segments to symbols to optimize disparity according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0079] Some of the figures show parameters that are well known to those skilled in the art in English notation and can be used as parameters and cannot be converted. FIG. 1 shows a schematic flow chart of a method in an automotive vehicle for generating an efficiently transmittable bit sequence with constrained disparity and constrained run length, comprising providing an arbitrary bit sequence (100), segmenting the provided bit sequence into a sequence of predefined segments according to a predefined bit length (101), and encoding each segment into a respective sub-symbol using one encoding unit per segment from among a plurality of encoding units (102), wherein a subset of a first encoding unit actively controls the signs of the disparities of the sub-symbols by inverting the disparities of the generated sub-symbols to compensate for the disparity of a subset of a second encoding unit, and juxtaposing the sub-symbols results in an efficiently transmittable bit sequence.
[0080] Figure 2 shows a data format with an arbitrary bit sequence on the left and a sub-symbol on the right. The data to be coded has 112 bits and a sub-symbol has 128 bits. Thus, an arbitrary bit sequence of 112 bits is coded into a symbol with a total of 128 bits. The coded 128 bits are optimized with respect to disparity. The arrow in the middle indicates that the coding unit converts the data segment on the left into the sub-symbol on the right. The figure also shows that this method can be used multiple times, which means that any number of bit sequences can be converted into any number of whole symbols. The data can also be divided into different data cells or data frames.
[0081] Even if the data on the left has the same semantic content as the data on the right, the data on the right is coded such that its disparity is optimized. In general, the method can be applied to any data, and therefore to any bit sequence, and can transfer both user data and header data.
[0082] The entered data fields should be understood as merely examples and form an example of the application of the present invention. Figure 3 shows the central coding unit with its inputs and outputs. The output data consists of 112 bits, here with indices 0 to 111. These are divided into segments with bit lengths 11, 6, 7 or other bit length allocations. In this example, these segments are converted into subsymbols with data lengths 12, 13, 8 or other data lengths. The proposed example is advantageous since it codes the 112 bits into 128 bits, thereby achieving a particularly high efficiency. The 128 bits have the same content as the bit string to be coded, but are only 16 bits longer.
[0083] The diagram on the left shows that an arbitrary bit string of 112 bits is segmented into 11-bit data segments and then coded into 12 bits by coding units 11B12B.
[0084] Figure 4 shows an arbitrary bit string of 112 bits segmented into 11, 6 or 7 bits. Then multiple coding units are addressed in parallel and convert the bits into sub-symbols such that the bits are optimized with respect to disparity. For example, 12 bits are made and then 11 bits are coded, or 13 bits are made and then 11 bits are coded.
[0085] In FIG. 4, the coding unit from the second subset is shown at the center left and is labeled 11B12B. It provides subsymbols with any code, i.e., any disparity. To compensate for this disparity, a coding unit 11B13B is connected downstream in parallel to the bit string. This means that a data stream is formed that converts the most significant bits of 2×11 into two subsymbols, i.e., once an 11-bit data segment is formed by 11B12B, the 11-bit data segment is converted into a 12-bit subsymbol with any code, i.e., disparity, and the coding unit 11B13B codes the data segment from 11 bits to 13 bits. In this figure, the second coding unit from the left, 11B13B, is the coding unit of the first subset. It has an inverter and a multiplexer. The first 13 bits are available as a data stream, which is split into two subsymbols, one of which is inverted with respect to code, i.e., disparity, and the other is left unchanged. It is shown that the positive or negative, i.e. original or inverted data streams with compensating signs from the leftmost encoding unit are used under disparity feedback. Thus, the first multiplexer on the left has two data streams, each of which represents a subsymbol, one with the original sign, i.e. output from the 11B13B encoding unit, and the other with the inverted sign or inverted disparity.
[0086] Thus, based on the feedback from the upper unit, the disparity resulting from the leftmost encoder 11B12B is determined, and the bottom left multiplexer compensates or minimizes the disparity of the sub-symbols of the leftmost encoder 11B12B. This is performed in parallel, such that the encoding units from the second subset are followed by the encoding units from the first subset that minimize or remove the disparity. Finally, the entire symbol is output at the bottom right. This entire symbol has 128 bits and is composed of a number of sub-symbols as inserted in bold below using a diagonal arrow. This output line therefore contains a number of sub-symbols optimized or minimized in terms of disparity, which form the entire symbol, which can then be output and transmitted.
[0087] According to one aspect of the present invention, the present invention encodes 112-bit wide data words with any disparity (disparity max: 112) and any run length (run length max: 112) into 128-bit wide symbols. Thus, the overhead resulting from the encoding is 14.2%.
[0088] The maximum run length that can occur within a symbol, as well as any sequence of any symbol, is eight identical bits. The maximum disparity over the length average is 0. The disparity within a symbol is less than 9.
[0089] The logic complexity is minimal and is comparable to ten 8B / 10B encoders (which have the well-known drawback of large overhead). This is achieved through the use or parallel use of multiple "mini" encoders that are optimally matched to each other in terms of disparity and run-length characteristics.
[0090] Encoders 11B12B, 7B8B, 6B8B generate all symbols with a guaranteed maximum run length of 6 for any (partial) symbol order. According to one aspect of the invention, the encoder (11B13B) generates symbols with a guaranteed maximum runlength of 7, or at the beginning or end of a symbol, a maximum runlength of 5. Due to the ordering of (11B13B) with other encoders (FIG. 2), a maximum runlength of 8 can be generated in the symbol.
[0091] The encoder has the following characteristics: [11B13B] -11-bit data is mapped to 2048 symbols using 13 bits. · Symbols can be transmitted in inverted or non-inverted format. Disparity: +3~+9 or variable -3~-9 Run length in words: 7 Edge run length: 5 [11B13B] -11-bit data is mapped to 2048 symbols using 13 bits. · Symbols can be transmitted in inverted or non-inverted format. Disparity: +3~+9 or variable -3~-9 Run length in words: 7 Edge run length: 5 [11B12B] -11-bit data is mapped to 2048 symbols using 12 bits. · Symbols are transmitted only non-inverted. Disparity: -2, -1, 0, 1, 2 Run length in words: 6 Edge run length: 3 [7B8B] -7-bit data is mapped to 128 symbols using 8 bits. · Symbols are transmitted only non-inverted. Disparity: -2, -1, 0, 1, 2 Run length in words: 6 Edge run length: 3 [6B8B] 6-bit data is mapped to 64 symbols using 8 bits. · Symbols are transmitted only non-inverted. Disparity: 0 Run length in words: 6 Edge run length: 3 To compensate for the uncontrollable disparity of up to ±12 (6 × ±2) of the 11B12B and 7B8B encoders, four 11B13B encoders can be used to generate a controllable disparity of at least ±12, thereby reliably achieving balanced disparity regardless of the data being transmitted.
[0092] To further reduce the hardware complexity, according to one aspect of the invention, four small encoders (11B13B) with controllable disparity with respect to sign (+-) are used.
[0093] According to one aspect of the invention, the disparity of a symbol is controlled such that each encoder calculates the parity of "its" sub-symbol, which is done with little effort since the sub-symbols contain only a few bits.
[0094] Four of the eleven encoders can be used to actively control the sign of the disparity of the subsymbols by inverting the generated subsymbols. For this purpose, the encoders (11B13B) have the feature that they generate symbols with positive disparity (+3 to +9) for all input data. By inverting the subsymbols, symbols with negative disparity (-3 to -9) are obtained.
[0095] This makes it possible to compensate for the disparities (-2, -1, 0, 1, 2) of the sub-symbols of the other encoders (11B12B and 7B8B). Encoder 6B8B generates symbols whose disparity is always 0. Then all the (partial) parities of the encoders (11B12B and 7B8B) are added together and the result determines how many inverted and non-inverted symbols of encoder (11B13B) are used.
[0096] The minimum (smallest) disparity of encoder 11B13B is ±3. In total, a disparity of ±12 (4×±3) per symbol can be compensated with these four encoders.
[0097] In addition, five (11B12B) and one (7B8B) encoders are used, whose maximum disparity is ±2. Thus, in the extreme case, these six encoders generate a disparity of exactly ±12 (2 × ±6), which can be compensated for without problems by the 11B13B encoder.
[0098] According to one aspect of the invention, the method achieves the same quality as the 8B10B code, but with half the overhead (coding loss). The encoding and decoding hardware implementation requires minimal resources (logic) because it uses several small encoders instead of one large one.
[0099] Encoding can typically be done entirely in one cycle in a parallel data path (no pipelining is required). Control of the disparity of a 128-bit symbol can be achieved with (much) less logic and can be achieved entirely within one clock (slow) of the data path, instead of calculating the disparity by counting 1 and 0 bits in a serial data stream using a very fast serial clock.
[0100] Due to the deterministic disparity and run length, no further scrambling is required and therefore fast synchronization to the data stream at the receiver is possible (no scrambler synchronization is required).
[0101] Among other things, this is very useful for power-saving modes, where the link can be turned off to save energy and then turned on again when needed: for this, fast synchronization between transmitter and receiver is mandatory.
[0102] According to one aspect of the present invention, the present invention encodes 112-bit wide data words with any disparity (disparity max: 112) and any run length (run length max: 112) into 128-bit wide symbols. Thus, the overhead resulting from the encoding is 14.2%.
[0103] The maximum run length that can occur within a symbol, as well as any sequence of any symbol, is eight identical bits. The maximum disparity over the length average is 0. The disparity within a symbol is less than 9.
[0104] The logic complexity is minimal and is comparable to ten 8B / 10B encoders (which have the well-known drawback of large overhead). This is achieved through the use or parallel use of multiple "mini" encoders that are optimally matched to each other in terms of disparity and run-length characteristics.
[0105] Encoders 11B12B, 7B8B, 6B8B generate all symbols with a guaranteed maximum run length of 6 for any (partial) symbol order. According to one aspect of the invention, the encoder (11B13B) generates symbols with a guaranteed maximum runlength of 7, or at the beginning or end of a symbol, a maximum runlength of 5. Due to the ordering of (11B13B) with other encoders (FIG. 2), a maximum runlength of 8 can be generated in the symbol.
[0106] The encoder has the following characteristics: To further reduce the hardware complexity, four small encoders (11B13B) with controllable disparity with respect to sign (+-) are used.
[0107] According to one aspect of the invention, the disparity of a symbol is controlled such that each encoder calculates the parity of "its" sub-symbol, which is done with little effort since the sub-symbols contain only a few bits.
[0108] Four of the eleven encoders can be used to actively control the sign of the disparity of the subsymbols by inverting the generated subsymbols. For this purpose, the encoders (11B13B) have the feature that they generate symbols with positive disparity (+3 to +9) for all input data. By inverting the subsymbols, symbols with negative disparity (-3 to -9) are obtained.
[0109] This makes it possible to compensate for the disparities (-2, -1, 0, 1, 2) of the sub-symbols of the other encoders (11B12B and 7B8B). Encoder 6B8B generates symbols whose disparity is always 0. Then all the (partial) parities of the encoders (11B12B and 7B8B) are added together and the result determines how many inverted and non-inverted symbols of encoder (11B13B) are used.
[0110] The minimum (smallest) disparity of encoder 11B13B is ±3. In total, a disparity of ±12 (4×±3) per symbol can be compensated with these four encoders.
[0111] In addition, five (11B12B) and one (7B8B) encoders are used, whose maximum disparity is ±2. Thus, in the extreme case, these six encoders generate a disparity of exactly ±12 (2 × ±6), which can be compensated for without problems by the 11B13B encoder.
[0112] This method achieves the same quality as the 8B10B code, but with half the overhead (coding loss). The encoding and decoding hardware implementation requires minimal resources (logic) because it uses several small encoders instead of one large one.
[0113] Encoding can typically be done entirely in one cycle in a parallel data path (no pipelining is required). Control of the disparity of a 128-bit symbol can be achieved with (much) less logic and can be achieved entirely within one clock (slow) of the data path, instead of calculating the disparity by counting 1 and 0 bits in a serial data stream using a very fast serial clock.
[0114] Due to the deterministic disparity and run length, no further scrambling is required and therefore fast synchronization to the data stream at the receiver is possible (no scrambler synchronization is required).
[0115] Among other things, this is very useful for power-saving modes, where the link can be turned off to save energy and then turned on again when needed: for this, fast synchronization between transmitter and receiver is mandatory.
[0116] Figure 5 shows a data format that may be used, for example, in Figures 2, 3, and / or 4. Similarly, a 128-bit full symbol and a 112-bit arbitrary data sequence are shown. In general, the arbitrary bit sequence and the full symbol may have different header data or frame data.
[0117] In the following, some concrete possibilities are described how segments of any bit sequence can be converted into sub-symbols so as to minimize or eliminate disparity. The first table shows a conversion from 6 to 8 bits, the second table shows a conversion from 7 to 8 bits, the third table shows a conversion from 11 to 12 bits, and the fourth table shows a conversion from 11 to 13 bits. Thus, segments of 6, 7 or 11 bits are converted into sub-symbols of 8, 12 or 13 bits. The illustrated coding is exemplary and shows the technical effect achieved in this case. The invention achieves, using the proposed coding, empirically evaluated, that the 112 bits are optimized with respect to their disparity, so that only 128 bits are needed. This corresponds to a so-called overhead of only 14%. In this case, cells are used as a synonym for frames. They may be packages.
[0118] <Cell format / frame format> According to one aspect of the invention, a cell includes a header having a fixed bit length, a payload area having four selectable bit lengths, and a footer also having a fixed bit length.
[0119] The cell structure is a string of bits as follows: · A 7-bit Virtual Path Identifier (VP) that represents the unique address of the virtual path. · A 3-bit column number (SN) that numbers cells consecutively in their column. · A 2-bit wide cell type (CT) identifier that specifies the length of the user data. · Payload Information (PI), a 3-bit wide bit that contains additional information about the payload. This can also be used to synchronize the payload data with the frame data or control data. A 10-bit wide CRC polynomial (HCRC) for error protection of the header information. This polynomial has a Hamming distance of 5 to a bit string of 21 bits (P=0x2B9). The payload (PL) range has a length of 187, 411, 635 or 859 bits depending on the CT value. The shortest payload is chosen to be even larger than the maximum supported (video) streaming bus width (should simplify the mapping of streaming data into cell payloads). Finally, a 12-bit wide CRC polynomial (PCRC) for error protection of the user data. This polynomial has a Hamming distance of 4 up to a bit string of 2035 bits (P=0x8F3).
[0120] <Transmission frame format> According to one aspect of the invention, a transmission frame includes a sequence of M-bit wide words. The frame starts with an M-bit wide "comma" word from a sequence of comma words defined for frame alignment. This is followed by K cells. A cell consists of 2, 4, 6, or 8 N-bit wide words carrying a header, payload, and footer. These N-bit wide words are encoded into M-bit wide symbols (line encoding).
[0121] This format is chosen to allow the cell data to be processed at the appropriate time frequency, provided that the serializer / deserializer always processes blocks of M bits.
[0122] 6A shows a portion of an exemplary encoding of a data segment into symbols, where 6 bits are encoded into 8 bits such that the disparity is optimized in accordance with one aspect of the present invention. For example, segment 000000 is encoded into sub-symbol 00101011, i.e., a 6B8B encoder.
[0123] Additionally, FIG. 6B illustrates a 7B8B encoder, FIG. 6C illustrates a 11B12B encoder, and FIG. 6D illustrates a 11B13B encoder.
Claims
1. 1. A method in a motor vehicle for generating an efficiently transmittable bit sequence having limited disparity and limited run length, comprising: Providing (100) an arbitrary bit string; Segmenting (101) the provided bit sequence into a sequence of predefined segments according to a predefined bit length; encoding (102) each segment into a respective subsymbol using one coding unit for each segment from among a plurality of coding units; a subset of a first coding unit actively controls signs of disparities of the generated sub-symbols by inverting the disparities of the sub-symbols to compensate for disparities of a subset of a second coding unit, and juxtaposition of the sub-symbols results in the efficiently transmittable bit sequence.
2. 2. The method of claim 1, wherein the arbitrary bit sequence is not limited in disparity and run length of the bit sequence.
3. 10. A method according to any one of the preceding claims, characterized in that the disparity of the subset of second coding units is not controllable.
4. 10. A method according to any one of the preceding claims, characterized in that the active control of the code is performed by bitwise conditional inversion of symbols.
5. 10. A method according to any one of the preceding claims, characterized in that the conditional inversion is performed in dependence on the disparity of the entire symbol formed from all sub-symbols.
6. 10. A method according to any one of the preceding claims, characterized in that the dependence is influenced such that the disparity magnitude value is minimized.
7. 10. A method according to any one of the preceding claims, characterized in that the magnitude value is minimized such that a positive disparity of an entire symbol is cancelled by a negative parity of the sub-symbol.
8. 10. A method according to any one of the preceding claims, characterized in that the magnitude value is minimized such that the negative disparity of an entire symbol is cancelled by the positive parity of the sub-symbol.
9. 10. A method according to claim 9, characterized in that the active control is performed dependent on the total symbols already transmitted, such that the disparity of the total symbols is minimized.
10. 10. A method according to any one of the preceding claims, characterized in that the first subset of coding units encodes segments of 11 bits into sub-symbols of 13 bits.
11. 2. A method according to any one of the preceding claims, wherein the first subset of coding units has a disparity between +3 and +9, which is inverted to -3 to -9 by bit reversal of the sub-symbols.
12. 10. A method according to any one of the preceding claims, characterised in that the run length in the sub-symbols is at most seven.
13. 5. A method according to any one of the preceding claims, characterized in that the run length of the sub-symbols in the subset of the first coding unit is at most 5 starting from the most significant bit and / or the least significant bit.
14. 10. The method according to claim 9, wherein the second subset of coding units encodes 11-bit segments into 12-bit sub-symbols, 7-bit segments into 8-bit sub-symbols, or 6-bit segments into 8-bit sub-symbols.
15. 10. A method according to any one of the preceding claims, characterized in that in the second subset of coding units a disparity between -2 and +2 is generated.
16. 4. A method according to any one of the preceding claims, characterized in that the runlength of the generated sub-symbols in the subset of the second coding unit is six.
17. 10. A method according to any one of the preceding claims, characterized in that the second subset of coding units generates sub-symbols with a maximum runlength of 3 at the edges.
18. 10. A method according to any one of the preceding claims, characterized in that the coding units are addressed in parallel, each coding unit coding a segment into sub-symbols.
19. 10. A method according to any one of the preceding claims, characterized in that the plurality of coding units are addressed in instances of 212122221212, where 1 represents a subset of the first coding unit and 2 represents a subset of the second coding unit.
20. 10. A method according to any one of the preceding claims, characterized in that if there are positive and negative data streams with respect to the disparity, the data stream that contributes to minimizing the overall disparity of the entire symbol is selected by a multiplexer.
21. 1. A system apparatus in a vehicle for generating an efficiently transmittable bit sequence having limited disparity and limited run length, comprising: an interface unit configured to provide (100) an arbitrary bit sequence; a segmentation unit configured to segment (101) the provided bit sequence into a sequence of predefined segments according to a predefined bit length; a coding device configured to code (102) each segment into a respective subsymbol using one coding unit per segment from among a plurality of coding units; a subset of a first coding unit actively controls signs of disparities of the generated sub-symbols by inverting the disparities of the sub-symbols to compensate for disparities of a subset of a second coding unit, and juxtaposition of the sub-symbols results in the efficiently transmittable bit sequence.
22. A computer program product comprising instructions which, when executed by at least one computer, cause said computer to carry out the steps of the method according to any one of claims 1 to 20.
23. A computer readable storage medium comprising instructions which, when executed by at least one computer, cause said computer to perform the steps of the method of any one of claims 1 to 20.
Citation Information
Patent Citations
Coding / decoding method for recording / reproduction of high-density data
JP1999162113A
DC balanced 6b / 8b transmit code with local parity
JP2008508747A
Data communication method and data communication device
JP2013058844A
Techniques for 9b10b and 7b8b coding and decoding
US20080180287A1
Encoder with vector-calculated disparity logic
US6691275B1