WO2021006433A1 - 광학 카메라 통신 시스템의 통신 방법 및 장치 - Google Patents

광학 카메라 통신 시스템의 통신 방법 및 장치 Download PDF

Info

Publication number
WO2021006433A1
WO2021006433A1 PCT/KR2019/016595 KR2019016595W WO2021006433A1 WO 2021006433 A1 WO2021006433 A1 WO 2021006433A1 KR 2019016595 W KR2019016595 W KR 2019016595W WO 2021006433 A1 WO2021006433 A1 WO 2021006433A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
occ
mapping
bit
symbol
Prior art date
Application number
PCT/KR2019/016595
Other languages
English (en)
French (fr)
Inventor
장영민
응웬반장
득 디오밍
응웬위이응옥
팜퉁럼
Original Assignee
국민대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020190082316A external-priority patent/KR102065888B1/ko
Priority claimed from KR1020190133299A external-priority patent/KR102136497B1/ko
Priority claimed from KR1020190133298A external-priority patent/KR102136496B1/ko
Application filed by 국민대학교산학협력단 filed Critical 국민대학교산학협력단
Priority to US17/625,662 priority Critical patent/US11979193B2/en
Publication of WO2021006433A1 publication Critical patent/WO2021006433A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/50Transmitters
    • H04B10/516Details of coding or modulation
    • H04B10/548Phase or frequency modulation
    • H04B10/556Digital modulation, e.g. differential phase shift keying [DPSK] or frequency shift keying [FSK]
    • H04B10/5561Digital phase modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/11Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
    • H04B10/114Indoor or close-range type systems
    • H04B10/116Visible light communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/11Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
    • H04B10/114Indoor or close-range type systems
    • H04B10/1141One-way transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/50Transmitters
    • H04B10/516Details of coding or modulation
    • H04B10/524Pulse modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/50Transmitters
    • H04B10/516Details of coding or modulation
    • H04B10/548Phase or frequency modulation
    • H04B10/556Digital modulation, e.g. differential phase shift keying [DPSK] or frequency shift keying [FSK]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/60Receivers
    • H04B10/66Non-coherent receivers, e.g. using direct detection
    • H04B10/67Optical arrangements in the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/22Adaptations for optical transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system

