Information processing apparatus, and information processing method

The information processing apparatus addresses high load and inefficient data transmission by classifying and compressing vehicle data, enhancing compression rates and reducing network load.

JP7715063B2Active Publication Date: 2025-07-30TOYOTA JIDOSHA KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022042332
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-17
Publication Date
2025-07-30
Estimated Expiration
2042-03-17

AI Technical Summary

Technical Problem

Existing information collection systems face high load and inefficient data transmission due to the lack of effective classification and compression of vehicle data.

Method used

An information processing apparatus and method that classifies vehicle data by type, creating groups for compression using methods like LZ77 and Deflate, and generates an index for efficient data transmission.

Benefits of technology

Reduces data volume and processing load by improving compression rates, minimizing network bandwidth consumption and processing requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007715063000001
    Figure 0007715063000001
  • Figure 0007715063000002
    Figure 0007715063000002
  • Figure 0007715063000003
    Figure 0007715063000003
Patent Text Reader

Abstract

To reduce the burden relating to information collection.SOLUTION: An information processing device includes a control unit that classifies first information included in each of a plurality of messages received during a first time length by type to create one or more first information groups, and compresses the one or more first information groups using a first compression method. One or more pieces of first information included in the first information group are arranged in the order of reception and arranged in a continuous column. The control unit generates an index including information indicating the position of each of the one or more first information groups in a message, and transmits the index together with the one or more compressed first information groups.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an information processing apparatus and an information processing method.

Background Art

[0002] There is disclosed a vehicle information collection system that efficiently collects vehicle information by associating each of the first to fourth information obtained from a plurality of vehicle devices and classified by change frequency with the acquisition time, and transmitting the information to a server in descending order of change frequency (for example, Patent Document 1).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] One aspect of the disclosure aims to provide an information processing apparatus and an information processing method capable of reducing the load related to information collection.

Means for Solving the Problems

[0005] One aspect of the present disclosure is classifying the first information included in each of a plurality of messages received during a first time period by type to create one or more first information groups, compressing the one or more first information groups by a first compression method, a control unit, an information processing apparatus comprising the same.

[0006] Another aspect of the present disclosure is a computer, Classify the first information included in each of the plurality of messages received during the first time period by type to create one or more first information groups. Compress the one or more first information groups by a first compression method. This is an information processing method.

Advantages of the Invention

[0007] According to one aspect of the present disclosure, the load related to information collection can be reduced.

Brief Description of the Drawings

[0008]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

DETAILED DESCRIPTION OF THE INVENTION

[0009] One aspect of the present disclosure is an information processing apparatus including a control unit. The control unit classifies the first information included in each of a plurality of messages received during a first time period by type to create one or more first information groups, and compresses the one or more first information groups by a first compression method. The information processing apparatus is, for example, an apparatus that aggregates and transmits information transmitted from a plurality of other apparatuses. More specifically, the information processing apparatus is a computer such as an ECU (Electronic Control Unit) mounted on a vehicle, a DCM (Data Communication Module) mounted on a vehicle, an edge server in edge computing, and a relay node in a sensor network. The control unit is, for example, a processor such as a CPU (Central Processing Unit) and a DSP (Digital Signal Processor).

[0010] For example, when the information processing apparatus is a device mounted on a vehicle such as an ECU and a DCM, an example of the message is a CAN (Controller Area Network) message. When the message is a CAN message, the type of the first information is the CAN ID. When the message is a CAN message, the first information group can be said to be a collection of data included in CAN messages having the same CAN ID. When the information processing apparatus is a relay node or an edge server in a sensor network, the type of the message and the type of the information are respectively determined according to the type of the network to which the information processing apparatus is connected.

[0011] The first compression method includes, for example, LZ methods such as LZ77, LZSS, and Deflate, and methods using compression algorithms such as the run-length method. In the first compression method, the compression rate improves as similar pattern values locally appear. Compression of one or more first information groups may be performed, for example, once for the entire one or more first information groups, or may be performed multiple times individually for each first information group. Also, some of the plurality of first information groups may be compressed together, and the remaining first information groups may be compressed individually.

[0012] According to one aspect of the present disclosure, by classifying a plurality of messages received during a first time period by type to create one or more first information groups, a plurality of similar values can be grouped together. A plurality of similar values are values that have a partial bit string in common with each other. By compressing a first information group, which is a collection of similar values, using the first compression method, the compression rate can be improved. By improving the compression rate, the data volume is reduced. Therefore, according to one aspect of the present disclosure, the communication volume when transmitting a plurality of messages received during the first time period can be reduced, and the processing load related to the transmission of the data, the processing load related to the reception of the data, and the consumption of the network bandwidth can be reduced.

[0013] In one aspect of the present disclosure, the control unit may arrange and concatenate one or more first information included in each of the one or more first information groups in the order of reception to form a column. A column is a lump of data in which a plurality of values are concatenated. By arranging the first information in the order of reception in the first information group, it becomes easier to continuously acquire the plurality of first information in time series order. Also, in the first information group, by concatenating the first information in the order of reception to form a column, the change in consecutive values in time series data is generally small, and as a result, the compression rate can be improved. Since the change is small, the compression rate can be improved as a result.

[0014] In one aspect of the present disclosure, the control unit may process the first information so that it has a size corresponding to the size of the compression moving window in the first compression method and arrange it in a column. By doing so, the appearance rate of similar values can be improved in units of the compression moving window, and the compression rate can be improved.

[0015] In one aspect of the present disclosure, an index including information indicating the position of each of one or more first information groups in a telegram may be generated, and the index may be transmitted together with the compressed one or more first information groups. The position of each first information group included in the index may be the position before compression or the position after compression. For example, when compression is performed on the entire set of all first information groups, the index may include information indicating the position of each first information group before compression. For example, when each first information group is compressed individually, the index may include information indicating the position of each first information group after compression. In this case, by specifying the position of the desired first information group from the index, the desired first information group can be locally decoded without decoding the entire telegram body.

[0016] In one aspect of the present disclosure, the first information may include one or more second information. The control unit may classify the one or more second information by type in each first information group to create one or more second information groups. Then, the first information group including the one or more second information groups may be compressed by the first compression method. By creating second information groups for each type of second information in each first information group, the second information with more similar values within the first information group can be grouped together, thereby improving the compression rate. Also, since the second information of the same type is grouped together, the device on the receiving side of the telegram can read out the desired type of second information collectively.

