The present application is based upon and claims priority to Chinese Patent Application No. 201811064053.4, filed on Sep. 12, 2018, the entire contents of which are incorporated herein by reference.
Implementations of the present disclosure generally relate to car networking and, more particularly, to methods and apparatuses for transmitting and receiving data.
With the development of the car networking (Internet of vehicles) technology, the technology of vehicle to everything (V2X) has been proposed. The vehicle may communicate with a variety of external entities (e.g., collection devices, server devices, control centers, etc.) via V2X to exchange various information for assisting vehicle driving. In general, a variety of objects (e.g., surrounding buildings, roads, vehicles, pedestrians, etc.) will be involved in the road environment where the vehicle is located, and these objects will involve a variety of information. Various collection devices may be deployed in the road environment to collect the above information, and the collected information is transmitted to the vehicle traveling to the vicinity of the server device via the server device connected to the collection device to assist in vehicle control.
Vehicle control will greatly depend on the timely acquisition of such information. However, the communication bandwidth of existing V2X is limited, and delays may occur due to the influence of the surrounding environment or other factors when transmitting various information. Therefore, at this time, how to handle transmission and reception of data becomes a research hotspot. Thus, it is desirable to be able to provide a technical solution for transmitting and receiving data in a more convenient and efficient manner.
In accordance with an example implementation of the present disclosure, solutions for transmitting data and receiving data is provided.
In embodiments of the present disclosure, a method of transmitting data is provided. In the method, a set of objects in a road environment is identified based on collection data associated with the road environment from a server device. The set of objects is divided into at least one subset based on a distance between each of the set of objects and server devices. For a subset in the at least one subset, a data packet is generated based on a portion of the collection data associated with objects in the subset. The generated data packet is transmitted to at least one client device, the at least one client device being located in a region associated with the first region where the objects in the subset are located.
In embodiments of the present disclosure, an apparatus for transmitting data is provided. The apparatus includes: one or more processors; a memory configured to store one or more programs, in which when the one or more programs are executed by the one or more processors, the one or more processors are configured to: identify a set of objects in a road environment based on collection data associated with the road environment from a server device; divide the set of objects into at least one subset based on a distance between each of the set of objects and the server device; generate, for a subset in the at least one subset, a data packet based on a portion of the collection data associated with objects in the subset; and transmit the data packet to at least one client device, the at least one client device being located in a region associated with a first region where the objects in the subset are located.
In embodiments of the present disclosure, a method for receiving data is provided. The method may include: receiving, at a client device, at least one data packet transmitted from a server device, a data packet in the at least one data packet being generated based on collection data associated with at least one object described by the data packet; selecting a data packet from the at least one data packet, the client device being located in a region associated with a first region where the at least one object described by the data packet selected is located; and parsing the data packet selected to obtain collection data associated with objects in the road environment within the first region.
In embodiments of the present disclosure, an apparatus for receiving data is provided. The apparatus includes: one or more processors; a memory configured to store one or more programs, in which when the one or more programs are executed by the one or more processors, the one or more processors are configured to: receive, at a client device, at least one data packet transmitted from a server device, a data packet in the at least one data packet being generated based on collection data associated with at least one object described by the data packet; select a data packet from the at least one data packet, the client device being located in a region associated with a first region where the at least one object described by the data packet selected is located; and parse the data packet selected to obtain collection data associated with objects in the road environment within the first region.
The content described in the Summary is not intended to limit the key or important features of the implementation of the present disclosure, and is not intended to limit the scope of the disclosure. Other features of the present disclosure will be readily understood by the following description.
The above and other features, advantages and aspects of various embodiments of the present disclosure will become more apparent with reference to the figures and the following detailed descriptions. In the drawings, the same or similar reference numerals indicate the same or similar elements, in which:
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are illustrated in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Instead, providing these embodiments is to fully and completely understand the present disclosure. It should be understood that, the drawings and embodiments of the present disclosure are merely illustrative and should not be considered as limiting the scope of the disclosure.
In the description of the embodiments of the present disclosure, the term “comprise” and its equivalents are to be understood as an open “include” (a non-exclusive “include”), i.e., “include but is not limited to”. The term “based on” should be understood as “based at least in part (at least partially based on)”. The term “one embodiment” or “an embodiment” should be taken to mean “at least one embodiment”. The terms “first”, “second” and the like may refer to different or identical objects. Other explicit and implicit definitions may also be included in the following.
For ease of description, an application environment of an implementation of the present disclosure will first be described with reference to
It will be understood that
It has been proposed to transfer collection data between the server device 110 and the client device 130 deployed at the vehicle 132. Current technical solutions typically broadcast the collection data within a predetermined range near server device 110 at a greater power. However, due to the limitation of the transmission bandwidth of the server device 110, when the collection data related to a large number of objects is collected, the current transmission bandwidth does not ensure that the transmission may be timely and accurately transmitted to the client device 130, which results in a low transmission efficiency of the server device 110. On the other hand, the broadcasted collection data related to all objects will be received at the client device 130. At this time, the client device 130 needs to select interested parts from a large amount of collected data, thereby causing excessive computing resources and time overhead. Thus, it is desirable to develop a technical solution for transmitting and receiving collection data in a more efficient manner.
In order to at least partially address the deficiencies in the above-described technical solutions, in accordance with an exemplary implementation of the present disclosure, a technical solution for transmitting collection data between a server device 110 and a client device 130 is provided. In the following, an exemplary implementation of the present disclosure will be generally described with reference to
It will be understood that although only two regions 220 and 222 determined by radius R1 and R2 are shown schematically in
According to an exemplary implementation of the present disclosure, a set of objects 120, 122, 124, 126 may be based on distances between the location 210 and each in the set of objects 120, 122, 124, 126, 128 corresponding to the collection data, to divide the objects 122 and 124 (with the distances smaller than R1) to a first subset 232, and the objects 126, 120 and 128 (with the distances between R1 and R2) are divided to a second subset 230.
According to an exemplary implementation of the present disclosure, related collection data of the objects included in each subset may be encapsulated into a corresponding data packet. For example, the collection data of objects 122, 124 in the range of 0-50 m may be encapsulated into the first data packet 232, while the collection data of objects 126, 120, and 128 in the range of 50-100 m may be encapsulated into the second data packet 230. The particular data packet may then be broadcasted to at least one client device desiring to receive the particular data packet.
For example, a vehicle within a range 0-50 m from the server device 110 may only care about the content of the first data packet 232 (i.e., which objects are in the range of 0-50 m), and thus only the first data packet 232 may be sent to these vehicles, while the data packets of objects in the range beyond 50 m may not be sent to these vehicles. For another example, a vehicle within a range 50-100 m from the server device 110 may only care about the content of the second data packet 230 (i.e., which objects are in the range of 50 m-100 m), and thus only the second data packet 230 may be sent to these vehicles, the packets of objects within a range of 0-50 m may not be sent to these vehicles.
In the above implementation, by dividing a large number of objects in a large range into different subsets, for each subset, data packets of objects in the subset may be transmitted. In this way, on the one hand, the bandwidth during transmission may be reduced, and the reliability and stability of data transmission are improved. On the other hand, it is also possible to reduce the overhead in computing resources and time for the client device 120 to process the received data packets.
Further details regarding the transmission of the collection data will be described in detail below with reference to
Returning to
At block 330 of
In this implementation, the object identifier 520A is used to uniquely identify the object. The object location 522A is used to indicate the location of the object. Here, the local coordinate system used by the collection device 112 may be used to represent the object position 522A, or the world coordinate system may be used to indicate the position of the object. The object bounding box 524A is used to describe the space occupied by the object, for example, may be represented by the length, width, height of the object, or, the space range occupied by the object in the world coordinate system may be determined based on the object position 522A and the length, width and height of the object. Further, object classification 526A may indicate which classification the object belongs to. A variety of classifications may be employed, for example, object classification 526A may include vehicles, bicycles, pedestrians, roadside buildings, and the like. As another example, object classification 526A may also simply include stationary objects and moving objects.
It will be understood that
Returning to
It is described above that the region where the vehicle is located is the same as the region where the object is located. According to an exemplary implementation of the present disclosure, the region where the object is located may be larger than the region where the vehicle is located. In other words, the range where the vehicle is located may be smaller. Referring to the example of
In the above exemplary implementation, the region where the object is located is larger than the region where the vehicle that is to receive the packet is located. In this way, it may be ensured that the client device 130 is able to receive information of objects that are larger than the region where itself locates. It is in turn ensured that the client device 130 located near the edge of each region may continuously receive information of objects within the interested region.
According to an exemplary implementation of the present disclosure, a data packet may be transmitted in a broadcast manner, and a transmission power for broadcasting a data packet may be determined according to a range where the client device 130 that is expected to receive the data packet is located. In this way, when a data packet is broadcasted based on the transmission power, the broadcasted data packet may be made to be received by at least one client device that desires to receive the data packet. With the above exemplary implementation, by determining the respective transmission power for each data packet, on the one hand it may be ensured that the client device interested in the data packet may receive the transmitted data packet. On the other hand, since only data packets including collection data of a part of objects need to be transmitted at each broadcast, the amount of data transmission per broadcast will be reduced, and thus the collection data may be transmitted with limited bandwidth and the situation of insufficient bandwidth may be alleviated.
It will be understood that when the transmission power is constant, the strength of the signal received by the client device 130 will vary with the distance between the client device 130 and the server device 110. The greater the distance, the lower the strength of the received signal. In particular,
According to an exemplary implementation of the present disclosure, a range of distances between the at least one client device 130 and the server device 110 may be determined based on the region, and the transmission power may be determined based on the range of distances. As shown in
According to an exemplary implementation of the present disclosure, the transmission power may be determined based on a specific environment where a broadcast signal is transmitted. Specifically, the relationship between the distance S between the server device 110 and the client device 130 and the received signal strength RSSI may be expressed as Equation 1:
S=10((|RSSI|-A)/10×n) Equation 1
In Equation 1, A represents the power of the received signal when the signal is transmitted 1 m; n represents a transmission factor of which the magnitude depends on a propagation environment of the wireless signal.
The values of A and n may be obtained by calculation and data fitting, for example, the values may be updated in real time based on the current environment, and at this time, the updated value may be transmitted to the server device 110 and the client device 130 as configuration parameters. Based on the above formula, the received signal strengths for different regions may be determined, and the corresponding transmission power may be determined. With the above exemplary implementation, the effects of various factors in the surrounding environment on the transmission may be considered. In particular, if the propagation conditions in the road environment are poor and the distance is long, the broadcast needs to be performed with a large power. If the propagation conditions to the environment are good and the distance is close, the broadcast may be performed with a small power.
According to an exemplary implementation of the present disclosure, traffic command information associated with a road environment may also be collected and the data package may be updated based on traffic command information. For example, the traffic command information may include indication information of traffic lights in the road environment, information at bulletin boards on both sides of the road, and the like. Here, the above information may be obtained directly from the control device at the traffic signal or the bulletin board. Alternatively, the above information may also be obtained directly from the traffic command center.
It will be appreciated that in this implementation merely relevant information for traffic facilities located within a particular range may be obtained. For example, in the example of
According to an exemplary implementation of the present disclosure, objects in a subset may be divided into static objects and moving objects. Then, respective static data packets and moving data packets may be respectively generated based on the portions associated with the static objects and the moving objects in the collection data, respectively. It will be appreciated that since the position and state of a static object (e.g., roadside building, lane lines, etc.) does not change, the static data packet may be transmitted at a lower transmission frequency. Since the position and state of a moving object (for example, a vehicle, a bicycle, or a pedestrian on a road, etc.) are constantly changing, it is necessary to transmit the moving data packet at a higher transmission frequency.
In general, the potential recipient of the data packet is the client device 130 located at the moving vehicle 132, and when the vehicle 132 is traveling at high speed through the region covered by the server device 110, a low transmission frequency may cause that the vehicle 132 have passed through the coverage region before two adjacent broadcasts. Thus, it is desirable to ensure that the vehicle 132 is capable of receiving at least one stationary data packet during its passage through the coverage region. This may be achieved by adjusting the frequency of broadcasting static packets. For example, a static data packet may be broadcasted every 100 ms, or at other time intervals (e.g., 80 ms). For another example, the moving data packet may be broadcasted every 10 ms, or at other time intervals (e.g., 8 ms). With the above exemplary implementation, by distinguishing between static objects and moving objects in a road environment, a limited transmission bandwidth may be prioritized for transmitting data about moving objects. In this way, the transmission bandwidth may be further utilized efficiently.
The flow of a method 300 for transmitting collection data performed at the server device 110 has been described above, and details of a method for receiving collection data performed at the client device 130 will be described hereinafter with reference to
At block 710, at least one data packet transmitted from the server device 110 may be received at the client device 130. The data packets in at least one of the data packets are generated based on the collection data associated with the at least one object described by the data packet. Referring to
When the server device 110 covers more ranges, for example, there is another ring-shaped third region outside the second region 222, then the client devices in the three regions will receive different numbers of data packets. At this time, the client device located in the first region 220 may receive the first data packet 232, the second data packet 230, and the third data packet about the object located in the third region, and the client located in the second region 222 may receive the second data packet 230 and the third data packet, and the client device located in the third region may receive the third data packet.
At block 720, one of the at least one data packet may be selected. Here, the client device is located in a region associated with the first region in which the at least one object described by the selected data packet is located. It will be understood that since the client device located in the vicinity of the server device 110 not only receives the data packet of interest to itself, but also receives the data packet out of interest for the farther region, and at this time, it is necessary to select the interested data packages therefrom. With the above exemplary implementation, for a vehicle located within a certain region, the client device deployed on the vehicle may select only collection data regarding objects within the region of interest. In this way, the computational resources and time overhead of processing the received broadcast data at the client device may be reduced.
In accordance with an exemplary implementation of the present disclosure, the client device 130 may select a data packet that matches the region where the client device 130 is located based on the signal strength associated with the at least one data packet. It will be appreciated that where the distance between the server device 130 and the client device 110 is constant, the greater the transmission power of the server device 110, the stronger the signal strength received at the client device 130. For the server device 110, when broadcasting a data packet to each of the surrounding regions, the transmission power is gradually increased in accordance with the distance between the region and the server device 110 from near to far. Assuming that the transmission powers of the first data packet 232 and the second data packet 230 are Power1 and Power2 respectively, then Power1<Power2.
For the client device located in the first region 220, the first data packet 232 and the second data packet 230 will be received. At this time, since Power1<Power2, the relationship between the received signal strengths RSSI1 and RSSI2 for the first data packet 232 and the second data packet 230 at the client will be: RSSI1<RSSI2. At this time, by comparing the received signal strengths of the two data packets, it may be determined that the data packet with a small received signal strength is the first data packet 232. In other words, the data packet associated with the smaller strength of the received signal is the data packet of interest to the client device 130. For the client device 130 located in the second region 222, the first data packet 232 does not reach the second region 222 because the transmission power of the first data packet 232 is low. Then, the client device located in the second region 222 may only receive the second data packet 230. With the above exemplary implementation, the data packet of interest may be determined by simply comparing the received signal strength without parsing the contents of the packet.
According to an exemplary implementation of the present disclosure, a data packet of interest may also be selected based on a reception time of a data packet. It will be appreciated that since the server device 110 transmits individual data packets at different points in time, the reception time of each data packet at the client device 130 also corresponds to the transmission time in the order of precedence. It is assumed that each data packet is transmitted one by one at the server device 110 in order from near to far, and waits for the next transmission time after all the data packets have been transmitted. At this time, at the client device 130, the first received data packet is the data packet of interest.
Returning to the example of
Since the vehicle 132 may be in a traveling state, and as the vehicle 132 moves, the distance between the client device 130 at the vehicle 132 and the server device 110 is constantly changing. According to an exemplary implementation of the present disclosure, the received power of the client device 130 may be adjusted based on the change in distance.
As shown in
At block 730, the selected data packet may be parsed to obtain collection data associated with objects in the road environment within the first region. Here, the client device 130 is deployed at the vehicle 132 such that the acquired collection data may be further used to control the travel of the vehicle 132. For example, when the collected data indicates that a pedestrian crossing the road appears in front of the vehicle 132, an auxiliary brake function may be activated, or a voice prompt of “Pay attention to the pedestrian ahead!” or other prompt messages may be played to the driver. For another example, when the collection data indicates that the green light in front of the vehicle 132 has just turned yellow, a speech prompt of “Attention to the front light!” or other prompt messages may be played to the driver.
With the exemplary implementation described above, the collection data from server device 110 may be applied to automatic control of vehicle 132. For an autonomous vehicle, the received collection data may be used with the data collected by the collection device located at the vehicle itself to control the driving state of the vehicle. For a vehicle driven by a human driver, the received data may assist the driver in judging the road conditions around the current vehicle, and then take corresponding measures.
According to an exemplary implementation of the present disclosure, the transmission module 940A includes a determining module configured to determine a transmission power for broadcasting the data packet, and a broadcasting module configured to broadcast the data packet based on the transmission power, such that the data packet is received by the at least one client device.
According to an exemplary implementation of the present disclosure, the determining module includes: a distance determining module, configured to determine a distance range between the at least one client device and the server device based on the region; and a power determining module, configured to determine the transmission power based on the distance range.
According to an exemplary implementation of the present disclosure, the first region is a subset of the region.
According to an exemplary implementation of the present disclosure, the power determining module includes: a transmission factor obtaining module, configured to obtain a transmission factor of a broadcast signal transmitted in the road environment; a distance determining module, configured to determine a maximum distance value in the distance range; a threshold obtaining module, configured to obtain a receiving power threshold of the at least one client device; and a transmission power determining module, configured to determine the transmission power based on the transmission factor, the maximum distance value and the receiving power threshold.
According to an exemplary implementation of the present disclosure, the generating module 930A includes a collecting module, configured to collect traffic command information associated with the road environment; and an updating module, configured to update the data packet based on the traffic command information.
According to an exemplary implementation of the present disclosure, the apparatus 900A further includes: a classifying module, configured to classify the objects in the subset into static objects and moving objects; in which the generating module is further configured to generate a static data packet based on a portion of the collection data associated with the static objects, and to generate a motion data packet based on a portion of the collection data associated with the moving objects; and the transmitting module is further configured to transmit the static data packet with a first transmission frequency and to transmit the motion data packet with a second transmission frequency, the first transmission frequency being lower than the second transmission frequency.
According to an exemplary implementation of the present disclosure, the selecting module 920B is configured to select the data packet based on at least one of: a receiving signal intensity and a receiving time associated with the at least one data packet.
According to an exemplary implementation of the present disclosure, the client device is deployed at a vehicle, and the apparatus further comprises: a controlling module, configured to control traveling of the vehicle based on the collection data.
A plurality of components in the device 1000 are connected to the I/O interface 1005, including: an input unit 1006, such as a keyboard, a mouse, etc.; an output unit 1007, such as various types of displays, speakers, etc.; a storage unit 1008, such as a disk, an optical disk etc.; and a communication unit 1009, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 1009 allows the device 1000 to exchange information/data with other devices via a computer network such as the Internet and/or various telecommunication networks.
The processing unit 1001 performs various methods and processes described above, such as the methods 300 and 600. For example, in some embodiments, the methods 300 and 600 may be implemented as a computer software program that is tangibly included in a machine readable medium, such as a storage unit 1008. In some embodiments, some or all of the computer program may be loaded and/or installed on the device 1000 via the ROM 1002 and/or the communication unit 1009. One or more steps of process 400 described above may be performed when a computer program is loaded into the RAM 1003 and executed by the CPU 1001. Alternatively, in other embodiments, CPU 1001 may be configured to perform the methods 300 and 600 by any other suitable means (e.g., by means of firmware).
According to an exemplary implementation of the present disclosure, a computer readable storage medium having a computer program stored thereon is provided. The method described in this disclosure is implemented when the program is executed by a processor.
The functions described above herein may be performed at least in part by one or more hardware logic components. For example, and without limitations, exemplary types of hardware logic components that may be used include: Field Programmable Gate Arlight (FPGA), Application Specific Integrated Circuit (ASIC), Application Specific Standard Product (ASSP), a system of System on Chip (SOC), Load Programmable Logic Device (CPLD) and the like.
Program codes for implementing the method of the present disclosure may be written in any combination of one or more programming languages. The program codes may be provided to a processor or controller of a general purpose computer, special purpose computer or other programmable data processing apparatus, such that the program code, when executed by the processor or controller, enables the functions/operations specified in the flowcharts and/or block diagrams being implemented. The program codes may be entirely or partly executed on a machine, partly executed as an independent software package on the machine, and partly executed on a remote machine or entirely executed on the remote machine or a server.
In the context of the present disclosure, a machine readable medium may be a tangible medium that may contain or store a program for use by an instruction execution system, apparatus or device or a combination thereof. The machine readable medium may be a machine readable signal medium or a machine readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More specific examples of machine readable storage medium may include electrical connections based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read only memory (ROM), an erasable programmable read only memory (EPROM or flash memory), optical fiber, a portable compact disk read only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
In addition, although the operations are depicted in a particular order, this should be understood to require such operations being performed in the illustrated particular order or in the order successively, or all illustrated operations being performed to achieve the desired results. Multitasking and parallel processing may be advantageous in certain circumstances. Likewise, although several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of the disclosure. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation may be implemented in a plurality of implementations, either individually or in any suitable sub-combination.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Instead, the specific features and acts described above are merely exemplary forms of implementing the claims.
Number | Date | Country | Kind |
---|---|---|---|
201811064053.4 | Sep 2018 | CN | national |