Definitions

  • the present invention relates to a method of transmitting and receiving signals using optical camera communication (OCC), and more particularly, to a method of modulating and transmitting an OCC signal, and a method of demodulating a received OCC signal.
  • OCC optical camera communication
  • VLC Visible Light Communication
  • IEEE 802.15.7 is mainly limited to data transmission using a photo diode (PD)
  • PD photo diode
  • OCC Optical Camera Communications
  • OCC due to the nature of remote communication using light and camera, can be greatly affected by external environments in signal transmission and reception, modulation and demodulation, etc. Accordingly, there is a need for a method for improving the quality of communication by improving the modulation/demodulation performance of a signal in an OCC system.
  • An object of the present invention for solving the above problems is to provide a method for modulating and demodulating an optical camera communication signal for improving the performance of an optical camera communication system.
  • a transmitting node includes a processor, a memory in which one or more instructions executed by the processor are stored, and a plurality of light emitting diodes (LEDs) blinking according to instructions executed by the processor. It may include an LED array (array) comprising, the one or more instructions, orthogonal frequency division multiplexing (orthogonal frequency division multiplexing) modulating data to generate a data frame, and the LED based on the data frame It is executed to transmit the data frame to the receiving node by blinking the LEDs included in the array, the data frame includes a preset number of data sub-frames, each of the preset number of data sub-frames May include the same sequence number and the same payload.
  • the one or more commands may be further executed to receive a response message including information that oversampling has occurred from the receiving node, and to reduce the number of data subframes.
  • the response message may further include information on a shooting period of the camera included in the receiving node, and the one or more commands include the shooting period indicated by the response message as a transmission period of the data subframes. It may be further executed to set the number of the data subframes to a value greater than or equal to the divided value.
  • the one or more commands receive a response message including information on the number of pixels per bit of an image among images taken by a camera included in the receiving node from the receiving node, and the size of the LED array And setting a size of the data subframe based on the number of pixels per bit, wherein the data subframe size is less than or equal to a value obtained by dividing the size of the LED array by the number of pixels indicated in the response message. Can be a value.
  • a receiving node is a processor.
  • a memory in which one or more instructions executed by the processor are stored, and a camera for photographing images in a blinking state of a light emitting diode array of a transmitting node according to the instruction executed by the processor, and ,
  • the one or more commands include a preset number of data subframes each including the same sequence number and the same payload, from images in the blinking state of the LED array. It is possible to obtain a plurality of data frames, and it is possible to determine whether oversampling has occurred by comparing the frame rate of the camera and the blinking rate of the LED array.
  • the data subframes By comparing sequence numbers, data subframes including different sequence numbers may be obtained, and payloads included in data subframes including different sequence numbers may be obtained, and the payloads may be converted to the sequence number. It may be executed to decode the data frames by merging in the order of.
  • the one or more commands may be further executed to transmit a response message including information that the oversampling has occurred to the transmitting node.
  • the one or more commands receive a response message including information indicating the size of the LED array included in the transmitting node from the transmitting node, and a pixel per bit of an image taken by the camera.
  • the size of the data subframe is the size of the LED array indicated in the response message. It may be less than or equal to a value divided by the number of pixels.
  • the one or more instructions may be further executed to set the number of pixels in proportion to the period of the reference clock of the processor and inversely proportional to the frame rate of the camera.
  • a receiving node includes a processor, a memory in which one or more instructions executed by the processor are stored, and an LED array of the transmitting node according to the instructions executed by the processor.
  • Diode array may include a camera for photographing images in the blinking state, and the one or more commands are, respectively, the same sequence number and the same payload from the blinking state images of the LED array. Acquires a plurality of data frames including a preset number of data subframes including, and compares the frame rate of the camera and the flashing rate of the LED array to determine whether under-sampling occurs.
  • the one or more commands may be further executed to re-receive the missing data frame indicated in the retransmission request message from the transmitting node and to demodulate the data frame re-received from the transmitting node.
  • the one or more commands may be further executed to obtain data by merging the result of demodulating the acquired data frames and the result of demodulating the data frame re-received from the transmitting node.
  • the one or more commands receive a response message including information indicating the size of the LED array included in the transmitting node from the transmitting node, and the number of pixels per bit of an image taken by the camera And set the size of the data subframe based on the size of the LED array and the number of pixels per status bit, the size of the data subframe is the size of the LED array indicated in the response message. It may be less than or equal to the value divided by the number of pixels.
  • the one or more instructions may be further executed to set the number of pixels in proportion to the period of the reference clock of the processor and inversely proportional to the frame rate of the camera.
  • a method of modulating an OCC signal by an OCC transmitting node transmitting an optical camera communication (OCC) signal includes obtaining a binary data signal, and converting the binary data signal to k bits. Grouped in increments from 0 Converting to a global phase shift signal having an integer value of up to, based on a preset symbol group mapping table, the global phase shift signal Generating a data signal group by mapping to a first to M-th mapping sequence in the form of a bit sequence, generating a pulse wave signal by modulating the data signal group, and included in the OCC transmission node according to the pulse wave signal.
  • OCC optical camera communication
  • a connection relationship between the global phase shift signal having an integer value of up to and the first to M-th mapping sequences is represented, and k and n are integers of 3 or more.
  • the first to M-th mapping sequences are n bits each as a bundle, With n-bit bundles It may be characterized in that it is formed in the form of a bit sequence.
  • N-bit bundles have a value of 0 and the first To Mth mapping sequence, one n-bit bundle has a value of 0 N-bit bundles may be characterized as having a value of 1.
  • the k and n are 3, and the symbol group mapping table includes a connection relationship between the global phase shift signal having an integer value from 0 to 7 and the first to eighth 3-symbol sequences, and the first to eighth A connection relationship between the 3-symbol sequence and the first to eighth mapping sequences may be further shown, and the first to eighth 3-symbol sequences may be generated to have three symbols, respectively.
  • the first 3-symbol sequence is generated to have three symbols set to 1
  • the second to fourth 3-symbol sequences are generated to have one symbol set to 5 and two symbols set to 0, respectively.
  • the fifth to seventh 3-symbol sequences are generated to have one symbol set to 1 and two symbols set to 4, respectively
  • the eighth 3-symbol sequence is generated to have three symbols set to 5. It can be characterized by being.
  • the first to eighth mapping sequences are characterized in that each symbol of the first to eighth 3-symbol sequence is mapped into signals of 4 bits according to the following table, and each is generated in the form of a 12-bit sequence. I can.
  • the first To M-th mapping sequence the first to the first to It may be characterized in that it is generated by applying a NOT operation to the mapping sequence.
  • the symbol group mapping table may be formed such that a minimum hamming distance between the first to M-th mapping sequences is 2n.
  • a method of modulating an OCC signal by an OCC transmitting node transmitting an optical camera communication (OCC) signal is performed by blinking a plurality of light sources included in an OCC transmitting node transmitting an OCC signal.
  • OCC optical camera communication
  • the symbol group mapping table from 0 to the symbol group mapping table Represents a connection relationship between the global phase shift signal having an integer value of up to and the first to Mth mapping sequences, and To M-th mapping sequence, the first to the first to It may be characterized by being generated by applying a NOT operation to the mapping sequence.
  • the symbol group mapping table may be formed such that a minimum hamming distance between the first to M-th mapping sequences is 2n.
  • the obtaining of the global phase shift signal from the data signal group may include determining whether the data signal group matches any one of the first to Mth mapping sequences, and the data signal group is the first to the first When it matches any one of the M mapping sequences, converting the data signal group into a global phase shift signal connected to the mapping sequence matching the data signal group.
  • the obtaining of a global phase shift signal from the data signal group may include determining whether the data signal group matches any one of the first to Mth mapping sequences, and the data signal group is the first to the first If it does not match any one of the M mapping sequences, correcting an error of the data signal group based on a Hamming distance between the data signal group and the first to M-th mapping sequences, the error-corrected data signal group Generating and re-determining whether the error-corrected data signal group matches any one of the first to M-th mapping sequences, and correcting the error of the data signal group comprises: It may be characterized in that it is performed by an artificial neural network of the OCC receiving node.
  • the OCC signal demodulation method includes: after correcting an error in the data signal group, calculating error information between the data signal group transmitted by the OCC signal transmission node and the data signal group in which the error is corrected; And updating a weight vector of the artificial neural network by back-propagating the error information.
  • an OCC transmission node that transmits an optical camera communication (OCC) signal is executed by a processor, a plurality of light sources operating under the control of the processor, and the processor. And a memory in which one or more instructions are stored, and the one or more instructions obtain a binary data signal, group the binary data signal by k bits, Converts to a global phase shift signal having an integer value of up to, and based on a preset symbol group mapping table, the global phase shift signal is A data signal group is generated by mapping to the first to M-th mapping sequence in the form of a bit sequence, and a pulse wave signal is generated by modulating the data signal group, and each of the plurality of light sources blinks according to the pulse wave signal. And the symbol group mapping table starts from 0 A connection relationship between the global phase shift signal having an integer value of up to and the first to M-th mapping sequences is represented, and k and n are integers of 3 or more.
  • the first to M-th mapping sequences are n bits each as a bundle, With n-bit bundles Is formed in the form of a bit sequence, and the first to the first In the mapping sequence, one n-bit bundle has a value of 1. N-bit bundles have a value of 0 and the first To Mth mapping sequence, one n-bit bundle has a value of 0 N-bit bundles may be characterized as having a value of 1.
  • the symbol group mapping table includes a connection relationship between the global phase shift signal having an integer value from 0 to 7 and the first to eighth 3-symbol sequences ; And a connection relationship between the first to eighth 3-symbol sequences and the first to eighth mapping sequences, wherein the first to eighth 3-symbol sequences are generated to have three symbols, respectively. can do.
  • the first 3-symbol sequence is generated to have 3 symbols set to 1, and the second to fourth 3-symbol sequences are 1 symbol set to 5 and 2 symbols set to 0, respectively. Is generated to have three symbols, the fifth to seventh 3-symbol sequence is generated to have one symbol set to 1 and two symbols set to 4, respectively, and the eighth 3-symbol sequence is set to 5 It is generated to have three symbols, and the first to eighth mapping sequences map each symbol of the first to eighth 3-symbol sequence to signals of 4 bits according to the following table, and each of 12 bits It may be characterized in that it is generated in the form of a sequence.
  • the first To M-th mapping sequence the first to the first to It may be characterized in that it is generated by applying a NOT operation to the mapping sequence.
  • a method for demodulating an OCC signal by an OCC receiving node that receives an optical camera communication (OCC) signal and includes a camera, an image processing unit, a filter unit, and a data extraction unit, A photographing step in which the camera continuously photographs the blinking state of the light source to generate a plurality of image frames, the image processing unit receiving the plurality of image frames from the camera, and generating a brightness signal sequence from each of the plurality of image frames.
  • the filter unit includes a match filter
  • the detecting step includes: generating an inversion sequence having the same length as the brightness signal sequence, performing a convolution operation on the brightness signal sequence and the inversion sequence, and from a result of the convolution operation It may be characterized in that it comprises the step of detecting the bit sequence.
  • the detecting of the bit sequence from a result of the convolution operation may include detecting the bit sequence based on a point having a maximum value as a result of the convolution operation.
  • the generating of the inversion sequence may be characterized in that the inversion sequence is generated based on a table set in advance according to a 4B6B encoding method.
  • Generating the inversion sequence may be characterized in that the inversion sequence is generated based on a table set in advance according to a Manchester encoding method.
  • the extracting step includes a restoring step of restoring a transmission payload from the bit sequence and extracting data from the transmit payload, and the restoring step includes detecting a start frame from the bit sequence, the start Detecting a later asynchronous bit at a front end of the frame, detecting a front end asynchronous bit at a rear end of the start frame, comparing values of the preceding and following asynchronous bits, and determining a transmission payload based on the preceding and following asynchronous bits. It may be characterized in that it comprises a step of restoring.
  • the restoring may include merging a plurality of payloads included in the plurality of consecutive bit sequences when a first or second asynchronous bit having the same value is included in the plurality of consecutive bit sequences. It may be characterized in that the transmission payload is restored.
  • the transmission payload is restored by merging a plurality of payloads included in the one bit sequence. You can do it.
  • an apparatus for demodulating an OCC signal provided in a receiving node for receiving an optical camera communication (OCC) signal includes a processor, a memory storing one or more instructions executed by the processor, and a camera. , An image processing unit, a filter unit, and a data extracting unit, wherein the one or more commands are generated by the camera by continuously photographing the blinking state of the light source to generate a plurality of image frames, and by the image processing unit, in the camera The generated plurality of image frames may be executed to generate a brightness signal sequence, detect a bit sequence from the brightness signal sequence by the filter unit, and extract data from the bit sequence by the data extraction unit.
  • OCC optical camera communication
  • the one or more commands are generated from a result of the convolution operation by generating an inversion sequence having the same length as the brightness signal sequence by a match filter included in the filter unit, and performing a convolution operation on the brightness signal sequence and the inversion sequence. It may be characterized in that it is further executed to detect the bit sequence.
  • the one or more instructions may be further executed by the match filter to detect the bit sequence based on a point having a maximum value as a result of the convolution operation.
  • the one or more instructions may be further executed to generate the inversion sequence based on a table preset according to a 4B6B encoding method by the match filter.
  • the one or more instructions may be further executed to generate the inversion sequence based on a table preset according to a Manchester encoding method by the match filter.
  • the one or more commands may be configured by the data extraction unit to detect a rear asynchronous bit of a front end of the start frame and a front asynchronous bit of a rear end of the start frame included in the bit sequence, It may be characterized in that it is further executed to restore the load.
  • the one or more commands are included in the plurality of consecutive bit sequences when a first or second asynchronous bit having the same value is included in a plurality of consecutive bit sequences by the data extraction unit. It may be characterized in that further executed to recover the transmission payload by merging a plurality of payloads.
  • the one or more commands are, by the data extracting unit, when a first or second asynchronous bit having the same value is included in one of the bit sequence, a plurality of payloads included in the one bit sequence are merged and the It may be characterized in that the transmission payload is restored.
  • a data frame in a communication system is composed of a plurality of data subframes including the same sequence number, loss of transmitted data is reduced even if undersampling or oversampling occurs according to a change in camera frame rate of a receiving node. Can be prevented.
  • binary data is converted into a data signal group, but by converting based on a preset symbol group mapping table such that the minimum Hamming distance between groups is 2n under a code rate 1/n condition, OCC signal decoding performance And it is possible to improve the error correction performance by artificial intelligence.
  • an ideal indoor environment condition is achieved.
  • the OCC signal can be effectively received and demodulated.
  • FIG. 1 is a conceptual diagram showing a communication system according to a first embodiment of the present invention.
  • FIG. 2 is a block diagram showing a communication node constituting the communication system according to the first embodiment of the present invention.
  • FIG. 3 is a block diagram showing a transmission module included in a communication node in the communication system according to the first embodiment of the present invention.
  • FIG. 4 is a block diagram showing a transmission processing unit included in a transmission module in the communication system according to the first embodiment of the present invention.
  • FIG. 5 is a conceptual diagram showing a data frame in the communication system according to the first embodiment of the present invention.
  • FIG. 6 is a block diagram showing a receiving module included in a receiving node in the communication system according to the first embodiment of the present invention.
  • FIG. 7 is a block diagram illustrating a data acquisition unit included in a reception module in the communication system according to the first embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a method of transmitting and receiving data in a communication system according to a first embodiment of the present invention.
  • FIG. 9 is a conceptual diagram showing a decoding method in the communication system according to the first embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a data transmission/reception method in a communication system according to Embodiment 1-2 of the present invention.
  • FIG. 11 is a conceptual diagram illustrating a method of detecting a missing data frame in a communication system according to the first embodiment of the present invention.
  • OCC optical camera communication
  • FIG. 13 is a flowchart illustrating an OCC signal transmission operation of an OCC transmission node according to a second embodiment of the present invention.
  • FIG. 14 is a flowchart illustrating an operation of receiving an OCC signal by an OCC receiving node according to a second embodiment of the present invention.
  • 15 is a flowchart illustrating an error correction operation of an OCC receiving node according to a second embodiment of the present invention.
  • 16 is a conceptual diagram illustrating an artificial neural network included in an OCC receiving node according to a second embodiment of the present invention.
  • 17 is a graph for explaining the effect of the error correction operation of the OCC receiving node according to the second embodiment of the present invention.
  • OCC optical camera communication
  • 19 is a structural diagram schematically showing a structure of a data packet transmitted and received in an OCC system according to a third embodiment of the present invention.
  • FIG. 20 is a diagram showing the principle of a method for extracting and restoring data in an OCC system according to a third embodiment of the present invention.
  • 21 is a flowchart schematically showing an OCC communication method according to a third embodiment of the present invention.
  • FIG. 22 is a flowchart schematically illustrating a method of detecting a bit sequence of a filter unit according to a third embodiment of the present invention.
  • FIG. 23 is a flowchart schematically illustrating a method of extracting data by a data extracting unit according to Embodiment 3-1 of the present invention.
  • FIG. 24 is a flowchart schematically illustrating a method of extracting data by a data extracting unit according to Embodiment 3-2 of the present invention.
  • 25 and 26 are graphs for explaining a problem of a method of detecting a bit in a reception node of a conventional OCC system.
  • FIG. 27 is a graph for explaining a method of detecting a bit in a receiving node of an OCC system according to a third embodiment of the present invention.
  • first and second may be used to describe various components, but the components should not be limited by the terms. These terms are used only for the purpose of distinguishing one component from another component.
  • a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element.
  • the term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
  • a communication system to which embodiments according to the present invention are applied will be described.
  • the communication system to which the embodiments according to the present invention are applied is not limited to the contents described below, and the embodiments according to the present invention can be applied to various communication systems.
  • the communication system may be used with the same meaning as a communication network.
  • FIG. 1 is a conceptual diagram showing a communication system according to a first embodiment of the present invention.
  • a communication system may include a plurality of communication nodes 110 and 120.
  • the plurality of communication nodes 110 and 120 may perform communication using communication methods specified in the Institute of Electrical and Electronics Engineers (IEEE) 802.15.7 (eg, IEEE 802.15.7m).
  • IEEE Institute of Electrical and Electronics Engineers
  • each of the plurality of communication nodes 110 and 120 may include an LED (Light Emitting Diode) and a camera, and may transmit a signal by blinking the LED, and to the blinking state of the LED photographed by the camera. The signal can be acquired based on it.
  • Each of the plurality of communication nodes 110 and 120 may be a sensor node, an Internet of Things (IoT) node, a smart phone, or the like.
  • IoT Internet of Things
  • Each of the plurality of communication nodes 110 and 120 may have the following structure.
  • FIG. 2 is a block diagram showing a communication node constituting the communication system according to the first embodiment of the present invention.
  • the communication node 200 may include a processor 210, a memory 220, a transmission module 230, and a reception module 240.
  • the communication node 200 may further include a storage device 250 and the like.
  • Each of the components included in the communication node 200 may be connected by a bus 260 to perform communication with each other.
  • each of the components included in the communication node 200 may be connected through an individual interface or an individual bus based on the processor 210 instead of the common bus 260.
  • the processor 210 may be connected to at least one of the memory 220, the transmission module 230, the reception module 240, and the storage device 250 through a dedicated interface.
  • the processor 210 may execute a program command stored in at least one of the memory 220 and the storage device 250.
  • the processor 210 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to embodiments of the present invention are performed.
  • Each of the memory 220 and the storage device 250 may be configured with at least one of a volatile storage medium and a nonvolatile storage medium.
  • the memory 220 may be formed of at least one of a read only memory (ROM) and a random access memory (RAM).
  • the transmission module 230 may include an LED array and may operate under the control of the processor 210.
  • the receiving module 240 may include a camera and may operate under the control of the processor 210.
  • the transmission module 230 may be configured as follows.
  • FIG. 3 is a block diagram showing a transmission module included in a communication node in the communication system according to the first embodiment of the present invention.
  • the transmission module 300 may include a communication unit 310, a transmission processing unit 320, a dimming control unit 330, and an LED array 340.
  • the transmission module 300 may be configured similar to or identical to the transmission module 230 of FIG. 2.
  • the communication unit 310 may communicate with the receiving module 600 (see FIG. 6 ).
  • the communication unit 310 may transmit a response message including specific information (eg, a response message including information indicating the size of the LED array 340) to the receiving module 600, and the receiving module 600
  • a response message including specific information eg, a response message including information on which oversampling has occurred in the receiving module 600
  • the transmission processing unit 320 may process the input signal using an orthogonal frequency division multiplexing (OFDM) scheme.
  • OFDM orthogonal frequency division multiplexing
  • the transmission processing unit 320 may be configured as follows.
  • FIG. 4 is a block diagram showing a transmission processing unit included in a transmission module in the communication system according to the first embodiment of the present invention.
  • the transmission processing unit 400 includes a serial to parallel converter unit 410, a Forward Error Correction encoder 420, an SN insertion unit 430, and QAM unit (Quadrature Amplitude Modulation unit, 440), mapping unit 450, IFFT (Inverse Fast Fourier Transform) unit 460, CP addition unit (cyclic prefix add unit, 470) and parallel/serial conversion unit (parallel series converter) unit 480 and a data frame generation unit 490.
  • a unit may mean a means, an entity, an apparatus, etc. for performing a specific function.
  • a serial bit stream may be input to the serial/parallel conversion unit 410.
  • the serial/parallel conversion unit 410 may convert a plurality of input serial bit streams into a parallel form.
  • the serial/parallel conversion unit 410 may transmit a parallel bit stream to the FEC encoder 420.
  • the FEC encoder 420 may receive a parallel bit stream from the serial/parallel conversion unit 410.
  • the FEC encoder 420 may add additional information for FEC to each bit stream.
  • the "bit stream + additional information" may be a payload (for example, a data symbol).
  • the FEC encoder 420 may transmit the payload to the SN insertion unit 430.
  • the SN insertion unit 430 may receive a payload from the FEC encoder 420.
  • the SN insertion unit 430 may add a sequence number to the front end of the payload.
  • “sequence number + payload” may be a data sub frame.
  • the SN insertion unit 430 may transmit a data subframe to the QAM unit.
  • the QAM unit 440 may receive a data subframe from the SN insertion unit 430.
  • the QAM unit 440 may modulate the data subframe in a QAM method. For example, the QAM unit 440 may modulate the data subframe in a 16-QAM or 64-QAM scheme.
  • the payload can be quantized into 16 levels and mapped to 16 coordinates of the I/Q plot.
  • the frame can be quantized to 64 levels and mapped to 64 coordinates of the I/Q plot.
  • the data subframe modulated by the QAM method may include a real part and an imaginary part according to coordinates of the I/Q plot.
  • the QAM unit 440 may transmit the data subframe modulated by the QAM method to the mapping unit 450.
  • the mapping unit 450 may receive a data subframe modulated by the QAM method from the QAM unit 440.
  • the mapping unit 440 may include, for example, a Hermitian matrix.
  • the Hertimian matrix may be a matrix in which the main diagonal component is a real number, the remaining component is a complex number, and components opposite to each other around the diagonal line have a complex conjugate relationship.
  • the mapping unit 460 may map to remove the imaginary part of the data subframe modulated by the QAM method.
  • the mapping unit 450 may transmit the mapped data subframe to the IFFT unit 460.
  • the IFFT unit 460 may receive the mapped data subframe from the mapping unit 450.
  • the IFFT unit 460 may transform a data subframe in a frequency domain into a data subframe in a time domain using an Inverse Fast Fourier Transform (IFFT) method.
  • the IFFT unit may transform a data subframe in a frequency domain into a data subframe in a time domain using an Inverse Discrete Fourier Transform (IDFT) method.
  • IDFT Inverse Discrete Fourier Transform
  • the IFFT unit 460 may transmit a data subframe in the time domain to the CP adding unit 470.
  • the CP adding unit 470 may receive a data subframe in the time domain from the IFFT unit 460.
  • the CP adding unit 470 may insert a cyclic prefix (CP) into a data subframe in the time domain. That is, the CP adding unit 470 may insert the CP into the data subframe in the time domain and transmit it to the parallel/serial conversion unit 480.
  • CP cyclic prefix
  • the parallel/serial conversion unit 480 may receive a data subframe into which a CP is inserted from the CP adding unit 470.
  • the parallel/serial conversion unit 480 may convert parallel data subframes into serial data subframes.
  • the parallel/serial conversion unit 480 may transmit a serial data subframe to the data frame generation unit 490.
  • the data frame generation unit 490 may receive serial data subframes from the parallel/serial conversion unit 480.
  • the data frame generation unit 490 may generate a data frame by merging data subframes. That is, the data frame generation unit 490 may generate a data frame by merging data subframes including the same sequence number and the same payload.
  • the data frame generated by the transmission processing unit 400 may be as follows.
  • FIG. 5 is a conceptual diagram showing a data frame in the communication system according to the first embodiment of the present invention.
  • a plurality of data frames may be generated in a communication node.
  • Payloads eg, data symbols DS
  • One data frame may include a plurality of data subframes, and a plurality of data subframes belonging to one data frame may include the same payload (eg, data symbol DS). That is, in order to prevent data transmission from being missed, the same payload may be repeatedly transmitted through the same data subframe.
  • the data frame rate may be defined as the number of data frames including different payloads among data frames transmitted in a specific section.
  • the data frame may be designed to support both an over sampling method and an under sampling method.
  • the oversampling method may be a sampling method used when the frame rate of the camera (ie, the camera 610 shown in FIG. 6) is higher than the data frame rate.
  • the under-sampling method may be a sampling method used when the frame rate of the camera (ie, the camera 610 shown in FIG. 6) is slower than the data frame rate.
  • the dimming control unit 330 may receive data frames from the transmission processing unit 320.
  • the dimming control unit 330 may blink the LED array 340 at a preset blink rate based on the data frame.
  • the dimming control unit 330 may transmit a data frame to the receiving module 600 (see FIG. 6) by blinking the LED array 340.
  • FIG. 6 is a block diagram showing a receiving module included in a receiving node in the communication system according to the first embodiment of the present invention.
  • the receiving module 600 may include a camera 610, a comparison unit 620, a communication unit 630, and a data acquisition unit 640.
  • the receiving module 600 may be configured similar to or identical to the receiving module 240 of FIG. 2.
  • the camera 610 may transmit information on the frame rate of the camera to the comparison unit 630.
  • the camera 610 may capture images in a blinking state of the LED array 340 (see FIG. 3) included in the transmission module 300 (see FIG. 3 ).
  • the camera 610 may transmit the captured images in the blinking state to the comparison unit 630 and the data acquisition unit 640.
  • the communication unit 620 may communicate with the transmission module 300 (refer to FIG. 3 ).
  • the communication unit 620 may transmit a response message including specific information to the transmission module 300 (eg, a response message including information on which oversampling has occurred in the transmission module 300), and the transmission module 300
  • a response message including specific information eg, a response message including information indicating the size of the LED array 340 (see FIG. 3) may be received from.
  • the comparison unit 630 may receive information on the frame rate of the camera 610 and images in the blinking state of the LED array 340 from the camera 610.
  • the comparison unit 630 may obtain the flashing speed of the LED array 340 from images in the flashing state of the LED array 340.
  • the comparison unit 630 may compare the frame rate of the camera 610 and the blinking rate of the LED array 340 to determine whether over-sampling or under-sampling has occurred in the receiving module 600.
  • the comparison unit 630 may transmit information indicating that oversampling has occurred to the data acquisition unit 640.
  • the comparison unit 630 may generate a response message including information that over-sampling has occurred in the receiving module 600.
  • the comparison unit 630 may transmit a response message including information that oversampling has occurred to the transmission module 300 through the communication unit 620. Also, when it is determined that under-sampling has occurred in the receiving module 600, the comparison unit 630 may transmit information indicating that under-sampling has occurred to the data acquisition unit 640. The comparison unit 630 may generate a retransmission message requesting retransmission of the missing data frame when undersampling occurs and the data frame is omitted. The comparison unit 630 may transmit the retransmission message to the transmission module 300 through the communication unit 620.
  • the data acquisition unit 640 may receive images captured from the camera 610 in the blinking state of the LED array 340.
  • the data acquisition unit 640 may acquire data by processing an image photographing the blinking state of the LED array 340.
  • the data acquisition unit 640 may receive information indicating that over-sampling or under-sampling has occurred in the receiving module 600 from the comparison unit 630.
  • the data acquisition unit 640 may detect the missing data frame and transmit information on the missing data frame to the comparison unit 630.
  • the data acquisition unit 640 may be configured as follows.
  • FIG. 7 is a block diagram illustrating a data acquisition unit included in a reception module in the communication system according to the first embodiment of the present invention.
  • the data acquisition unit 700 includes an image processing unit 710, a serial to parallel converter unit 720, a CP removal unit ((Cyclic Prefix removing unit) 730), and an FFT ( Fast Fourier Transform) unit 740, demapping unit 750, SN extraction unit (Sequence Number extracting unit, 760), error detection unit 770, parallel series converter unit (780) and decoding Unit 790 may be included.
  • image processing unit 710 includes an image processing unit 710, a serial to parallel converter unit 720, a CP removal unit ((Cyclic Prefix removing unit) 730), and an FFT ( Fast Fourier Transform) unit 740, demapping unit 750, SN extraction unit (Sequence Number extracting unit, 760), error detection unit 770, parallel series converter unit (780) and decoding Unit 790 may be included.
  • CP removal unit ((Cyclic Prefix removing unit) 730)
  • FFT Fast Fourier Transform
  • the image processing unit 710 may receive images in a blinking state from the camera 610 (refer to FIG. 6 ). The image processing unit 710 may process images received from the camera to obtain serial bit streams. The image processing unit 710 may transmit serial bit streams to the serial/parallel conversion unit 720.
  • the serial/parallel conversion unit 720 may receive serial bit streams from the image processing unit 710.
  • the serial/parallel conversion unit 720 may convert bit streams into parallel bit streams.
  • the serial/parallel conversion unit 720 may transmit parallel bit streams to the CP removal unit 730.
  • the CP removal unit 730 may receive parallel bit streams from the serial/parallel conversion unit 720.
  • the CP removal unit 730 may remove a CP inserted into each bit stream.
  • the CP removal unit 730 may transmit bit streams from which the CP has been removed to the FFT unit 740.
  • the FFT unit 740 may convert bit streams from which CPs have been removed using a Fast Fourier Transform (FFT) method from a bit stream in a time domain to bit streams in a frequency domain.
  • the FFT unit 740 may transmit bit streams converted to the frequency domain to the demapping unit 750.
  • FFT Fast Fourier Transform
  • the demapping unit 750 may receive bit streams converted to the frequency domain from the FFT unit 740.
  • the demapping unit 750 may perform a demapping operation on bit streams converted to the frequency domain.
  • the demapping unit 750 may transmit the demapped bit streams to the SN extraction unit 760.
  • the SN extraction unit 760 may receive demapped bit streams from the demapping unit 750.
  • the SN extraction unit 760 may obtain sequence numbers included in the demapped bit streams.
  • the SN extraction unit 760 may compare the obtained sequence numbers. That is, when receiving information indicating that under-sampling has occurred in the receiving module 600 (refer to FIG. 6) from the comparison unit 630, the SN extraction unit 760 compares the sequence numbers and detects which data frame is missing. I can.
  • the SN extraction unit 760 may transmit bit streams to the error detection unit 770.
  • each of the bit streams may be bit streams from which a sequence number is extracted.
  • the error detection unit 770 may receive bit streams from which the sequence number is extracted from the SN extraction unit 760. The error detection unit 770 may detect whether an error has occurred in bit streams. When an error occurs in bit streams, the error detection unit 770 may transmit a message requesting retransmission of data frames through the communication unit 620 (see FIG. 6 ). When an error does not occur in the bit streams, the error detection unit 770 may transmit the bit streams to the parallel/serial conversion unit.
  • the parallel/serial conversion unit 780 may receive bit streams from the error detection unit 770.
  • the parallel/serial conversion unit 780 may convert parallel type bit streams into a serial type.
  • the parallel/serial conversion unit 780 may transmit serial bit streams to the decoding unit 790.
  • the decoding unit 790 may receive serial bit streams from the parallel/serial conversion unit 780. When receiving information indicating that oversampling has occurred in the receiving module 600 from the decoding unit 790 comparison unit 630, the sequence numbers obtained by the SN extraction unit 760 are compared and each includes different sequence numbers. Bit streams can be obtained one by one. The decoding unit 790 may obtain a payload from each of the bit streams including different sequence numbers. The decoding unit 790 may merge the acquired payloads, and may acquire first data by decoding the merged payloads.
  • the decoding unit 790 may demodulate the received bit streams to obtain data.
  • the decoding unit 790 may detect the missing data frame by comparing sequence numbers of bitstreams extracted by the SN extraction unit 760. Thereafter, the decoding unit 790 may re-receive the bit stream included in the missing data frame from the transmission module 300 (see FIG. 3 ).
  • the decoding unit may obtain a payload from the re-received bit stream, and may obtain second data by decoding the obtained payload. Thereafter, the decoding unit 790 may acquire data by merging the first data and the second data.
  • the second communication node corresponding thereto is a method corresponding to the method performed in the first communication node (e.g., signal reception or transmission) may be performed. That is, when the operation of the terminal is described, the corresponding base station may perform an operation corresponding to the operation of the terminal. Conversely, when the operation of the base station is described, the terminal corresponding thereto may perform an operation corresponding to the operation of the base station.
  • FIG. 8 is a flowchart illustrating a method of transmitting and receiving data in a communication system according to a first embodiment of the present invention.
  • the communication system may include a transmitting node and a receiving node.
  • the transmitting node may be the transmitting node 110 of FIG. 1, and the receiving node may be the receiving node 120 of FIG. 1.
  • Each of the transmitting node and the receiving node may be configured in the same or similar to the communication node 200 shown in FIG. 2.
  • the transmission module included in each of the transmission node and the reception node may be configured in the same or similar to the embodiments shown in FIGS. 3 and 4.
  • the receiving module included in each of the transmitting node and the receiving node may be configured in the same or similar to the embodiments shown in FIGS. 6 and 7.
  • the transmitting node may generate data frames (S810).
  • the data frames may be generated by the transmission processing unit (for example, the transmission processing unit 320 of FIG. 3 ), and may be configured in the same or similar to the data frame illustrated in FIG. 5.
  • the transmitting node may transmit the generated data frames to the receiving node (S820).
  • the LED array for example, the LED array 340 shown in FIG. 3 blinks, so that the data frame may be transmitted to the receiving node.
  • the receiving node may receive data frames from the transmitting node. That is, the receiving node may acquire images by photographing the blinking state of the LED array using a camera (for example, the camera 610 shown in FIG. 6 ), and may acquire data frames from the images.
  • the comparison unit of the receiving node (for example, the comparison unit 620 of FIG. 6) may obtain the flashing speed of the LED array from the images, and obtain the data frame rate of the transmitting node through the flashing speed.
  • the receiving node may compare the data frame rate and the camera frame rate (S830).
  • the comparison unit of the receiving node may compare the data frame rate with the camera frame rate, and may determine whether oversampling has occurred in the receiving node through this.
  • the comparison unit of the receiving node may determine that oversampling has occurred in the receiving node when the camera frame rate exceeds the data frame rate.
  • the comparison unit of the receiving node can generate a response message including information that over-sampling has occurred, and that over-sampling has occurred in the transmitting node through the communication unit of the receiving node (for example, the communication unit 620 of FIG. 6).
  • a response message including information may be transmitted (S840).
  • the response message may further include information on the frame rate of the camera included in the receiving node and information on the number of pixels per bit of an arbitrary image among images captured by the camera.
  • the sending node may receive a response message from the receiving node. That is, the transmitting node includes information that over-sampling has occurred through the communication unit of the transmitting node (for example, the communication unit 310 of FIG. 3), information on the frame rate of the camera, and any image among images captured by the camera. A response message including information on the number of pixels per bit may be received.
  • the transmitting node includes information that over-sampling has occurred through the communication unit of the transmitting node (for example, the communication unit 310 of FIG. 3), information on the frame rate of the camera, and any image among images captured by the camera.
  • a response message including information on the number of pixels per bit may be received.
  • the transmitting node may obtain information that oversampling has occurred in the receiving node through the received response message.
  • the transmitting node may adjust the number and size of data subframes included in each of the data frames based on information included in the response message (S850).
  • the transmitting node may set the number of data subframes based on the frame rate of the camera indicated by the response message and the transmission period of the data subframes. When oversampling occurs in the receiving node, the transmitting node may reduce the number of data subframes included in each of the data frames.
  • the number of data subframes may be determined by Equation 1 below.
  • the transmitting node may set the size of data subframes.
  • the size of the data subframes may be based on Equation 2 below.
  • the transmitting node may transmit data frames to the receiving node (S860).
  • the data frames may include data subframes whose number and size are adjusted.
  • the receiving node may receive data frames from the transmitting node.
  • the receiving node may extract data from the data frames received from the transmitting node (S870). That is, the data extraction unit (eg, the data extraction unit 640 of FIG. 6) of the receiving node may decode data by comparing sequence numbers included in the data subframes.
  • a method of obtaining data by the receiving node may be as follows.
  • FIG. 9 is a conceptual diagram showing a decoding method in the communication system according to the first embodiment of the present invention.
  • the communication system may include a plurality of data subframes 910, 920, 930, 940, and 950.
  • the plurality of data subframes 910, 920, 930, 940, and 950 may be similar or identical to the data subframe shown in FIG. 5.
  • the plurality of data subframes 910, 920, 930, 940, 950 may each include a sequence number (911, 921, 931, 941, 951) and a payload (912, 922, 932, 942, 952). have.
  • the first data subframe 910 and the second data subframe 920 may include the same sequence numbers 911 and 921 and the same payloads 912 and 922, and the same data frame (for example, It may be included in the data frame (i-1)).
  • the third data subframe 930 and the fourth data subframe 940 may include the same sequence number 931. 941 and the same payloads 932 and 942, and the same data frame (for example, a data frame It may be included in (i)).
  • the data extracting unit (for example, the data extracting unit 640 of FIG. 6) of the receiving node includes sequence numbers 911, 921, and 931 included in a plurality of data subframes 910, 920, 930, 940, and 950. , 941, 951) can be compared.
  • the data extractor may acquire a payload included in any one of data subframes including the same sequence number.
  • the payload 912 included in the first data sub-frame 910 may be obtained, and the third data sub-frame ( The payload 912 included in the third data subframe 930 may be acquired among the 930 and the fourth data subframe 940, and the payload 952 included in the fifth data subframe 950 Can be obtained.
  • the data extractor may sequentially merge the acquired payloads 912, 932, and 952.
  • the data extraction unit may obtain data by decoding the merged payload.
  • FIG. 10 is a flowchart illustrating a data transmission/reception method in a communication system according to Embodiment 1-2 of the present invention.
  • the communication system may include a transmitting node and a receiving node.
  • the transmitting node may be the transmitting node 110 of FIG. 1, and the receiving node may be the receiving node 120 of FIG. 1.
  • Each of the transmitting node and the receiving node may be configured in the same or similar to the communication node 200 shown in FIG. 2.
  • the transmission module included in each of the transmission node and the reception node may be configured in the same or similar to the embodiments shown in FIGS. 3 and 4.
  • the receiving module included in each of the transmitting node and the receiving node may be configured in the same or similar to the embodiments shown in FIGS. 6 and 7.
  • the transmitting node may generate data frames (S1010).
  • the data frames may be generated by the transmission processing unit (for example, the transmission processing unit 320 of FIG. 3 ), and may be configured in the same or similar to the data frame illustrated in FIG. 5.
  • the transmitting node may transmit the generated data frames to the receiving node (S1020).
  • the LED array for example, the LED array 340 shown in FIG. 3 blinks, so that the data frame may be transmitted to the receiving node.
  • the receiving node may receive data frames from the transmitting node. That is, the receiving node may acquire images by photographing the blinking state of the LED array using a camera (for example, the camera 610 shown in FIG. 6 ), and may acquire data frames from the images.
  • the comparison unit of the receiving node (for example, the comparison unit 620 of FIG. 6) may obtain the flashing speed of the LED array from the images, and obtain the data frame rate of the transmitting node through the flashing speed.
  • the receiving node may compare the data frame rate and the camera frame rate (S1030).
  • the comparison unit of the receiving node may compare the data frame rate with the camera frame rate, and may determine whether under-sampling has occurred in the receiving node through this. When the camera frame rate is less than the data frame rate, the comparison unit of the receiving node may determine that under-sampling has occurred in the receiving node.
  • the data acquisition unit eg, the data acquisition unit 640 of FIG. 6) of the reception node may detect a data frame that is missing due to occurrence of under-sampling.
  • FIG. 11 is a conceptual diagram illustrating a method of detecting a missing data frame in a communication system according to the first embodiment of the present invention.
  • the communication system may include a plurality of data frames 1110, 1120, and 1130.
  • the plurality of data frames may be similar to or identical to the data frame shown in FIG. 5.
  • Each of the plurality of data frames 1110, 1120, 1130 may include a plurality of data subframes 1111, 1112, 1121, 1122, 1131, 1132, and each of the data subframes 1111, 1112, 1121 , 1122, 1131, 1132) may include a plurality of sequence numbers and payloads.
  • the sequence number and payload of data subframes included in the same data frame may be the same.
  • the data subframes 1111 and 1112 included in the first data frame 1110 may include the same sequence number 1111-1 and 1111-3, and the same payload 1111-2, 1111-4) may be included.
  • the data acquisition unit (for example, the data acquisition unit 640 of FIG. 6) of the receiving node may acquire a sequence number included in the data subframe, and may detect the missing data frame by comparing the sequence numbers. . For example, when the data acquisition unit acquires sequence numbers n-1 (1111-1) and n+1 (1131-1), it may be determined that the second data frame 1120 having the sequence number n is missing. have.
  • the data acquisition unit of the receiving node may acquire first data by decoding the data frames acquired in step S1020 (S1050).
  • the data acquisition unit of the receiving node may transmit a response message including information on the missing data frame to the transmitting node (S1060).
  • the data acquisition unit of the receiving node may transmit a response message to the transmitting node through the communication unit 620 of the receiving node.
  • the transmitting node may receive a response message including information on the missing data frame from the receiving node, and may retransmit the missing data frame indicated in the response message to the receiving node (S1070). That is, the transmitting node may transmit the missing data frame to the receiving node by blinking the LED array (eg, the LED array 340 of FIG. 3) included in the transmitting node.
  • the LED array eg, the LED array 340 of FIG.
  • the receiving node may re-receive the missing data frame from the transmitting node.
  • the receiving node can re-receive the missing data frame by photographing the blinking state of the LED array with the camera.
  • the receiving node may obtain second data by decoding the data frame obtained in step S1060.
  • the receiving node may acquire data by merging the first data and the second data.
  • OCC optical camera communication
  • the OCC system may include an optical wireless transmission device 1210 and an optical wireless reception device 1220.
  • the optical wireless transmission device 1210 may include a modulator 1211 and a transmitter 1212.
  • the transmitter 1212 may include at least one or more light sources 1212-1 and 1212-2, and the light sources 1212-1 and 1212-2 may be light emitting diodes (LEDs).
  • the optical wireless reception device 1220 may include a receiver 1221 and a demodulator 1223, and may further include a light source detector 1222.
  • the receiver 1221 may include an image sensor 1221-1 such as a camera.
  • the modulator 1211 can receive a binary data signal D[i], which is a bit sequence to be transmitted, and generates binary data signals S 1 (t) and S 2 (t) having a modulated pulse waveform. can do.
  • S 1 (t) and S 2 (t) may be continuous signals or discrete signals.
  • the transmitter 1212 may transmit data by blinking each of the plurality of light sources 1212-1 and 1212-2 according to the binary data signals S 1 (t) and S 2 (t).
  • blinking does not necessarily indicate how the light sources 1212-1 and 1212-2 are completely turned on and completely turned off, but two states of binary values 0 and 1 using the change in brightness of the light sources 1212-1 and 1212-2. It can include any way of representing.
  • a certain value eg, 200 Hz
  • the receiver 1221 may receive an image sequence obtained by continuously photographing (sampling) the light sources 1212-1 and 1212-2 by the image sensor 1221-1.
  • the light source detector 1222 may detect the positions of the light sources 1212-1 and 1212-2 in the received image.
  • the demodulator 1223 may demodulate the data signal from the blinking states of the light sources 1212-1 and 1212-2.
  • FIG. 13 is a flowchart illustrating an OCC signal transmission operation of an OCC transmission node according to a second embodiment of the present invention.
  • the OCC transmission node 1210 may acquire a binary data signal D[i].
  • the modulator 1211 of the OCC transmission node 1210 groups the obtained binary data signal into a plurality of preset bits, It can be converted into a global phase shift signal having an integer value of (S1310).
  • the modulator 1211 of the OCC transmission node 1210 may convert the binary data signal into a global phase shift signal according to a modulation method of the transmitted signal.
  • the modulator of the OCC transmitting node is M-ASK (M-amplitude shift keying), M-FSK (M-frequency shift keying), M-PSK (M-phase shift keying), DSM-PSK (dimmable spatial M-phase shift keying).
  • the modulator 1211 of the OCC transmission node 1210 may convert the binary data signal into a global phase shift signal according to Table 1, and each global phase shift signal obtained as a result of the conversion is transmitted by the OCC transmission node 1210.
  • the group ID of the data signal group can be indicated.
  • the modulator 1211 of the OCC transmission node 1210 may generate a data signal group including a plurality of symbols based on the obtained group ID (S1320). Specifically, the modulator 1211 of the OCC transmission node 1210 may generate a data signal group based on a preset symbol group mapping table (S1320).
  • the symbol group mapping table may be defined according to a modulation method of a signal transmitted by the OCC transmission node 1210.
  • a global phase shift signal having an integer value of A connection relationship between the first to M-th mapping sequences in the form of a bit sequence may be indicated. (Here, n has an integer value of 3 or more) That is, the symbol group mapping table starts from 0
  • a global phase shift signal having an integer value of It includes first to Mth mapping sequences in the form of a bit sequence, and may correspond to each of the global phase shift signals one-to-one to each of the first to Mth mapping sequences.
  • the first to Mth mapping sequences are n bits as a bundle, With n-bit bundles It can be formed in the form of a bit sequence.
  • one n-bit bundle has a value of 1.
  • a bundle of n bits may have a value of 0.
  • the first n-bit bundle has a value of 1
  • the second n-bit bundle has a value of 1
  • the n-th set of bits may have a value of 1.
  • My To M-th mapping sequence is the first to It can be created by applying the NOT operation to the mapping sequence.
  • the symbol group mapping table according to the first embodiment of the present invention may be defined as shown in Table 2.
  • a hamming distance between data signal groups generated according to the symbol group mapping table of Table 2 may be calculated by Equation 4.
  • Equation 4 may indicate the sum of Hamming distances between the first to 4n-th symbols included in the data signal group.
  • the Hamming distance between symbols may be a Hamming distance between symbols shown in Table 2.
  • a Hamming distance between data signal groups generated according to the symbol group mapping table of Table 2 may be generated to be equal to or greater than a preset threshold.
  • the minimum Hamming distance of data signal groups generated according to the symbol group mapping table of Table 2 may be 2n.
  • the symbol group mapping table according to Embodiment 2-1 of the present invention may be defined as shown in Table 3.
  • the Hamming distance between data signal groups generated according to the symbol group mapping table of Table 3 may be calculated by Equation 5.
  • Equation 5 may indicate the sum of Hamming distances between first to twelfth symbols included in the data signal group.
  • the Hamming distance between symbols may be a Hamming distance between symbols shown in Table 3.
  • the Hamming distance between data signal groups generated according to the symbol group mapping table of Table 3 may be generated to be equal to or greater than a preset threshold.
  • the minimum Hamming distance of data signal groups generated according to the symbol group mapping table of Table 3 may be 6.
  • the modulator 1211 of the OCC transmitting node 1210 that transmits a signal modulated by the 8-PSK scheme is based on the symbol group mapping table in Table 2 or 3, from the global transition signal to any one included in the symbol group mapping table.
  • One data signal group can be created.
  • the modulator 1211 of the OCC transmission node 1210 may generate a data signal group having a 4n bit or 12 bit format (S1320).
  • the symbol group mapping table includes a global phase shift signal having an integer value from 0 to 7 and the first to eighth 3-symbol sequences. It may represent a connection relationship and a connection relationship between the first to eighth 3-symbol sequences and the first to eighth mapping sequences.
  • the first to eighth 3-symbol sequences may be generated to have three symbols, respectively.
  • the first 3-symbol sequence may include three symbols set to 1.
  • Each of the second to fourth 3-symbol sequences may include one symbol set to 5 and two symbols set to 0.
  • Each of the fifth to seventh 3-symbol sequences may include one symbol set to 1 and two symbols set to 4.
  • the eighth 3-symbol sequence may include three symbols set to 5.
  • a connection relationship between the global phase shift signal having an integer value from 0 to 7 and the first to eighth 3-symbol sequences may be defined as shown in Table 4.
  • the first to eighth mapping sequences may be generated in the form of a 12-bit sequence by mapping each symbol of the first to eighth 3-symbol sequence defined in Table 4 to 4-bit signals according to Table 5. .
  • symbol group mapping table according to embodiment 2-2 of the present invention may be defined as shown in Table 6.
  • the Hamming distance between data signal groups generated according to the symbol group mapping table of Table 6 may be calculated by Equation 6.
  • Equation 6 may indicate the sum of Hamming distances between first to twelfth symbols included in the data signal group.
  • the Hamming distance between symbols may be a Hamming distance between symbols shown in Table 6.
  • the Hamming distance between data signal groups generated according to the symbol group mapping table of Table 6 may be generated to be equal to or greater than a preset threshold.
  • the minimum Hamming distance of data signal groups generated according to the symbol group mapping table of Table 6 may be 6.
  • the modulator 1211 of the OCC transmitting node 1210 that transmits a signal modulated by the 8-PSK scheme is based on the symbol group mapping table in Table 6, and any one data included in the symbol group mapping table from the global transition signal Signal groups can be created.
  • the modulator 1211 of the OCC transmission node 1210 may generate a data signal group having a 12-bit format (S1320).
  • the modulator 1211 of the OCC transmitting node 1210 may generate a data signal group based on the symbol group mapping table in Table 2, Table 3, or Table 6 (S1320), and modulate the data signal group to generate a plurality of pulse waves. Signals may be generated (S1330).
  • the modulator 1211 of the OCC transmission node 1210 may transmit a plurality of pulse wave signals to the transmitter 1212 of the OCC transmission node 1210.
  • the transmitter 1212 of the OCC transmission node 1210 may obtain pulse wave signals from the modulator 1211 of the OCC transmission node 1210. In addition, the transmitter 1212 of the OCC transmission node 1210 may transmit a signal by blinking each of the light sources (eg, LEDs) included in the transmitter 1212 according to the generated pulse wave signals. (S1340).
  • the light sources eg, LEDs
  • FIG. 14 is a flowchart illustrating an operation of receiving an OCC signal by an OCC receiving node according to a second embodiment of the present invention.
  • a receiver 1221 of an OCC receiving node 1220 may detect blinking states of a plurality of light sources included in a transmitter 1212 of an OCC transmitting node 1210.
  • an image sensor e.g., a camera, etc.
  • the demodulator 1223 of the OCC receiving node 1220 may detect a blinking state of a light source (eg, an LED) included in the OCC transmitting node based on images obtained from the image sensor (S1410).
  • the demodulator 1223 of the OCC receiving node 1220 may convert the blinking state of the light source included in the transmitter 1212 of the OCC transmitting node 1210 to obtain a binary sequence (S1420).
  • the demodulator 1223 of the OCC receiving node 1220 may correct errors of acquired symbols (S1430).
  • 15 is a flowchart illustrating an error correction operation of an OCC receiving node according to a second embodiment of the present invention.
  • the demodulator 1223 of the OCC receiving node 1220 uses a binary sequence. Grouped bit by bit, A data signal group of bits may be obtained (S1431). The number of symbols included in the data signal group may be changed according to a modulation method of a signal transmitted by the OCC transmission node 1210.
  • the demodulator 1223 of the OCC receiving node 1220 may perform data pre-processing before correcting the error of the symbol from the data signal group (S1432).
  • the demodulator 1223 of the OCC receiving node 1220 may modulate the symbol to reflect the Hamming distance between the symbols.
  • the demodulator 1223 of the OCC receiving node 1220 may acquire the preprocessed data signal group (S1432) and determine whether or not the preprocessed data signal group has an error.
  • the demodulator 1223 of the OCC receiving node 1220 receiving the OCC signal may determine whether the data signal group is included in Table 2, Table 3, or Table 6. When the data signal group is not included in Tables 2, 3, or 6, the demodulator 1223 of the OCC receiving node 1220 may determine that there is an error in the data signal group.
  • the OCC receiving node 1220 determining that there is an error in the data signal group may correct the error in the received data signal group (S1433).
  • the error correction operation in step S1433 may be an artificial intelligent error correction (AIEC) operation performed by an artificial neural network included in the OCC receiving node 1220.
  • AIEC artificial intelligent error correction
  • 16 is a conceptual diagram illustrating an artificial neural network included in an OCC receiving node according to a second embodiment of the present invention.
  • the artificial neural network of the OCC receiving node 1220 may include a plurality of layers, and each of the layers may include a plurality of artificial nodes.
  • the artificial neural network of the OCC receiving node 1220 may include a plurality of adaptive weight vectors, and artificial nodes included in respective layers of the artificial neural network may be connected by weight vectors.
  • the artificial neural network of the OCC receiving node may include a plurality of layers and artificial nodes according to a preset parameter, and an error of the data signal group received by the OCC receiving node 1220 may be corrected.
  • the OCC receiving node 1220 can correct an error in the data signal group using an artificial neural network set based on the parameters in Table 7. have.
  • the artificial neural network of the OCC receiving node 1220 may include four layers.
  • the first layer may be a layer into which a preprocessed data signal group is input.
  • the first layer may include 12 artificial nodes, and each of the artificial nodes may be artificial nodes into which bits obtained as a result of data preprocessing are input.
  • the second layer may be a layer that outputs a data signal group whose error is corrected from a data signal group input from the first layer.
  • the second layer may include eight artificial nodes, and each artificial node included in the second layer may indicate a data signal group defined in Tables 2, 3, and 6.
  • Two of the four layers may be a hidden layer.
  • each hidden layer may include 81 artificial nodes.
  • the hidden layer may be connected to the input layer through a weight vector, or the hidden layer may be connected to the output layer through a weight vector.
  • the artificial neural network of the OCC receiving node 1220 may obtain a data signal group in which an error is corrected according to the weight vectors of the artificial neural network by using bits of the data signal group generated as a result of data preprocessing as an input value.
  • the OCC receiving node 1220 may perform a learning operation of updating weight vectors of the artificial neural network.
  • the learning operation may be performed by a multi-layer perceptron classifier included in the OCC receiving node 1220.
  • the OCC receiving node 1220 may further include a multilayer perceptron classifier.
  • the multilayer perceptron classifier can train an artificial neural network through a preset learning algorithm.
  • the learning algorithm may include a learning algorithm such as a supervised learning algorithm and a non-supervised learning algorithm.
  • the artificial neural network of the OCC receiving node 1220 performs a feed-forward operation to correct an error in the data signal group, thereby generating a data signal group in which the error is corrected.
  • the multilayer perceptron classifier of the OCC receiving node 1220 may calculate error information between the data signal group for which the error is corrected through the artificial neural network and the data signal group transmitted by the OCC transmitting node 1210.
  • the multilayer perceptron classifier of the receiving node 1220 of the OCC may perform a learning operation of correcting weight vectors between layers of the artificial neural network by back-propagating the calculated error information.
  • the multilayer perceptron classifier of the OCC receiving node 1220 may perform a learning operation based on parameters defined in Table 8.
  • the multilayer perceptron classifier of the OCC receiving node 1220 may modify weight vectors between layers of the artificial neural network through a preset optimization algorithm.
  • the optimization algorithm may include gradient descent, and the like, and referring to Table 8 may further include an adam-optimizer algorithm.
  • the multilayer perceptron classifier of the OCC receiving node 1220 may repeatedly perform the learning operation by a preset number of epochs (500 times referring to Table 8).
  • the demodulator 1223 of the OCC receiving node 1220 may obtain a group ID and a global phase shift signal from a data signal group in which an error has been corrected (S1434).
  • Global phase shift signal from 0 It may be a signal having an integer value of up to.
  • 17 is a graph for explaining the effect of the error correction operation of the OCC receiving node according to the second embodiment of the present invention.
  • the code rate 1/ When performing error correction in the 3 or 1/5 condition, the error correction performance is improved, and in particular, it is confirmed that the error correction performance is improved even under the same code rate condition.
  • the AIEC scheme used for error correction of an OCC signal in an OCC receiving node is a conventional convolution code (CC) even under the same code rate condition. Compared to the method, the performance of the error correction operation is greatly improved, and the efficiency of communication can be improved while improving the performance of error correction.
  • OCC optical camera communication
  • an OCC system 1800 may include an OCC transmitting node 1801 and an OCC receiving node 1802.
  • the OCC transmission node 1801 may include a data coding unit 1810, a light source driver 1820, and a light source 1830.
  • the OCC receiving node 1802 may include a camera 1840, an image processing unit 1850, and a data extracting unit 1870.
  • the data coding unit 1810 may code data to be transmitted from the OCC system 1800.
  • Such coding can be implemented in various ways. For example, when data to be transmitted is 1, it may correspond to on of the light source 1830, and when data is 0, it may correspond to off of the light source 1830. This example may be set differently according to the pulse frequency of the light source 1830. For example, when the data is 1, the light source 1830 may correspond to on-on, and when the data is 0, the light source 1830 may correspond to off-off.
  • the data coding unit 1810 may match the on/off states of the light source 1830 corresponding to the data to each other so that data is transmitted through the on/off of the light source 1830 in the future.
  • the data coding unit 1810 may code data using, for example, a Manchester coding technique or a 4B6B coding technique.
  • the data coding unit 1810 may configure the coded data into data symbols and generate a data packet including the data symbols. These data packets are constructed by sequentially arranging data consisting of digital bits 1 and 0. The structure of such a data packet will be described in detail in FIG. 19.
  • the light source driver 1820 may drive the light source 1830 according to the coded data as described above. For example, the light source 1830 may be turned on and off according to bits 1 and 0 of data. The light source driver 1820 turns on/off the light source 1830 according to a preset pulse frequency. In this way, the light source driver 1820 outputs data to be transmitted through on/off control of the light source 1830.
  • the light source 1830 serves as a transmitter in the OCC system 1800 of the present invention.
  • the light source 1830 may be a light emitting diode (LED), and at least one or more may be provided.
  • the light source 1830 may be turned on or off at a preset pulse frequency by the light source driver 1820 according to data coded by the data coding unit 1810 as described above.
  • a plurality of light sources 1830 when a plurality of light sources 1830 are provided, they may be arranged in 1 ⁇ N, M ⁇ 1, or M ⁇ N. Of course, it can be arranged in various shapes such as circular, radial, elliptical, etc. If the pulse frequency at which the light source 1830 is turned on/off is 110 or more times per second, the human eye cannot distinguish the on/off and it is recognized as being in a continuous on state. These pulse frequencies are of course adjustable.
  • the camera 1840 serves as a receiver in the OCC system 1800.
  • the camera 1840 may be a camera that captures an image using a rolling shutter method.
  • the camera 1840 includes a rolling shutter type image sensor that is combined into a plurality of rows, and the light source 1830 is continuously applied for each row according to a preset frame rate. Flashing state can be captured.
  • a rolling shutter type image sensor may be provided inside.
  • Each row of the image sensor is sequentially exposed at regular intervals during a preset integration time.
  • the last exposure time in the first column and the last exposure time in the last column are the frame time, and the sum of the exposure time and the frame time is the capture time.
  • the image captured during this capture time appears as a white band when the LED 1830 is turned on, and appears as a black band when the LED 1830 is turned off. Changes in the on/off state of the LED are sequentially recorded during the capture time.
  • the white band and the black band may be set to represent 1 and 0 as data, respectively.
  • the rolling shutter camera 1840 enables multiple data reception within one frame.
  • the image sensor for example, a CMOS sensor can be used.
  • the rolling shutter camera 1840 may start photographing at any point in time while the LED 1830 is on or off. In this case, it is necessary to distinguish the start frame and the data frame from the captured image.
  • the frame rate for capturing the on/off image of the LED 1830 of the rolling shutter camera 1840 is preset, but a technology for accurate data reception is required even when the actual frame rate changes. Do. This will be described in detail below.
  • the rolling shutter camera 1840 may include a digital camera, a camera mounted on a mobile phone or a smart device.
  • the image processing unit 1850 may generate a brightness signal according to a brightness value of an on/off image of the light source 1830 captured by the camera 1840 for every row.
  • the light source 1830 appears as a white band and a black band in the process of turning on/off according to the coded data, and the brightness values of each of these bands may be different.
  • a color that appears according to the on/off of the light source 1830 may be displayed as a brightness value of 0 to 255, for example, and in this case, a white band may indicate a brightness value of 255, and a black band may indicate a brightness value of 0. .
  • the range of these brightness values can be changed.
  • the filter unit 1860 may detect a bit sequence from a brightness signal of an on/off image of the light source 1830 generated by the image processing unit 1850.
  • the filter unit 1860 may include a match filter, and may detect a bit sequence by performing a convolution operation on a brightness sequence generated by the image processing unit 1850 and an additionally generated inversion sequence. A method of detecting a bit sequence by the filter unit 1860 will be described in detail with reference to FIG. 22.
  • the data extraction unit 1870 may extract data from the bit sequence detected by the filter unit 1860. This is to restore data coded in the on/off image of the light source 1830 according to the data to be transmitted from the data coding unit 1810.
  • the data extraction unit 1850 At, 1 may be extracted from the on image of the light source 1830 and 0 may be extracted from the off image.
  • data may be extracted using a brightness value from a brightness signal of an on/off image of the light source 1830.
  • the slope of the brightness signal that is, the rise and fall of the brightness signal may be combined and extracted.
  • 19 is a structural diagram schematically showing a structure of a data packet transmitted and received in an OCC system according to a third embodiment of the present invention.
  • each data packet transmitted and received in the OCC system may include a plurality of identical data sub-packets (DS).
  • Each data subpacket DS may be composed of a start frame (SF), an asynchorous bit (Ab), and a payload or data symbol.
  • the start frame SF may be arranged at the foremost of each data packet for synchronization and classification of each data packet.
  • the asynchronous bits Ab may be disposed at the front and rear ends of the data symbol to distinguish each data packet.
  • the asynchronous bit (Ab) may be composed of a first asynchronous bit (Ab 1 ) and a second asynchronous bit (Ab 2 ).
  • Each of the first asynchronous bit (Ab 1 ) and the second asynchronous bit (Ab 2 ) may be composed of 1 bit.
  • the value of the first asynchronous bit Ab 1 may change for every two data packets, and the value of the second asynchronous bit Ab 2 may change for each data packet.
  • the asynchronous bit (Ab) composed of the first asynchronous bit (Ab 1 ) and the second asynchronous bit (Ab 2 ) is valued in a predefined order such as 00, 01, 10, 11, etc., every time a data packet is transmitted. This may be set to change, and asynchronous bits Ab of the data subpacket DS included in the same data packet may be set to have the same value. Accordingly, when the OCC receiving node 1802 receives the data sub-packet DS or a part of the data sub-packet DS, it checks whether data transmission is omitted or performs data recovery through the asynchronous bit Ab included therein. I can.
  • the asynchronous bit (Ab) disposed at the front end of the data symbol may be referred to as a front-end asynchronous bit (Ab f ), and the asynchronous bit (Ab) disposed at the rear end of the data symbol may be referred to as a later asynchronous bit (Ab b ).
  • the payload or data symbol means data content to be transmitted through OCC communication.
  • the start frame SF, the front asynchronous bit Ab f , the data symbol, and the rear asynchronous bit Ab b may be arranged in order.
  • FIG. 20 is a diagram showing the principle of a method for extracting and restoring data in an OCC system according to a third embodiment of the present invention.
  • each data packet is illustrated as an example in which two data sub-packets (DS) are formed, but the example of FIG. 20 is only an example for describing the present invention, and the present invention is limited thereto. It doesn't work.
  • the light source 1830 As shown in (a) and (b) of FIG. 20, the light source 1830 according to the structure of the data packet coded according to the data to be transmitted by the light source driver 1820 according to the third embodiment of the present invention While turning on/off, the camera 1840 may photograph the light source 1830 at a predetermined point in time at a predetermined frame rate. Since the camera 1840 does not receive an image due to the periodic opening and closing of the shutter, each image frame photographed by the camera 1840 cannot completely contain the entire data transmitted through the light source 1830. Accordingly, each of the bit sequences 2010, 320, and 330 detected from each image frame restores original data through a restoration process of the data extractor 1870.
  • FIG. 20(a) shows the principle of the'Inter-frame fusion' method according to the 3-1 embodiment of the present invention
  • FIG. 20(b) shows the third- 2 The principle of the'intra-frame fusion' method according to the embodiment is shown.
  • a trailing asynchronous bit 2022 at a front end of a start frame 2023 detected in one bit sequence 2020, and a front asynchronous bit at a rear end of the start frame 2023 (a) of FIG. 20, a trailing asynchronous bit 2022 at a front end of a start frame 2023 detected in one bit sequence 2020, and a front asynchronous bit at a rear end of the start frame 2023 ( When the values of 2024) are different (for example, 10 ⁇ 11), the rear asynchronous bit 2022, the front payload 2021 and the front asynchronous bit 2024, and the rear payload 2025 are different data packets. It can be viewed as the payload of the data sub-packet (DS) included in the.
  • DS data sub-packet
  • the data extraction unit 1870 merges the payload 2021 of the rear asynchronous bit 2022 and the payload 2015 of the rear asynchronous bit 2014 included in the previous bit sequence 2010.
  • the existing payload 2041 may be restored.
  • the data extracting unit 1870 merges the payload 2025 at the rear end of the preceding asynchronous bit 2024 with the payload 2035 at the front end of the asynchronous bit 2032 included in the next bit sequence 2030. Payload 2042 may be restored.
  • the asynchronous bit 2062 of the rear end and the payload 2061 of the front end and the payload 2065 of the rear end are the same. It can be viewed as the payload of the data sub-packet DS included in the data packet. Therefore, in this case, the data extracting unit 1870 merges the asynchronous bit 2062 of the rear end and the payload 2061 of the front end and the payload 2065 of the rear asynchronous bit 2064 to restore the existing payload 2081 can do.
  • each data packet is composed of two data sub-packets DS
  • the data packet according to the present invention may be composed of three or more data sub-packets (DS).
  • the data extracting unit 1870 is used to restore one payload. And'in-data merge' may be performed a plurality of times, and accordingly, data restoration performance of OCC communication using the C-OOK method may be improved.
  • 21 is a flowchart schematically showing an OCC communication method according to a third embodiment of the present invention.
  • the data coding unit 1810 may code data to be transmitted and configure a data packet including the coded data (S2101).
  • data packets classified for each of a plurality of data to be transmitted are sequentially arranged, and each of these data packets includes N consecutively repeated data subpackets DS (N is a natural number). can do.
  • each data sub-packet DS includes a payload or data symbol including data coded as described above, a front-end and rear-end asynchronous bit (Ab) respectively disposed at the front and rear ends of the payload, and a front-end asynchronous bit ( Ab) may be composed of a start frame (SF) arranged in the front end.
  • SF start frame
  • the light source 1830 may be turned on/off to correspond to the data packet according to the pulse frequency set by the light source driver 1820 (S2103). Accordingly, the light source 1830 can be turned on/off to correspond to a data packet including data. Specifically, the light source 1830 may be turned on/off to correspond to a start frame SF, a front asynchronous bit Ab, a data symbol, and a rear asynchronous bit Ab included in the data subpacket DS. In addition, the data sub-packet DS may be turned on/off to be repeated N times, and further, may be turned on/off to be classified for each data packet.
  • the on/off image of the light source 1830 may be captured by the rolling shutter method according to the frame rate set by the camera 1840 (S2105).
  • the camera 1840 may capture an on/off image of the light source 1830 for each of a plurality of rows during one capture time and capture a continuous image.
  • the image processing unit 1850 may generate a brightness signal according to the brightness value of the on/off image of the light source 1830 captured as a continuous image frame for each row (S2107), and the filter unit 1860 And, the data extracting unit 1870 may extract data from the brightness signal (S2109).
  • FIG. 22 is a flowchart schematically illustrating a method of detecting a bit sequence of a filter unit according to a third embodiment of the present invention.
  • the match filter included in the filter unit 1860 may check the length of each brightness signal sequence generated by the image processing unit 1850 (S2201). Subsequently, the match filter may generate an inversion sequence having the same length as the brightness signal sequence (S2203). When the inversion sequence is generated, the match filter may perform a convolution operation on the brightness signal sequence and the inversion sequence (S2205).
  • the match filter may detect the bit sequence from the result of the convolution operation (S2207). For example, the match filter may detect a bit sequence based on a point having a maximum value as a result of a convolution operation. For example, the match filter may detect a point having a maximum value as a bit having a value of 1, and a point having a minimum value as a bit having a value of 0. This may be set differently according to the modulation method of the transmitting node side of the OCC system.
  • FIG. 25 and 26 are graphs for explaining a problem of a method of detecting a bit in a receiving node of a conventional OCC system
  • FIG. 27 is a method of detecting a bit in a receiving node of an OCC system according to a third embodiment of the present invention. This is a graph to explain
  • the OCC system may detect a bit sequence from a brightness signal sequence generated by photographing the blinking of a light source, and a start frame (SF), a payload, or Other detailed configurations of data packets can be detected.
  • a method such as a zero crossing method has been used.
  • the waveform of the brightness signal graph derived from the image of the captured light source passes through the zero axis. To detect the bit.
  • This method can operate effectively due to a low noise ratio in ideal indoor environmental conditions where the distance between the light source and the camera is short and there are few separate light sources other than the light source of the OCC system.
  • Fig. 27(a) shows a brightness signal sequence generated by the image processing unit 1850 according to the third embodiment of the present invention
  • Fig. 27(b) shows a match filter according to the third embodiment of the present invention.
  • the inversion sequence generated in is shown
  • FIG. 27(c) shows the convolution operation result of the brightness signal sequence and the inversion sequence according to the third embodiment of the present invention.
  • a bit sequence is based on a point (for example, an ellipse on a graph) having a maximum value in a waveform resulting from a convolution operation of the brightness signal sequence and the inversion sequence according to the third embodiment of the present invention. Can be detected.
  • the match filter of the filter unit 1860 may generate an inversion sequence based on a table preset according to an encoding method of a transmission node of the OCC system.
  • the match filter may generate an inversion sequence according to Table 9.
  • the match filter may generate an inversion sequence according to Table 10.
  • FIG. 23 is a flowchart schematically illustrating a method of extracting data by a data extracting unit according to Embodiment 3-1 of the present invention.
  • the data extractor 1870 includes a start frame SF and a start frame SF in one first bit sequence captured first.
  • the front-end asynchronous bit (Ab 1f ) disposed at the rear end may be extracted (S2301).
  • the data extracting unit 1870 may extract the first payload disposed at the rear end of the preceding asynchronous bit Ab 1f (S2303).
  • the data extracting unit 1870 may determine whether there is a later asynchronous bit Ab 1b at the rear end of the first payload in the first bit sequence (S2305). When there is a later asynchronous bit Ab 1b at the rear end of the first payload, the data extraction unit 1870 may extract data from the first payload (S2307). On the other hand, when there is no trailing asynchronous bit (Ab 1b ) at the rear end of the first payload, the trailing asynchronous bit (Ab 2b ) can be extracted from the neighboring second bit sequence captured consecutively with the first bit sequence (S2309). ).
  • the data extractor 1870 may determine whether the trailing asynchronous bit Ab 2b extracted from the second bit sequence coincides with the asynchronous bit Ab 1f of the previous stage extracted from the first bit sequence ( S2311). In the case to match the rear end of the asynchronous bit (Ab 2b) is the asynchronous bits of the shear extracted from a bit sequence (Ab 1f) extracted from the second bit sequence, the first located at the front end of the asynchronous bit (Ab 2b) of the rear end 2 Payload can be extracted (S2313).
  • all of the asynchronous bits Ab of each data sub-packet DS included in the same data packet have the same value. Accordingly, if the preceding or trailing asynchronous bits (Ab) included in two adjacent bit sequences are the same, it means that both bit sequences contain signals of data subpackets included in the same data packet, that is, payload. This may mean that the data to be transmitted through is the same.
  • the original payload may be restored by merging or combining the payload extracted from the first bit sequence and the payload extracted from the second bit sequence, and data may be extracted therefrom (S2315).
  • data is extracted from two adjacent bit sequences, which in the present invention is referred to as'inter-frame fusion'.
  • FIG. 24 is a flowchart schematically illustrating a method of extracting data by a data extracting unit according to Embodiment 3-2 of the present invention.
  • the data extracting unit 1870 is arranged at a start frame SF and a rear end of the start frame in one captured first bit sequence.
  • the previous asynchronous bit (Ab 1f ) may be extracted (S2401).
  • the data extracting unit 1870 may extract a first payload disposed at a rear end of the preceding asynchronous bit Ab 1f (S2403).
  • the data extractor 1870 may determine whether or not there is a later asynchronous bit Ab 1b at the rear end of the first payload in the first bit sequence (S2405). When there is a later asynchronous bit Ab 1b at the rear end of the first payload, the data extraction unit 1870 may extract data from the first payload (S2407).
  • the original payload can be restored by merging a plurality of payloads included in one or more bit sequences through the front end and asynchronous bits (Ab) included in each data packet.
  • I can.
  • the methods according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination.
  • the program instructions recorded on the computer-readable medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software.
  • Examples of computer-readable media include hardware devices specially configured to store and execute program instructions, such as rom, ram, flash memory, and the like.
  • Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • the above-described hardware device may be configured to operate as at least one software module to perform the operation of the present invention, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Optical Communication System (AREA)