[0017] In one aspect of the present disclosure, the control unit may arrange one or more pieces of second information included in each second information group in a continuous sequence in the order in which the corresponding first information was received. By arranging the second information in the second information group in the order in which the corresponding first information was received, i.e., in chronological order, it is possible to obtain a continuous collection of second information of the same type in chronological order and improve the compression rate.

[0018] In one aspect of the present disclosure, the control unit may process the second information into a sequence of a size equal to the size unit of the moving window of compression in the first compression method, thereby increasing the rate at which values with the same pattern appear in the moving window of compression, thereby improving the compression rate.

[0019] In one aspect of the present disclosure, the control unit may generate an index including information indicating the position of each of one or more first information groups in the telegram and information indicating the position of one or more second information groups in each of the first information groups. The control unit may transmit the index together with the compressed one or more first information groups. By transmitting the index including the information indicating the position of the first information group and the information indicating the position of the second information group together, it becomes easier for the receiving side to pinpoint the first information group and the second information group.

[0020] In one aspect of the present disclosure, the control unit may create a time information group by arranging multiple pieces of time information indicating the reception time of the message for each of one or more first information groups in correspondence with the arrangement of one or more pieces of first information included in the first information group, and include the time information group in the first information group.The time information group is then compressed as the first information group using a first compression method.This allows the information indicating the reception time of the first information to be compressed, and the amount of transmission data to be reduced.

[0021] In one aspect of the present disclosure, during the first time period, a predetermined number of consecutive time windows of the second time period may be included. In this case, the time information indicating the reception time of the message may include the identification information of the first time window in which the message was received and the difference time length between the reception time of the message and the start time of the first time window. The control unit may create, as a time information group, a first time information group including the identification information of the first time window corresponding to each of one or more first information included in the first information group, and a second time information group including the difference time length.

[0022] The second time period, which is the time length of the time window, is, for example, in the range of 0.1 second to 1 second. Therefore, the difference time length between the reception time of the message and the start time of the first time window in which the message was received is a value within a limited range from 0 to 1 second. Also, the first time period is, for example, in the range of 10 seconds to 1 minute. Therefore, the upper limit of the first time window included in the first time period is the value obtained by dividing the first time period by the second time period. That is, indicating the reception time of the message by the first time window in which the message was received and the difference time length results in a smaller amount of data used than indicating it by, for example, year / month / day / hour / minute / second. Furthermore, by summarizing the identification information of the first time window and the difference time length for each of the one or more first information included in the first information group, the compression rate is improved, so that the amount of transmitted data can be further reduced.

[0023] In one aspect of the present disclosure, the control unit may create a third information group by arranging in chronological order the start times of each of the predetermined number of time windows included during the first time period, and compress the third information group together with one or more first information groups. The reception time of the message can be specified by the start time of the time window, the identification information of the first time window in which the message was received, and the difference time length between the reception time of the message and the start time of the first time window.

[0024] Another aspect of the present disclosure can also be specified as a method for a computer to execute the processing of the information processing device. The method is an information processing method in which a computer classifies, by type, first information included in each of a plurality of messages received within a first time length, creates one or more first information groups, and compresses the one or more first information groups using a first compression method. Another aspect of the present disclosure can also be specified as a program for causing a computer to execute the processing of the information processing device. Another aspect of the present disclosure can also be specified as a computer-readable, non-transitory recording medium for the program.

[0025] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. The configurations of the following embodiments are examples, and the present disclosure is not limited to the configurations of the embodiments.

[0026] First Embodiment FIG. 1 is a diagram showing an example of the system configuration of a traveling data collection system 100 according to the first embodiment. The traveling data collection system 100 is a system that collects vehicle traveling data. The traveling data collection system 100 includes a vehicle 10 and a server 2. The traveling data collection system 100 includes multiple vehicles 10, but for convenience, only one vehicle 10 is shown in FIG. 1. The vehicle 10 and the server 2 are connected to a network N1 and can communicate with each other through the network N1. The network N1 is, for example, a public line network such as the Internet.

[0027] The vehicle 10 transmits a message including driving data to the server 2 at a predetermined interval. The driving data includes, for example, position information, information about speed, information about steering angle, and information about driving distance. Within the vehicle 10, the devices that acquire various types of information included in the driving data are connected by a CAN network, and various types of information are transmitted from the devices via CAN messages. The vehicle 10 aggregates the multiple CAN messages collected over a predetermined period of time and transmits the aggregated information to the server 2 as driving data.

[0028] The vehicle 10 creates a message by sorting and aggregating multiple CAN messages by type, and compresses the message using a predetermined compression method. This improves the compression rate and reduces the amount of data transmitted by aggregating and arranging more similar values, rather than arranging multiple CAN messages in the order they were received and compressing them.

[0029] Furthermore, the vehicle 10 creates an index including information indicating the position of each CAN message in the telegram, and transmits the index together with the telegram to the server 2. This reduces the processing load on the server 2, which is the recipient of the telegram, related to searching for desired information.

[0030] 2 shows an example of the hardware configuration of the vehicle 10. However, in FIG. 2, only the hardware components related to the processing of the traveling data collection system 100 are extracted and shown. The vehicle 10 has, as its hardware configuration, ECU 1, ECU 110-1, ECU 110-2, ..., ECU 110-X. ECU 1, ECU 110-1, ECU 110-2, ..., ECU 110-X are each connected to a CAN network 150 is doing.

[0031] ECU 110-1, ECU 110-2, ..., ECU 110-X are respectively The ECUs are those that control the brakes and steering, and those that control sensors such as the speedometer. There is no distinction between ECU 110-1, ECU 110-2, ..., ECU 110-X. In this case, it will be simply referred to as ECU 110. ECU 110 acquires information at a predetermined cycle and transmits it to ECU 1 via a CAN message. The information acquired by ECU 110 includes position information, information related to speed, information related to steering angle, etc. Position information includes, for example, information such as latitude, longitude, and altitude. Information related to speed includes, for example, speed and speed correction information, etc.

