Optical camera communication apparatus and method
10432215 ยท 2019-10-01
Assignee
Inventors
- Sang Ok KIM (Seoul, KR)
- Byung Oh Kim (Suwon-si, KR)
- Sang Ho Yoon (Suwon-si, KR)
- Tae Hoon Lee (Goyang-si, KR)
- Jung Il Han (Seongnam-si, KR)
- Jung Ho Lee (Seoul, KR)
Cpc classification
H03M5/12
ELECTRICITY
H03M5/145
ELECTRICITY
International classification
H03M7/00
ELECTRICITY
H03M5/12
ELECTRICITY
Abstract
The present disclosure in some embodiments provides a transmit data structure and a communication method using the same, which can minimize the loss of the transmit data during the transmission and reception of the transmit data by optical camera communication.
Claims
1. A method of performing an optical camera communication for transmitting a data frame, the method comprising: generating with a processor a synchronization header (SHR) including a preamble used for performing a reception synchronization of the data frame; generating with the processor a physical layer (PHY) header including a header check sequence (HCS) as an error detection code; generating with the processor a PHY payload composed of PHY service data units (PSDUs) including a plurality of data packets; and combining the SHR, the PHY header and the PHY payload with the processor, to form the data frame, wherein the data packets each include a plurality of data subpackets, and wherein the data subpackets each comprise a start frame (SF) signal used for distinguishing the data subpackets from each other, a frame indicator (FI) signal indicating whether each of the data packets is transmitted in odd-numbered order or in even-numbered order, and a payload including transmit data.
2. The method of claim 1, wherein the PHY header further includes a frame repetition (FR) signal indicating whether or not a data packet including same transmit data is repeatedly transmitted.
3. The method of claim 1, wherein the SHR is generated by a 7-bit pseudo-random binary sequence (PRBS).
4. The method of claim 1, wherein the HCS is generated by a CRC-8-CCITT algorithm.
5. The method of claim 1, wherein the transmit data is encoded by Manchester coding scheme.
6. The method of claim 1, further comprising transmitting an optical signal by controlling blinking of an LED light source based on the data frame.
7. An apparatus for optical camera communication for transmitting a data frame, the apparatus comprising: a processor configured to convert the data frame generated by using transmit data into an optical control signal; a communication module configured to control blinking of an LED light source based on the optical control signal, so as to transmit an optical signal; a memory device configured to store the data frame and the optical control signal, wherein the data frame comprises a synchronization header (SHR) including a preamble used for performing a reception synchronization of the data frame, a physical layer (PHY) header including a header check sequence (HCS) as an error detection code, and a PHY payload composed of PHY service data units (PSDUs) including a plurality of data packets, and wherein each of the data packets comprises a plurality of data subpackets each including a start frame (SF) signal used for distinguishing the data subpackets from each other, a frame indicator (FI) signal indicating whether each of the data packets is transmitted in odd-numbered order or in even-numbered order, and a payload including transmit data.
8. The apparatus of claim 7, wherein the PHY header further includes a frame repetition (FR) signal indicating whether or not a data packet including a same transmit data is repeatedly transmitted.
9. The apparatus of claim 7, wherein the SHR is generated by a 7-bit pseudo-random binary sequence (PRBS).
10. The apparatus of claim 7, wherein the HCS is generated by a CRC-8-CCITT algorithm.
11. The apparatus of claim 7, wherein the transmit data is encoded by Manchester coding scheme.
12. The method of claim 1, further comprising: generating the SHR with an SHR generating circuit of the processor composed of a linear feedback shift register and an exclusive OR (XOR) component by a generator polynomial of a 7-bit pseudo-random binary sequence (PRBS); and generating the HCS with an HCS coding circuit of the processor composed of a linear feedback shift register and an exclusive OR (XOR) component by a generator polynominal of a CRC-8-CCITT algorithm.
13. The method of claim 12, wherein: the generator polynomial of the 7-bit PRBS of the SHR generating circuit is g(x)=x.sup.7+x.sup.6+1; and the generator polynomial of the CRC-8-CCITT algorithm of the HCS coding circuit is g(x)=x.sup.8+x.sup.2+x+1.
14. The apparatus of claim 7, wherein: the SHR is generated with an SHR generating circuit of the processor composed of a linear feedback shift register and an exclusive OR (XOR) component by a generator polynomial of a 7-bit pseudo-random binary sequence (PRBS); and the HCS is generated with an HCS coding circuit of the processor composed of a linear feedback shift register and an exclusive OR (XOR) component by a generator polynominal of a CRC-8-CCITT algorithm.
15. The apparatus of claim 14, wherein: the generator polynomial of the 7-bit PRBS of the SHR generating circuit is g(x)=x.sup.7+x.sup.6+1; and the generator polynomial of the CRC-8-CCITT algorithm of the HCS coding circuit is g(x)=x.sup.8+x.sup.2+x+1.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION
(10) The present disclosure in some embodiments seeks to provide a transmit data structure and a communication method using the same, which can minimize the loss of transmit data occurring during the transmission and reception of data by optical camera communication.
(11) Hereinafter, at least one embodiment of the present disclosure will be described in detail with reference to the accompanying drawings. In the following description, like reference numerals designate like elements, although the elements are shown in different drawings. Further, in the following description of the at least one embodiment, a detailed description of known functions and configurations incorporated herein will be omitted for the purpose of clarity and for brevity.
(12) Additionally, various terms such as first, second, A, B, (a), (b), etc., are used solely for the purpose of differentiating one component from the other, but not to imply or suggest the substances, the order or sequence of the components. Throughout this specification, when a part includes or comprises a component, the part is meant to further include other components, not excluding thereof unless specifically stated to the contrary. The terms such as unit, module, and the like refer to units for processing at least one function or operation, which may be implemented by hardware, software, or a combination thereof.
(13)
(14) Referring to
(15) The ideal global-shutter operation shown in
(16) The ideal rolling-shutter operation shown in
(17) In addition to the irregular sampling time of the optical camera described above referring to
(18) Therefore, the present disclosure in some embodiments provides a transmit data structure which minimizes such data loss that can actually occur in the optical camera communication using the rolling-shutter operation.
(19)
(20) Referring to
(21) The transmitter 310 is adapted to convert transmit data into an optical signal and to transmit the optical signal, and it may include a processor 311, a communication module 313 and a memory device 315.
(22) The transmitter 310 may be in the form of either a mobile or stationary terminal that includes at least one light source, for example, an light emitting diode (LED), an organic LED (OLED), a cold cathode fluorescent lamp (CCFL), or the like, or that can control an external light source outside of the transmitter 310.
(23) According to at least one embodiment, the processor 311 may encode the transmit data by Manchester coding scheme and convert it so as to have a specific transmission structure. Here, the process of encoding and converting transmit data will be described in detail later with reference to
(24) The communication module 313 may operate, based on the transmit data encoded and converted by the processor 311, to blink the light source inside or outside the transmitter 310, and thereby transmit an optical signal. At this time, the communication module 313 may control the blinking frequency of the light source, corresponding to the sampling rate of the receiver 330 (that is, the shutter speed of the optical camera). In particular, the communication module 313 may maintain the lighting function of the light source by controlling the frequency of blinking the light source to 100 Hz or more, which cannot be recognized by a person.
(25) The memory device 335 may include a volatile memory (e.g., DRAM) and/or a nonvolatile memory (e.g., NAND flash memory), and it may store the transmit data input via the communication module 313 and the transmit data encoded and converted by the processor 311.
(26) The receiver 330 is adapted to obtain transmit data from the received optical signal, and it may include a communication module 331, a processor 333 and a memory device 335.
(27) The receiver 330 may be in the form of a mobile terminal such as a smartphone or a digital camera, including a camera, in particular an image sensor, or a stationary terminal such as closed circuit television (CCTV).
(28) The communication module 331 may receive the optical signal and may include the image sensor of the optical camera 130 described above with reference to
(29) The processor 333 may convert the received optical signal into transmit data. According to some embodiments, the processor 333 may decode the transmit data by the Manchester coding scheme.
(30) The memory device 335 may include a volatile memory (e.g., DRAM) and/or a nonvolatile memory (e.g., NAND flash memory), and it may store the transmit data that are converted and decoded by the processor 333.
(31) The following will detail, referring to
(32)
(33) Referring to
(34) According to embodiments, the data frame 410 may be composed of 68 information units. Here, in case where the Manchester coding scheme is used as the encoding method, one information unit may be composed of 2 bits and is as follows.
(35) The data frame 410 may include an SHR 411, a PHY header 413 and a PHY payload 415.
(36) The SHR 411 may be a pseudo random binary sequence (PRBS), including a preamble used for synchronizing the received data frame 410. According to some embodiments, the SHR 411 may be composed of 14 units, and the specific method of generating SHR 411 will be described below with reference to
(37) The preamble includes signaling information representative of whether or not the data frame 410 is transmitted and of the start position of the data frame 410. The preamble may be composed of a bit string having a preset pattern.
(38) The PHY header 413 may include control information on the physical layer of the optical camera communication system, and a header check sequence (HCS). Here, the control information may include information on the size of the information unit and the coding scheme used. The HCS may be composed of at least one bit, serving as an error detecting code used for determining whether or not a transmission error has occurred in the PHY header 413. According to some embodiments, the HCS may be composed of 8 bits, and a specific method of generating the HCS will be described below with reference to
(39) According to embodiments, the PHY header 413 may be composed of 20 units and may further include a frame repetition (FR) signal. Here, the FR signal includes binary information indicating whether to repeatedly transmit data packets 421, 423 and 425 to be described later, and the FR signal may be formed of at least one bit.
(40) For example, a 1-bit FR signal having a value 1 may indicate that there is at least one data packet pair present for each transmit data, and a 1-bit FR signal having a value 0 may indicate that there is one data packet for each transmit data. More specifically, referring to
(41) The PHY payload 415 may include a PHY service data unit (PSDU) including transmit data actually transmitted and received from and to an upper layer than the physical layer. According to some embodiments, the PHY payload 415 may be composed of 34 units, in order to remove flicker, it may be encoded by using Manchester coding scheme. Here, the coding scheme of the PHY payload 410 may be included in the above-described PHY header 413 as control information on the physical layer.
(42) The PSDU may include at least one of data packets 421, 423 and 425. Although
(43) When a data packet is repeatedly transmitted (for when the aforementioned 1-bit FR signal value is 1), the paired data packets 421 and 423 may include the same transmit data. Conversely, when a data packet is not repeatedly transmitted (for when the aforementioned 1-bit FR signal value is 0), the data packets 421 to 423 may each contain different transmit data.
(44) Each of the data packets 421, 423 and 425 may then include a plurality of data subpackets 431 to 439. The plurality of data subpackets 431 to 435 belonging to the same data packet 423 may contain the same transmit data.
(45) According to embodiments, each of the data packets 421 to 425 may include four (4) data subpackets. Here, the number 4 is a value determined experimentally in order to minimize signal loss in the communication environment where an optical camera without optical zoom function is distanced by 3 m or more from the LED light source and thereby looses or more of the data frame received.
(46) In this case, when the data packet is repeatedly transmitted (that is, the value of the 1-bit FR signal is 1), the same transmit data is repeatedly transmitted a total of 8 times (=42). This way of repeated transmitting of the same transmit data in this manner can minimize the loss of the signal of the transmit data due to the irregular sampling rate of the optical camera 130.
(47) With a test conducted in the communication environment where the blinking frequency of the LED light source is 2.025 KHz and the shutter speed of the optical camera is 30 fps (frame per second), when the same transmit data was repeatedly transmitted eight times, the data transfer rate was 130 bps (bit per second).
(48) Each of the data subpackets 431 to 439 may include a start frame (SF) signal 441, a frame indicator (FI) signal 443 and a payload signal 445.
(49) The SF signal 441 may be a bit string having a preset pattern, signaling the start of a payload by distinguishing each of the data subpackets 431 to 439. According to some embodiments, the SF signal 441 may be composed of 7 bits having uniform bit values of 1s (i.e., 1111111). In the communication environment where the SHR 411 or the PHY header 413 may not be transmitted and received without an error, the SF signal 441 may be used for distinguishing between the data subpackets 431 to 439 including the transmit data.
(50) The FI signal may include information on the transmission order of the data packets 421 to 425. According to some embodiments, the FI signal 443 may be composed of one bit, including binary information indicating whether the transmission order of the data packets 421 to 425 is an odd or even number. Specifically, the 1-bit FI signal 443 of the data packet transmitted in odd-numbered order may have the bit value of 0, and the 1-bit FI signal 443 of the data packet transmitted in even-numbered order may have the bit value of 1. In this case, in
(51) In order to distinguish between the respective data subpackets 431 to 439 in the received data frame 410, the processor 333 mentioned above referring to
(52) In addition, the payload 445 includes transmit data, and it may be encoded by the Manchester coding scheme.
(53)
(54) Referring to
(55) The SHR generation unit 510 may generate an SHR including a preamble for reception synchronization of a data frame. A specific method of generating an SHR will be described below with reference to
(56) The PHY header generation unit 530 may generate a PHY header including control information on the physical layer of the optical camera communication system, and an HCS. Here, the control information may include information on an information unit indicator and information on the encoding scheme used. The HCS may be used for determining whether or not a transmission error has occurred in the PHY header during the transmission and reception of the transmit data. According to embodiments, the PHY header may further include a frame repetition (FR) signal including binary information indicating whether or not the data packets 421 to 425 are repeatedly transmitted. A specific method of generating the PHY header will be described with reference to
(57) The PHY payload generation unit 550 may generate the PHY payload by encoding the transmit data. Here, the PHY payload includes a plurality of data packets, and each of the data packets may include a plurality of data subpackets. The data subpacket may be composed of an SF signal for distinguishing between data subpackets, an FI signal for distinguishing repeatedly transmitted data packets, and a payload signal including encoded transmit data.
(58) The combining unit 560 may synthesize or combine the SHR, the PHY header and the PHY payload to generate a data frame.
(59)
(60) Referring to
(61) When the initial state of the SHR generating circuit is 0x02, the bit value of the generated SHR may be 0000110 0000110.
(62)
(63) The HCS is a signal used for determining whether or not a transmission error has occurred in the PHY header, and it may be composed of at least one bit.
(64) Referring to
(65)
(66) In Step S801, the communication module 313 may receive an input of transmit data. Then, the transmit data may be stored in the memory device 315.
(67) In Step S803, the processor 311 may encode the transmit data using the Manchester coding scheme. The encoded transmit data may then be stored in the memory device 315.
(68) In Step S805, the processor 311 may convert the encoded transmit data so as to have the transmit data structure according to some embodiments. Specifically, the processor 311 may generate a data frame by generating the SHR header, the PHY header and the PHY payload, respectively, and synthesizing(or combining) them. Then, the generated data frame may be stored in the memory device 315. The transmit data structure according to some embodiments is as described above with reference to
(69) In Step S807, the processor 311 may convert the data frame into an optical control signal. As a specific example, the processor 311 may generate an optical control signal that turns on the LED light source (on state) in response to bit value 1 in the encoded data frame, and turns off the LED light source (off state) in response to bit value 0 in the encoded data frame. Then, the generated optical control signal may be stored in the memory device 315.
(70) In Step S809, the communication module 313 may control the blinking of the light source inside or outside the transmitter 310 based on the optical control signal generated in Step S807, so as to output the optical signal.
(71)
(72) In Step S901, the communication module 331 may receive the optical signal output from the transmitter 310. The communication module 331 may receive the optical signal by releasing the shutter of the optical camera at a preset speed (for example, 30 fps). According to some embodiments, the shutter releasing of the optical camera may employ a rolling shutter system.
(73) In Step S903, the processor 333 may convert the optical signal received in Step S901 into a data frame based on a predetermined time interval of LED on/off.
(74) In Step S905, the processor 333 may detect the transmit data from the data frame converted in step S903. Then, the detected transmit data may be stored in the memory device 315.
(75) In Step S907, the processor 333 may decode the transmit data detected in step S905. According to some embodiments, the processor 333 may decode the transmit data by using the Manchester coding scheme. Then, the decoded transmit data may be stored in the memory device 315.
(76) In Step S909, the communication module 331 may output the transmit data decoded in Step S907 to a data reading device (not shown). Then, the transmit data read by the data reading device may be visually displayed to the user via a display device (not shown) or the like.
(77) Although the multiple steps in
(78) The steps shown in
(79) The optical camera communication system using the transmit data structure according to some embodiments as described above can minimize transmit data loss which increases in proportion to the distance between the LED light source and the optical camera. Further, the optical camera communication system using the transmit data structure according to some embodiments provides a reception synchronization processor for the transmit data with minimal complexity.
(80) Although exemplary embodiments of the present disclosure have been described for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the various characteristics of the disclosure. Therefore, exemplary embodiments of the present disclosure have been described for the sake of brevity and clarity. Accordingly, one of ordinary skill would understand the scope of the disclosure is not limited by the explicitly described above embodiments but by the claims and equivalents thereof.