Abstract

광학 카메라 통신(optical camera communication, OCC) 시스템의 OCC 송신 노드에 의한 OCC 신호의 변조 방법은, 이진 데이터 신호를 획득하는 단계, 상기 이진 데이터 신호를 k 비트씩 그룹화하여 0부터 M-1(=2k-1) 까지의 정수 값을 갖는 전역 위상 천이 신호로 변환하는 단계, 미리 설정된 심볼 그룹 매핑 테이블을 기초로, 상기 전역 위상 천이 신호를 n*M/2 비트 시퀀스 형태의 제1 내지 제M 매핑 시퀀스에 매핑하여 데이터 신호 그룹을 생성하는 단계, 상기 데이터 신호 그룹을 변조하여 펄스파 신호를 생성하는 단계 및 상기 펄스파 신호에 따라 상기 OCC 송신 노드에 포함된 복수개의 광원들 각각을 점멸시키는 단계를 포함한다. 따라서 통신 시스템의 성능이 향상될 수 있다.

Description

광학 카메라 통신 시스템의 통신 방법 및 장치
본 발명은 광학 카메라 통신(optical camera communication, OCC)을 이용하여 신호를 송수신하는 방법에 관한 것으로, 보다 상세하게는 OCC 신호를 변조하여 송신하는 방법 및 수신한 OCC 신호를 복조하는 방법에 관한 것이다.
최근 가시광 파장에 통신기능을 부가하여 무선 통신을 가능하게 하는 기술인 가시광 통신(Visible Light Communication; VLC) 기술이 활발히 연구되고 있으며, IEEE 802.15.7 국제표준규격도 완료되어 상용화를 위한 비즈니스 모델 발굴을 추진하고 있다. 그러나 IEEE 802.15.7은 주로 광 검출기(Photo Diode; PD)를 이용한 데이터 전송에 국한되어 있어 VLC 동글 등의 전용 통신장치를 사용해야 하는 문제점이 있다. 이에 따라 광검출기보다는 주로 카메라와 같은 이미지 센서를 이용하고, 가시광선뿐만 아니라 적외선 및 자외선 파장까지 포함하는 광학 카메라 통신(Optical Camera Communications; OCC)의 국제표준화가 IEEE 802.15.7m OWC TG(Task Group)에서 진행되고 있다. OCC는 다양한 분야에 활용될 수 있으며, 특히 차량 간(vehicle to vehicle, V2V) 통신 및 차량 및 사물(vehicle to everything, V2X) 간 통신에 활용될 수 있다.
OCC는 빛과 카메라를 이용한 원격 통신이라는 특성상, 신호의 송수신 및 변복조 등에 있어서 외부 환경의 영향을 많이 받게 될 수 있다. 따라서, OCC 시스템에 있어서 신호의 변복조 성능을 향상시켜 통신의 품질을 향상시키기 위한 방법이 요구된다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 광학 카메라 통신 시스템의 성능을 향상시키기 위한 광학 카메라 통신 신호의 변복조 방법을 제공하는 데 있다.
본 발명의 실시예에 따른 송신 노드는 프로세서(processor), 상기 프로세서에 의해 실행되는 하나 이상의 명령들이 저장된 메모리(memory) 및 상기 프로세서에 의해 실행되는 명령에 따라 점멸하는 복수의 LED(light emitting diode)를 포함하는 LED 어레이(array)를 포함할 수 있고, 상기 하나 이상의 명령들은, 직교 주파수 분할 다중화(orthogonal frequency division modulation)방식으로 데이터를 변조하여 데이터 프레임을 생성하고 그리고 상기 데이터 프레임을 기초로 상기 LED 어레이에 포함된 LED들을 점멸시킴으로써 상기 데이터 프레임을 수신 노드에 전송하도록 실행되고, 상기 데이터 프레임은 미리 설정된 개수의 데이터 서브 프레임(data sub frame)들을 포함하고, 상기 미리 설정된 개수의 데이터 서브 프레임들 각각은 동일한 시퀀스 넘버(sequence number)와 동일한 페이로드(payload)를 포함할 수 있다.
여기서 상기 하나 이상의 명령들은, 상기 수신 노드로부터 오버 샘플링이 발생 하였다는 정보를 포함하는 응답 메시지를 수신하고 그리고 상기 데이터 서브 프레임들의 개수가 감소하도록 더 실행될 수 있다.
여기서, 상기 응답 메시지는 상기 수신 노드에 포함된 카메라의 촬영 주기에 대한 정보를 더 포함할 수 있고, 상기 하나 이상의 명령들은, 상기 응답 메시지에 의해 지시되는 상기 촬영 주기를 상기 데이터 서브 프레임들의 전송 주기로 나눈 값보다 크거나 같은 값으로 상기 데이터 서브 프레임들의 개수를 설정하도록 더 실행될 수 있다.
여기서 상기 하나 이상의 명령들은, 상기 수신 노드로부터 상기 수신 노드에 포함된 카메라에 의해 촬영된 이미지들 가운데 임의의 이미지의 비트당 픽셀 수에 대한 정보가 포함된 응답 메시지를 수신하고 그리고 상기 LED 어레이의 크기 및 상기 비트당 픽셀 수를 기초로, 상기 데이터 서브 프레임의 크기를 설정하도록 더 실행되고, 상기 데이터 서브 프레임 크기는 상기 LED 어레이의 크기를 상기 응답 메시지에서 지시하는 상기 픽셀 수로 나눈 값보다 작거나 동일한 값일 수 있다.
본 발명의 다른 실시예에 따른 수신 노드는 프로세서(processor). 상기 프로세서에 의해 실행되는 하나 이상의 명령들이 저장된 메모리(memory) 및 상기 프로세서에 의해 실행되는 명령에 따라 송신 노드의 LED 어레이(Light Emitting Diode array)의 점멸 상태의 이미지들을 촬영하는 카메라를 포함할 수 있고, 상기 하나 이상의 명령들은, 상기 LED 어레이의 점멸 상태의 이미지들로부터, 각각 동일한 시퀀스 넘버(sequence number)와 동일한 페이로드(payload)가 포함된 미리 설정된 개수의 데이터 서브 프레임(data sub frame)들을 포함하는 복수의 데이터 프레임(data frame)들을 획득할 수 있고 상기 카메라의 프레임 속도와 상기 LED 어레이의 점멸 속도를 비교하여 오버 샘플링 발생 여부를 판단할 수 있고 상기 오버 샘플링이 발생한 경우, 상기 데이터 서브 프레임들의 시퀀스 넘버를 비교하여, 서로 다른 시퀀스 넘버를 포함하는 데이터 서브 프레임들을 획득할 수 있고 그리고 상기 서로 다른 시퀀스 넘버를 포함하는 데이터 서브 프레임들에 포함된 페이로드들을 획득하고, 상기 페이로드들을 상기 시퀀스 넘버의 순서대로 병합하여 상기 데이터 프레임들을 복호하도록 실행될 수 있다.
여기서, 상기 하나 이상의 명령들은, 상기 오버 샘플링이 발생한 것으로 판단한 경우, 상기 오버 샘플링이 발생 하였다는 정보를 포함하는 응답 메시지를 상기 송신 노드에 전송하도록 더 실행될 수 있다.
여기서, 상기 하나 이상의 명령들은, 상기 송신 노드로부터 상기 송신 노드에 포함된 LED 어레이의 크기를 지시하는 정보가 포함된 응답 메시지를 수신하고, 상기 카메라가 촬영한 이미지들 가운데 임의의 이미지의 비트당 픽셀 수를 검출하고 그리고 상기 LED 어레이의 크기 및 상태 비트당 픽셀 수를 기초로, 상기 데이터 서브 프레임의 크기를 설정하도록 실행되고, 상기 데이터 서브 프레임의 크기는 상기 응답 메시지에서 지시하는 LED 어레이의 크기를 상기 픽셀 수로 나눈 값보다 작거나 동일한 값일 수 있다.
여기서, 상기 하나 이상의 명령들은, 상기 픽셀 수를 상기 프로세서의 기준 클록의 주기에 비례하고 상기 카메라의 프레임 레이트에 반비례하게 설정하도록 더 실행될 수 있다.
본 발명의 또 다른 실시예에 따른 수신 노드는 프로세서(processor), 상기 프로세서에 의해 실행되는 하나 이상의 명령들이 저장된 메모리(memory) 및 상기 프로세서에 의해 실행되는 명령에 따라 송신 노드의 LED 어레이(Light Emitting Diode array)의 점멸 상태의 이미지들을 촬영하는 카메라를 포함할 수 있고, 상기 하나 이상의 명령들은, 상기 LED 어레이의 점멸 상태의 이미지들로부터, 각각 동일한 시퀀스 넘버(sequence number)와 동일한 페이로드(payload)가 포함된 미리 설정된 개수의 데이터 서브 프레임(data sub frame)들을 포함하는 복수의 데이터 프레임(data frame)들을 획득하고, 기 카메라의 프레임 속도와 상기 LED 어레이의 점멸 속도를 비교하여 언더 샘플링 발생 여부를 판단하고, 상기 언더 샘플링이 발생한 경우, 상기 데이터 서브 프레임들의 상기 시퀀스 넘버를 비교하여 누락된 데이터 프레임을 검출하고, 상기 누락된 데이터 프레임을 재전송 할 것을 요청하는 정보가 포함된 재전송 요청 메시지를 상기 송신 노드에 전송하고 그리고 상기 획득한 데이터 프레임들을 복호하도록 실행될 수 있다.
여기서, 상기 하나 이상의 명령들은, 상기 송신 노드로부터 상기 재전송 요청 메시지에서 지시하는 누락된 데이터 프레임을 재수신하고 그리고 상기 송신 노드로부터 재수신한 데이터 프레임을 복조하도록 더 실행될 수 있다.
여기서, 상기 하나 이상의 명령들은, 상기 획득한 데이터 프레임들을 복조한 결과와 상기 송신 노드로부터 재수신한 데이터 프레임을 복조한 결과를 병합하여 데이터를 획득하도록 더 실행될 수 있다.
여기서, 상기 하나 이상의 명령들은, 상기 송신 노드로부터 상기 송신 노드에 포함된 LED 어레이의 크기를 지시하는 정보가 포함된 응답 메시지를 수신하고 상기 카메라가 촬영한 이미지들 가운데 임의의 이미지의 비트당 픽셀 수를 검출하고 그리고 상기 LED 어레이의 크기 및 상태 비트당 픽셀 수를 기초로, 상기 데이터 서브 프레임의 크기를 설정하도록 실행되고, 상기 데이터 서브 프레임의 크기는 상기 응답 메시지에서 지시하는 LED 어레이의 크기를 상기 픽셀 수로 나눈 값보다 작거나 동일한 값일 수 있다.
여기서, 상기 하나 이상의 명령들은, 상기 픽셀 수를 상기 프로세서의 기준 클록의 주기에 비례하고 상기 카메라의 프레임 레이트에 반비례하게 설정하도록 더 실행될 수 있다.
본 발명의 또 다른 실시예에 따라 광학 카메라 통신(Optical Camera Communication, OCC) 신호를 송신하는 OCC 송신 노드에 의한 OCC 신호의 변조 방법은, 이진 데이터 신호를 획득하는 단계, 상기 이진 데이터 신호를 k 비트씩 그룹화하여 0부터
Figure PCTKR2019016595-appb-I000001
까지의 정수 값을 갖는 전역 위상 천이(global phase shift) 신호로 변환하는 단계, 미리 설정된 심볼 그룹 매핑 테이블을 기초로, 상기 전역 위상 천이 신호를
Figure PCTKR2019016595-appb-I000002
비트 시퀀스 형태의 제1 내지 제M 매핑 시퀀스에 매핑하여 데이터 신호 그룹을 생성하는 단계, 상기 데이터 신호 그룹을 변조하여 펄스파 신호를 생성하는 단계 및 상기 펄스파 신호에 따라 상기 OCC 송신 노드에 포함된 복수개의 광원들 각각을 점멸시키는 단계를 포함하며, 상기 심볼 그룹 매핑 테이블은 상기 0부터
Figure PCTKR2019016595-appb-I000003
까지의 정수 값을 갖는 전역 위상 천이 신호와 상기 제1 내지 제M 매핑 시퀀스 간의 연결관계를 나타내고, 상기 k 및 상기 n은 3 이상의 정수인 것을 특징으로 할 수 있다.
상기 제1 내지 제M 매핑 시퀀스는, n 비트씩을 한 묶음으로 하여,
Figure PCTKR2019016595-appb-I000004
개의 n-비트 묶음을 가지는
Figure PCTKR2019016595-appb-I000005
비트 시퀀스 형태로 형성되는 것을 특징으로 할 수 있다.
상기 제1 내지 제
Figure PCTKR2019016595-appb-I000006
매핑 시퀀스에서, 1 개의 n-비트 묶음은 1 값을 가지고
Figure PCTKR2019016595-appb-I000007
개의 n-비트 묶음은 0 값을 가지며 상기 제
Figure PCTKR2019016595-appb-I000008
내지 제M 매핑 시퀀스에서, 1 개의 n-비트 묶음은 0 값을 가지고
Figure PCTKR2019016595-appb-I000009
개의 n-비트 묶음은 1 값을 가지는 것을 특징으로 할 수 있다.
상기 k 및 상기 n은 3이며, 상기 심볼 그룹 매핑 테이블은, 상기 0부터 7까지의 정수 값을 갖는 전역 위상 천이 신호와 제1 내지 제8 3-심볼 시퀀스 간의 연결관계 및 상기 제1 내지 제8 3-심볼 시퀀스와 상기 제1 내지 제8 매핑 시퀀스 간의 연결관계를 더 나타내고, 상기 제1 내지 제8 3-심볼 시퀀스는 각각 3개의 심볼들을 가지도록 생성되는 것을 특징으로 할 수 있다.
상기 제1 3-심볼 시퀀스는 1로 설정된 3개의 심볼들을 가지도록 생성되고, 상기 제2 내지 제4 3-심볼 시퀀스는 각각 5로 설정된 1개의 심볼과 0으로 설정된 2개의 심볼들을 가지도록 생성되고, 상기 제5 내지 제7 3-심볼 시퀀스는 각각 1로 설정된 1개의 심볼과 4로 설정된 2개의 심볼들을 가지도록 생성되고, 상기 제8 3-심볼 시퀀스는 5로 설정된 3 개의 심볼들을 가지도록 생성되는 것을 특징으로 할 수 있다.
상기 제1 내지 제8 매핑 시퀀스는, 상기 제1 내지 제8 3-심볼 시퀀스의 각 심볼들을 다음의 표에 따라 4 비트의 신호들로 매핑하여, 각각 12 비트 시퀀스 형태로 생성되는 것을 특징으로 할 수 있다.
Figure PCTKR2019016595-appb-I000010
상기 심볼 그룹 매핑 테이블에서, 상기 제
Figure PCTKR2019016595-appb-I000011
내지 제M 매핑 시퀀스는, 상기 제1 내지 제
Figure PCTKR2019016595-appb-I000012
매핑 시퀀스에 NOT 연산을 적용하여 생성되는 것을 특징으로 할 수 있다.
상기 심볼 그룹 매핑 테이블은, 상기 제1 내지 제M 매핑 시퀀스 간의 최소 해밍 거리(hamming distance)가 2n 이 되도록 형성되는 것을 특징으로 할 수 있다.
본 발명의 또 다른 실시예에 따라 광학 카메라 통신(Optical Camera Communication, OCC) 신호를 송신하는 OCC 송신 노드에 의한 OCC 신호의 변조 방법은 OCC 신호를 송신하는 OCC 송신 노드에 포함된 복수개의 광원들의 점멸 상태를 검출하는 단계, 상기 광원들의 점멸 상태 정보를 이진 시퀀스로 변환하는 단계, 상기 이진 시퀀스를
Figure PCTKR2019016595-appb-I000013
비트씩 그룹화하여,
Figure PCTKR2019016595-appb-I000014
비트의 데이터 신호 그룹을 획득하는 단계, 미리 설정된 심볼 그룹 매핑 테이블을 기초로 상기 데이터 신호 그룹으로부터 전역 위상 천이 신호를 획득하는 단계 및 상기 전역 위상 천이 신호를 변환하여 이진 데이터를 획득하는 단계를 포함하고, 상기 심볼 그룹 매핑 테이블은 상기 심볼 그룹 매핑 테이블은 0부터
Figure PCTKR2019016595-appb-I000015
까지의 정수 값을 갖는 전역 위상 천이 신호와 제1 내지 제M 매핑 시퀀스 간의 연결관계를 나타내고, 상기 제
Figure PCTKR2019016595-appb-I000016
내지 제M 매핑 시퀀스는, 상기 제1 내지 제
Figure PCTKR2019016595-appb-I000017
매핑 시퀀스에 NOT 연산을 적용하여 생성된 것을 특징으로 할 수 있다.
상기 심볼 그룹 매핑 테이블은, 상기 제1 내지 제M 매핑 시퀀스 간의 최소 해밍 거리(hamming distance)가 2n 이 되도록 형성되는 것을 특징으로 할 수 있다.
상기 데이터 신호 그룹으로부터 전역 위상 천이 신호를 획득하는 단계는, 상기 데이터 신호 그룹이 상기 제1 내지 제M 매핑 시퀀스 중 어느 하나와 일치하는지 여부를 판단하는 단계 및 상기 데이터 신호 그룹이 상기 제1 내지 제M 매핑 시퀀스 중 어느 하나와 일치할 경우, 상기 데이터 신호 그룹을 상기 데이터 신호 그룹과 일치하는 매핑 시퀀스에 연결된 전역 위상 천이 신호로 변환하는 단계를 포함하는 것을 특징으로 할 수 있다.
상기 데이터 신호 그룹으로부터 전역 위상 천이 신호를 획득하는 단계는, 상기 데이터 신호 그룹이 상기 제1 내지 제M 매핑 시퀀스 중 어느 하나와 일치하는지 여부를 판단하는 단계, 상기 데이터 신호 그룹이 상기 제1 내지 제M 매핑 시퀀스 중 어느 하나와 일치하지 않을 경우, 상기 데이터 신호 그룹과 상기 제1 내지 제M 매핑 시퀀스 간의 해밍 거리를 기초로 상기 데이터 신호 그룹의 오류를 정정하는 단계, 오류가 정정된 데이터 신호 그룹을 생성하는 단계 및 상기 오류가 정정된 데이터 신호 그룹이 상기 제1 내지 제M 매핑 시퀀스 중 어느 하나와 일치하는지 여부를 다시 판단하는 단계를 포함하며, 상기 데이터 신호 그룹의 오류를 정정하는 단계는, 상기 OCC 수신 노드의 인공 신경망(artificial neural network)에 의해 수행되는 것을 특징으로 할 수 있다.
상기 OCC 신호의 복조 방법은 상기 데이터 신호 그룹의 오류를 정정하는 단계 이후, 상기 OCC 신호 송신 노드가 송신한 데이터 신호 그룹과 상기 오류가 정정된 데이터 신호 그룹 간의 오류 정보를 산출하는 단계; 및 상기 오류 정보를 역전파(back-propagation)하여 상기 인공 신경망의 가중 벡터(weight vector)를 업데이트하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 실시예에 따라 광학 카메라 통신(Optical Camera Communication, OCC) 신호를 송신하는 OCC 송신 노드는 프로세서(processor), 상기 프로세서의 제어에 따라 동작하는 복수개의 광원들 및 상기 프로세서에 의해 실행되는 하나 이상의 명령들이 저장된 메모리를 포함하며, 상기 하나 이상의 명령들은, 이진 데이터 신호를 획득하고, 상기 이진 데이터 신호를 k 비트씩 그룹화하여 0부터
Figure PCTKR2019016595-appb-I000018
까지의 정수 값을 갖는 전역 위상 천이(global phase shift) 신호로 변환하고, 미리 설정된 심볼 그룹 매핑 테이블을 기초로, 상기 전역 위상 천이 신호를
Figure PCTKR2019016595-appb-I000019
비트 시퀀스 형태의 제1 내지 제M 매핑 시퀀스에 매핑하여 데이터 신호 그룹을 생성하고, 상기 데이터 신호 그룹을 변조하여 펄스파 신호를 생성하고, 그리고 상기 펄스파 신호에 따라 상기 복수개의 광원들 각각을 점멸시키도록 실행되며, 상기 심볼 그룹 매핑 테이블은 상기 0부터
Figure PCTKR2019016595-appb-I000020
까지의 정수 값을 갖는 전역 위상 천이 신호와 상기 제1 내지 제M 매핑 시퀀스 간의 연결관계를 나타내고, 상기 k 및 상기 n은 3 이상의 정수인 것을 특징으로 할 수 있다.
상기 제1 내지 제M 매핑 시퀀스는, n 비트씩을 한 묶음으로 하여,
Figure PCTKR2019016595-appb-I000021
개의 n-비트 묶음을 가지는
Figure PCTKR2019016595-appb-I000022
비트 시퀀스 형태로 형성되고, 상기 제1 내지 제
Figure PCTKR2019016595-appb-I000023
매핑 시퀀스에서, 1 개의 n-비트 묶음은 1 값을 가지고
Figure PCTKR2019016595-appb-I000024
개의 n-비트 묶음은 0 값을 가지며 상기 제
Figure PCTKR2019016595-appb-I000025
내지 제M 매핑 시퀀스에서, 1 개의 n-비트 묶음은 0 값을 가지고
Figure PCTKR2019016595-appb-I000026
개의 n-비트 묶음은 1 값을 가지는 것을 특징으로 할 수 있다.
상기 OCC 송신 노드에 있어서, 상기 k 및 상기 n은 3이며, 상기 심볼 그룹 매핑 테이블은, 상기 0부터 7까지의 정수 값을 갖는 전역 위상 천이 신호와 제1 내지 제8 3-심볼 시퀀스 간의 연결관계; 및 상기 제1 내지 제8 3-심볼 시퀀스와 상기 제1 내지 제8 매핑 시퀀스 간의 연결관계를 더 나타내고, 상기 제1 내지 제8 3-심볼 시퀀스는 각각 3개의 심볼들을 가지도록 생성되는 것을 특징으로 할 수 있다.
상기 OCC 송신 노드에 있어서, 상기 제1 3-심볼 시퀀스는 1로 설정된 3개의 심볼들을 가지도록 생성되고, 상기 제2 내지 제4 3-심볼 시퀀스는 각각 5로 설정된 1개의 심볼과 0으로 설정된 2개의 심볼들을 가지도록 생성되고, 상기 제5 내지 제7 3-심볼 시퀀스는 각각 1로 설정된 1개의 심볼과 4로 설정된 2개의 심볼들을 가지도록 생성되고, 상기 제8 3-심볼 시퀀스는 5로 설정된 3 개의 심볼들을 가지도록 생성되며, 상기 제1 내지 제8 매핑 시퀀스는, 상기 제1 내지 제8 3-심볼 시퀀스의 각 심볼들을 다음의 표에 따라 4 비트의 신호들로 매핑하여, 각각 12 비트 시퀀스 형태로 생성되는 것을 특징으로 할 수 있다.
Figure PCTKR2019016595-appb-I000027
상기 심볼 그룹 매핑 테이블에서, 상기 제
Figure PCTKR2019016595-appb-I000028
내지 제M 매핑 시퀀스는, 상기 제1 내지 제
Figure PCTKR2019016595-appb-I000029
매핑 시퀀스에 NOT 연산을 적용하여 생성되는 것을 특징으로 할 수 있다.
본 발명의 또 다른 실시예에 따라, 광학 카메라 통신(Optical Camera Communication, OCC) 신호를 수신하며, 카메라, 이미지 처리부, 필터부 및 데이터 추출부를 포함하는 OCC 수신 노드에 의한 OCC 신호의 복조 방법은, 상기 카메라가 광원의 점멸 상태를 연속적으로 촬영하여 복수의 이미지 프레임들을 생성하는 촬영 단계, 상기 이미지 처리부가 상기 카메라로부터 상기 복수의 이미지 프레임들을 수신하여, 상기 복수의 이미지 프레임들 각각으로부터 밝기신호 시퀀스를 생성하는 처리 단계, 상기 필터부가 상기 밝기신호 시퀀스로부터 비트 시퀀스를 검출하는 검출 단계 및 상기 데이터 추출부가 상기 비트 시퀀스로부터 데이터를 추출하는 추출 단계를 포함할 수 있다.
상기 필터부는 매치 필터를 포함하며, 상기 검출 단계는, 상기 밝기신호 시퀀스와 동일한 길이의 반전 시퀀스를 생성하는 단계, 상기 밝기신호 시퀀스 및 상기 반전 시퀀스를 콘볼루션 연산하는 단계 및 상기 콘볼루션 연산 결과로부터 상기 비트 시퀀스를 검출하는 단계를 포함하는 것을 특징으로 할 수 있다.
상기 콘볼루션 연산 결과로부터 상기 비트 시퀀스를 검출하는 단계는, 상기 콘볼루션 연산 결과 최댓값을 가지는 지점에 기초하여 상기 비트 시퀀스를 검출하는 것을 특징으로 할 수 있다.
상기 반전 시퀀스를 생성하는 단계는, 4B6B 인코딩 방식에 따라 미리 설정된 테이블을 기반으로 상기 반전 시퀀스를 생성하는 것을 특징으로 할 수 있다.
상기 반전 시퀀스를 생성하는 단계는, 맨체스터(Manchester) 인코딩 방식에 따라 미리 설정된 테이블을 기반으로 상기 반전 시퀀스를 생성하는 것을 특징으로 할 수 있다.
상기 추출 단계는, 상기 비트 시퀀스로부터 송신 페이로드를 복원하는 복원 단계 및 상기 송신 페이로드로부터 데이터를 추출하는 단계를 포함하고, 상기 복원 단계는, 상기 비트 시퀀스로부터 시작 프레임을 검출하는 단계, 상기 시작 프레임 전단의 후단 비동기 비트를 검출하는 단계, 상기 시작 프레임 후단의 전단 비동기 비트를 검출하는 단계, 상기 전단 및 후단 비동기 비트의 값을 비교하는 단계 및 상기 전단 및 후단 비동기 비트에 기초하여 송신 페이로드를 복원하는 단계를 포함하는 것을 특징으로 할 수 있다.
상기 복원하는 단계는, 서로 연속되는 복수의 비트 시퀀스들에 서로 동일한 값을 가지는 전단 또는 후단 비동기 비트가 포함되어 있을 경우, 상기 서로 연속되는 복수의 비트 시퀀스들에 포함된 복수의 페이로드들을 병합하여 상기 송신 페이로드를 복원하는 것을 특징으로 할 수 있다.
상기 복원하는 단계는, 하나의 비트 시퀀스에 동일한 값을 가지는 전단 또는 후단 비동기 비트가 포함되어 있을 경우, 상기 하나의 비트 시퀀스 내에 포함된 복수의 페이로드들을 병합하여 상기 송신 페이로드를 복원하는 것을 특징으로 할 수 있다.
본 발명의 또 다른 실시예에 따라 광학 카메라 통신(Optical Camera Communication, OCC) 신호를 수신하는 수신 노드에 구비되는 OCC 신호의 복조 장치는 프로세서, 상기 프로세서에 의해 실행되는 하나 이상의 명령들이 저장된 메모리, 카메라, 이미지 처리부, 필터부 및 데이터 추출부를 포함하며, 상기 하나 이상의 명령들은, 상기 카메라에 의해, 광원의 점멸 상태를 연속적으로 촬영하여 복수의 이미지 프레임들을 생성하고, 상기 이미지 처리부에 의해, 상기 카메라에서 생성된 복수의 이미지 프레임들 밝기신호 시퀀스를 생성하고, 상기 필터부에 의해 상기 밝기신호 시퀀스로부터 비트 시퀀스를 검출하고, 그리고 상기 데이터 추출부에 의해 상기 비트 시퀀스로부터 데이터를 추출하도록 실행될 수 있다.
상기 하나 이상의 명령들은, 상기 필터부에 포함되는 매치 필터에 의해, 상기 밝기신호 시퀀스와 동일한 길이의 반전 시퀀스를 생성하고, 상기 밝기신호 시퀀스 및 상기 반전 시퀀스를 콘볼루션 연산하여 상기 콘볼루션 연산 결과로부터 상기 비트 시퀀스를 검출하도록 더 실행되는 것을 특징으로 할 수 있다.
상기 하나 이상의 명령들은, 상기 매치 필터에 의해, 상기 콘볼루션 연산 결과 최댓값을 가지는 지점에 기초하여 상기 비트 시퀀스를 검출하도록 더 실행되는 것을 특징으로 할 수 있다.
상기 하나 이상의 명령들은, 상기 매치 필터에 의해, 4B6B 인코딩 방식에 따라 미리 설정된 테이블을 기반으로 상기 반전 시퀀스를 생성하도록 더 실행되는 것을 특징으로 할 수 있다.
상기 하나 이상의 명령들은, 상기 매치 필터에 의해, 맨체스터(Manchester) 인코딩 방식에 따라 미리 설정된 테이블을 기반으로 상기 반전 시퀀스를 생성하도록 더 실행되는 것을 특징으로 할 수 있다.
상기 하나 이상의 명령들은, 상기 데이터 추출부에 의해, 상기 비트 시퀀스에 포함된 시작 프레임 전단의 후단 비동기 비트 및 상기 시작 프레임 후단의 전단 비동기 비트를 검출하여, 상기 전단 및 후단 비동기 비트에 기초하여 송신 페이로드를 복원하도록 더 실행되는 것을 특징으로 할 수 있다.
상기 하나 이상의 명령들은, 상기 데이터 추출부에 의해, 서로 연속되는 복수의 비트 시퀀스들에 서로 동일한 값을 가지는 전단 또는 후단 비동기 비트가 포함되어 있을 경우, 상기 서로 연속되는 복수의 비트 시퀀스들에 포함된 복수의 페이로드들을 병합하여 상기 송신 페이로드를 복원하도록 더 실행되는 것을 특징으로 할 수 있다.
상기 하나 이상의 명령들은, 상기 데이터 추출부에 의해, 하나의 상기 비트 시퀀스에 동일한 값을 가지는 전단 또는 후단 비동기 비트가 포함되어 있을 경우, 상기 하나의 비트 시퀀스 내에 포함된 복수의 페이로드들을 병합하여 상기 송신 페이로드를 복원하는 것을 특징으로 할 수 있다.
본 발명에 의하면, 통신 시스템에서 데이터 프레임이 동일한 시퀀스 넘버를 포함하는 복수의 데이터 서브 프레임으로 구성됨으로써, 수신 노드의 카메라 프레임 속도의 변화에 따라 언더 샘플링 또는 오버 샘플링이 발생하더라도 전송되는 데이터의 손실이 방지될 수 있다.
본 발명의 실시예에 의하면, 이진 데이터를 데이터 신호 그룹으로 변환하되, 코드 레이트 1/n 조건에서 그룹 간 최소 해밍 거리가 2n이 되도록 기 설정된 심볼 그룹 매핑 테이블에 기초하여 변환함으로써, OCC 신호 복호 성능 및 인공지능에 의한 오류 정정 성능을 향상시킬 수 있다.
본 발명의 실시예에 의하면, 광학 카메라 통신(Optical Camera Communication, OCC) 시스템에서 광원의 점멸 상태를 촬영하여 생성된 밝기신호로부터 비트 시퀀스를 검출하는 데 있어서 매치 필터를 적용함으로써, 이상적인 실내 환경 조건이 아닌 다른 조건, 이를테면 광원과 카메라 간의 거리가 길거나, OCC 시스템의 광원 외 별도의 광원이 다량 존재하거나, 혹은 실외 환경인 등의 조건에서도 효과적으로 OCC 신호를 수신 및 복조할 수 있다.
도 1은 본 발명의 제1 실시예에 따른 통신 시스템을 도시한 개념도이다.
도 2는 본 발명의 제1 실시예에 따른 통신 시스템을 구성하는 통신 노드를 도시한 블록도이다.
도 3은 본 발명의 제1 실시예에 따른 통신 시스템에서 통신 노드에 포함된 송신 모듈을 도시한 블록도이다.
도 4는 본 발명의 제1 실시예에 따른 통신 시스템에서 송신 모듈에 포함된 송신 처리부를 도시한 블록도이다.
도 5는 본 발명의 제1 실시예에 따른 통신 시스템에서 데이터 프레임을 도시한 개념도이다.
도 6은 본 발명의 제1 실시예에 따른 통신 시스템에서 수신 노드에 포함된 수신 모듈을 도시한 블록도이다.
도 7은 본 발명의 제1 실시예에 따른 통신 시스템에서 수신 모듈에 포함된 데이터 획득부를 도시한 블록도이다.
도 8은 본 발명의 제1 실시예에 따른 통신 시스템에서 데이터의 송수신 방법을 도시한 순서도이다.
도 9는 본 발명의 제1 실시예에 따른 통신 시스템에서 디코딩 방법을 도시한 개념도이다.
도 10은 본 발명의 제1-2 실시예에 따른 통신 시스템에서 데이터 송수신 방법을 도시한 순서도이다.
도 11은 본 발명의 제1 실시예에 따른 통신 시스템에서 누락된 데이터 프레임을 검출하는 방법을 도시한 개념도이다.
도 12는 본 발명의 제2 실시예에 따른 광학 카메라 통신(optical camera communication, OCC) 시스템을 도시한 구성도이다.
도 13은 본 발명의 제2 실시예에 따른 OCC 송신 노드의 OCC 신호 송신 동작을 도시한 흐름도이다.
도 14는 본 발명의 제2 실시예에 따른 OCC 수신 노드의 OCC 신호 수신 동작을 도시한 흐름도이다.
도 15는 본 발명의 제2 실시예에 따른 OCC 수신 노드의 오류 정정 동작을 도시한 흐름도이다.
도 16은 본 발명의 제2 실시예에 따른 OCC 수신 노드에 포함된 인공 신경망(artificial neural network)을 도시한 개념도이다.
도 17은 본 발명의 제2 실시예에 따른 OCC 수신 노드의 오류 정정 동작의 효과를 설명하기 위한 그래프이다.
도 18은 본 발명의 제3 실시예에 따른 광학 카메라 통신(Optical Camera Communication, OCC) 시스템을 개략적으로 도시한 블록도이다.
도 19는 본 발명의 제3 실시예에 따른 OCC 시스템에서 송신 및 수신되는 데이터 패킷의 구조를 개략적으로 도시한 구조도이다.
도 20은 본 발명의 제3 실시예에 의한 OCC 시스템에서 데이터를 추출 및 복원하는 방법의 원리를 도시한 도면이다.
도 21은 본 발명의 제3 실시예에 따른 OCC 통신 방법을 개략적으로 도시한 순서도이다.
도 22는 본 발명의 제3 실시예에 따른 필터부의 비트 시퀀스 검출 방법을 개략적으로 도시한 순서도이다.
도 23은 본 발명의 제3-1 실시예에 따른 데이터 추출부의 데이터 추출 방법을 개략적으로 도시한 순서도이다.
도 24는 본 발명의 제3-2 실시예에 따른 데이터 추출부의 데이터 추출 방법을 개략적으로 도시한 순서도이다.
도 25 및 도 26은 종래의 OCC 시스템의 수신 노드에서 비트를 검출하는 방법의 문제점을 설명하기 위한 그래프이다.
도 27은 본 발명의 제3 실시예에 따른 OCC 시스템의 수신 노드에서 비트를 검출하는 방법을 설명하기 위한 그래프이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명에 따른 실시예들이 적용되는 통신 시스템(communication system)이 설명될 것이다. 본 발명에 따른 실시예들이 적용되는 통신 시스템은 아래 설명된 내용에 한정되지 않으며, 본 발명에 따른 실시예들은 다양한 통신 시스템에 적용될 수 있다. 여기서, 통신 시스템은 통신 네트워크(network)와 동일한 의미로 사용될 수 있다.
이하, 도 1 내지 11을 참조하여 본 발명의 제1 실시예에 따른 통신 시스템이 설명된다.
도 1은 본 발명의 제1 실시예에 따른 통신 시스템을 도시한 개념도이다.
도 1을 참조하면, 통신 시스템은 복수의 통신 노드들(110, 120)을 포함할 수 있다. 복수의 통신 노드들(110, 120)은 IEEE(Institute of Electrical and Electronics Engineers) 802.15.7(예를 들어, IEEE 802.15.7m)에 규정된 통신 방식들을 사용하여 통신을 수행할 수 있다. 예를 들어, 복수의 통신 노드들(110, 120) 각각은 LED(Light Emitting Diode) 및 카메라를 포함할 수 있고, LED를 점멸시킴으로써 신호를 전송할 수 있고, 카메라에 의해 촬영된 LED의 점멸 상태에 기초하여 신호를 획득할 수 있다. 복수의 통신 노드들(110, 120) 각각은 센서(sensor) 노드, IoT(Internet of Things) 노드, 스마트폰(smart phone) 등일 수 있다. 복수의 통신 노드들(110, 120) 각각은 다음과 같은 구조를 가질 수 있다.
도 2는 본 발명의 제1 실시예에 따른 통신 시스템을 구성하는 통신 노드를 도시한 블록도이다.
도 2를 참조하면, 통신 노드(200)는 프로세서(210), 메모리(220), 송신 모듈(230), 및 수신 모듈(240)을 포함할 수 있다. 또한, 통신 노드(200)는 저장 장치(250) 등을 더 포함할 수 있다. 통신 노드(200)에 포함된 각각의 구성 요소들은 버스(bus)(260)에 의해 연결되어 서로 통신을 수행할 수 있다.
다만, 통신 노드(200)에 포함된 각각의 구성요소들은 공통 버스(260)가 아니라, 프로세서(210)를 중심으로 개별 인터페이스 또는 개별 버스를 통하여 연결될 수도 있다. 예를 들어, 프로세서(210)는 메모리(220), 송신 모듈(230), 수신 모듈(240), 및 저장 장치(250) 중에서 적어도 하나와 전용 인터페이스를 통하여 연결될 수도 있다.
프로세서(210)는 메모리(220) 및 저장 장치(250) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(210)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(220) 및 저장 장치(250) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(220)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
송신 모듈(230)은 LED 어레이(array)를 포함할 수 있으며, 프로세서(210)의 제어에 따라 동작할 수 있다. 수신 모듈(240)은 카메라를 포함할 수 있으며, 프로세서(210)의 제어에 따라 동작할 수 있다. 송신 모듈(230)은 다음과 같이 구성될 수 있다.
도 3은 본 발명의 제1 실시예에 따른 통신 시스템에서 통신 노드에 포함된 송신 모듈을 도시한 블록도이다.
도 3을 참조하면 송신 모듈(300)은 통신부(310), 송신 처리부(320), 디밍 제어부(330) 및 LED 어레이(340)를 포함할 수 있다. 여기에서 송신 모듈(300)은 도 2의 송신 모듈(230)과 유사하거나 동일하게 구성될 수 있다. 통신부(310)는 수신 모듈(600, 도 6 참조)과 통신을 수행할 수 있다. 통신부(310)는 수신 모듈(600)에 특정한 정보를 포함하는 응답 메시지(예를 들어, LED 어레이(340)의 크기를 지시하는 정보가 포함된 응답 메시지)를 전송할 수 있고, 수신 모듈(600)로부터 특정한 정보를 포함하는 응답 메시지(예를 들어, 수신 모듈(600)에 오버 샘플링이 발생한 정보를 포함하는 응답 메시지)를 수신할 수 있다. 송신 처리부(320)는 직교 주파수 분할 다중화 변조 방식(OFDM, Orthogonal Frequency Division Multiplexing)을 사용하여 입력 신호를 처리할 수 있다.
송신 처리부(320)는 다음과 같이 구성될 수 있다.
도 4는 본 발명의 제1 실시예에 따른 통신 시스템에서 송신 모듈에 포함된 송신 처리부를 도시한 블록도이다.
도 4를 참조하면, 송신 처리부(400)는 직/병렬 변환 유닛(serial to parallel converter unit, 410), FEC 인코더(Forward Error Correction encoder, 420), SN 삽입 유닛(Sequence Number add unit, 430), QAM 유닛(Quadrature Amplitude Modulation unit, 440), 매핑 유닛(450), IFFT(Inverse Fast Fourier Transform) 유닛(460), CP 추가 유닛(cyclic prefix add unit, 470) 및 병/직렬 변환 유닛(parallel series converter unit, 480) 및 데이터 프레임 생성 유닛(490)을 포함할 수 있다. 실시예들에서 유닛(unit)은 특정 기능을 수행하는 수단(means), 엔터티(entity), 장치(apparatus) 등을 의미할 수 있다.
직/병렬 변환 유닛(410)에는 직렬 비트 스트림이 입력될 수 있다. 직/병렬 변환 유닛(410)은 입력된 복수의 직렬 비트 스트림을 병렬 형태로 변환할 수 있다. 직/병렬 변환 유닛(410)은 병렬 형태의 비트 스트림을 FEC 인코더(420)에 전송할 수 있다.
FEC 인코더(420)는 직/병렬 변환 유닛(410)으로부터 병렬 형태의 비트 스트림을 수신할 수 있다. FEC 인코더(420)는 비트 스트림에 각각에 FEC를 위한 부가 정보를 추가할 수 있다. 여기에서 "비트 스트림+부가 정보"는 페이로드(예를 들어 데이터 심볼(data symbol))일 수 있다. FEC 인코더(420)는 페이로드를 SN 삽입 유닛(430)에 전송할 수 있다.
SN 삽입 유닛(430)은 FEC 인코더(420)으로부터 페이로드를 수신할 수 있다. SN 삽입 유닛(430)은 페이로드의 전단에 시퀀스 넘버(sequence number)를 추가할 수 있다. 여기에서 "시퀀스 넘버+페이로드"는 데이터 서브 프레임(data sub frame)일 수 있다. SN 삽입 유닛(430)은 QAM 유닛에 데이터 서브 프레임을 전송할 수 있다. QAM 유닛(440)은 SN 삽입 유닛(430)으로부터 데이터 서브 프레임을 수신할 수 있다. QAM 유닛(440)은 데이터 서브 프레임을 QAM 방식으로 변조할 수 있다. 예를 들어 QAM 유닛(440)은 16-QAM 또는 64-QAM 방식으로 데이터 서브 프레임을 변조할 수 있다. 16-QAM 방식으로 데이터 서브 프레임을 변조하는 경우, 페이로드를 16개의 레벨로 양자화하여 I/Q 플롯의 16개의 좌표에 매핑할 수 있다 64-QAM 방식으로 데이터 서브 프레임을 변조하는 경우, 데이터 서브 프레임을 64개의 레벨로 양자화 하여 I/Q 플롯의 64개의 좌표에 매핑할 수 있다. QAM 방식으로 변조된 데이터 서브 프레임은 I/Q 플롯의 좌표에 따라 실수부 및 허수부를 포함할 수 있다. QAM 유닛(440)은 QAM 방식으로 변조된 데이터 서브 프레임을 매핑 유닛(450)에 전송할 수 있다.
매핑 유닛(450)은 QAM 유닛(440)으로부터 QAM 방식으로 변조된 데이터 서브 프레임을 수신할 수 있다. 매핑 유닛(440)은 예를 들어, 헤르미티안 행렬(Hermitian matrix)을 포함할 수 있다. 여기서 헤르티미안 행렬은 주대각선 성분이 실수이고, 나머지 성분이 복소수이며, 대각선을 중심으로 서로 반대편의 성분들이 복소수 공액 관계인 행렬일 수 있다. 매핑 유닛(450)이 헤르미티안 행렬을 포함하는 경우, 매핑 유닛(460)은 QAM 방식으로 변조된 데이터 서브 프레임의 허수부를 제거하도록 매핑할 수 있다. 매핑 유닛(450)은 매핑된 데이터 서브 프레임을 IFFT 유닛(460)에 전송할 수 있다.
IFFT 유닛(460)은 매핑 유닛(450)으로부터 매핑된 데이터 서브 프레임을 수신할 수 있다. IFFT 유닛(460)은 IFFT(Inverse Fast Fourier Transform) 방식을 사용하여 주파수 영역의 데이터 서브 프레임을 시간 영역의 데이터 서브 프레임으로 변환할 수 있다. 또한 IFFT 유닛은 IDFT(Inverse Discrete Fourier Transform) 방식을 사용하여 주파수 영역의 데이터 서브 프레임을 시간 영역의 데이터 서브 프레임으로 변환할 수 있다. IFFT 유닛(460)은 시간 영역의 데이터 서브 프레임을 CP 추가 유닛(470)에 전송할 수 있다. CP 추가 유닛(470)은 시간 영역의 데이터 서브 프레임을 IFFT 유닛(460)으로부터 수신할 수 있다. CP 추가 유닛(470)은 시간 영역의 데이터 서브 프레임에 CP(Cyclic Prefix)를 삽입할 수 있다. 즉 CP 추가 유닛(470)은 시간 영역의 데이터 서브 프레임에 CP를 삽입하여 병/직렬 변환 유닛(480)에 전송할 수 있다.
병/직렬 변환 유닛(480)은 CP 추가 유닛(470)으로부터 CP 가 삽입된 데이터 서브 프레임을 수신할 수 있다. 병/직렬 변환 유닛(480)은 병렬 형태의 데이터 서브 프레임들을 직렬 형태의 데이터 서브 프레임으로 변환할 수 있다. 병/직렬 변환 유닛(480)은 직렬 형태의 데이터 서브 프레임을 데이터 프레임 생성 유닛(490)에 전송할 수 있다. 데이터 프레임 생성 유닛(490)은 병/직렬 변환 유닛(480)으로부터 직렬 형태의 데이터 서브 프레임들을 수신할 수 있다. 데이터 프레임 생성 유닛(490)은 데이터 서브 프레임들을 병합하여 데이터 프레임을 생성할 수 있다. 즉 데이터 프레임 생성 유닛(490)은 동일한 시퀀스 넘버 및 동일한 페이로드를 포함하는 데이터 서브 프레임들을 병합하여 데이터 프레임을 생성할 수 있다.
한편 송신 처리부(400)에 의해 생성되는 데이터 프레임은 다음과 같을 수 있다.
도 5는 본 발명의 제1 실시예에 따른 통신 시스템에서 데이터 프레임을 도시한 개념도이다.
도 5를 참조하면, 통신 노드에서 복수의 데이터 프레임들이 생성될 수 있다. 복수의 데이터 프레임들 각각에 포함된 페이로드(예를 들어, 데이터 심볼(DS))는 서로 다를 수 있다. 하나의 데이터 프레임은 복수의 데이터 서브 프레임들을 포함할 수 있으며, 하나의 데이터 프레임에 속한 복수의 데이터 서브 프레임들은 동일한 페이로드(예를 들어 데이터 심볼(DS))를 포함할 수 있다. 즉 데이터의 전송 누락을 방지하기 위해, 동일한 데이터 서브 프레임을 통해 동일한 페이로드가 반복 전송될 수 있다. 데이터 프레임 속도는 특정 구간에서 전송된 데이터 프레임들 중에서 서로 다른 페이로드를 포함하는 데이터 프레임들의 개수로 정의될 수 있다. 데이터 프레임은 오버(over) 샘플링 방식 및 언더(under) 샘플링 방식을 모두 지원하도록 설계될 수 있다. 오버 샘플링 방식은 카메라(즉, 도 6에 도시된 카메라(610))의 프레임 속도가 데이터 프레임 속도보다 빠른 경우에 사용되는 샘플링 방식일 수 있다. 언더 샘플링 방식은 카메라(즉, 도 6에 도시된 카메라(610))의 프레임 속도가 데이터 프레임 속도보다 느린 경우에 사용되는 샘플링 방식일 수 있다.
다시 도 3을 참조하면, 디밍 제어부(330)는 송신 처리부(320)로부터 데이터 프레임들을 수신할 수 있다. 디밍 제어부(330)는 데이터 프레임에 기초하여 미리 설정한 점멸 속도로 LED 어레이(340)를 점멸 시킬 수 있다. 디밍 제어부(330)는 LED 어레이(340)를 점멸 시킴으로써 수신 모듈(600, 도 6 참조)로 데이터 프레임을 전송할 수 있다.
도 6은 본 발명의 제1 실시예에 따른 통신 시스템에서 수신 노드에 포함된 수신 모듈을 도시한 블록도이다.
도 6을 참조하면, 수신 모듈(600)은 카메라(610), 비교부(620), 통신부(630) 및 데이터 획득부(640)를 포함할 수 있다. 수신 모듈(600)은 도 2의 수신 모듈(240)과 유사하거나 동일하게 구성될 수 있다. 카메라(610)는 카메라의 프레임 속도에 관한 정보를 비교부(630)에 전송할 수 있다. 또한, 카메라(610)는 송신 모듈(300, 도 3 참조)에 포함된 LED 어레이(340, 도 3 참조)의 점멸 상태의 이미지들을 촬영할 수 있다. 카메라(610)는 촬영된 점멸 상태의 이미지들을 비교부(630) 및 데이터 획득부(640)에 전송할 수 있다.
통신부(620)는 송신 모듈(300, 도 3 참조)와 통신을 수행할 수 있다. 통신부(620)는 송신 모듈(300)에 특정한 정보를 포함하는 응답 메시지(예를 들어, 송신 모듈(300)에 오버 샘플링이 발생한 정보를 포함하는 응답 메시지)를 전송할 수 있고, 송신 모듈(300)로부터 특정한 정보를 포함하는 응답 메시지(예를 들어, LED 어레이(340, 도 3 참조)의 크기를 지시하는 정보가 포함된 응답 메시지)를 수신할 수 있다.
비교부(630)는 카메라(610)로부터 카메라(610)의 프레임 속도에 관한 정보 및 LED 어레이(340)의 점멸 상태의 이미지들을 수신할 수 있다. 비교부(630)는 LED 어레이(340)의 점멸 상태의 이미지들로부터 LED 어레이(340)의 점멸 속도를 획득할 수 있다. 비교부(630)는 카메라(610)의 프레임 속도와 LED 어레이(340)의 점멸 속도를 비교하여, 수신 모듈(600)에 오버 샘플링 또는 언더 샘플링이 발생 하였는지 판단할 수 있다. 비교부(630)는 수신 모듈(600)에 오버 샘플링이 발생하였다고 판단 한 경우, 오버 샘플링이 발생하였다는 정보를 데이터 획득부(640)에 전송할 수 있다. 또한 비교부(630)는 수신 모듈(600)에 오버 샘플링이 발생하였다는 정보를 포함하는 응답 메시지를 생성할 수 있다. 비교부(630)는 오버 샘플링이 발생하였다는 정보를 포함하는 응답 메시지를 통신부(620)를 통해 송신 모듈(300)에 전송할 수 있다. 또한 비교부(630)는 수신 모듈(600)에 언더 샘플링이 발생하였다고 판단한 경우, 언더 샘플링이 발생하였다는 정보를 데이터 획득부(640)에 전송할 수 있다. 비교부(630)는 언더 샘플링이 발생하여 데이터 프레임이 누락된 경우, 누락된 데이터 프레임의 재전송을 요청하는 재전송 메시지를 생성할 수 있다. 비교부(630)는 재전송 메시지를 메시지를 통신부(620)를 통해 송신 모듈(300)에 전송할 수 있다.
데이터 획득부(640)는 카메라(610)로부터 LED 어레이(340)의 점멸 상태를 촬영한 이미지들을 수신할 수 있다. 데이터 획득부(640)는 LED 어레이(340)의 점멸 상태를 촬영한 이미지를 처리하여 데이터를 획득할 수 있다. 데이터 획득부(640)는 비교부(630)로부터 수신 모듈(600)에 오버 샘플링 또는 언더 샘플링이 발생하였다는 정보를 수신할 수 있다. 또한 데이터 획득부(640)는 언더 샘플링이 발생하였다는 정보를 수신한 경우, 누락된 데이터 프레임을 검출할 수 있고, 누락된 데이터 프레임에 관한 정보를 비교부(630)에 전송할 수 있다.
한편 데이터 획득부(640)는 다음과 같이 구성될 수 있다.
도 7은 본 발명의 제1 실시예에 따른 통신 시스템에서 수신 모듈에 포함된 데이터 획득부를 도시한 블록도이다.
도 7을 참조하면, 데이터 획득부(700)는 이미지 처리 유닛(710), 직/병렬 변환 유닛(Serial to parallel converter unit, 720), CP 제거 유닛((Cyclic Prefix removing unit, 730), FFT(Fast Fourier Transform) 유닛(740), 디매핑 유닛(750), SN 추출 유닛(Sequence Number extracting unit, 760), 에러 검출 유닛(770), 병/직렬 변환 유닛(parallel series converter unit, 780) 및 복호 유닛(790)을 포함할 수 있다.
이미지 처리 유닛(710)은 카메라(610, 도 6 참조)로부터 점멸 상태의 이미지들을 수신할 수 있다. 이미지 처리 유닛(710)은 카메라로부터 수신한 이미지들을 처리하여 직렬 형태의 비트 스트림들을 획득할 수 있다. 이미지 처리 유닛(710)은 직렬 형태의 비트 스트림들을 직/병렬 변환 유닛(720)에 전송할 수 있다.
직/병렬 변환 유닛(720)은 이미지 처리 유닛(710)으로부터 직렬 형태의 비트 스트림들을 수신할 수 있다. 직/병렬 변환 유닛(720)은 비트 스트림들을 병렬 형태의 비트 스트림들로 변환할 수 있다.
직/병렬 변환 유닛(720)은 병렬 형태의 비트 스트림들을 CP 제거 유닛(730)에 전송할 수 있다. CP 제거 유닛(730)은 직/병렬 변환 유닛(720)으로부터 병렬 형태의 비트 스트림들을 수신할 수 있다. CP 제거 유닛(730)은 각각의 비트 스트림들에 삽입된 CP를 제거할 수 있다. CP 제거 유닛(730)은 CP가 제거된 비트 스트림들을 FFT 유닛(740)에 전송할 수 있다. FFT 유닛(740)은 FFT(Fast Fourier Transform) 방식을 사용하여 CP가 제거된 비트 스트림들을 시간 영역의 비트 스트림에서 주파수 영역의 비트 스트림들로 변환할 수 있다. FFT 유닛(740)은 주파수 영역으로 변환된 비트 스트림들을 디매핑 유닛(750)에 전송할 수 있다. 디매핑 유닛(750)은 FFT 유닛(740)으로부터 주파수 영역으로 변환된 비트 스트림들을 수신할 수 있다. 디매핑 유닛(750)은 주파수 영역으로 변환된 비트 스트림들에 대한 디매핑 동작을 수행할 수 있다. 디매핑 유닛(750)은 디매핑(demappaing)된 각각 비트 스트림들을 SN 추출 유닛(760)에 전송할 수 있다. SN 추출 유닛(760)은 디매핑 유닛(750)으로부터 디매핑된 비트 스트림들을 수신할 수 있다. SN 추출 유닛(760)은 디매핑된 비트 스트림들에 포함된 시퀀스 넘버들을 획득할 수 있다. 또한 SN 추출 유닛(760)은 획득된 시퀀스 넘버들을 비교할 수 있다. 즉, 비교부(630)로부터 수신 모듈(600, 도 6 참조)에 언더 샘플링이 발생하였다는 정보를 수신한 경우, SN 추출 유닛(760)은 시퀀스 넘버들을 비교하여 어떠한 데이터 프레임이 누락되었는지 검출할 수 있다. SN 추출 유닛(760)은 비트 스트림들을 에러 검출 유닛(770)에 전송할 수 있다. 여기에서 비트 스트림들 각각은 시퀀스 넘버가 추출된 비트 스트림들일 수 있다.
에러 검출 유닛(770)은 SN 추출 유닛(760)으로부터 시퀀스 넘버가 추출된 비트 스트림들을 수신할 수 있다. 에러 검출 유닛(770)은 비트 스트림들에 오류가 발생하였는지 검출할 수 있다. 비트 스트림들에 오류가 발생한 경우, 에러 검출 유닛(770)은 통신부(620, 도 6 참조)를 통해 데이터 프레임들의 재전송을 요청하는 메시지를 전송할 수 있다. 비트 스트림들에 오류가 발생하지 않은 경우, 에러 검출 유닛(770)은 비트 스트림들을 병/직렬 변환 유닛에 전송할 수 있다.
병/직렬 변환 유닛(780)은 에러 검출 유닛(770)으로부터 비트 스트림들을 수신할 수 있다. 병/직렬 변환 유닛(780)은 병렬 형태의 비트 스트림들을 직렬 형태로 변환할 수 있다. 병/직렬 변환 유닛(780)은 직렬 형태의 비트 스트림들을 복호 유닛(790)에 전송할 수 있다.
복호 유닛(790)은 병/직렬 변환 유닛(780)으로부터 직렬 형태의 비트 스트림들을 수신할 수 있다. 복호 유닛(790) 비교부(630)로부터 수신 모듈(600)에 오버 샘플링이 발생하였다는 정보를 수신한 경우, SN 추출 유닛(760)이 획득한 시퀀스 넘버들을 비교하여 각각 다른 시퀀스 넘버들을 포함하는 비트 스트림들을 하나씩 획득할 수 있다. 복호 유닛(790)은 다른 시퀀스 넘버들을 포함하는 비트 스트림들 각각으로부터 페이로드를 획득할 수 있다. 복호 유닛(790)은 획득한 페이로드들을 병합할 수 있고, 병합된 페이로드들을 복호하여 제1 데이터를 획득할 수 있다.
복호 유닛(790)은 비교부(630)로부터 수신 모듈(600)에 언더 샘플링이 발생하였다는 정보를 수신한 경우, 먼저 수신된 비트 스트림들을 복조하여 데이터를 획득할 수 있다. 복호 유닛(790)은 SN 추출 유닛(760)이 추출한 비트스트림들의 시퀀스 넘버를 비교하여 누락된 데이터 프레임을 검출할 수 있다. 이후, 복호 유닛(790)은 송신 모듈(300), 도 3 참조)로부터 누락된 데이터 프레임에 포함된 비트 스트림을 재수신할 수 있다. 복호 유닛은 재수신한 비트 스트림으로부터 페이로드를 획득할 수 있고, 획득한 페이로드를 복호하여 제2 데이터를 획득할 수 있다. 이후 복호 유닛(790)은 제1 데이터 및 제2 데이터를 병합하여 데이터를 획득할 수 있다.
다음으로, 통신 시스템에서 데이터의 송수신 방법들이 설명될 것이다. 통신 노드들 중에서 제1 통신 노드에서 수행되는 방법(예를 들어, 신호의 전송 또는 수신)이 설명되는 경우에도 이에 대응하는 제2 통신 노드는 제1 통신 노드에서 수행되는 방법과 상응하는 방법(예를 들어, 신호의 수신 또는 전송)을 수행할 수 있다. 즉, 단말의 동작이 설명된 경우에 이에 대응하는 기지국은 단말의 동작과 상응하는 동작을 수행할 수 있다. 반대로, 기지국의 동작이 설명된 경우에 이에 대응하는 단말은 기지국의 동작과 상응하는 동작을 수행할 수 있다.
도 8은 본 발명의 제1 실시예에 따른 통신 시스템에서 데이터의 송수신 방법을 도시한 순서도이다.
도 8을 참조하면, 통신 시스템은 송신 노드와 수신 노드를 포함할 수 있다. 송신 노드는 도 1의 송신 노드(110)일 수 있고, 수신 노드는 도 1의 수신 노드(120)일 수 있다. 송신 노드와 수신 노드 각각은 도 2에 도시된 통신 노드(200)과 동일 또는 유사하게 구성될 수 있다. 송신 노드 및 수신 노드 각각에 포함된 송신 모듈은 도 3 및 도 4에 도시된 실시예들과 동일 또는 유사하게 구성될 수 있다. 송신 노드 및 수신 노드 각각에 포함된 수신 모듈은 도 6 및 도 7에 도시된 실시예들과 동일 또는 유사하게 구성될 수 있다.
송신 노드는 데이터 프레임들을 생성할 수 있다(S810). 데이터 프레임들은 송신 처리부(예를 들면 도 3의 송신 처리부(320))에서 생성될 수 있으며, 도 5에 도시된 데이터 프레임과 동일 또는 유사하게 구성될 수 있다. 송신 노드는 생성된 데이터 프레임들을 수신 노드에 전송할 수 있다(S820). 이 경우 LED 어레이(예를 들어 도 3에 도시된 LED 어레이(340))가 점멸됨으로써 데이터 프레임이 수신 노드에 전송될 수 있다.
수신 노드는 송신 노드로부터 데이터 프레임들을 수신할 수 있다. 즉 수신 노드는 카메라(에를 들어, 도 6에 도시된 카메라(610))를 사용하여 LED 어레이의 점멸 상태를 촬영하여 이미지들을 획득할 수 있고, 이미지들로부터 데이터 프레임들을 획득할 수 있다. 또한 수신 노드의 비교부(예를 들어 도 6의 비교부(620))는 이미지들로부터 LED 어레이의 점멸 속도를 획득할 수 있고 점멸 속도를 통해 송신 노드의 데이터 프레임 속도를 획득할 수 있다.
수신 노드는 데이터 프레임 속도와 카메라 프레임 속도를 비교할 수 있다(S830). 수신 노드의 비교부는 데이터 프레임의 속도와 카메라 프레임의 속도를 비교할 수 있고, 이를 통해 수신 노드에 오버 샘플링이 발생하였는지 판단할 수 있다. 수신 노드의 비교부는 카메라 프레임 속도가 데이터 프레임 속도를 초과하는 경우, 수신 노드에 오버 샘플링이 발생하였다고 판단할 수 있다. 수신 노드의 비교부는 오버 샘플링이 발생하였다는 정보를 포함하는 응답 메시지를 생성할 수 있고, 수신 노드의 통신부(예를 들어 도 6의 통신부(620))를 통해 송신 노드에 오버 샘플링이 발생하였다는 정보를 포함하는 응답 메시지를 전송할 수 있다(S840). 여기에서 응답 메시지에는 수신 노드에 포함된 카메라의 프레임 레이트에 대한 정보 및 카메라에 의해 촬영된 이미지들 가운데 임의의 이미지의 비트당 픽셀수에 대한 정보가 더 포함될 수 있다.
송신 노드는 수신 노드로부터 응답 메시지를 수신할 수 있다. 즉 송신 노드는 송신 노드의 통신부(예를 들어 도 3의 통신부(310))를 통해 오버 샘플링이 발생하였다는 정보, 카메라의 프레임 레이트에 대한 정보 및 카메라에 의해 촬영된 이미지들 가운데 임의의 이미지의 비트당 픽셀 수에 대한 정보가 포함된 응답 메시지를 수신할 수 있다.
송신 노드는 수신된 응답 메시지를 통해, 수신 노드에 오버 샘플링이 발생하였다는 정보를 획득할 수 있다. 송신 노드는 응답 메시지에 포함된 정보를 기초로 각각의 데이터 프레임들에 포함된 데이터 서브 프레임들의 개수 및 크기를 조절할 수 있다(S850).
송신 노드는 응답 메시지가 지시하는 카메라의 프레임 레이트 및 데이터 서브 프레임들의 전송 주기를 기초로 데이터 서브 프레임들의 개수를 설정할 수 있다. 수신 노드에 오버 샘플링이 발생한 경우, 송신 노드는 각각에 데이터 프레임들에 포함된 데이터 서브 프레임들의 개수를 감소시킬 수 있다. 여기에서 데이터 서브 프레임들의 개수는 다음 수학식 1에 의할 수 있다.
Figure PCTKR2019016595-appb-M000001
여기에서
Figure PCTKR2019016595-appb-I000030
은 데이터 서브 프레임들의 개수일 수 있고,
Figure PCTKR2019016595-appb-I000031
는 카메라의 프레임 레이트일 수 있으며,
Figure PCTKR2019016595-appb-I000032
은 데이터 서브 프레임들의 전송 주기일 수 있다.
또한 송신 노드는 데이터 서브 프레임들의 크기를 설정할 수 있다. 여기에서 데이터 서브 프레임들의 크기는 다음의 수학식 2에 의할 수 있다.
Figure PCTKR2019016595-appb-M000002
여기에서,
Figure PCTKR2019016595-appb-I000033
는 데이터 서브 프레임들의 크기일 수 있고,
Figure PCTKR2019016595-appb-I000034
는 LED 어레이의 크기일 수 있으며,
Figure PCTKR2019016595-appb-I000035
는 이미지의 비트당 픽셀 수일 수 있다. 한편 이미지의 비트 당 픽셀 수는 다음의 수학식 3에 의할 수 있다.
Figure PCTKR2019016595-appb-M000003
여기에서,
Figure PCTKR2019016595-appb-I000036
는 이미지의 비트당 픽셀 수일 수 있고,
Figure PCTKR2019016595-appb-I000037
는 수신 노드의 클록 주기일 수 있고,
Figure PCTKR2019016595-appb-I000038
는 카메라의 촬영 주기일 수 있다. 송신 노드는 데이터 프레임들을 수신 노드에 전송할 수 있다(S860). 여기에서 데이터 프레임들은 개수와 크기가 조절된 데이터 서브 프레임들을 포함할 수 있다. 수신 노드는 송신 노드로부터 데이터 프레임들을 수신할 수 있다. 수신 노드는 송신 노드로부터 수신한 데이터 프레임들로부터 데이터를 추출할 수 있다(S870). 즉, 수신 노드의 데이터 추출부(예를 들어, 도 6의 데이터 추출부(640))는 데이터 서브 프레임들에 포함된 시퀀스 넘버를 비교하여 데이터를 복호할 수 있다.
수신 노드에 오버 샘플링이 발생한 경우, 수신 노드가 데이터를 획득하는 방법은 다음과 같을 수 있다.
도 9는 본 발명의 제1 실시예에 따른 통신 시스템에서 디코딩 방법을 도시한 개념도이다.
도 9를 참조하면, 통신 시스템은 복수개의 데이터 서브 프레임들(910, 920, 930, 940, 950)을 포함할 수 있다. 여기에서 복수개의 데이터 서브 프레임들(910, 920, 930, 940, 950)은 도 5에 도시된 데이터 서브 프레임과 유사하거나 동일할 수 있다. 복수개의 데이터 서브 프레임들(910, 920, 930, 940, 950)은 각각 시퀀스 넘버(911, 921, 931, 941, 951) 및 페이로드(912, 922, 932, 942, 952)를 포함할 수 있다. 여기에서 제1 데이터 서브 프레임(910) 및 제2 데이터 서브 프레임(920)은 동일한 시퀀스 넘버(911, 921) 및 동일한 페이로드(912, 922)를 포함할 수 있고, 동일한 데이터 프레임(예를 들어 데이터 프레임(i-1))에 포함될 수 있다. 제3 데이터 서브 프레임(930) 및 제4 데이터 서브 프레임(940)은 동일한 시퀀스 넘버(931. 941) 및 동일한 페이로드(932, 942)를 포함할 수 있고, 동일한 데이터 프레임(예를 들어 데이터 프레임(i))에 포함될 수 있다.
수신 노드의 데이터 추출부(예를 들어 도 6의 데이터 추출부(640))는 복수개의 데이터 서브 프레임들(910, 920, 930, 940, 950))에 포함된 시퀀스 넘버(911, 921, 931, 941, 951)를 비교할 수 있다. 데이터 추출부는 동일한 시퀀스 넘버를 포함하는 데이터 서브 프레임들 가운데 어느 하나에 포함된 페이로드를 획득할 수 있다. 예를 들어, 제1 데이터 서브 프레임(910) 및 제2 데이터 서브 프레임(920) 가운데 제1 데이터 서브 프레임(910)에 포함된 페이로드(912)를 획득할 수 있고, 제3 데이터 서브 프레임(930) 및 제4 데이터 서브 프레임(940) 가운데 제3 데이터 서브 프레임(930)에 포함된 페이로드(912)를 획득할 수 있으며, 제5 데이터 서브 프레임(950)에 포함된 페이로드(952)를 획득할 수 있다. 데이터 추출부는 획득한 페이로드들(912, 932, 952)를 순서대로 병합할 수 있다. 데이터 추출부는 병합한 페이로드를 복호하여 데이터를 획득할 수 있다.
도 10은 본 발명의 제1-2 실시예에 따른 통신 시스템에서 데이터 송수신 방법을 도시한 순서도이다.
도 10을 참조하면, 통신 시스템은 송신 노드와 수신 노드를 포함할 수 있다. 송신 노드는 도 1의 송신 노드(110)일 수 있고, 수신 노드는 도 1의 수신 노드(120)일 수 있다. 송신 노드와 수신 노드 각각은 도 2에 도시된 통신 노드(200)과 동일 또는 유사하게 구성될 수 있다. 송신 노드 및 수신 노드 각각에 포함된 송신 모듈은 도 3 및 도 4에 도시된 실시예들과 동일 또는 유사하게 구성될 수 있다. 송신 노드 및 수신 노드 각각에 포함된 수신 모듈은 도 6 및 도 7에 도시된 실시예들과 동일 또는 유사하게 구성될 수 있다.
송신 노드는 데이터 프레임들을 생성할 수 있다(S1010). 데이터 프레임들은 송신 처리부(예를 들면 도 3의 송신 처리부(320))에서 생성될 수 있으며, 도 5에 도시된 데이터 프레임과 동일 또는 유사하게 구성될 수 있다. 송신 노드는 생성된 데이터 프레임들을 수신 노드에 전송할 수 있다(S1020). 이 경우 LED 어레이(예를 들어 도 3에 도시된 LED 어레이(340))가 점멸됨으로써 데이터 프레임이 수신 노드에 전송될 수 있다.
수신 노드는 송신 노드로부터 데이터 프레임들을 수신할 수 있다. 즉 수신 노드는 카메라(에를 들어, 도 6에 도시된 카메라(610))를 사용하여 LED 어레이의 점멸 상태를 촬영하여 이미지들을 획득할 수 있고, 이미지들로부터 데이터 프레임들을 획득할 수 있다. 또한 수신 노드의 비교부(예를 들어 도 6의 비교부(620))는 이미지들로부터 LED 어레이의 점멸 속도를 획득할 수 있고 점멸 속도를 통해 송신 노드의 데이터 프레임 속도를 획득할 수 있다.
수신 노드는 데이터 프레임 속도와 카메라 프레임 속도를 비교할 수 있다(S1030). 수신 노드의 비교부는 데이터 프레임의 속도와 카메라 프레임의 속도를 비교할 수 있고, 이를 통해 수신 노드에 언더 샘플링이 발생하였는지 판단할 수 있다. 수신 노드의 비교부는 카메라 프레임 속도가 데이터 프레임 속도 미만인 경우, 수신 노드에 언더 샘플링이 발생하였다고 판단할 수 있다. 수신 노드의 데이터 획득부(예를 들어, 도 6의 데이터 획득부(640))는 언더 샘플링 발생에 의해 누락된 데이터 프레임을 검출할 수 있다.
도 11은 본 발명의 제1 실시예에 따른 통신 시스템에서 누락된 데이터 프레임을 검출하는 방법을 도시한 개념도이다.
도 11을 참조하면, 통신 시스템은 복수의 데이터 프레임들(1110, 1120, 1130)을 포함할 수 있다. 복수의 데이터 프레임들은 도 5에 도시된 데이터 프레과 유사하거나 동일할 수 있다. 복수의 데이터 프레임들(1110, 1120, 1130) 각각은 복수개의 데이터 서브 프레임(1111, 1112, 1121, 1122, 1131, 1132)들을 포함할 수 있고, 각각의 데이터 서브 프레임들(1111, 1112, 1121, 1122, 1131, 1132)은 복수개의 시퀀스 넘버와 페이로드를 포함할 수 있다. 여기에서 동일한 데이터 프레임에 포함된 데이터 서브 프레임들의 시퀀스 넘버와 페이로드는 동일할 수 있다. 예를 들어, 제1 데이터 프레임(1110)에 포함된 데이터 서브 프레임들(1111, 1112)은 동일한 시퀀스 넘버(1111-1, 1111-3)를 포함할 수 있고, 동일한 페이로드(1111-2, 1111-4)를 포함할 수 있다.
수신 노드의 데이터 획득부(예를 들어, 도 6의 데이터 획득부(640))는 데이터 서브 프레임에 포함된 시퀀스 넘버를 획득할 수 있고, 시퀀스 넘버를 비교하여 누락된 데이터 프레임을 검출할 수 있다. 예를 들어, 데이터 획득부가 시퀀스 넘버 n-1(1111-1) 및 n+1(1131-1)을 획득한 경우, 시퀀스 넘버 n을 가지는 제2 데이터 프레임(1120)이 누락된 것으로 판단할 수 있다.
다시 도 10을 참조하면, 수신 노드의 데이터 획득부는 S1020 단계에서 획득한 데이터 프레임들을 복호하여 제1 데이터를 획득할 수 있다(S1050).
또한, 수신 노드의 데이터 획득부는 누락된 데이터 프레임에 대한 정보가 포함된 응답 메시지를 송신 노드에 전송할 수 있다(S1060). 수신 노드의 데이터 획득부는 수신 노드의 통신부(620)를 통해 응답 메시지를 송신 노드에 전송할 수 있다. 송신 노드는 수신 노드로부터 누락된 데이터 프레임에 대한 정보가 포함된 응답 메시지를 수신할 수 있고, 응답 메시지에서 지시하는 누락된 데이터 프레임을 수신 노드에 재전송할 수 있다(S1070). 즉 송신 노드는 송신 노드에 포함된 LED 어레이(예를 들어 도 3의 LED 어레이(340))를 점멸시켜 누락된 데이터 프레임을 수신 노드에 전송할 수 있다.
수신 노드는 송신 노드로부터 누락된 데이터 프레임을 재수신할 수 있다. 수신 노드는 LED 어레이의 점멸상태를 카메라로 촬영하여 누락된 데이터 프레임을 재수신할 수 있다. 수신 노드는 S1060 단계에서 획득된 데이터 프레임을 복호하여 제2 데이터를 획득할 수 있다.
수신 노드는 제1 데이터와 제2 데이터를 병합하여 데이터를 획득할 수 있다.
이하, 도 12 내지 17을 참조하여 본 발명의 제2 실시예에 따른 통신 시스템이 설명된다.
도 12는 본 발명의 제2 실시예에 따른 광학 카메라 통신(optical camera communication, OCC) 시스템을 도시한 구성도이다.
도 12를 참조하면, 본 발명의 제2 실시예에 따른 OCC 시스템은 광학 무선 송신 장치(1210)와 광학 무선 수신 장치(1220)를 포함할 수 있다. 광학 무선 송신 장치(1210)는 변조기(1211)와 송신기(1212)를 포함할 수 있다. 송신기(1212)는 적어도 하나 이상의 광원들(1212-1, 1212-2)을 포함할 수 있으며, 광원(1212-1, 1212-2)은 발광 다이오드(Light Emitting Diode, LED)일 수 있다. 광학 무선 수신 장치(1220)는 수신기(1221)와 복조기(1223)를 포함할 수 있으며, 광원 검출기(1222)를 더 포함할 수 있다. 수신기(1221)는 카메라와 같은 이미지 센서(1221-1)를 포함할 수 있다.
변조기(1211)는 전송하고자 하는 비트 열(bit sequence)인 이진 데이터 신호 D[i]를 입력받을 수 있고, 변조된 펄스 파형을 갖는 이진 데이터 신호 S1(t) 및 S2(t)를 생성할 수 있다. S1(t) 및 S2(t)는 연속 신호일 수도 있고 이산 신호일 수 있다.
송신기(1212)는 이진 데이터 신호 S1(t) 및 S2(t)에 따라 복수개의 광원들(1212-1, 1212-2) 각각을 점멸시킴으로써 데이터를 송신할 수 있다. 여기서 점멸이라 함은 반드시 광원(1212-1, 1212-2)이 완전히 켜지고 완전히 꺼지는 방식만을 나타내는 것이 아니라, 광원(1212-1, 1212-2)의 밝기 변화를 이용해 이진값 0과 1 두 가지 상태를 나타내는 모든 방식을 포함할 수 있다. 광원(1212-1, 1212-2)의 점멸 주파수가 일정값(예: 200Hz) 이상이면 사람은 광원(1212-1, 1212-2)의 점멸을 느끼지 못할 수 있다.
수신기(1221)는 이미지 센서(1221-1)가 광원(1212-1, 1212-2)들을 연속적으로 촬영(샘플링)한 이미지 열(image sequence)을 수신할 수 있다. 광원 검출기(1222)는 수신한 이미지에서 광원(1212-1, 1212-2)들의 위치를 검출할 수 있다. 복조기(1223)는 광원(1212-1, 1212-2)들의 점멸 상태로부터 데이터 신호를 복조할 수 있다.
도 13은 본 발명의 제2 실시예에 따른 OCC 송신 노드의 OCC 신호 송신 동작을 도시한 흐름도이다.
도 13을 참조하면, OCC 송신 노드(1210)는 이진 데이터 신호(D[i])를 획득할 수 있다. 그리고 OCC 송신 노드(1210)의 변조기(1211)는 획득한 이진 데이터 신호를 미리 설정된 복수개의 비트 단위로 그룹화하여 0부터
Figure PCTKR2019016595-appb-I000039
까지의 정수 값을 갖는 전역 위상 천이 신호로 변환할 수 있다(S1310). OCC 송신 노드(1210)의 변조기(1211)는 송신하는 신호의 변조 방식에 따라 이진 데이터 신호를 전역 위상 천이 신호로 변환할 수 있다. OCC 송신 노드의 변조기는 M-ASK(M-amplitude shift keying), M-FSK(M-frequency shift keying), M-PSK(M-phase shift keying), DSM-PSK(dimmable spatial M-phase shift keying) 등의 변조 방식에 따라 이진 데이터 신호를 변조할 수 있다. 예를 들어, M=8 이고, k=3일 경우, OCC 송신 노드(1210)의 변조기(1211)는 표 1에 따라 이진 데이터 신호를 전역 위상 천이 신호로 변환할 수 있다(S1310).
Figure PCTKR2019016595-appb-T000001
OCC 송신 노드(1210)의 변조기(1211)는 표 1에 따라 이진 데이터 신호를 전역 위상 천이 신호로 변환할 수 있으며, 변환 결과 획득한 각각의 전역 위상 천이 신호는 OCC 송신 노드(1210)가 송신하는 데이터 신호 그룹의 그룹 ID를 지시할 수 있다.
OCC 송신 노드(1210)의 변조기(1211)는 획득한 그룹 ID에 기초하여 복수의 심볼을 포함하는 데이터 신호 그룹을 생성할 수 있다(S1320). 구체적으로, OCC 송신 노드(1210)의 변조기(1211)는 미리 설정된 심볼 그룹 매핑 테이블에 기초하여 데이터 신호 그룹을 생성할 수 있다(S1320). 심볼 그룹 매핑 테이블은 OCC 송신 노드(1210)가 송신하는 신호의 변조 방식에 따라 정의될 수 있다.
심볼 그룹 매핑 테이블은 0부터
Figure PCTKR2019016595-appb-I000040
까지의 정수 값을 갖는 전역 위상 천이 신호와,
Figure PCTKR2019016595-appb-I000041
비트 시퀀스 형태의 제1 내지 제M 매핑 시퀀스 간의 연결관계를 나타낼 수 있다. (여기서, n은 3 이상의 정수값을 가진다) 즉, 심볼 그룹 매핑 테이블은 0부터
Figure PCTKR2019016595-appb-I000042
까지의 정수 값을 갖는 전역 위상 천이 신호와,
Figure PCTKR2019016595-appb-I000043
비트 시퀀스 형태의 제1 내지 제M 매핑 시퀀스를 포함하며, 전역 위상 천이 신호 각각을 제1 내지 제M 매핑 시퀀스 각각에 일대일 대응할 수 있다.
본 발명의 제2-1 실시예에 따른 심볼 그룹 매핑 테이블에서, 제1 내지 제M 매핑 시퀀스는, n 비트씩을 한 묶음으로 하여,
Figure PCTKR2019016595-appb-I000044
개의 n-비트 묶음을 가지는
Figure PCTKR2019016595-appb-I000045
비트 시퀀스 형태로 형성될 수 있다.
제1 내지 제
Figure PCTKR2019016595-appb-I000046
매핑 시퀀스에서, 1 개의 n-비트 묶음은 1 값을 가지고
Figure PCTKR2019016595-appb-I000047
개의 n 비트 묶음은 0 값을 가질 수 있다.
예를 들어, 제1 매핑 시퀀스에서는 첫 번째 n-비트 묶음이 1 값을 가지고, 제2 매핑 시퀀스에서는 두 번째 n-비트 묶음이 1 값을 가지고, 제
Figure PCTKR2019016595-appb-I000048
매핑 시퀀스에서는
Figure PCTKR2019016595-appb-I000049
번째 n-비트 묶음이 1 값을 가질 수 있다.
Figure PCTKR2019016595-appb-I000050
내지 제M 매핑 시퀀스는 제1 내지 제
Figure PCTKR2019016595-appb-I000051
매핑 시퀀스에 NOT 연산을 적용하여 생성될 수 있다.
예를 들어, M=8 이고, k=3일 경우, 본 발명의 제1 실시예에 따른 심볼 그룹 매핑 테이블은 표 2와 같이 정의될 수 있다.
Figure PCTKR2019016595-appb-T000002
표 2의 심볼 그룹 매핑 테이블에 따라 생성된 데이터 신호 그룹 간의 해밍 거리(hamming distance)는 수학식 4에 의해 산출될 수 있다.
Figure PCTKR2019016595-appb-M000004
수학식 4는 데이터 신호 그룹에 포함된 첫 번째 내지 4n 번째 심볼 간의 해밍 거리의 총합을 지시할 수 있다. 심볼 간의 해밍 거리는 표 2에 나타난 심볼 간의 해밍 거리일 수 있다. 상기한 바와 같이 표 2의 심볼 그룹 매핑 테이블에 따라 생성되는 데이터 신호 그룹 간의 해밍 거리는 미리 설정된 임계 값 이상이 되도록 생성될 수 있다. 이를테면, 표 2의 심볼 그룹 매핑 테이블에 따라 생성되는 데이터 신호 그룹들의 최소 해밍 거리는 2n일 수 있다.
예를 들어, M=8 이고, k=3이고, n=3일 경우, 본 발명의 제2-1 실시예에 따른 심볼 그룹 매핑 테이블은 표 3과 같이 정의될 수 있다.
Figure PCTKR2019016595-appb-T000003
표 3의 심볼 그룹 매핑 테이블에 따라 생성된 데이터 신호 그룹 간의 해밍 거리는 수학식 5에 의해 산출될 수 있다.
Figure PCTKR2019016595-appb-M000005
수학식 5는 데이터 신호 그룹에 포함된 첫 번째 내지 12 번째 심볼 간의 해밍 거리의 총합을 지시할 수 있다. 심볼 간의 해밍 거리는 표 3에 나타난 심볼 간의 해밍 거리일 수 있다. 상기한 바와 같이 표 3의 심볼 그룹 매핑 테이블에 따라 생성되는 데이터 신호 그룹 간의 해밍 거리는 미리 설정된 임계 값 이상이 되도록 생성될 수 있다. 이를테면, 표 3의 심볼 그룹 매핑 테이블에 따라 생성되는 데이터 신호 그룹들의 최소 해밍 거리는 6일 수 있다.
8-PSK 방식에 의해 변조된 신호를 송신하는 OCC 송신 노드(1210)의 변조기(1211)는 표 2 또는 표 3의 심볼 그룹 매핑 테이블을 기초로, 전역 천이 신호로부터 심볼 그룹 매핑 테이블에 포함된 어느 하나의 데이터 신호 그룹을 생성할 수 있다. 8-PSK 변조 방식에 의한 신호를 전송하는 경우, OCC 송신 노드(1210)의 변조기(1211)는 4n 비트 또는 12 비트 형태를 가지는 데이터 신호 그룹을 생성할 수 있다(S1320).
본 발명의 제2-2 실시예에서는, k=3이고 n=3이며, 심볼 그룹 매핑 테이블은, 0부터 7까지의 정수 값을 갖는 전역 위상 천이 신호와 제1 내지 제8 3-심볼 시퀀스 간의 연결관계 및 상기 제1 내지 제8 3-심볼 시퀀스와 제1 내지 제8 매핑 시퀀스 간의 연결관계를 나타낼 수 있다. 여기서, 제1 내지 제8 3-심볼 시퀀스는 각각 3개의 심볼들을 가지도록 생성될 수 있다.
제1 3-심볼 시퀀스는 1로 설정된 3개의 심볼들을 포함할 수 있다. 제2 내지 제4 3-심볼 시퀀스는 각각 5로 설정된 1개의 심볼과 0으로 설정된 2개의 심볼들을 포함할 수 있다. 제5 내지 제7 3-심볼 시퀀스는 각각 1로 설정된 1 개의 심볼과 4로 설정된 2개의 심볼들을 포함할 수 있다. 또한, 제8 3-심볼 시퀀스는 5로 설정된 3개의 심볼들을 포함할 수 있다.
예를 들어, 본 발명의 제2-2 실시예에서 0부터 7까지의 정수 값을 갖는 전역 위상 천이 신호와 제1 내지 제8 3-심볼 시퀀스 간의 연결관계는 표 4와 같이 정의될 수 있다.
Figure PCTKR2019016595-appb-T000004
제1 내지 제8 매핑 시퀀스는, 표 4에 정의된 제1 내지 제8 3-심볼 시퀀스의 각 심볼들을 표 5에 따라 4 비트의 신호들로 매핑하여, 각각 12 비트 시퀀스 형태로 생성될 수 있다.
Figure PCTKR2019016595-appb-T000005
예를 들어, 본 발명의 제2-2 실시예에 따른 심볼 그룹 매핑 테이블은 표 6과 같이 정의될 수 있다.
Figure PCTKR2019016595-appb-T000006
표 6의 심볼 그룹 매핑 테이블에 따라 생성된 데이터 신호 그룹 간의 해밍 거리는 수학식 6에 의해 산출될 수 있다.
Figure PCTKR2019016595-appb-M000006
수학식 6은 데이터 신호 그룹에 포함된 첫 번째 내지 12 번째 심볼 간의 해밍 거리의 총합을 지시할 수 있다. 심볼 간의 해밍 거리는 표 6에 나타난 심볼 간의 해밍 거리일 수 있다. 상기한 바와 같이 표 6의 심볼 그룹 매핑 테이블에 따라 생성되는 데이터 신호 그룹 간의 해밍 거리는 미리 설정된 임계 값 이상이 되도록 생성될 수 있다. 이를테면, 표 6의 심볼 그룹 매핑 테이블에 따라 생성되는 데이터 신호 그룹들의 최소 해밍 거리는 6일 수 있다.
8-PSK 방식에 의해 변조된 신호를 송신하는 OCC 송신 노드(1210)의 변조기(1211)는 표 6의 심볼 그룹 매핑 테이블을 기초로, 전역 천이 신호로부터 심볼 그룹 매핑 테이블에 포함된 어느 하나의 데이터 신호 그룹을 생성할 수 있다. 8-PSK 변조 방식에 의한 신호를 전송하는 경우, OCC 송신 노드(1210)의 변조기(1211)는 12 비트 형태를 가지는 데이터 신호 그룹을 생성할 수 있다(S1320).
OCC 송신 노드(1210)의 변조기(1211)는 표 2, 표 3 또는 표 6의 심볼 그룹 매핑 테이블에 기초하여 데이터 신호 그룹을 생성할 수 있으며(S1320), 데이터 신호 그룹을 변조하여 복수개의 펄스파 신호들을 생성할 수 있다(S1330). OCC 송신 노드(1210)의 변조기(1211)는 복수개의 펄스파 신호들을 OCC 송신 노드(1210)의 송신기(1212)로 전달할 수 있다.
OCC 송신 노드(1210)의 송신기(1212)는 OCC 송신 노드(1210)의 변조기(1211)로부터 펄스파 신호들을 획득할 수 있다. 그리고 OCC 송신 노드(1210)의 송신기(1212)는 생성한 복수개의 펄스파 신호들에 따라서 송신기(1212)에 포함된 광원들(예를 들어, LED 등) 각각을 점멸시켜 신호를 송신할 수 있다(S1340).
도 14는 본 발명의 제2 실시예에 따른 OCC 수신 노드의 OCC 신호 수신 동작을 도시한 흐름도이다.
도 14를 참조하면, OCC 수신 노드(1220)의 수신기(1221)는 OCC 송신 노드(1210)의 송신기(1212)에 포함된 복수개의 광원들의 점멸 상태를 검출할 수 있다. 구체적으로 OCC 수신 노드(1220)의 수신기(1221)에 포함되는 이미지 센서(예를 들어, 카메라 등)는 연속적으로 이미지들을 촬영하여, OCC 수신 노드(1220)의 복조기(1223)로 이미지들을 전달할 수 있다. OCC 수신 노드(1220)의 복조기(1223)는 이미지 센서로부터 획득한 이미지들을 기초로 OCC 송신 노드에 포함된 광원(예를 들어, LED 등)의 점멸 상태를 검출할 수 있다(S1410). 그리고 OCC 수신 노드(1220)의 복조기(1223)는 OCC 송신 노드(1210)의 송신기(1212)에 포함된 광원의 점멸 상태를 변환하여 이진 시퀀스를 획득할 수 있다(S1420). OCC 수신 노드(1220)의 복조기(1223)는 획득한 심볼들의 오류를 정정할 수 있다(S1430).
도 15는 본 발명의 제2 실시예에 따른 OCC 수신 노드의 오류 정정 동작을 도시한 흐름도이다.
도 15를 참조하면, OCC 수신 노드(1220)의 복조기(1223)는 이진 시퀀스를
Figure PCTKR2019016595-appb-I000052
비트씩 그룹화하여,
Figure PCTKR2019016595-appb-I000053
비트의 데이터 신호 그룹을 획득할 수 있다(S1431). 데이터 신호 그룹에 포함된 심볼들의 개수는 OCC 송신 노드(1210)에 의해 전송된 신호의 변조 방식에 따라서 변경될 수 있다.
OCC 수신 노드(1220)의 복조기(1223)는 데이터 신호 그룹으로부터 심볼의 오류를 정정하기 이전에 데이터 전처리(pre-processing)를 수행할 수 있다(S1432). OCC 수신 노드(1220)의 복조기(1223)는 심볼들 간의 해밍거리를 반영하도록 심볼을 변조할 수 있다. OCC 수신 노드(1220)의 복조기(1223)는 전처리된 데이터 신호 그룹을 획득할 수 있으며(S1432), 전처리된 데이터 신호 그룹의 오류 여부를 판단할 수 있다.
OCC 신호를 수신한 OCC 수신 노드(1220)의 복조기(1223)는 데이터 신호 그룹이 표 2, 표 3 또는 표 6에 포함되어 있는지 여부를 판단할 수 있다. 데이터 신호 그룹이 표 2, 표 3 또는 표 6에 포함되지 않은 경우, OCC 수신 노드(1220)의 복조기(1223)는 데이터 신호 그룹에 오류가 있다고 판단할 수 있다.
데이터 신호 그룹에 오류가 있다고 판단한 OCC 수신 노드(1220)는 수신한 데이터 신호 그룹의 오류를 정정할 수 있다(S1433). S1433 단계의 오류 정정 동작은 OCC 수신 노드(1220)에 포함된 인공 신경망(artificial neural network)에 의해 수행되는 오류 정정(artificial intelligent error correction, AIEC) 동작일 수 있다.
도 16은 본 발명의 제2 실시예에 따른 OCC 수신 노드에 포함된 인공 신경망(artificial neural network)을 도시한 개념도이다.
도 16을 참조하면, OCC 수신 노드(1220)의 인공 신경망은 복수개의 계층(layer)들을 포함할 수 있으며, 각각의 계층들은 복수개의 인공 노드(artificial node)들을 포함할 수 있다. 그리고 OCC 수신 노드(1220)의 인공 신경망은 복수의 적응적 가중 벡터(adaptive weight vector)들을 포함할 수 있으며, 인공 신경망의 각각의 계층들에 포함된 인공 노드들은 가중 벡터에 의해 연결될 수 있다. OCC 수신 노드의 인공 신경망은 미리 설정된 파라미터에 따라 복수개의 계층들 및 인공 노드들을 포함할 수 있으며, OCC 수신 노드(1220)가 수신한 데이터 신호 그룹의 오류를 정정할 수 있다.
예를 들어, DS8-PSK 방식에 의해 변조된 데이터 신호 그룹을 수신한 경우, OCC 수신 노드(1220)는 표 7의 파라미터들에 기초하여 설정된 인공 신경망을 이용하여 데이터 신호 그룹의 오류를 정정할 수 있다.
Figure PCTKR2019016595-appb-T000007
표 7을 참조하면, OCC 수신 노드(1220)의 인공 신경망은 4개의 계층을 포함할 수 있다. 제1 계층은 전처리된 데이터 신호 그룹이 입력되는 계층일 수 있다. 제1 계층은 12 개의 인공 노드들을 포함할 수 있으며, 각각의 인공 노드들은 데이터 전처리 결과 획득되는 비트들이 입력되는 인공 노드일 수 있다.
그리고 제2 계층은 제1 계층에서 입력된 데이터 신호 그룹으로부터 오류가 정정된 데이터 신호 그룹을 출력하는 계층일 수 있다. 제2 계층은 8개의 인공 노드들을 포함할 수 있으며, 제2 계층에 포함되는 각각의 인공 노드들은 표 2, 3 및 6에 정의된 데이터 신호 그룹을 지시할 수 있다.
4개의 계층들 중 2개의 계층들은 히든 계층(hidden layer)일 수 있다. 그리고 각각의 히든 계층들은 81개의 인공 노드를 포함할 수 있다. 히든 계층은 가중 벡터를 통해 입력 계층과 연결될 수 있으며, 또는 히든 계층은 가중 벡터를 통해 출력 계층과 연결될 수 있다. OCC 수신 노드(1220)의 인공 신경망은 데이터 전처리 결과 생성한 데이터 신호 그룹의 비트를 입력 값으로 하여, 인공 신경망의 가중 벡터들에 따라서 오류가 정정된 데이터 신호 그룹을 획득할 수 있다.
OCC 수신 노드(1220)는 인공 신경망의 가중 벡터들을 업데이트하는 학습(learning) 동작을 수행할 수 있다. 학습 동작은 OCC 수신 노드(1220)에 포함된 다층 퍼셉트론(multi-layer perceptron) 분류기에 의해 수행될 수 있다.
OCC 수신 노드(1220)는 다층 퍼셉트론 분류기를 더 포함할 수 있다. 다층 퍼셉트론 분류기는 미리 설정된 학습 알고리즘을 통해 인공 신경망을 훈련(training)할 수 있다. 학습 알고리즘은 교사 학습 알고리즘(supervised learning algorithm), 비교사 학습 알고리즘(non-supervised learning algorithm)과 같은 학습 알고리즘을 포함할 수 있다.
OCC의 수신 노드(1220)의 인공 신경망은 피드 포워드(feed-forward) 동작을 수행하여 데이터 신호 그룹의 오류를 정정함으로써, 오류가 정정된 데이터 신호 그룹을 생성할 수 있다. OCC 수신 노드(1220)의 다층 퍼셉트론 분류기는 인공 신경망을 통해 오류를 정정한 데이터 신호 그룹과 OCC 송신 노드(1210)가 전송한 데이터 신호 그룹 사이의 오차 정보를 산출할 수 있다. OCC의 수신 노드(1220)의 다층 퍼셉트론 분류기는 산출된 오차 정보를 역전파(back-propagation)하여 인공 신경망의 계층간의 가중 벡터들을 수정하는 학습 동작을 수행할 수 있다. OCC의 수신 노드(1220)의 다층 퍼셉트론 분류기는 표 8에서 정의하는 파라미터들에 기초하여 학습 동작을 수행할 수 있다.
Figure PCTKR2019016595-appb-T000008
OCC 수신 노드(1220)의 다층 퍼셉트론 분류기는 미리 설정된 최적화 알고리즘을 통해 인공 신경망의 계층간의 가중 벡터들을 수정할 수 있다. 최적화 알고리즘은 경사 하강법 등을 포함할 수 있으며, 표 8을 참조하면 아담 최적화(adam-optimizer) 알고리즘을 더 포함할 수 있다. OCC 수신 노드(1220)의 다층 퍼셉트론 분류기는 미리 설정된 이폭(epoch)의 수(표 8을 참조하면 500회)만큼 학습 동작을 반복하여 수행할 수 있다.
다시 도 15를 참조하면, OCC 수신 노드(1220)의 복조기(1223)는 오류가 정정된 데이터 신호 그룹으로부터 그룹 ID 및 전역 위상 천이 신호를 획득할 수 있다(S1434). 전역 위상 천이 신호는 0부터
Figure PCTKR2019016595-appb-I000054
까지의 정수 값을 갖는 신호일 수 있다.
OCC 수신 노드(1220)의 복조기(1223)는 획득한 그룹 ID 및 전역 위상 천이 신호를 변환하여 이진 데이터 신호(D[i])를 획득할 수 있다(S1440). 예를 들어, M=8 이고, k=3일 경우, OCC 수신 노드(1220)의 변조기(1223)는 표 1에 따라 그룹 ID 및 전역 위상 천이 신호로부터 이진 데이터 신호(D[i])를 획득할 수 있다(S1440).
도 17은 본 발명의 제2 실시예에 따른 OCC 수신 노드의 오류 정정 동작의 효과를 설명하기 위한 그래프이다.
구체적으로는, 종래의 종래의 컨볼루션 코드(Convolution Code, CC) 방식에 따라 코드 레이트 1/2 또는 1/3 조건에서 오류 정정을 수행할 때에 비하여, 본 발명의 실시예에 따라 코드 레이트 1/3 또는 1/5 조건에서 오류 정정을 수행할 때의 오류 정정 성능이 향상되었으며, 특히 동일 코드 레이트 조건에서도 오류 정정 성능의 향상이 확인된다.
코드 레이트 1/n 조건에서, n이 높은 값을 가질수록 오류 정정의 성능은 향상되나, 더 많은 통신 자원이 요구되며 통신의 효율이 떨어진다. 따라서 오류 정정의 성능을 향상시키면서도 효율적인 통신이 가능한 오류 정정 기술이 요구된다. 도 17의 그래프에 도시된 바와 같이, 본 발명의 실시예에 따른 OCC 수신 노드에서 OCC 신호의 오류 정정을 위해 사용되는 AIEC 방식은, 동일 코드 레이트 조건에서도 종래의 컨볼루션 코드(Convolution Code, CC) 방식에 비하여 오류 정정 동작의 성능이 크게 향상되어, 오류 정정의 성능을 높이면서도 통신의 효율성을 높일 수 있다.
이하, 도 18 내지 27을 참조하여 본 발명의 제3 실시예에 따른 통신 시스템이 설명된다.
도 18은 본 발명의 제3 실시예에 따른 광학 카메라 통신(Optical Camera Communication, OCC) 시스템을 개략적으로 도시한 블록도이다.
도 18을 참조하면, 본 발명의 제3 실시예에 따른 OCC 시스템(1800)은 OCC 송신 노드(1801) 및 OCC 수신 노드(1802)를 포함할 수 있다.
OCC 송신 노드(1801)는 데이터 코딩부(1810), 광원 구동부(1820) 및 광원(1830)을 포함할 수 있다. OCC 수신 노드(1802)는 카메라(1840), 이미지 처리부(1850) 및 데이터 추출부(1870)를 포함할 수 있다.
데이터 코딩부(1810)는 OCC 시스템(1800)에서 전송하고자 하는 데이터를 코딩할 수 있다. 이러한 코딩은 다양한 방법으로 구현될 수 있다. 예컨대, 전송하고자 하는 데이터가 1인 경우 광원(1830)의 온(on)에 대응시키고 데이터가 0인 경우에는 광원(1830)의 오프(off)에 대응시킬 수 있다. 이러한 예시는 광원(1830)의 펄스주파수에 따라 다르게 설정할 수 있다. 예컨대, 데이터가 1인 경우 광원(1830)을 온-온에 대응시키고 데이터가 0인 경우 광원(1830)을 오프-오프에 대응시킬 수도 있다.
이처럼, 본 발명에서 데이터 코딩부(1810)는 데이터에 대응하는 광원(1830)의 온/오프 상태를 서로 매칭시켜 향후 광원(1830)의 온/오프를 통해 데이터가 전송되도록 할 수 있다. 본 발명서 데이터 코딩부(1810)는 예컨대 맨체스터(Manchester) 코딩기법, 4B6B 코딩기법 등을 이용하여 데이터를 코딩할 수 있다. 또한, 데이터 코딩부(1810)는 코딩된 데이터를 데이터 심볼로 구성하고 데이터 심볼을 포함하는 데이터 패킷을 생성할 수 있다. 이러한 데이터 패킷은 디지털 비트 1과 0으로 구성된 데이터를 연속으로 배열하여 구성된다. 이러한 데이터 패킷의 구조는 도 19에서 구체적으로 설명한다.
광원 구동부(1820)는 상기와 같이 코딩된 데이터에 따라 광원(1830)을 구동시킬 수 있다. 예컨대, 데이터의 비트 1과 0에 따라 광원(1830)을 온 및 오프시킬 수 있다. 이러한 광원 구동부(1820)는 기설정된 펄스주파수에 따라 광원(1830)을 온/오프시키도록 한다. 이와 같이 광원 구동부(1820)에서 광원(1830)의 온/오프 제어를 통해 전송하고자 하는 데이터를 출력하도록 한다.
광원(1830)은 본 발명의 OCC 시스템(1800)에서 송신기(transmitter)의 역할을 한다. 광원(1830)은 발광 다이오드(Light Emitting Diode, LED)일 수 있으며, 적어도 하나 이상 구비될 수 있다. 이러한 광원(1830)은 상술한 바와 같이 데이터 코딩부(1810)에서 코딩된 데이터에 따라 광원 구동부(1820)에 의해 기설정된 펄스주파수로 온(on) 또는 오프(off)될 수 있다. 본 실시 예에 따라 광원(1830)이 다수 개로 구비되는 경우 1ХN으로 배열될 수 있고, MХ1으로 배열될 수도 있으며, MХN으로 배열될 수도 있다. 물론, 원형, 방사형, 타원형 등 다양한 형태로 배열될 수 있다. 광원(1830)이 온/오프되는 펄스주파수가 초당 110회 이상이면 사람의 눈으로 그 온/오프를 구분하지 못하고 계속 온 상태인 것으로 인식한다. 이러한 펄스주파수는 물론 조정이 가능하다.
카메라(1840)는 본 OCC 시스템(1800)에서 수신기(receiver)의 역할을 한다. 카메라(1840)는 롤링 셔터 방식으로 이미지를 캡쳐하는 카메라일 수 있다. 구체적으로는, 카메라(1840)는 다수의 열(row)로 조합된 롤링 셔터 방식의 이미지 센서를 포함하며, 기설정된 프레임 속도(frame rate)에 따라 열(row)마다 연속적으로 광원(1830)의 점멸상태를 캡쳐할 수 있다. 이를 위해 내부에 롤링 셔터 방식의 이미지센서가 구비될 수 있다. 이미지센서의 각 열(row)을 순차적으로 기설정된 노출시간(integration time) 동안 일정한 시간간격으로 노출시킨다. 첫 번째 열의 마지막 노출시간과 마지막 열의 마지막 노출시간을 프레임 시간(frame time)이고 노출시간과 프레임시간의 합이 캡쳐타임(capture time)이 된다. 이러한 캡쳐타임 동안에 캡쳐된 이미지는 LED(1830)가 온(on)될 때 화이트 밴드(white band)로 나타나고 오프(off)될 때 블랙 밴드(black band)로 나타난다. LED의 온/오프 상태의 변화는 캡쳐시간 동안 순차적으로 기록된다. 이때, 화이트 밴드와 블랙 밴드는 예컨대 각각 데이터로서 1과 0을 나타내도록 설정될 수 있다. 이와 같이 롤링셔터카메라(1840)에서는 하나의 프레임 내에서 다중 데이터 수신이 가능하게 된다. 이미지센서로는 예컨대 CMOS 센서를 사용할 수 있다. 이때, 롤링셔터카메라(1840)는 LED(1830)가 온 또는 오프되는 중에 임의의 시점에 촬영을 시작할 수 있다. 이 경우에는 캡쳐된 이미지로부터 시작프레임과 데이터 프레임을 구분할 필요가 있다. 뿐만 아니라 본 실시 예에서는 롤링셔터카메라(1840)의 LED(1830)의 온/오프 이미지를 촬영하는 프레임 속도가 기설정되어 있지만, 실제 프레임 속도가 변하는 경우에도 정확한 데이터 수신이 가능하기 위한 기술이 필요하다. 이에 대해서는 하기에서 구체적으로 설명한다. 본 실시 예에서 이러한 롤링셔터카메라(1840)는 디지털 카메라, 휴대폰이나 스마트기기 등에 탑재된 카메라를 포함할 수 있다.
이미지 처리부(1850)는 카메라(1840)에서 다수의 열(row)마다 촬영된 광원(1830)의 온/오프 이미지의 밝기값에 따른 밝기신호를 생성할 수 있다. 구체적으로, 상술한 바와 같이 광원(1830)이 코딩된 데이터에 따라 온/오프되는 과정에서 화이트 밴드와 블랙 밴드로 나타나는데, 이러한 각 밴드의 밝기값은 다르게 나타날 수 있다. 이를테면, 광원(1830)의 온/오프에 따라 나타나는 색상은 일례로 0~255의 밝기값으로 표시될 수 있고, 이 경우 화이트 밴드는 255의 밝기값, 블랙 밴드는 0의 밝기값을 나타낼 수 있다. 물론 이러한 밝기값의 범위는 변경이 가능하다.
필터부(1860)는 이미지 처리부(1850)에서 생성된 광원(1830)의 온/오프 이미지의 밝기신호로부터 비트 시퀀스를 검출할 수 있다. 필터부(1860)는 매치 필터를 포함할 수 있으며, 이미지 처리부(1850)에서 생성된 밝기 시퀀스 및 추가 생성된 반전 시퀀스를 콘볼루션 연산하여 비트 시퀀스를 검출할 수 있다. 필터부(1860)에 의한 비트 시퀀스 검출 방법은 도 22에서 구체적으로 설명한다.
데이터 추출부(1870)는 필터부(1860)에서 검출된 비트 시퀀스로부터 데이터를 추출할 수 있다. 이는 데이터 코딩부(1810)에서 전송할 데이터에 따라 광원(1830)의 온/오프 이미지에 코딩된 데이터를 복원하는 것이다.
예컨대, 데이터 코딩부(1810)에서 전송하고자 하는 데이터 1은 광원(1830)의 온(on)에 대응시키고 데이터 0은 광원(1830)의 오프(off)에 대응시킨 경우, 데이터 추출부(1850)에서는 광원(1830)의 온 이미지에서는 1을 추출하고, 오프 이미지에서는 0을 추출할 수 있다. 이때, 본 발명에서는 광원(1830)의 온/오프 이미지의 밝기신호에서 밝기값을 이용하여 데이터를 추출할 수 있다. 구체적으로 밝기신호의 기울기, 즉 밝기신호의 상승 및 하강을 조합하여 추출하도록 할 수 있다.
도 19는 본 발명의 제3 실시예에 따른 OCC 시스템에서 송신 및 수신되는 데이터 패킷의 구조를 개략적으로 도시한 구조도이다.
도 19를 참조하면, 본 발명의 제3 실시예에 따른 OCC 시스템에서 송신 및 수신되는 각각의 데이터 패킷은 복수의 동일한 데이터 서브 패킷(Data Sub-packet, DS)을 포함할 수 있다. 각 데이터 서브 패킷(DS)은 시작 프레임(Start Frame, SF), 비동기 비트(Asynchorous bit, Ab), 및 페이로드 또는 데이터 심볼로 구성될 수 있다.
시작 프레임(SF)은 동기화 및 각 데이터 패킷의 구분을 위하여, 각 데이터 패킷의 최전단에 배치될 수 있다.
비동기 비트(Ab)는 각 데이터 패킷의 구분을 위하여 데이터 심볼의 전단 및 후단에 배치될 수 있다. 비동기 비트(Ab)는 제1 비동기 비트(Ab1) 및 제2 비동기 비트(Ab2)로 구성될 수 있다. 제1 비동기 비트(Ab1) 및 제2 비동기 비트(Ab2)는 각각이 1비트로 구성될 수 있다. 제1 비동기 비트(Ab1)는 두 개의 데이터 패킷마다 그 값이 변하며, 제2 비동기 비트(Ab2)는 매 데이터 패킷마다 그 값이 변할 수 있다.
즉, 제1 비동기 비트(Ab1) 및 제2 비동기 비트(Ab2)로 구성된 비동기 비트(Ab)는 매 데이터 패킷이 전송될 때마다 00, 01, 10, 11 등 미리 정의된 순서에 따라 값이 변화하도록 설정될 수 있고, 같은 데이터 패킷 안에 포함된 데이터 서브 패킷(DS)의 비동기 비트(Ab)들은 같은 값을 가지도록 설정될 수 있다. 이에 따라, OCC 수신 노드(1802)는 데이터 서브 패킷(DS) 또는 데이터 서브 패킷(DS)의 일부분을 수신하면 그에 포함된 비동기 비트(Ab)를 통해 데이터 전송 누락 여부를 확인하거나 데이터 복구를 수행할 수 있다.
데이터 심볼의 전단에 배치되는 비동기 비트(Ab)는 전단 비동기 비트(Abf), 데이터 심볼의 후단에 배치되는 비동기 비트(Ab)는 후단 비동기 비트(Abb)라 칭할 수 있다.
페이로드 또는 데이터 심볼은 OCC 통신을 통하여 전송하고자 하는 데이터 내용을 의미한다.
상기한 바와 같이, 데이터 서브 패킷(DS)에는 순서대로 시작 프레임(SF), 전단 비동기 비트(Abf), 데이터 심볼 및 후단 비동기 비트(Abb)가 배치될 수 있다.
상기한 데이터 프레임 구조를 이용하여 데이터를 추출하는 과정은 도 20에서 구체적으로 설명한다.
도 20은 본 발명의 제3 실시예에 의한 OCC 시스템에서 데이터를 추출 및 복원하는 방법의 원리를 도시한 도면이다.
도 20에서는 설명의 편의상 각각의 데이터 패킷이 2개의 데이터 서브 패킷(DS)으로 구성되는 경우를 예로 들어 도시하였으나, 이러한 도 20의 예시는 본 발명을 설명하기 위한 일례에 불과하며 본 발명은 이에 한정되지 않는다.
도 20의 (a) 및 (b)에 도시된 바와 같이, 본 발명의 제3 실시예에 의한 광원 구동부(1820)가 전송하고자 하는 데이터에 따라 코딩된 데이터 패킷의 구조에 대응하여 광원(1830)을 온/오프시키는 동안, 카메라(1840)는 미리 정해진 프레임속도에 상기 광원(1830)을 임의의 시점에 촬영할 수 있다. 카메라(1840)는 셔터의 주기적 개폐에 따라서 이미지를 수신하지 못하는 구간이 발생하기 때문에, 카메라(1840)에서 촬영된 각각의 이미지 프레임은 광원(1830)을 통해 송신된 데이터 전체를 온전하게 담을 수 없고, 이에 따라 각각의 이미지 프레임으로부터 검출된 각각의 비트 시퀀스(2010, 320, 330)는 데이터 추출부(1870)의 복원 과정을 통하여 본래의 데이터를 복원하게 된다. 도 20의 (a)에는 본 발명의 제3-1 실시예에 따른 '프레임 간 병합' (Inter-frame fusion) 방법의 원리가 도시되어 있고, 도 20의 (b)에는 본 발명의 제3-2 실시예에 따른 '프레임 내 병합' (Intra-frame fusion) 방법의 원리가 도시되어 있다.
이하, 도 20의 (a)를 참조하여 본 발명의 제3-1 실시예에 따른 '프레임 간 병합' 방법을 설명한다. 도 20의 (a)에 도시된 바와 같이, 하나의 비트 시퀀스(2020)에서 검출된 시작 프레임(2023) 전단에 있는 후단 비동기 비트(2022)와, 시작 프레임(2023) 후단에 있는 전단 비동기 비트(2024)의 값이 서로 다른 경우(예를 들어, 10≠11), 후단 비동기 비트(2022) 전단의 페이로드(2021)와 전단 비동기 비트(2024) 후단의 페이로드(2025)는 서로 다른 데이터 패킷에 포함된 데이터 서브 패킷(DS)의 페이로드로 볼 수 있다. 따라서, 이 경우 데이터 추출부(1870)는 후단 비동기 비트(2022) 전단의 페이로드(2021)를 이전 비트 시퀀스(2010)에 포함된 전단 비동기 비트(2014) 후단의 페이로드(2015)와 병합하여 기존의 페이로드(2041)를 복원할 수 있다. 또한, 데이터 추출부(1870)는 전단 비동기 비트(2024) 후단의 페이로드(2025)를 다음 비트 시퀀스(2030)에 포함된 후단 비동기 비트(2032) 전단의 페이로드(2035)와 병합하여 기존의 페이로드(2042)를 복원할 수 있다.
이하, 도 20의 (b)를 참조하여 본 발명의 제3-2 실시예에 따른 '프레임 내 병합' 방법을 설명한다. 도 20의 (b)에 도시된 바와 같이, 하나의 비트 시퀀스(2060)에서 검출된 시작 프레임(2063) 전단에 있는 후단 비동기 비트(2062)와, 시작 프레임(2063) 후단에 있는 전단 비동기 비트(2034)의 값이 값이 서로 같은 경우(예를 들어, 10=10), 후단 비동기 비트(2062) 전단의 페이로드(2061)와 전단 비동기 비트(2064) 후단의 페이로드(2065)는 서로 같은 데이터 패킷에 포함된 데이터 서브 패킷(DS)의 페이로드로 볼 수 있다. 따라서, 이 경우 데이터 추출부(1870)는 후단 비동기 비트(2062) 전단의 페이로드(2061)와 전단 비동기 비트(2064) 후단의 페이로드(2065)를 병합하여 기존의 페이로드(2081)를 복원할 수 있다.
상기한 바와 같이, 도 20에서는 설명의 편의상 각각의 데이터 패킷이 2개의 데이터 서브 패킷(DS)으로 구성되는 경우를 예로 들어 설명하였으나, 본 발명은 이에 한정되지 않는다. 이를테면, 본 발명에 따른 데이터 패킷은 3개 또는 그 이상의 데이터 서브 패킷(DS)으로 구성될 수 있으며, 이 경우 데이터 추출부(1870)는 하나의 페이로드를 복원하기 위하여 상술한 '데이터 간 병합' 및 '데이터 내 병합'을 복수 번 수행할 수 있고, 이에 따라 C-OOK 방식에 의한 OCC 통신의 데이터 복원 성능이 향상될 수 있다.
도 21은 본 발명의 제3 실시예에 따른 OCC 통신 방법을 개략적으로 도시한 순서도이다.
도 21을 참조하면, 본 발명의 제3 실시예에 따른 OCC 통신 방법에서는 데이터 코딩부(1810)가 전송하고자 하는 데이터를 코딩하고 코딩된 데이터를 포함하는 데이터 패킷을 구성할 수 있다(S2101). 본 발명의 실시 예에서는, 전송하고자 하는 다수의 데이터 별로 각각 구분되는 데이터 패킷이 연속적으로 배열되고, 이들 각 데이터 패킷은 연속적으로 반복되는 N개(N은 자연수)의 데이터 서브 패킷(DS) 을 포함할 수 있다. 또한, 각각의 데이터 서브 패킷(DS)은 상기와 같이 코딩된 데이터를 포함하는 페이로드 또는 데이터 심볼, 페이로드의 전단 및 후단에 각각 배치된 전단 및 후단 비동기 비트(Ab), 그리고 전단 비동기 비트(Ab)의 전단에 배치된 시작프레임(SF)으로 구성될 수 있다.
이어, 광원 구동부(1820)에서 설정된 펄스주파수에 따라 데이터 패킷에 대응하도록 광원(1830)을 온/오프시킬 수 있다(S2103). 이로써, 광원(1830)은 데이터를 포함하는 데이터 패킷에 대응하도록 온/오프될 수 있다. 구체적으로, 광원(1830)은 데이터 서브 패킷(DS)에 포함된 시작프레임(SF), 전단 비동기비트(Ab), 데이터 심볼, 후단 비동기비트(Ab)에 대응하도록 온/오프될 수 있다. 또한 이러한 데이터 서브 패킷(DS)이 기설정된 N회 반복되도록 온/오프될 수 있으며, 나아가 데이터 패킷 별로 구분되도록 온/오프될 수 있다.
계속해서, 카메라(1840)에서 설정된 프레임속도에 따라 광원(1830)의 온/오프 이미지를 롤링 셔터 방식으로 캡쳐할 수 있다(S2105). 구체적으로는, 카메라(1840)는 한 캡쳐타임 동안 다수의 열(row)마다 광원(1830)의 온/오프 이미지를 촬영하여 연속적인 이미지로 캡쳐할 수 있다.
이후, 이미지 처리부(1850)에서는 각 열(row)마다 연속 이미지 프레임으로 캡쳐된 광원(1830)의 온/오프 이미지의 밝기값에 따른 밝기신호를 생성할 수 있고(S2107), 필터부(1860) 및 데이터 추출부(1870)에서는 밝기신호로부터 데이터를 추출할 수 있다(S2109).
도 22는 본 발명의 제3 실시예에 따른 필터부의 비트 시퀀스 검출 방법을 개략적으로 도시한 순서도이다.
도 22를 참조하면, 본 발명의 제3 실시예에 따른 필터부(1860)에 포함된 매치 필터는, 이미지 처리부(1850)에서 생성된 각각의 밝기신호 시퀀스의 길이를 확인할 수 있다(S2201). 이어서, 매치 필터는, 밝기신호 시퀀스와 동일한 길이의 반전 시퀀스를 생성할 수 있다(S2203). 반전 시퀀스가 생성되면, 매치 필터는 밝기신호 시퀀스 및 반전 시퀀스를 콘볼루션 연산할 수 있다(S2205).
이어서, 매치 필터는 콘볼루션 연산 결과로부터 비트 시퀀스를 검출할 수 있다(S2207). 이를테면, 매치 필터는 콘볼루션 연산 결과 극대값을 가지는 지점을 기초로 비트 시퀀스를 검출할 수 있다. 이를테면, 매치필터는 극대값을 가지는 지점을 1 값을 가지는 비트로, 극소값을 가지는 지점을 0 값을 가지는 비트로 검출할 수 있다. 이는 OCC 시스템의 송신 노드 측의 변조 방식에 따라서 다르게 설정될 수 있다.
도 25 및 26은 종래의 OCC 시스템의 수신 노드에서 비트를 검출하는 방법의 문제점을 설명하기 위한 그래프이고, 도 27은 본 발명의 제3 실시예에 따른 OCC 시스템의 수신 노드에서 비트를 검출하는 방법을 설명하기 위한 그래프이다.
도 25 및 도 26의 (a)를 참조하면, OCC 시스템은 광원의 점멸을 촬영하여 생성된 밝기신호 시퀀스로부터 비트 시퀀스를 검출할 수 있고, 상기 비트 시퀀스로부터 시작 프레임(SF), 페이로드, 또는 기타 데이터 패킷의 세부 구성을 검출할 수 있다. 종래의 기술에서는, 이렇게 밝기신호 시퀀스로부터 비트 시퀀스를 검출하는 데 있어서, 이를테면 제로 크로싱 방식 등의 방식이 사용되었다.
종래의 기술에 따라서 카메라에 의해 캡쳐된 광원의 이미지로부터 비트를 검출하기 위해 제로 크로싱 방식을 사용하는 OCC 시스템에서는, 캡쳐된 광원의 이미지로부터 도출된 밝기신호 그래프의 파형이 제로 축을 통과하는 지점을 기준으로 하여 비트를 검출하였다. 이러한 방식은 광원과 카메라 간의 거리가 짧고, OCC 시스템의 광원 외 별도의 광원이 적은 이상적인 실내 환경 조건에서는 낮은 노이즈 비율로 인해 효과적으로 작동할 수 있다.
그러나, 상기한 바와 같은 이상적인 실내 환경 조건이 아닌 다른 조건, 이를테면 광원과 카메라 간의 거리가 길거나, OCC 시스템의 광원 외 별도의 광원이 다량 존재하거나, 혹은 실외 환경인 등의 조건에서는 효과적으로 작동하기 어려울 수 있다. 이러한 조건들에서는 OCC 신호의 강도는 줄어들고 노이즈의 강도는 높아질 수 있기 때문에, OCC 통신의 성능이 저하될 수 있다.
이를테면, 노이즈의 강도가 일정 이상 높아져서 OCC 신호에 의한 진폭보다 노이즈에 의한 진폭이 더 커질 경우, 도 27의 (b)에 도시된 바와 같이 그래프의 파형이 제로 축을 통과하는 지점(x 표시된 지점)들이 OCC 신호가 아닌 노이즈에 의해서 발생하게 되고, 따라서 비트 검출이 실패하거나 오작동할 수 있다.
도 27의 (a)에는 본 발명의 제3 실시예에 따른 이미지 처리부(1850)에서 생성된 밝기신호 시퀀스가 도시되어 있고, 도 27의 (b)에는 본 발명의 제3 실시예에 따른 매치 필터에서 생성된 반전 시퀀스가 도시되어 있고, 도 27의 (c)에는 본 발명의 제3 실시예에 따른 밝기신호 시퀀스와 반전 시퀀스의 컨볼루션 연산 결과가 도시되어 있다.
도 27의 (c)를 참조하면, 본 발명의 제3 실시예에 따른 상기 밝기신호 시퀀스와 반전 시퀀스의 컨볼루션 연산 결과 파형에서 극대값을 가지는 지점(이를테면, 그래프상 타원)을 기초로 비트 시퀀스를 검출할 수 있다.
다시 도 22를 참조하면, 본 발명의 제3 실시예에 따른 필터부(1860)의 매치 필터는 OCC 시스템의 송신 노드의 인코딩 방식에 따라 미리 설정된 테이블을 기반으로 반전 시퀀스를 생성할 수 있다.
이를테면, OCC 시스템의 송신 노드가 맨체스터(Manchester) 방식에 따라 데이터를 인코딩할 경우, 매치필터는 표 9에 따라 반전 시퀀스를 생성할 수 있다.
Figure PCTKR2019016595-appb-T000009
한편, OCC 시스템의 송신 노드가 4B6B 방식에 따라 데이터를 인코딩할 경우, 매치필터는 표 10에 따라 반전 시퀀스를 생성할 수 있다.
Figure PCTKR2019016595-appb-T000010
도 23은 본 발명의 제3-1 실시예에 따른 데이터 추출부의 데이터 추출 방법을 개략적으로 도시한 순서도이다.
도 23을 참조하면, 본 발명의 제3-1 실시예에 따른 데이터 추출을 위해서 데이터 추출부(1870)는 먼저 캡쳐된 하나의 제1 비트 시퀀스에서 시작프레임(SF)과 시작 프레임(SF)의 후단에 배치된 전단 비동기 비트(Ab1f)를 추출할 수 있다(S2301). 이어, 데이터 추출부(1870)는 전단 비동기 비트(Ab1f)의 후단에 배치되는 제1 페이로드를 추출할 수 있다(S2303).
계속해서, 데이터 추출부(1870)는 제1 비트 시퀀스에서 제1 페이로드의 후단에 후단 비동기 비트(Ab1b)가 있는지 여부를 판단할 수 있다(S2305). 제1 페이로드의 후단에 후단 비동기 비트(Ab1b)가 있을 경우, 데이터 추출부(1870)는 제1 페이로드로부터 데이터를 추출할 수 있다(S2307). 한편, 제1 페이로드의 후단에 후단 비동기 비트(Ab1b)가 없을 경우, 제1 비트 시퀀스와 연속으로 캡쳐된 이웃의 제2 비트 시퀀스에서 후단 비동기 비트(Ab2b)를 추출할 수 있다(S2309).
계속해서, 데이터 추출부(1870)는 제2 비트 시퀀스에서 추출된 후단 비동기 비트(Ab2b)가 제1 비트 시퀀스에서 추출된 전단의 비동기비트(Ab1f)와 일치하는지 여부를 판단할 수 있다(S2311). 제2 비트 시퀀스에서 추출된 후단 비동기 비트(Ab2b)가 제1 비트 시퀀스에서 추출된 전단의 비동기비트(Ab1f)와 일치할 경우, 후단의 비동기비트(Ab2b)의 전단에 위치하는 제2 페이로드를 추출할 수 있다(S2313).
도 19 및 20에서 설명한 바와 같이, 본 발명의 제3 실시예에 따르면 동일한 데이터 패킷에 포함된 각 데이터 서브 패킷(DS)의 비동기 비트(Ab)는 모두 동일한 값을 가지게 된다. 그에 따라, 서로 인접한 2개의 비트 시퀀스에 포함된 전단 또는 후단 비동기 비트(Ab)가 같다면, 양 비트 시퀀스는 동일한 데이터 패킷에 포함된 데이터 서브 패킷들의 신호를 포함한다는 것을 의미하며, 다시 말해 페이로드를 통해 전송하려는 데이터가 동일하다는 것을 의미할 수 있다.
이어서, 제1 비트 시퀀스에서 추출된 페이로드와 제2 비트 시퀀스에서 추출된 페이로드를 병합 또는 조합하여 본래의 페이로드를 복원하고, 이로부터 데이터를 추출할 수 있다(S2315). 이로써, 2개의 이웃한 비트 시퀀스로부터 데이터를 추출하게 되며, 본 발명에서는 이를 '프레임 간 병합'(Inter-frame fusion)이라 한다.
도 24는 본 발명의 제3-2 실시예에 따른 데이터 추출부의 데이터 추출 방법을 개략적으로 도시한 순서도이다.
도 24를 참조하면, 본 발명의 제3-2 실시예에 따른 데이터 추출을 위해서 데이터 추출부(1870)는 먼저 캡쳐된 하나의 제1 비트 시퀀스에서 시작프레임(SF)과 시작 프레임의 후단에 배치된 전단 비동기 비트(Ab1f)를 추출할 수 있다(S2401). 이어, 데이터 추출부(1870)는 전단 비동기 비트(Ab1f)의 후단에 배치되는 제1 페이로드를 추출할 수 있다(S2403).
계속해서, 데이터 추출부(1870)는 제1 비트 시퀀스에서 제1 페이로드의 후단에 후단 비동기 비트(Ab1b)가 있는지 여부를 판단할 수 있다(S2405). 제1 페이로드의 후단에 후단 비동기 비트(Ab1b)가 있을 경우, 데이터 추출부(1870)는 제1 페이로드로부터 데이터를 추출할 수 있다(S2407).
한편, 제1 페이로드의 후단에 후단 비동기 비트(Ab1b)가 없을 경우, 제1 비트 시퀀스에서 추출된 시작 프레임(SF)의 전단에 후단 비동기 비트(Ab2b)가 있는지 여부를 판단할 수 있다(S2409). 시작 프레임(SF)의 전단에 후단 비동기 비트(Ab2b)가 있을 경우, 후단 비동기 비트(Ab2b)의 전단에 배치된 제2 페이로드와 상기 S2403 단계에서 추출된 제1 페이로드를 병합 또는 조합하여 본래의 페이로드를 복원하고, 이로부터 데이터를 추출할 수 있다(S2411). 이로써, 하나의 비트 시퀀스의 시작 프레임(SF) 전단 및 후단에 각각 포함된 페이로드로부터 데이터를 추출하게 되며, 본 발명에서는 이를 '프레임 내 병합'(Intra-frame fusion)이라 한다.
상술한 바와 같이, 본 발명에 따른 OCC 시스템에 따르면, 각 데이터 패킷에 포함된 전단 및 비동기 비트(Ab)를 통하여 하나 이상의 비트 시퀀스에 포함된 복수의 페이로드를 병합하여 본래의 페이로드를 복원할 수 있다.
광원과 동기되지 않은 카메라를 사용하여 광원의 점멸 상태를 촬영하는 경우, 임의의 시점에 촬영이 시작되는 점, 또한 셔터스피드에 의한 한계로 인해 광원의 신호 중 촬영되지 못하는 부분이 발생할 수 있다. 상기한 본 발명의 실시예에 따르면, 프레임 간 병합 또는 프레임 내 병합을 통해 이와 같이 촬영되지 못하여 누락된 부분을 복원할 수 있고, 따라서 OCC 통신 시스템의 성능이 향상될 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (18)

  1. 광학 카메라 통신(Optical Camera Communication, OCC) 신호를 송신하는 OCC 송신 노드에 의한 OCC 신호의 변조 방법에 있어서,
    이진 데이터 신호를 획득하는 단계;
    상기 이진 데이터 신호를 k 비트씩 그룹화하여 0부터
    Figure PCTKR2019016595-appb-I000055
    까지의 정수 값을 갖는 전역 위상 천이(global phase shift) 신호로 변환하는 단계;
    미리 설정된 심볼 그룹 매핑 테이블을 기초로, 상기 전역 위상 천이 신호를
    Figure PCTKR2019016595-appb-I000056
    비트 시퀀스 형태의 제1 내지 제M 매핑 시퀀스에 매핑하여 데이터 신호 그룹을 생성하는 단계;
    상기 데이터 신호 그룹을 변조하여 펄스파 신호를 생성하는 단계; 및
    상기 펄스파 신호에 따라 상기 OCC 송신 노드에 포함된 복수개의 광원들 각각을 점멸시키는 단계를 포함하며,
    상기 심볼 그룹 매핑 테이블은 상기 0부터
    Figure PCTKR2019016595-appb-I000057
    까지의 정수 값을 갖는 전역 위상 천이 신호와 상기 제1 내지 제M 매핑 시퀀스 간의 연결관계를 나타내고,
    상기 k 및 상기 n은 3 이상의 정수인, OCC 신호의 변조 방법.
  2. 청구항 1에 있어서,
    상기 제1 내지 제M 매핑 시퀀스는, n 비트씩을 한 묶음으로 하여,
    Figure PCTKR2019016595-appb-I000058
    개의 n-비트 묶음을 가지는
    Figure PCTKR2019016595-appb-I000059
    비트 시퀀스 형태로 형성되는 것을 특징으로 하는 OCC 신호의 변조 방법.
  3. 청구항 2에 있어서,
    상기 제1 내지 제
    Figure PCTKR2019016595-appb-I000060
    매핑 시퀀스에서, 1 개의 n-비트 묶음은 1 값을 가지고
    Figure PCTKR2019016595-appb-I000061
    개의 n-비트 묶음은 0 값을 가지며
    상기 제
    Figure PCTKR2019016595-appb-I000062
    내지 제M 매핑 시퀀스에서, 1 개의 n-비트 묶음은 0 값을 가지고
    Figure PCTKR2019016595-appb-I000063
    개의 n-비트 묶음은 1 값을 가지는 것을 특징으로 하는 OCC 신호의 변조 방법.
  4. 청구항 1에 있어서,
    상기 k 및 상기 n은 3이며,
    상기 심볼 그룹 매핑 테이블은,
    상기 0부터 7까지의 정수 값을 갖는 전역 위상 천이 신호와 제1 내지 제8 3-심볼 시퀀스 간의 연결관계; 및
    상기 제1 내지 제8 3-심볼 시퀀스와 상기 제1 내지 제8 매핑 시퀀스 간의 연결관계를 더 나타내고,
    상기 제1 내지 제8 3-심볼 시퀀스는 각각 3개의 심볼들을 가지도록 생성되는 것을 특징으로 하는 OCC 신호의 변조 방법.
  5. 청구항 4에 있어서,
    상기 제1 3-심볼 시퀀스는 1로 설정된 3개의 심볼들을 가지도록 생성되고,
    상기 제2 내지 제4 3-심볼 시퀀스는 각각 5로 설정된 1개의 심볼과 0으로 설정된 2개의 심볼들을 가지도록 생성되고,
    상기 제5 내지 제7 3-심볼 시퀀스는 각각 1로 설정된 1개의 심볼과 4로 설정된 2개의 심볼들을 가지도록 생성되고,
    상기 제8 3-심볼 시퀀스는 5로 설정된 3 개의 심볼들을 가지도록 생성되는 것을 특징으로 하는 OCC 신호의 변조 방법.
  6. 청구항 5에 있어서,
    상기 제1 내지 제8 매핑 시퀀스는,
    상기 제1 내지 제8 3-심볼 시퀀스의 각 심볼들을 다음의 표에 따라 4 비트의 신호들로 매핑하여, 각각 12 비트 시퀀스 형태로 생성되는 것을 특징으로 하는 OCC 신호의 변조 방법.
    Figure PCTKR2019016595-appb-I000064
  7. 청구항 1에 있어서,
    상기 심볼 그룹 매핑 테이블에서,
    상기 제
    Figure PCTKR2019016595-appb-I000065
    내지 제M 매핑 시퀀스는, 상기 제1 내지 제
    Figure PCTKR2019016595-appb-I000066
    매핑 시퀀스에 NOT 연산을 적용하여 생성되는 것을 특징으로 하는 OCC 신호의 변조 방법.
  8. 청구항 1에 있어서,
    상기 심볼 그룹 매핑 테이블은,
    상기 제1 내지 제M 매핑 시퀀스 간의 최소 해밍 거리(hamming distance)가 2n 이 되도록 형성되는 것을 특징으로 하는 OCC 신호의 변조 방법.
  9. 광학 카메라 통신(Optical Camera Communication, OCC) 신호를 수신하는 OCC 수신 노드에 의한 OCC 신호의 복조 방법에 있어서,
    OCC 신호를 송신하는 OCC 송신 노드에 포함된 복수개의 광원들의 점멸 상태를 검출하는 단계;
    상기 광원들의 점멸 상태 정보를 이진 시퀀스로 변환하는 단계;
    상기 이진 시퀀스를
    Figure PCTKR2019016595-appb-I000067
    비트씩 그룹화하여,
    Figure PCTKR2019016595-appb-I000068
    비트의 데이터 신호 그룹을 획득하는 단계;
    미리 설정된 심볼 그룹 매핑 테이블을 기초로 상기 데이터 신호 그룹으로부터 전역 위상 천이 신호를 획득하는 단계; 및
    상기 전역 위상 천이 신호를 변환하여 이진 데이터를 획득하는 단계를 포함하고,
    상기 심볼 그룹 매핑 테이블은 상기 심볼 그룹 매핑 테이블은 0부터
    Figure PCTKR2019016595-appb-I000069
    까지의 정수 값을 갖는 전역 위상 천이 신호와 제1 내지 제M 매핑 시퀀스 간의 연결관계를 나타내고,
    상기 제
    Figure PCTKR2019016595-appb-I000070
    내지 제M 매핑 시퀀스는, 상기 제1 내지 제
    Figure PCTKR2019016595-appb-I000071
    매핑 시퀀스에 NOT 연산을 적용하여 생성된 것을 특징으로 하는 OCC 신호의 복조 방법.
  10. 청구항 9에 있어서,
    상기 심볼 그룹 매핑 테이블은,
    상기 제1 내지 제M 매핑 시퀀스 간의 최소 해밍 거리(hamming distance)가 2n 이 되도록 형성되는 것을 특징으로 하는 OCC 신호의 변조 방법.
  11. 청구항 9에 있어서,
    상기 데이터 신호 그룹으로부터 전역 위상 천이 신호를 획득하는 단계는,
    상기 데이터 신호 그룹이 상기 제1 내지 제M 매핑 시퀀스 중 어느 하나와 일치하는지 여부를 판단하는 단계; 및
    상기 데이터 신호 그룹이 상기 제1 내지 제M 매핑 시퀀스 중 어느 하나와 일치할 경우, 상기 데이터 신호 그룹을 상기 데이터 신호 그룹과 일치하는 매핑 시퀀스에 연결된 전역 위상 천이 신호로 변환하는 단계를 포함하는 것을 특징으로 하는 OCC 신호의 복조 방법.
  12. 청구항 9에 있어서,
    상기 데이터 신호 그룹으로부터 전역 위상 천이 신호를 획득하는 단계는,
    상기 데이터 신호 그룹이 상기 제1 내지 제M 매핑 시퀀스 중 어느 하나와 일치하는지 여부를 판단하는 단계;
    상기 데이터 신호 그룹이 상기 제1 내지 제M 매핑 시퀀스 중 어느 하나와 일치하지 않을 경우, 상기 데이터 신호 그룹과 상기 제1 내지 제M 매핑 시퀀스 간의 해밍 거리를 기초로 상기 데이터 신호 그룹의 오류를 정정하는 단계;
    오류가 정정된 데이터 신호 그룹을 생성하는 단계; 및
    상기 오류가 정정된 데이터 신호 그룹이 상기 제1 내지 제M 매핑 시퀀스 중 어느 하나와 일치하는지 여부를 다시 판단하는 단계를 포함하며,
    상기 데이터 신호 그룹의 오류를 정정하는 단계는,
    상기 OCC 수신 노드의 인공 신경망(artificial neural network)에 의해 수행되는 것을 특징으로 하는 OCC 신호의 복조 방법.
  13. 청구항 12에 있어서,
    상기 데이터 신호 그룹의 오류를 정정하는 단계 이후,
    상기 OCC 신호 송신 노드가 송신한 데이터 신호 그룹과 상기 오류가 정정된 데이터 신호 그룹 간의 오류 정보를 산출하는 단계; 및
    상기 오류 정보를 역전파(back-propagation)하여 상기 인공 신경망의 가중 벡터(weight vector)를 업데이트하는 단계를 더 포함하는 OCC 신호의 복조 방법.
  14. 광학 카메라 통신(Optical Camera Communication, OCC) 신호를 송신하는 OCC 송신 노드로서,
    프로세서(processor);
    상기 프로세서의 제어에 따라 동작하는 복수개의 광원들; 및
    상기 프로세서에 의해 실행되는 하나 이상의 명령들이 저장된 메모리를 포함하며,
    상기 하나 이상의 명령들은,
    이진 데이터 신호를 획득하고;
    상기 이진 데이터 신호를 k 비트씩 그룹화하여 0부터
    Figure PCTKR2019016595-appb-I000072
    까지의 정수 값을 갖는 전역 위상 천이(global phase shift) 신호로 변환하고;
    미리 설정된 심볼 그룹 매핑 테이블을 기초로, 상기 전역 위상 천이 신호를
    Figure PCTKR2019016595-appb-I000073
    비트 시퀀스 형태의 제1 내지 제M 매핑 시퀀스에 매핑하여 데이터 신호 그룹을 생성하고;
    상기 데이터 신호 그룹을 변조하여 펄스파 신호를 생성하고; 그리고
    상기 펄스파 신호에 따라 상기 복수개의 광원들 각각을 점멸시키도록 실행되며,
    상기 심볼 그룹 매핑 테이블은 상기 0부터
    Figure PCTKR2019016595-appb-I000074
    까지의 정수 값을 갖는 전역 위상 천이 신호와 상기 제1 내지 제M 매핑 시퀀스 간의 연결관계를 나타내고,
    상기 k 및 상기 n은 3 이상의 정수인, OCC 송신 노드.
  15. 청구항 14에 있어서,
    상기 제1 내지 제M 매핑 시퀀스는, n 비트씩을 한 묶음으로 하여,
    Figure PCTKR2019016595-appb-I000075
    개의 n-비트 묶음을 가지는
    Figure PCTKR2019016595-appb-I000076
    비트 시퀀스 형태로 형성되고,
    상기 제1 내지 제
    Figure PCTKR2019016595-appb-I000077
    매핑 시퀀스에서, 1개의 n-비트 묶음은 1 값을 가지고
    Figure PCTKR2019016595-appb-I000078
    개의 n-비트 묶음은 0 값을 가지며
    상기 제
    Figure PCTKR2019016595-appb-I000079
    내지 제M 매핑 시퀀스에서, 1개의 n-비트 묶음은 0 값을 가지고
    Figure PCTKR2019016595-appb-I000080
    개의 n-비트 묶음은 1 값을 가지는 것을 특징으로 하는 OCC 송신 노드.
  16. 청구항 14에 있어서,
    상기 k 및 상기 n은 3이며,
    상기 심볼 그룹 매핑 테이블은,
    상기 0부터 7까지의 정수 값을 갖는 전역 위상 천이 신호와 제1 내지 제8 3-심볼 시퀀스 간의 연결관계; 및
    상기 제1 내지 제8 3-심볼 시퀀스와 상기 제1 내지 제8 매핑 시퀀스 간의 연결관계를 더 나타내고,
    상기 제1 내지 제8 3-심볼 시퀀스는 각각 3개의 심볼들을 가지도록 생성되는 것을 특징으로 하는 OCC 송신 노드.
  17. 청구항 16에 있어서,
    상기 제1 3-심볼 시퀀스는 1로 설정된 3개의 심볼들을 가지도록 생성되고,
    상기 제2 내지 제4 3-심볼 시퀀스는 각각 5로 설정된 1개의 심볼과 0으로 설정된 2개의 심볼들을 가지도록 생성되고,
    상기 제5 내지 제7 3-심볼 시퀀스는 각각 1로 설정된 1개의 심볼과 4로 설정된 2개의 심볼들을 가지도록 생성되고,
    상기 제8 3-심볼 시퀀스는 5로 설정된 3 개의 심볼들을 가지도록 생성되며,
    상기 제1 내지 제8 매핑 시퀀스는,
    상기 제1 내지 제8 3-심볼 시퀀스의 각 심볼들을 다음의 표에 따라 4 비트의 신호들로 매핑하여, 각각 12 비트 시퀀스 형태로 생성되는 것을 특징으로 하는 OCC 송신 노드.
    Figure PCTKR2019016595-appb-I000081
  18. 청구항 14에 있어서,
    상기 심볼 그룹 매핑 테이블에서,
    상기 제
    Figure PCTKR2019016595-appb-I000082
    내지 제M 매핑 시퀀스는, 상기 제1 내지 제
    Figure PCTKR2019016595-appb-I000083
    매핑 시퀀스에 NOT 연산을 적용하여 생성되는 것을 특징으로 하는 OCC 송신 노드.