[0032] In the first embodiment, ECU 1 is the multimedia ECU of the car navigation system. However, it is not limited to this, and a DCM may be used instead of ECU 1. As a hardware configuration, ECU 1 includes a CPU 101, a memory 102, an auxiliary storage device 103, a communication unit 104, and a CAN interface 105. The memory 102 and the auxiliary storage device 103 are each an example of a computer-readable recording medium.

[0033] The auxiliary storage device 103 stores various programs and data used by the CPU 101 when executing each program. The auxiliary storage device 103 is, for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), a flash memory, or the like. Programs held in the auxiliary storage device 103 include, for example, an OS (Operation System), a compression program, and a control program for the driving data collection system 100. The control program for the driving data collection system 100 is a program for control processing related to the transmission of driving data to the server 2.

[0034] The memory 102 is a storage device that provides a storage area and a work area for loading programs stored in the auxiliary storage device 103 into the CPU 101, and is also used as a buffer. The memory 102 includes, for example, a semiconductor memory such as a ROM (Read Only Memory) and a RAM (Random Access Memory).

[0035] The CPU 101 executes various processes by loading the OS and other various programs held in the auxiliary storage device 103 into the memory 102 and executing them. The CPU 101 is not limited to one, and a plurality of CPUs 101 may be provided. The CPU 101 is an example of a "control unit".

[0036] The communication unit 104 is, for example, 5G (5th Generation), 6G, 4G, and LTE (Long Mobile communication systems such as Term Evolution), wireless communication systems such as WiMAX, and WiFi It is a wireless communication circuit according to the above. The communication unit 104 connects to an access network by wireless communication, connects to the Internet through the access network, and enables communication with external devices such as the server 2.

[0037] The CAN interface 105 is an interface with the CAN network 150. The CAN interface 105 receives CAN messages from the ECU 110 and outputs them to the CPU 101. Note that the hardware configurations of the vehicle 10 and the ECU 1 shown in FIG. 2 are examples, and the hardware configurations of the vehicle 10 and the ECU 1 are not limited to the examples shown in FIG. 2.

[0038] FIG. 3 is a diagram showing an example of the functional configuration of the ECU 1. The ECU 1 includes, as functional components, a receiving unit 11, a reception buffer 12, a control unit 13, a transmission buffer 14, and a transmission unit 15. The processing of these functional components is achieved by the CPU 101 of the ECU 1 executing one or more predetermined programs held in the auxiliary storage device 103.

[0039] The receiving unit 11 receives CAN messages from each ECU 110 through the CAN network 150. CAN messages are transmitted from each ECU 110 at their respective cycles. When the receiving unit 11 receives a CAN message, it acquires the reception time and stores it in the reception buffer 12 together with the reception time.

[0040] The reception buffer 12 is created, for example, in the storage area of the CPU 101. The reception buffer 12 has a plurality of first buffers sized to be able to sufficiently store CAN messages received during one cycle of the collection period of the driving data. The collection period of the driving data is, for example, in the range of 30 seconds to 1 minute. Also, the first buffers in the reception buffer 12 are divided for each time window of a predetermined time length. The time length of the time window is, for example, in the range of 0.1 second to 1 second. CAN messages are stored in the reception buffer 12 by the reception unit 11 in the order of reception. When the time length of one time window has elapsed, the CAN message is stored in the area of the next time window. Also, when one cycle of the collection period of the driving data has elapsed, the CAN message is stored in the next first buffer.

[0041] The transmission buffer 14 is created, for example, in the storage area of the CPU 101. The transmission buffer 14 has at least one second buffer sized to be able to sufficiently store CAN messages received during one collection period. Data to be transmitted, that is, telegrams, are stored in the second buffers in the transmission buffer 14.

[0042] The control unit 13 reads out CAN messages for the immediately preceding collection period from the reception buffer 12 for each collection period of the driving data, rearranges the CAN messages according to a predetermined rule, and stores them in the transmission buffer 14. When a CAN message is read out by the control unit 13, the first buffer in the reception buffer 12 in which the CAN message was stored is cleared.

[0043] For each CAN ID, the type of information stored is predetermined. Also, for the type of information indicated by one CAN ID, there is further subdivided type of information. For example, in the case of position information, there are further three types of information: latitude, longitude, and altitude. For example, in the case of information regarding speed, there are further two types of information: speed and speed correction information. Note that the subdivided types of position information and information regarding speed are not limited to these. For example, in the case of information regarding speed, there are further two types of information: speed and speed correction information. Note that the subdivided types of position information and information regarding speed are not limited to these.

[0044] The control unit 13 aggregates CAN messages for each CAN ID. The control unit 13 further aggregates information for each subdivided type. The aggregated information is arranged in the order of reception. Note that the details of the CAN message aggregation process will be described later.

[0045] The control unit 13 compresses the telegram stored in the transmission buffer 14 by a predetermined compression method. Examples of the compression method used by the control unit 13 include methods using LZ algorithms such as LZ77, LZSS, and Deflate, and compression algorithms such as the run-length method. The compression method used by the control unit 13 is not limited to these, and any method that can efficiently compress locally repeating patterns may be used. Also, in the first embodiment, the transmission unit 15 compresses the telegram stored in the transmission buffer 14 in units of a plurality of CAN messages aggregated by CAN ID.

[0046] Also, the control unit 13 generates an index of the telegram including CAN messages for one collection period and stores it in the transmission buffer 14. Information indicating the storage position of a collection of CAN messages aggregated by each CAN ID is stored in the index of the telegram. The details of the index of the telegram will be described later. Hereinafter, the storage part of CAN messages for one collection period is referred to as the telegram body. That is, the telegram includes a body and an index. The control unit 13 outputs the telegram to the transmission unit 15.

[0047] The transmission unit 15 transmits the telegram input from the control unit 13 to the server 2. Since the telegram is, for example, data in the application layer, the transmission unit 15 performs predetermined processing according to a protocol lower than the application layer on the telegram and then transmits it. For example, the transmission unit 15 divides the telegram into data blocks of a predetermined size, attaches headers of each layer to each divided data block for encapsulation, converts it into a bit sequence, and then converts it into an electrical signal and outputs it to the network. Note that the functional configuration of the ECU 1 is not limited to the example shown in FIG. 3.

[0048] 4 is a diagram showing an example of a CAN frame in the receive buffer. A frame is, for example, a unit of data handled in the data link layer. A CAN message is stored in a CAN frame, flows through the CAN network 150, and is received by the CAN interface 105 of the ECU 1. The CAN frame is assigned a reception time by the receiver 11 and stored in the receive buffer 12. The data length of the reception time is, for example, 4 to 8 bytes.

[0049] 4 shows an extracted portion of the fields in the CAN frame format that are related to the traveling data collection system 100. In FIG. 4, a CAN ID field and a data field are shown as part of the fields in the CAN frame.

[0050] The CAN ID field stores a CAN ID. The CAN ID does not identify the CAN frame or the CAN message itself, but rather identifies the type of information contained in the CAN message. In other words, the CAN ID can be used to determine the type of information contained in the CAN message. The correspondence between the CAN ID and the type of information contained in the CAN message is determined in advance, for example, by the vehicle manufacturer, and a common ID is held by the transmitting ECU 1 and the receiving ECU x2. The data length of the CAN ID field is 11 bits.

[0051] The data field of the CAN frame stores CAN messages. The CAN message includes fields for a CAN label and a CAN label value. The field of the CAN label stores a key or code indicating the type of information of the CAN label value. The vehicle 10 on the transmission side and the server 2 on the reception side hold in advance a common association between the type of information of the CAN label value and the key. The data length of the field of the CAN label is variable. The field of the CAN label value stores the value of the information of the type indicated by the key stored in the field of the CAN label. The data length of the field of the CAN label value is, for example, from 1 bit to 64 bits.

[0052] The fields of the CAN label and the CAN label value form a set of two. The CAN message includes from 0 to 64 sets of the CAN label and the CAN label value. Note that FIG. 4 shows an example of the format of the CAN frame and the CAN message. Even when CAN FD or the like is used instead of CAN, the basic configuration is the same, although the data lengths of the respective fields differ to some extent.

[0053] FIG. 5 is a diagram showing an example of the format of the serialized telegram according to the first embodiment. A column is a block in which a plurality of data are aggregated while maintaining the chronological order. In a column, a plurality of data are arranged continuously. In the first embodiment, for a plurality of CAN messages, aggregating and rearranging the values of a predetermined field is referred to as serialization. That is, the serialized telegram is a form of transmission data held in the transmission buffer 14.

[0054] In FIG. 5, a reception buffer #X and a transmission buffer #Y are shown. The reception buffer #X and the transmission buffer #Y are each sized to sufficiently store the CAN frames or CAN messages received during one collection period. The reception buffer #X is one of a plurality of first buffers in the reception buffer 12. The transmission buffer #Y is one of at least one second buffer in the transmission buffer 14.

[0055] Receive buffer #X stores CAN frames received during one collection cycle in the order they were received. Also, receive buffer #X stores CAN frames in time windows #0 to #N-1 of a predetermined length in the order they were received, where N is the number of time windows included in one collection cycle. Hereinafter, in the description of FIG. 5, when CAN frames and CAN messages are referred to, it is assumed that they refer to the CAN frames and CAN messages stored in receive buffer #X.

[0056] In transmit buffer #Y, areas are reserved in advance for the time information and CAN message sequence fields. The time information field stores the start times of each time window in receive buffer #X in chronological order. The chronological order of the time window start times is the same as the ascending order of the time window IDs. The time window IDs are, for example, the order of the time windows in one collection cycle.

[0057] A CAN message string field stores a collection of information contained in CAN messages with the same CAN ID. Therefore, the number of CAN message string fields is equal to the number of CAN IDs of the CAN messages stored in receive buffer #X. The CAN message string fields are sorted, for example, in ascending or descending order of CAN ID. The number of CAN message string fields varies for each collection cycle. Therefore, the area for the CAN message string fields for each CAN ID is not reserved in advance, but is reserved each time within the area reserved for the CAN message string fields in transmit buffer #Y.

[0058] The fields of the CAN message string include time window ID information, differential time information, and CAN The label value column field is included. The time window ID information field contains the corresponding CAN For each CAN message having an ID, the IDs of the received time windows are stored in the order of reception of the CAN messages. In the field of differential time information, the differential time lengths from the start time of the received time window of each CAN message having the corresponding CAN ID to the reception time of the CAN message are stored in the order of reception of the CAN messages. In the transmission buffer #Y, an area may be secured for the field of the CAN message column for each CAN ID, and within the secured area, areas for the fields of time window ID information and differential time information may be secured.

[0059] The field of the CAN label value column is prepared for each CAN label included in the CAN message having the corresponding CAN ID. In each field of the CAN label value column, the CAN label values of the corresponding CAN label included in the CAN message having the corresponding CAN ID are stored in the order of reception of the CAN messages. The fields of the CAN label value column are arranged, for example, in the order of the keys of the CAN labels. For example, in the CAN message, the set of the fields of the CAN label and the CAN label value is arranged in the order of the keys of the CAN labels. Therefore, the order of arrangement of the set of the fields of the CAN label and the CAN label value in the CAN message is the same as the order of arrangement of the field of the CAN label value column in the field of the CAN message column corresponding to the CAN ID of the CAN message. Note that the number of sets of the CAN label and the CAN label value included in the CAN message is variable depending on the CAN ID. Therefore, the area for the field of the CAN label value column for each individual CAN label is not secured in advance, and is secured each time within the area secured for the field of the corresponding CAN message column in the transmission buffer #Y.

[0060] In the time information, time window ID information, differential time information, and each field of each CAN label value column, a plurality of values form a single column.

[0061] In the example of Figure 5, the time window ID information, differential time information, and each CAN label value column in the CAN message sequence #A field are stored in the order of CAN message #A in time window #0, CAN message #A in time window #1, ... The field following CAN message sequence #A is the field of CAN message sequence #B. The sequenced message shown in FIG. 5 will be referred to as the message body or simply the body hereinafter. Note that the format of the message body is not limited to the example shown in FIG. 5.