PCT/KR2019/016595 2019-07-08 2019-11-28 광학 카메라 통신 시스템의 통신 방법 및 장치 WO2021006433A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/625,662 US11979193B2 (en) 2019-07-08 2019-11-28 Communication method and device in optical camera communication system

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR1020190082316A KR102065888B1 (ko) 2019-07-08 2019-07-08 광학 카메라 통신 시스템의 통신 방법 및 장치
KR10-2019-0082316 2019-07-08
KR1020190133299A KR102136497B1 (ko) 2019-10-24 2019-10-24 광학 카메라 통신 신호의 변복조 방법 및 장치
KR10-2019-0133299 2019-10-24
KR10-2019-0133298 2019-10-24
KR1020190133298A KR102136496B1 (ko) 2019-10-24 2019-10-24 광학 카메라 통신 신호의 변조 및 복조 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2021006433A1 true WO2021006433A1 (ko) 2021-01-14

Family

ID=74114034

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/016595 WO2021006433A1 (ko) 2019-07-08 2019-11-28 광학 카메라 통신 시스템의 통신 방법 및 장치

Country Status (2)

Country Link
US (1) US11979193B2 (ko)
WO (1) WO2021006433A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202343992A (zh) 2022-04-28 2023-11-01 緯創資通股份有限公司 為光學相機通訊校正幀的方法和電子裝置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100055955A (ko) * 2008-11-18 2010-05-27 한국전자통신연구원 데이터 변조방법 및 복조방법
KR20110055302A (ko) * 2009-11-19 2011-05-25 한국전자통신연구원 그룹 변조 방법 및 이를 이용한 송수신 장치
KR20140123764A (ko) * 2013-04-15 2014-10-23 삼성전자주식회사 무선 통신 시스템에서 비트 심볼 매핑 방법 및 장치
KR20170085968A (ko) * 2016-01-15 2017-07-25 국민대학교산학협력단 Sm-psk 광학 무선 송신 방법 및 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4689412B2 (ja) 2005-08-31 2011-05-25 京セラ株式会社 送信装置及び通信システム
KR101307610B1 (ko) 2007-08-10 2013-09-12 삼성전자주식회사 가시광 통신 시스템에서 수광소자의 신호 처리 방법 및장치
US9341014B2 (en) 2012-12-27 2016-05-17 Panasonic Intellectual Property Corporation Of America Information communication method using change in luminance
KR101952994B1 (ko) 2015-05-20 2019-02-27 국민대학교산학협력단 Led와 롤링셔터카메라를 이용한 광학 카메라 통신 방법
US10560188B2 (en) * 2015-02-17 2020-02-11 Kookmin University Industry Academy Cooperation Foundation Image sensor communication system and communication method using rolling shutter modulation
KR101625334B1 (ko) 2015-08-12 2016-05-27 김영기 카데터 조립체
CN110603792B (zh) * 2017-05-23 2023-02-03 华为技术有限公司 一种数据传输方法、设备及系统
WO2020176556A1 (en) * 2019-02-26 2020-09-03 Massachusetts Institute Of Technology Wide-area sensing of amplitude modulated signals

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100055955A (ko) * 2008-11-18 2010-05-27 한국전자통신연구원 데이터 변조방법 및 복조방법
KR20110055302A (ko) * 2009-11-19 2011-05-25 한국전자통신연구원 그룹 변조 방법 및 이를 이용한 송수신 장치
KR20140123764A (ko) * 2013-04-15 2014-10-23 삼성전자주식회사 무선 통신 시스템에서 비트 심볼 매핑 방법 및 장치
KR20170085968A (ko) * 2016-01-15 2017-07-25 국민대학교산학협력단 Sm-psk 광학 무선 송신 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YEONG SOURCE, JANG MIN, NGUYEN TRANG: "March, 2016 IEEE P802.15-16-0239-00-007a Submission Page 1 Kookmin University – PHY 4 modes Wireless Personal Area Networks Project IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs) Title Kookmin PHY 4 modes – hybrid modulation schemes and cameras ISC modes Date Submitted [March", 1 March 2016 (2016-03-01), XP055785269, Retrieved from the Internet <URL:https://mentor.ieee.org/802.15/dcn/16/15-16-0239-00-007a-kookmin-phy-4-modes-hybrid-modulation-schemes-and-cameras-isc-modes.pdf> [retrieved on 20210312] *