[0062] For example, the message body may not include a field for time window information, and the differential time information field may store the differential time length from the start time of the collection cycle to the reception time of the CAN message. In this case, the time information includes the start time of the collection cycle, not the time window start time. Alternatively, the message body may not include fields for time window information and differential time information, but instead may have a field that includes the reception time of each CAN message. In this case, the message does not include a field for time information.

[0063] The time length of one collection cycle is an example of a "first time length." A CAN message is an example of a "message." The data contained in a CAN message is an example of a "first information." A CAN ID is an example of a "type of first information." A value contained in a field of a CAN message string is an example of a "first information group." A CAN label value is an example of a "second information." A "CAN label" is an example of a "type of second information." A string of label values contained in a field of a CAN label value string is an example of a "second information group."

[0064] The time window ID and differential time length are an example of "time information indicating the time of message reception." The string of time window IDs in the time window ID information field is an example of "first time information group." The string of differential time lengths in the differential time information field is an example of "second time information group." The string of start times of the time windows in the time information field is an example of the "third information group."

[0065] FIG. 6 is a diagram showing an example of a method for storing values in each field of the text body. In the compression method used by the control unit 13, it is searched whether there is a value of the same pattern as the already existing pattern using a moving window of a predetermined size. Therefore, when there are a plurality of values to be compressed, if the data lengths of the respective values are aligned in units of the size of the moving window used in the compression method, the appearance rate of values of the same pattern within the moving window is improved, so there is a high possibility that the compression rate is improved.

[0066] However, for example, the CAN label values included in the CAN message have different data lengths depending on the type. Therefore, the control unit 13 adjusts the data length of the CAN label value so as to be in units of the size of the moving window of the compression method and then stores it in each field of the text body. In the first embodiment, assuming that the size of the moving window of the compression method is 1 byte, the control unit 13 adjusts the CAN label value so as to have a data length in units of 1 byte. When the data length of the CAN label value is not a value in units of 1 byte, the control unit 13 adds 0 to the lower bits that are insufficient to make it in units of 1 byte, so that the data length of the label value becomes in units of 1 byte. Storing 0 in the unused bits is called padding.

[0067] Note that the data lengths of the time window start time, time window ID, and differential time other than the CAN label value are set to fixed lengths. The data lengths of the time window start time, time window ID, and differential time are set in units of 1 byte in the first embodiment. Note that when the size of the moving window of the compression method is not 1 byte, the data lengths of the time window start time, time window ID, and differential time other than the CAN label value may be set in units of the size of the moving window.

[0068] The compression of the telegram may be performed multiple times separately for each field of the time information and the CAN message sequence, or may be performed once for the entire telegram body. Even if the compression of the telegram is performed multiple times separately for each field of the time information and the CAN message sequence, it will be hereinafter referred to as individual compression. Even if the compression of the telegram is performed once for the entire telegram body, it will be hereinafter referred to as overall compression. Whether to perform the compression of the telegram by individual compression or overall compression may be determined according to, for example, the size of the telegram. For example, when the size of the telegram body is less than a predetermined threshold value, the control unit 13 may perform individual compression. When the size of the telegram body is equal to or greater than the predetermined threshold value, the control unit 13 may perform overall compression. Further, a hybrid compression method may be performed in which a plurality of fields of a part of the telegram body are compressed together, and the remaining each field is compressed individually.

[0069] FIG. 7 is a diagram showing an example of the format of the index according to the first embodiment. Information indicating the position in the serialized telegram of each CAN message sequence is stored in the index. Specifically, the index includes a field of CAN message sequence information. The field of CAN message sequence information is included in the same number and in the same order corresponding to the field of the CAN message sequence included in the serialized telegram. That is, the fields of CAN message sequence information in the index are stored in the order of CAN ID.

[0070] The field of CAN message sequence information includes fields of offset, size, and label value information. The offset is the address of the start position in the serialized telegram of the field of the corresponding CAN message sequence. The size is the size of the field of the corresponding CAN message sequence.

[0071] The field of label value information stores, for example, the address of the start position of the corresponding type of CAN label value in the field of the corresponding CAN message sequence in the serialized telegram. The field of label value information is in the field of the CAN message sequence in the serialized telegram The fields of the label value sequence in the CAN message sequence in the sequenced telegram are stored in the same order as the fields of the label value sequence in the CAN message sequence. Also, the fields of the label value sequence in the sequenced telegram are arranged in the same order as the CAN labels and CAN label values in the CAN message. Therefore, since the receiving server 2 holds in advance information on the order of the CAN labels and CAN label values in the CAN message, it can determine which label the value of the label value information field in the index corresponds to.

[0072] By reading the index, the receiving server 2 can identify the position of the CAN message with the desired CAN ID, and can easily search for the CAN message with the desired CAN ID in the serialized telegram.

[0073] Furthermore, since the index is smaller in size than the sequenced telegram, it can be read into the memory 202 at once in the receiving server 2. The fields of the CAN message sequence information in the index are arranged in the order of the CAN ID. Therefore, the receiving server 2 can perform, for example, a binary search on the index, making it easy to identify the desired CAN ID even within the index. Similarly, for CAN labels, the label value information is arranged in the order of the CAN label keys, making it easy to search for the position of the desired type of label value within the index.

[0074] In addition, if the fields of the CAN message sequence in the sequenced message and the fields of the CAN message sequence information in the index correspond to each other and are arranged in the same order, the fields of the CAN message sequence information do not need to include the offset and size.

[0075] Note that when individual compression is performed, the address indicated by the value stored in the offset and label value information in the index indicates the position in the compressed text body. As a result, on the receiving server 2, it is only necessary to decode only the part of the CAN message sequence of the desired CAN ID in the text body without decoding the text body, reducing the processing load.

[0076] On the other hand, when overall compression is performed, the address indicated by the value stored in the offset and label value information in the index is the position in the text body before compression. This is because in overall compression, the positions of each field change before and after compression and partial decoding is not possible. Note that the format of the index is not limited to the example shown in FIG. 7.

[0077] The offset and size stored in the CAN message sequence information field in the index are an example of "information indicating the position of the first information group in the message". The value stored in the label value information in the CAN message sequence information field in the index is an example of "information indicating the position of one or a plurality of second information groups in the first information group".