Also Published As

Publication number Publication date
US11979193B2 (en) 2024-05-07
US20220337323A1 (en) 2022-10-20

Similar Documents

Publication Publication Date Title
WO2018034533A1 (en) Method and apparatus for grid mapping in a wireless communication system
WO2016159431A1 (ko) 실수 m진 신호 부호화 방법, 및 이를 이용한 부호화 장치
WO2017122925A2 (ko) Dsm-psk 광학 무선 송신 방법 및 장치
WO2016144100A1 (ko) 무선 통신 시스템에서 신호를 송수신하는 방법 및 이를 수행하는 장치
WO2016028050A1 (en) Method and system for sending a reference signal, method and system for receiving a reference signal
WO2021033797A1 (ko) 낮은-비트 양자화 시스템에서의 신호 송수신 방법 및 이를 위한 장치
US10911093B2 (en) Signal transmission method, signal receiving method, related device, and system
WO2021006433A1 (ko) 광학 카메라 통신 시스템의 통신 방법 및 장치
WO2012099388A2 (ko) Harq ack/nack 신호 처리 방법 및 장치
WO2016148370A1 (ko) 데이터 전송률 향상을 위한 다중 연결 제어 방법 및 장치
WO2023003054A1 (ko) 양자 통신 시스템에서 양자 보안 직접 통신을 수행하기 위한 방법 및 이를 위한 장치
WO2018169179A1 (ko) RoI 기반 광학 무선 통신 방법 및 장치
WO2016108467A1 (ko) 버스 기반 네트워크에서 수신한 패킷 데이터를 고속 등화하는 방법, 버스 기반 네트워크에서 패킷 데이터를 송수신하는 방법 및 버스 기반 네트워크의 수신기
WO2021172601A1 (ko) 무선 통신 시스템에서 무선 신호를 송수신하는 방법 및 장치
WO2022124606A1 (ko) 통신 시스템에서 양방향 양자 키 분배 절차의 순방향에서 전달되는 보조 정보를 이용하기 위한 방법 및 장치
WO2015023148A1 (en) Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
WO2021117940A1 (ko) 무선 통신 시스템에서 동기 신호의 전송 방법 및 그 장치
WO2022065540A1 (ko) 무선 통신 네트워크에서 아날로그-디지털 변환기를 포함하는 수신기 및 그 수신기의 동작 방법
WO2023068399A1 (ko) 무선 통신 시스템에서 채널 상태 정보의 송수신 방법 및 그 장치
WO2023054778A1 (ko) 무선 통신 시스템에서 채널 상태 정보를 보고하기 위한 방법 및 이를 위한 장치
WO2023013795A1 (ko) 무선 통신 시스템에서 연합학습을 수행하는 방법 및 이를 위한 장치
WO2023238972A1 (ko) 단광자 쌍 기반의 단방향 및 단일 단계 양자 직접 통신을 위한 방법 및 이를 위한 장치
WO2022163886A1 (ko) 뉴럴 네트워크에 기반한 상향링크 제어 정보 전송 방법 및 장치
WO2022244904A1 (ko) 오토 인코더를 이용하는 무선 통신 시스템에서 신호를 송수신하기 위한 방법 및 이를 위한 장치
WO2023282373A1 (ko) 무선 통신 시스템에서 재전송을 수행하기 위한 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19937263

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19937263

Country of ref document: EP

Kind code of ref document: A1