[0078] <Flow of processing> FIG. 8 is an example of a flowchart of the running data collection process of the ECU 1 according to the first embodiment. The example shown in FIG. 8 is repeatedly executed, for example, while the vehicle 10 is running, that is, while the ignition is ON. Note that the execution subject of the process shown in FIG. 8 is the CPU 101 of the ECU 1, but for convenience, the description will be made mainly with functional components. The same applies to the flowcharts related to the processing of the ECU 1 after FIG. 8.

[0079] In OP101, the control unit 13 starts the collection cycle timer. The time length of the collection cycle timer is the same as the time length for one collection cycle. In OP102, the control unit 13 determines whether the collection cycle timer has expired. If the collection cycle timer has expired (OP102: YES), the process proceeds to OP103. Until the collection cycle timer expires (OP102: NO), the control unit 13 is in a standby state.

[0080] In OP103, the control unit 13 executes time window generation processing. The time window generation processing is a process of rearranging the information contained in the CAN messages within the time window for each time window and storing it in the transmission buffer 14. The control unit 13 repeatedly executes the time window generation processing for each time window included in one collection cycle. As a result, the CAN messages received during one collection cycle are aggregated for each CAN ID and each CAN label. More specifically, by repeatedly executing the time window generation processing for each time window included in one collection cycle, a field between the time information shown in FIG. 5 and each CAN message column is generated. However, at this point, the order of the CAN message columns may not be in the order of the CAN IDs. The details of the time window generation processing will be described later.

[0081] In OP104, the control unit 13 rearranges the fields of the CAN message columns in the order of the CAN IDs in the telegram in the transmission buffer 14. In OP105, the control unit 13 compresses the telegram in the transmission buffer 14 by a predetermined compression method. In the example shown in FIG. 8, it is assumed that the compression of the telegram is performed by individual compression.

[0082] In OP106, the control unit 13 executes index creation processing. The index creation processing is a process of generating an index for the telegram body. In OP107, the control unit 13 transmits the compressed telegram body and the index to the server 2 through the transmission unit 15. After that, the process shown in FIG. 8 ends.

[0083] The travel data collection process is not limited to the example shown in Fig. 8. For example, the index may be compressed using a predetermined compression method after the index creation process in OP 106. Also, for example, if the message body is compressed using full compression, the index creation process may be performed before the message body is compressed in OP 105.

[0084] Fig. 9 is an example of a flowchart of the time window generation process. The process shown in Fig. 9 is executed in OP103 of Fig. 8. The process shown in Fig. 9 is executed for each time window in order starting from time window #0. Therefore, in Fig. 9, the time window to be processed is referred to as the target time window.

[0085] In OP201, the control unit 13 adds the start time of the target time window to the time information field. The start time of the target time window is added to the end of the string of start times of the time windows in the time information field.

[0086] In OP202, the control unit 13 determines whether or not a CAN frame exists within the target time window in the receive buffer 12. If a CAN frame exists within the target time window (OP202: YES), the process proceeds to OP203. In OP203, the control unit 13 acquires the CAN frame within the target time window from the receive buffer 12.

[0087] If there is no CAN frame within the target time window (OP202: NO), the processing shown in Figure 9 ends and the processing of Figure 9 begins for the next time window, or if the processing of Figure 9 has been completed for all time windows, the processing proceeds to OP104 in Figure 8.

[0088] The processes from OP204 to OP209 are repeatedly executed for each CAN message present within the target time window in the order in which they are received. The CAN message to be processed is referred to as the target CAN message.

[0089] In OP204, the control unit 13 determines whether or not the area for the fields of the CAN message sequence corresponding to the CAN ID of the target CAN message is within the transmission buffer 14. If the area for the fields of the CAN message sequence corresponding to the CAN ID is within the transmission buffer 14 (OP204: YES), the process proceeds to OP206. If the area for the fields of the CAN message sequence corresponding to the CAN ID does not exist within the transmission buffer 14 (OP204: NO), the process proceeds to OP205.

[0090] In OP205, the control unit 13 secures an area for the fields of the CAN message sequence corresponding to the CAN ID of the target CAN message within the transmission buffer 14. In OP206, the control unit 13 adds the ID of the time window in which the target CAN message is included to the field of the time window ID information of the fields of the CAN message sequence corresponding to the CAN ID of the target CAN message. Note that the time window in which the target CAN message is included is the time window that is the target of the time window generation process. The ID of the time window in which the target CAN message is included is added to the end of the list of the IDs of the time windows within the field of the time window ID information.

[0091] In OP207, the control unit 13 adds the difference time length from the start time of the target time window to the reception time of the target CAN message to the field of the difference time information of the fields of the CAN message sequence corresponding to the CAN ID of the target CAN message. The difference time length is added to the end of the list of the IDs of the difference time lengths within the field of the difference time information.

[0092] In OP208, the control unit 13 determines whether there is a set of unprocessed CAN labels and CAN label values in the target CAN message. If there is a set of unprocessed CAN labels and CAN label values in the target CAN message (OP208: YES), the process proceeds to OP209. If there is no set of unprocessed CAN labels and CAN label values in the target CAN message (OP208: NO), the process for the target CAN message ends. Thereafter, for the next received CAN message within the target time window for the target CAN message, the process is repeatedly executed from OP204, or when the process for all CAN messages within the target time window ends, the process proceeds to OP104 in FIG. 8.

[0093] In OP209, the control unit 13 executes CAN label value processing. The CAN label value processing is a process of storing the label value in the CAN message into the transmission buffer 14. The details of the CAN label value processing will be described later. When the CAN label value processing ends, the process proceeds to OP208.

[0094] Note that in the time window generation process shown in FIG. 9, since the CAN messages are processed in the order of reception in the order of the time windows in the reception buffer 12, the fields of the CAN message sequence do not necessarily line up in the order of the CAN IDs. Therefore, in OP104 of FIG. 8, a process of sorting the fields of the CAN message sequence in the order of the CAN IDs is performed. However, this is not limited to this, and when the time window generation process is logic such that the fields of the CAN message sequence line up in the order of the CAN IDs, the process of OP104 in FIG. 8 may not be executed. Also, in OP201, OP206, and OP207, the start time of the time window, the ID of the time window, and the differential time length are added to the end of the column of the values in each field. Therefore, the start time of the time window, the ID of the time window, and the differential time length are arranged in the order of reception, that is, in chronological order, in each field.

[0095] Figure 10 is an example of a flowchart of label value processing. The label value processing is the processing executed in OP209 of FIG. 9. When referring to "target CAN message" in FIG. 10, it indicates the CAN message targeted by the processing from OP204 to OP209 shown in FIG. 9.

[0096] In OP301, the control unit 13 processes the first CAN label and CAN label value among the set of unprocessed CAN labels and CAN label values in the target CAN message. In OP302, the control unit 13 determines whether the area for the field of the CAN label value string corresponding to the CAN label to be processed is within the transmission buffer 14. If the area for the field of the CAN label value string corresponding to the CAN label to be processed is within the transmission buffer 14 (OP302: YES), the process proceeds to OP304. If the area for the field of the CAN label value string corresponding to the CAN label to be processed is not within the transmission buffer 14 (OP302: NO), the process proceeds to OP303.

[0097] In OP303, the control unit 13 secures an area for the field of the CAN label value string corresponding to the CAN label to be processed within the area for the field of the CAN message string for the corresponding CAN ID in the transmission buffer 14. In OP304, the control unit 13 adds the CAN label value to be processed to the area for the field of the CAN label value string corresponding to the CAN label to be processed. The CAN label value to be processed is added to the end of the CAN label value string in the corresponding field. After that, the process in FIG. 10 ends, and the process proceeds to OP208 in FIG. 9.

[0098] Regarding the set of CAN labels and CAN label values in the CAN message, in the processes shown in FIGS. 9 and 10, they are processed in the order in which they are included in the CAN message. As a result, the storage order of the fields of the CAN label value string in the transmission buffer 14 is the same as the order of the CAN labels and CAN label values in the CAN message.

[0099] Fig. 11 is an example of a flowchart of the index creation process. The process shown in Fig. 11 is the process executed in OP106 of Fig. 8. The processes from OP401 to OP403 are repeatedly executed for each field of the CAN message sequence included in the message body in the storage order. In Fig. 11, the field of the CAN message sequence that is the target of processing from OP401 to OP403 is referred to as the field of the target CAN message sequence.

[0100] In operation OP401, the control unit 13 reserves an area for the field of message sequence information of the CAN ID of the field of the target CAN message sequence in the area for indexes in the transmission buffer 14. In operation OP402, the control unit 13 adds the offset and size of the field of the target CAN message sequence to the field of the message sequence information of the corresponding CAN ID, respectively. The offset and size of the field of the target CAN message sequence are added to the end of the string of values in the corresponding field, respectively.

[0101] In operation OP403, the control unit 13 adds an address indicating the start position of the label value sequence in the field of the target CAN message sequence to the label value information field in the message sequence information field of the corresponding CAN ID. The addresses indicating the start position of the label value sequence in the field of the target CAN message sequence are arranged in the same order as the label value sequence in the field of the target CAN message sequence. Thereafter, the processing from operation OP401 to operation OP403 is started for the CAN message sequence field next to the field of the target CAN message sequence, or if the processing has been completed for all CAN message sequence fields included in the message body, the processing proceeds to operation OP107 in FIG. 8.

[0102] <Effects of the First Embodiment> In the first embodiment, a plurality of CAN messages collected during one collection period are aggregated for each CAN ID, and further, CAN label values are aggregated for each CAN label among the aggregated CAN IDs. By doing so, similar values can be grouped together, and the compression rate can be improved. Also, since the aggregated values are adjusted to be in units of the size of the moving window for compression and then serialized, the appearance rate of similar values can be improved, and the compression rate can be improved.

[0103] Also, since the index is transmitted to server 2 together with the text body, the receiving-side server 2 can easily search for data of desired CAN IDs and CAN labels. Therefore, according to the first embodiment, the processing load on the receiving-side server 2 can also be reduced. Also, in the text body, since the values are stored in the order of reception for each field, for example, values of a specific CAN label can be continuously read from the CAN label value column.

[0104] <Modification Example> The inside of the field of the CAN message column of the text body is not limited to a configuration including a CAN label value column in which CAN label values are aggregated for each CAN label as in the example shown in FIG. 5. In the modification example, the configuration inside the field of the CAN message column of the text body is different from that of the first embodiment.

[0105] FIG. 12 is a diagram showing an example of the format of a serialized telegram according to a modified example. In the modified example, the fields of the CAN message column include the fields of the record instead of the fields of the CAN message column. A record corresponds to one CAN message. Among the CAN messages with the same CAN ID in one collection period, the CAN message whose reception order is the M-th (M: positive integer) is denoted as the M-th record or record #M - 1. For example, CAN message #B within time window #0 in the example of FIG. 5 becomes the first record among the CAM messages with CAN ID = B in reception buffer #X. Also, CAN message #B within time window #0 in the example of FIG. 5 corresponds to record #1 in the field of CAN message column #B in transmission buffer #Y.

[0106] The fields of the record include all serialized sets of CAN labels and CAN label values included in the corresponding CAN message. Also in the modified example, the values of the CAN label and the CAN label value are serialized with their data lengths adjusted in the same manner as in the first embodiment so as to be in units of the size of the compression moving window. The fields of the record are arranged in the order of reception of the CAN messages.

[0107] FIG. 13 is an example of the format of an index according to a modified example. In the modified example, the field of the CAN message column information in the index includes a field of record information instead of the field of CAN label value information. The field of record information stores, for example, the address of the start position of the field of the corresponding record in the field of the corresponding CAN message column in the serialized telegram. The fields of record information are stored in the same order as the fields of the record in the field of the CAN message column in the telegram body, that is, in the order of reception of the CAN messages.

[0108] According to the modified example, even when the configuration within the field of the CAN message column in the telegram body is different, the compression rate can be improved.

[0109] <Other modified examples> The above embodiments are merely examples, and the present disclosure can be appropriately modified and implemented without departing from the gist thereof.

[0110] In the first embodiment, an example of collecting, aggregating, and transmitting CAN messages in a CAN network was described. The technology described in the first embodiment is not limited to the CAN network and can be applied to various networks. Networks to which the technology described in the first embodiment can be applied include, for example, sensor networks, networks in which edge computing is introduced, and IoT networks. By applying the technology described in the first embodiment, regardless of the network to which it is applied, a device that aggregates messages aggregates the information included in a plurality of messages by type, compresses it, and transmits it. The device aggregates the information included in the plurality of messages by type, compresses it, and transmits it.

[0111] The processes and means described in the present disclosure can be freely combined and implemented as long as no technical contradictions occur.

[0112] Also, the processes described as being performed by one device may be shared and executed by a plurality of devices. Alternatively, the processes described as being performed by different devices may be executed by one device. In a computer system, how each function is realized by a hardware configuration (server configuration) can be flexibly changed.

[0113] The present disclosure can also be realized by supplying a computer program that implements the functions described in the above embodiments to a computer and causing one or more processors included in the computer to read and execute the program. Such a computer program may be provided to the computer by a non-transitory computer-readable storage medium connectable to the system bus of the computer, or may be provided to the computer via a network. The non-transitory computer-readable storage medium includes, for example, any type of disk such as a magnetic disk (e.g., a floppy (registered trademark) disk, a hard disk drive (HDD), etc.), an optical disk (e.g., a CD-ROM, a DVD disk, a Blu-ray disk, etc.), a read-only memory (ROM), a random access memory (RAM), an EPROM, an EEPROM, a magnetic card, a flash memory, an optical card, and any type of medium suitable for storing electronic instructions.

Explanation of Signs

[0114] 1 ··· ECU 2 ··· Server 10 ··· Vehicle 11 ··· Receiver 12 ··· Receive Buffer 13 ··· Control Unit 14 ··· Transmit Buffer 15 ··· Transmitter 100 ··· Travel Data Collection System 101 ··· CPU 102 ··· Memory 103 ··· Auxiliary Storage Device 104 ··· Communication Unit 105 ··· CAN Interface

Claims

1. Classify the first information included in each of the plurality of messages received during the first time period by type to create one or more first information groups, Compress the one or more first information groups by a first compression method, A control unit, Comprising, The control unit, For each of the one or more first information groups, arrange a plurality of time information indicating the message reception times in correspondence with the order of the one or more first information included in the first information group to create a time information group, and include it in the first information group, During the first time period, a continuous predetermined number of time windows of a second time period are included, The time information includes identification information of the first time window in which the message was received and a differential time period from the start time of the first time window to the reception time of the message, The control unit creates, as the time information group, a first time information group including identification information of the first time window corresponding to each of the one or more first information included in the first information group, and a second time information group including the differential time period, an information processing apparatus.

2. The control unit, In each of the one or more first information groups, arrange the one or more first information included in the first information group in the order of reception and make them continuous to form a column, The information processing apparatus according to claim 1.

3. The control unit, Process the first information so that it has a size in units of the size of the compression moving window in the first compression method, and form the column, The information processing apparatus according to claim 2.

4. The control unit, Generate an index including information indicating the position of each of the one or more first information groups in the telegram, Transmit the index together with the compressed one or more first information groups, The information processing apparatus according to any one of claims 1 to 3.

5. The first information includes one or more second information, The control unit, in each of the one or more first information groups, classifies the one or more second information included in the one or more first information included in the first information group by type to create one or more second information groups, The information processing apparatus according to claim 1.

6. The control unit, in each of the one or more second information groups, arranges the one or more second information included in the second information group in the order of reception of the corresponding first information and makes them continuous to form a column, The information processing apparatus according to claim 5.

7. The control unit, Each of the one or more pieces of second information included in the second information group is processed so as to have a size corresponding to the size of the compression moving window in the first compression method, and is made into the column. The information processing apparatus according to claim 6.

8. The control unit generates an index including information indicating the position of each of the one or more first information groups in the telegram and information indicating the position of the one or more second information groups in each of the one or more first information groups, and transmits the index together with the compressed one or more first information groups. The information processing apparatus according to any one of claims 5 to 7.

9. The control unit creates a third information group by arranging in time order the start times of the respective predetermined number of time windows included during the first time period, and compresses the third information group together with the one or more first information groups. The information processing apparatus according to any one of claims 1 to 8.

10. A computer classifies the first information included in each of the plurality of messages received during the first time period by type, and creates one or more first information groups, compresses the one or more first information groups by a first compression method, The computer creates a time information group by arranging a plurality of pieces of time information indicating the message reception time corresponding to the arrangement of the one or more pieces of first information included in the first information group, and includes the time information group in the first information group, during the first time period, a predetermined number of consecutive time windows of a second time period are included, the time information includes identification information of the first time window in which the message is received and a difference time length from the start time of the first time window to the reception time of the message, the computer creates, as the time information group, a first time information group including identification information of the first time window corresponding to each of the one or more pieces of first information included in the first information group, and a second time information group including the difference time length, Information processing method.

11. The computer arranges in reception order and continuously arranges the one or more pieces of first information included in each of the one or more first information groups to form a column. The information processing method according to claim 10.

12. The computer processes the first information so as to have a size corresponding to the size of the compression moving window in the first compression method, and makes it into the column. The information processing method according to claim 11.

13. The computer generates an index including information indicating the position of each of the one or more first information groups in the telegram, and transmits the index together with the compressed one or more first information groups. The information processing method according to any one of claims 10 to 12.

14. The first information includes one or more second information, and the computer classifies, by type, one or more second information included in one or more first information included in each of the one or more first information groups to create one or more second information groups. The information processing method according to any one of claims 10 to 12.

15. The computer generates an index including information indicating the position of each of the one or more first information groups in the telegram and information indicating the position of each of the one or more second information groups in each of the one or more first information groups, and transmits the index together with the compressed one or more first information groups. The information processing method according to claim 14.

16. The computer creates an information group by arranging in time order the start times of the respective predetermined number of time windows included during the first time period, and compresses the second information group together with the one or more first information groups. The information processing method according to any one of claims 10 to 15.

Citation Information

Patent Citations

  • Encoding method, encoding program, and encoding device

    JP2007214813A

  • Data compression method and uncompression method, and state change detection method in plant facility

    JP2007221280A

  • Compression apparatus, compression method, compression program and decompression apparatus

    JP2012235289A

  • Vehicle information collection system

    JP2021060843A