KR102025524B1 - Communication platform based on sound - Google Patents

Communication platform based on sound Download PDF

Info

Publication number
KR102025524B1
KR102025524B1 KR1020170158447A KR20170158447A KR102025524B1 KR 102025524 B1 KR102025524 B1 KR 102025524B1 KR 1020170158447 A KR1020170158447 A KR 1020170158447A KR 20170158447 A KR20170158447 A KR 20170158447A KR 102025524 B1 KR102025524 B1 KR 102025524B1
Authority
KR
South Korea
Prior art keywords
terminal
sound wave
data
service server
generated
Prior art date
Application number
KR1020170158447A
Other languages
Korean (ko)
Other versions
KR20190060343A (en
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
Application filed by 모비두 주식회사 filed Critical 모비두 주식회사
Priority to KR1020170158447A priority Critical patent/KR102025524B1/en
Priority to US16/492,157 priority patent/US20210152564A1/en
Priority to PCT/KR2018/010213 priority patent/WO2019103289A1/en
Publication of KR20190060343A publication Critical patent/KR20190060343A/en
Application granted granted Critical
Publication of KR102025524B1 publication Critical patent/KR102025524B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B11/00Transmission systems employing sonic, ultrasonic or infrasonic waves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

서비스 서버의 동작 방법이 개시된다. 일 실시예는 단말에게 보안키를 전송하고, 다른 단말로부터 서비스 타입 정보를 포함하는 심볼 요청 데이터와 페이로드 데이터를 수신하고, 상기 서비스 타입 정보를 기초로 결정된 사이즈에 따라 상기 다른 단말에 대응되는 심볼을 생성하며, 상기 다른 단말에 대해, 상기 페이로드 데이터와 상기 생성된 심볼이 맵핑된 맵핑 정보를 생성하고, 상기 생성된 심볼을 기초로 상기 다른 단말의 음파 출력을 위한 음파 데이터를 생성하고, 상기 생성된 음파 데이터를 상기 다른 단말로 전송하고, 상기 단말로부터, 상기 보안키와 음파를 기초로 생성된 음파 인식 결과-상기 음파는 상기 다른 단말이 상기 서비스 서버로부터 수신한 음파 데이터를 기초로 출력한 것임- 및 페이로드 요청 데이터를 수신하고, 상기 음파 인식 결과와 상기 생성된 심볼이 매칭되는지 확인하고, 상기 매칭되는 경우, 상기 맵핑 정보를 기초로 상기 페이로드 데이터를 상기 단말로 전송한다.A method of operating a service server is disclosed. According to an embodiment, a security key is transmitted to a terminal, symbol request data and payload data including service type information are received from another terminal, and a symbol corresponding to the other terminal according to the size determined based on the service type information. Generate a mapping information in which the payload data and the generated symbol are mapped to the other terminal, generate sound wave data for sound wave output of the other terminal based on the generated symbol, and The generated sound wave data is transmitted to the other terminal, and the sound wave recognition result generated based on the security key and sound wave from the terminal-The sound wave is output based on the sound wave data received by the other terminal from the service server Receiving the payload request data and matching the sound wave recognition result with the generated symbol When the match is found, the payload data is transmitted to the terminal based on the mapping information.

Description

음파 통신 플랫폼{COMMUNICATION PLATFORM BASED ON SOUND}Sound Wave Communication Platform {COMMUNICATION PLATFORM BASED ON SOUND}

아래 실시예들은 음파 통신 플랫폼에 관한 것이다.The embodiments below relate to an acoustic wave communication platform.

최근에, 음파를 이용한 통신 방법이 다양한 분야에서 이용되고 있다. 음파는 공간 상에서 전파되므로, 제3자가 해당 음파를 수신하여 처리할 수 있다. 이러한 제3자 처리를 방지하기 위해 다양한 방법이 연구되고 있다. Recently, a communication method using sound waves has been used in various fields. Since sound waves propagate in space, third parties can receive and process the sound waves. Various methods have been studied to prevent such third party processing.

관련 선행기술로 한국 등록특허공보 제10-1645175호(발명의 명칭: 음파 통신 시스템, 출원인: 나노소프트)가 있다. 해당 선행기술에는 음파수신기에서 출력된 음파신호를 음파수신기가 수신 받아 수신된 음파신호를 분석하는 음파 통신시스템이 개시된다.Related prior art is Korean Patent Publication No. 10-1645175 (name of the invention: sound wave communication system, Applicant: Nanosoft). The prior art discloses a sound wave communication system for receiving a sound wave signal output from a sound wave receiver and analyzing the received sound wave signal.

일 측에 따른 서비스 서버의 동작 방법은 단말에게 보안키를 전송하고, 다른 단말로부터 서비스 타입 정보를 포함하는 심볼 요청 데이터와 페이로드 데이터를 수신하는 단계; 상기 서비스 타입 정보를 기초로 결정된 사이즈에 따라 상기 다른 단말에 대응되는 심볼을 생성하는 단계; 상기 다른 단말에 대해, 상기 페이로드 데이터와 상기 생성된 심볼이 맵핑된 맵핑 정보를 생성하는 단계; 상기 생성된 심볼을 기초로 상기 다른 단말의 음파 출력을 위한 음파 데이터를 생성하는 단계; 상기 생성된 음파 데이터를 상기 다른 단말로 전송하는 단계; 상기 단말로부터, 상기 보안키와 음파를 기초로 생성된 음파 인식 결과-상기 음파는 상기 다른 단말이 상기 서비스 서버로부터 수신한 음파 데이터를 기초로 출력한 것임- 및 페이로드 요청 데이터를 수신하는 단계; 상기 음파 인식 결과와 상기 생성된 심볼이 매칭되는지 확인하는 단계; 및 상기 매칭되는 경우, 상기 맵핑 정보를 기초로 상기 페이로드 데이터를 상기 단말로 전송하는 단계를 포함한다.A method of operating a service server according to one side includes transmitting a security key to a terminal and receiving symbol request data and payload data including service type information from another terminal; Generating a symbol corresponding to the other terminal according to the size determined based on the service type information; Generating mapping information to which the payload data and the generated symbol are mapped, for the other terminal; Generating sound wave data for sound wave output of the other terminal based on the generated symbol; Transmitting the generated sound wave data to the other terminal; Receiving sound wave recognition results generated based on the security key and sound waves from the terminal, wherein the sound waves are output based on sound wave data received from the service terminal by another terminal; and receiving payload request data; Checking whether the sound wave recognition result matches the generated symbol; And if it matches, transmitting the payload data to the terminal based on the mapping information.

상기 생성된 음파 데이터는 상기 생성된 심볼 및 에러정정코드를 포함할 수 있다.The generated sound wave data may include the generated symbol and an error correction code.

상기 생성된 심볼과 상기 에러정정코드의 비트들의 배열은 상기 보안키를 기초로 변경될 수 있다.The arrangement of the generated symbol and the bits of the error correction code may be changed based on the security key.

상기 동작 방법은 주파수 간격 정보 및 시작 주파수 정보 중 적어도 하나를 기초로 상기 생성된 음파 데이터의 비트들 각각의 주파수 포스트를 설정하는 단계를 더 포함할 수 있다.The operation method may further include setting a frequency post of each of the bits of the generated sound wave data based on at least one of frequency interval information and start frequency information.

상기 주파수 간격 정보 및 상기 시작 주파수 정보는 상기 서비스 타입 정보에 관련될 수 있다.The frequency interval information and the start frequency information may be related to the service type information.

상기 동작 방법은 상기 음파 데이터를 생성한 경우, 상기 생성된 음파 데이터의 비트들 각각의 주파수 포스트를 설정하는 단계; 상기 비트들 중 비트값 1의 주파수 포스트에 음파 톤을 생성하는 단계; 및 상기 생성된 음파 톤을 병합(aggregation)하여 멀티 톤 음파를 생성하고, 상기 멀티 톤 음파를 레코딩한 재생 파일을 생성하는 단계를 더 포함할 수 있다.The operation method may further include setting a frequency post of each bit of the generated sound wave data when the sound wave data is generated; Generating an acoustic tone in a frequency post of bit value 1 of the bits; And generating the multi-tone sound waves by aggregating the generated sound tones, and generating a reproduction file of recording the multi-tone sound waves.

상기 동작 방법은 상기 심볼의 생성 시점으로부터 미리 정해진 시간 이내에 상기 음파 인식 결과를 수신하였는지 여부를 확인함으로써 상기 음파 인식 결과의 유효성을 검증하는 단계를 더 포함할 수 있다. The operation method may further include verifying the validity of the sound wave recognition result by checking whether the sound wave recognition result is received within a predetermined time from the time of generation of the symbol.

상기 동작 방법은 상기 다른 단말로부터 상기 단말이 상기 페이로드 데이터를 수신했는지 여부에 대한 확인 요청 데이터를 수신하는 단계; 및 상기 단말의 상기 페이로드 데이터의 수신 완료 여부에 대한 응답 데이터를 상기 다른 단말로 전송하는 단계를 더 포함할 수 있다.The operation method may further include receiving confirmation request data regarding whether the terminal has received the payload data from the other terminal; And transmitting, to the other terminal, response data about whether the terminal has received the payload data.

상기 동작 방법은 상기 음파 인식 결과 및 상기 페이로드 요청 데이터를 수신하는 단계에서 상기 서비스 서버가 상기 단말로부터 상기 단말의 페이로드 데이터를 더 수신하는 경우, 상기 맵핑 정보에 상기 단말의 페이로드 데이터를 맵핑하여 추가 맵핑 정보를 생성하는 단계; 및 상기 다른 단말로부터 상기 단말의 페이로드 데이터에 대한 요청 데이터를 수신하는 경우, 상기 추가 맵핑 정보를 기초로 상기 단말의 페이로드 데이터를 상기 다른 단말로 전송하는 단계를 더 포함할 수 있다.The operation method may further include mapping payload data of the terminal to the mapping information when the service server further receives payload data of the terminal from the terminal in the step of receiving the sound wave recognition result and the payload request data. Generating additional mapping information; And when receiving request data for payload data of the terminal from the other terminal, transmitting payload data of the terminal to the other terminal based on the additional mapping information.

상기 페이로드 데이터는 URL 정보, 텍스트, 정적 이미지, 및 동적 이미지 중 적어도 하나를 포함할 수 있다.The payload data may include at least one of URL information, text, static images, and dynamic images.

일 측에 따른 서비스 서버는 통신 인터페이스; 및 상기 통신 인터페이스와 커플링되는 컨트롤러를 포함하고, 상기 컨트롤러는 상기 통신 인터페이스를 통해 단말에게 보안키를 전송하고 다른 단말로부터 서비스 타입 정보를 포함하는 심볼 요청 데이터와 페이로드 데이터를 수신하며, 상기 서비스 타입 정보를 기초로 결정된 사이즈에 따라 상기 다른 단말에 대응되는 심볼을 생성하고, 상기 다른 단말에 대해 상기 페이로드 데이터와 상기 생성된 심볼이 맵핑된 맵핑 정보를 생성하고, 상기 생성된 심볼을 기초로 상기 다른 단말의 음파 출력을 위한 음파 데이터를 생성하며, 상기 통신 인터페이스를 통해 상기 생성된 음파 데이터를 상기 다른 단말로 전송하고, 상기 통신 인터페이스를 통해 상기 단말로부터 상기 보안키와 음파를 기초로 생성된 음파 인식 결과-상기 음파는 상기 다른 단말이 상기 서비스 서버로부터 수신한 데이터를 기초로 출력한 것임- 및 페이로드 요청 데이터를 수신하고, 상기 음파 인식 결과와 상기 생성된 심볼이 매칭되는지 확인하고, 상기 매칭되는 경우, 상기 맵핑 정보를 기초로 상기 페이로드 데이터를 상기 통신 인터페이스를 통해 상기 단말로 전송한다.Service server according to one side communication interface; And a controller coupled to the communication interface, wherein the controller transmits a security key to a terminal through the communication interface and receives symbol request data and payload data including service type information from another terminal, and the service. Generates a symbol corresponding to the other terminal according to the size determined based on the type information, generates mapping information in which the payload data and the generated symbol is mapped to the other terminal, based on the generated symbol Generates sound wave data for sound wave output of the other terminal, transmits the generated sound wave data to the other terminal through the communication interface, and is generated based on the security key and sound wave from the terminal through the communication interface Sound wave recognition result-The sound wave is the other terminal Outputs data based on data received from a service server; and receives payload request data, checks whether the sound wave recognition result and the generated symbol match, and if so, the pay based on the mapping information. The load data is transmitted to the terminal through the communication interface.

상기 생성된 음파 데이터는 상기 생성된 심볼 및 에러정정코드를 포함할 수 있다.The generated sound wave data may include the generated symbol and an error correction code.

상기 생성된 심볼과 상기 에러정정코드의 비트들의 배열은 상기 보안키를 기초로 변경될 수 있다.The arrangement of the generated symbol and the bits of the error correction code may be changed based on the security key.

상기 컨트롤러는 주파수 간격 정보 및 시작 주파수 정보 중 적어도 하나를 기초로 상기 생성된 음파 데이터의 비트들 각각의 주파수 포스트를 설정할 수 있다.The controller may set a frequency post of each of the bits of the generated sound wave data based on at least one of frequency interval information and start frequency information.

상기 주파수 간격 정보 및 상기 시작 주파수 정보는 상기 서비스 타입 정보에 관련될 수 있다.The frequency interval information and the start frequency information may be related to the service type information.

상기 컨트롤러는 상기 음파 데이터를 생성한 경우, 상기 생성된 음파 데이터의 비트들 각각의 주파수 포스트를 설정하고, 상기 비트들 중 비트값 1의 주파수 포스트에 음파 톤을 생성하며, 상기 생성된 음파 톤을 병합(aggregation)하여 멀티 톤 음파를 생성하고, 상기 멀티 톤 음파를 레코딩한 재생 파일을 생성하고, 상기 재생 파일을 상기 통신 인터페이스를 통해 상기 다른 단말로 전송할 수 있다.When the controller generates the sound wave data, the controller sets a frequency post of each bit of the generated sound wave data, generates a sound wave tone in a frequency post of bit value 1 of the bits, and generates the generated sound wave tone. Aggregation may generate multi-tone sound waves, generate a reproduction file of recording the multi-tone sound waves, and transmit the reproduction file to the other terminal through the communication interface.

상기 컨트롤러는 상기 심볼의 생성 시점으로부터 미리 정해진 시간 이내에 상기 음파 인식 결과를 수신하였는지 여부를 확인함으로써 상기 음파 인식 결과의 유효성을 검증할 수 있다.The controller may verify the validity of the sound wave recognition result by checking whether the sound wave recognition result is received within a predetermined time from the time of generation of the symbol.

상기 컨트롤러는 상기 통신 인터페이스를 통해 상기 다른 단말로부터 상기 단말이 상기 페이로드 데이터를 수신했는지 여부에 대한 확인 요청 데이터를 수신하고 상기 단말의 상기 페이로드 데이터의 수신 완료 여부에 대한 응답 데이터를 상기 다른 단말로 전송할 수 있다.The controller receives confirmation request data on whether the terminal has received the payload data from the other terminal through the communication interface, and receives response data on whether the terminal has received the payload data. Can be sent to.

상기 컨트롤러는 상기 서비스 서버가 상기 단말로부터 상기 단말의 페이로드 데이터를 더 수신하는 경우, 상기 맵핑 정보에 상기 단말의 페이로드 데이터를 맵핑하여 추가 맵핑 정보를 생성하고, 상기 다른 단말로부터 상기 단말의 페이로드 데이터에 대한 요청 데이터를 수신하는 경우, 상기 추가 맵핑 정보를 기초로 상기 단말의 페이로드 데이터를 상기 통신 인터페이스를 통해 상기 다른 단말로 전송할 수 있다.When the service server further receives payload data of the terminal from the terminal, the controller maps the payload data of the terminal to the mapping information to generate additional mapping information, and the pay of the terminal from the other terminal. When receiving request data for load data, payload data of the terminal may be transmitted to the other terminal through the communication interface based on the additional mapping information.

상기 페이로드 데이터는 URL 정보, 텍스트, 정적 이미지, 및 동적 이미지 중 적어도 하나를 포함할 수 있다.The payload data may include at least one of URL information, text, static images, and dynamic images.

기존의 음파 통신은 음파 주파수가 한정적이어서 전송 속도가 빠르지 않을 수 있고, 이미지, 동영상 또는 텍스트 정보 등 많은 량의 데이터를 음파로 전송하기가 어렵다. 또한, 제3자가 음파를 녹음하여 분석할 수 있으므로, 기존의 음파 통신은 보안에 취약하다. 또한, 어플리케이션이 다양하게 되면 음파 통신에 간섭이 생길 수도 있다.Conventional sound wave communication may not be fast because the sound frequency is limited, and it is difficult to transmit a large amount of data, such as image, video or text information to the sound wave. In addition, since a third party can record and analyze sound waves, existing sound wave communications are vulnerable to security. In addition, the variety of applications may interfere with sound wave communication.

실시예는 음파통신 플랫폼을 이용하여 많은 양의 데이터를 빠른 속도로 사용자에게 보낼 수 있는 서비스를 제공할 수 있다. 또한 보안성이 향상된 음파 통신을 제공하여 다양한 어플리케이션에서 사용될 수 있도록 한다. 또한 다양한 어플리케이션에서 간섭이 최소화될 수 있다.The embodiment can provide a service that can send a large amount of data to a user at a high speed using a sound wave communication platform. It also provides secure sound wave communication for use in a variety of applications. In addition, interference can be minimized in various applications.

도 1은 일 실시예에 따른 음파 통신 플랫폼을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 음파 통신 플랫폼의 동작의 일례를 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 음파 데이터를 설명하기 위한 도면이다.
도 4a는 일 실시예에 따른 음파 데이터의 암호화를 설명하기 위한 도면이다.
도 4b는 일 실시예에 따른 멀티 톤 음파를 설명하기 위한 도면이다.
도 5 및 도 6은 일 실시예에 따른 음파 통신 플랫폼의 동작의 다른 일례를 설명하기 위한 도면이다.
도 7 내지 도 8은 일 실시예에 따른 음파 통신 플랫폼의 음파 데이터의 크기가 큰 경우를 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 음파 통신 플랫폼의 동작의 또 다른 일례를 설명하기 위한 도면이다.
도 10 내지 도 11은 일 실시예에 따른 음파 통신 플랫폼의 동작의 또 다른 일례를 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 음파 통신 플랫폼의 서비스 서버를 설명하기 위한 블록도이다.
1 is a diagram for describing a sound wave communication platform according to an exemplary embodiment.
2 is a flowchart illustrating an example of an operation of a sound wave communication platform according to an exemplary embodiment.
3 is a diagram for describing sound wave data, according to an exemplary embodiment.
4A is a diagram for describing encryption of sound wave data, according to an exemplary embodiment.
4B is a diagram for describing a multi-tone sound wave, according to an exemplary embodiment.
5 and 6 are views for explaining another example of the operation of the sound wave communication platform according to an embodiment.
7 to 8 are diagrams for describing a case where the size of the sound wave data of the sound wave communication platform according to an embodiment is large.
9 is a view for explaining another example of the operation of the sound wave communication platform according to an embodiment.
10 to 11 are diagrams for describing another example of the operation of the sound wave communication platform according to an exemplary embodiment.
12 is a block diagram illustrating a service server of a sound wave communication platform according to an exemplary embodiment.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings.

아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Various modifications may be made to the embodiments described below. The examples described below are not intended to be limited to the embodiments and should be understood to include all modifications, equivalents, and substitutes for them.

실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of examples. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprise" or "have" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described on the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not to be construed in ideal or excessively formal meanings unless expressly defined herein. Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components regardless of reference numerals will be given the same reference numerals and redundant description thereof will be omitted. In the following description of the embodiment, when it is determined that the detailed description of the related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.

<음파 통신 플랫폼>Sound Communication Platform

도 1은 일 실시예에 따른 음파 통신 플랫폼을 설명하기 위한 도면이다. 1 is a diagram for describing a sound wave communication platform according to an exemplary embodiment.

도 1을 참조하면, 음파 통신 플랫폼(100)은 서비스 서버(110)와 단말들(120 및 130)을 포함한다. 음파 통신 플랫폼(100)은 음파 통신 시스템으로 달리 표현될 수 있다.Referring to FIG. 1, the acoustic wave communication platform 100 includes a service server 110 and terminals 120 and 130. Acoustic wave communication platform 100 may be alternatively represented as a sonic communication system.

서비스 서버(110)는 단말(120)로부터 페이로드 데이터(예를 들어, 텍스트, 정적 이미지, 또는 동적 이미지)를 수신한 뒤 단말(120)의 음파 데이터를 생성하여 단말(120)로 전송할 수 있다. The service server 110 may receive payload data (eg, text, static images, or dynamic images) from the terminal 120, and then generate sound wave data of the terminal 120 and transmit the generated sound wave data to the terminal 120. .

단말(120)은 음파 데이터에 기반한 음파를 생성 및 출력할 수 있다. 일례로, 단말(120)은 음파 데이터를 기반으로 재생 파일(일례로, wav 파일)을 생성하고, 이를 재생할 수 있다. 또는, 단말(120)는 음파 데이터에 기반한 재생 파일을 서비스 서버(110)로부터 수신하여 재생할 수 있다. 단말(130)은 단말(120)의 음파를 인식한 음파 인식 결과를 서비스 서버(110)로 전송한다. The terminal 120 may generate and output sound waves based on sound wave data. For example, the terminal 120 may generate a reproduction file (eg, a wav file) based on sound wave data and reproduce the same. Alternatively, the terminal 120 may receive and play a playback file based on sound wave data from the service server 110. The terminal 130 transmits a sound wave recognition result of recognizing sound waves of the terminal 120 to the service server 110.

서비스 서버(110)는 음파 인식 결과를 기초로 단말(120)의 페이로드 데이터에 대한 이용 자격이 단말(130)에 있는지 확인할 수 있다. 여기서, 단말(130)에 단말(120)의 페이로드 데이터에 대한 이용 자격이 있는 경우, 서비스 서버(110)는 단말(120)의 페이로드 데이터를 단말(130)로 전송할 수 있다.The service server 110 may check whether the terminal 130 has a use qualification for payload data of the terminal 120 based on the sound wave recognition result. In this case, when the terminal 130 is entitled to use the payload data of the terminal 120, the service server 110 may transmit the payload data of the terminal 120 to the terminal 130.

기존의 음파 통신은 주파수 대역의 한정으로 인해 많은 량의 데이터를 보내기가 어렵고 보안에 취약할 수 있다. 일 실시예에 따른 음파 통신 플랫폼(100)은 후술할 심볼과 페이로드 데이터를 맵핑함으로써 많은 양의 데이터를 효율적으로 전송할 수 있다. 또한 음파 통신 플랫폼(100)이 보안을 관리하여 보안에 강하다. 이에 따라, 음파 통신 플랫폼(100)은 결제 서비스, 출결 서비스, 또는 출입 서비스에 적용되어 이들 서비스의 보안성을 향상시키거나 마케팅 서비스에 적용되어 쿠폰을 필요로 하는 사용자에게 쿠폰 이미지를 빠른 시간에 전송할 수 있다. 또한, 이러한 서비스가 아니더라도 음파 통신 플랫폼(100)은 특정 사용자가 보유한 데이터 또는 정보를 다른 사용자로 전송하는데 적용될 수 있다.Conventional sound wave communication is difficult to send a large amount of data due to the limited frequency band and may be vulnerable to security. The sound wave communication platform 100 according to an embodiment may efficiently transmit a large amount of data by mapping symbols and payload data, which will be described later. In addition, the sound wave communication platform 100 manages security and is strong in security. Accordingly, the sound wave communication platform 100 is applied to a payment service, an attendance service, or an entrance service to improve security of these services or to be applied to a marketing service to quickly transmit a coupon image to a user who needs a coupon. Can be. In addition, the sound wave communication platform 100 may be applied to transmit data or information owned by a specific user to another user even if the service is not provided.

이하, 도 2를 참조하면서, 음파 통신 플랫폼(100)의 동작의 일례에 대해 상세히 설명한다. Hereinafter, an example of the operation of the sound wave communication platform 100 will be described in detail with reference to FIG. 2.

<음파 통신 플랫폼-단방향 음파 기반의 단방향 정보 전송><Acoustic communication platform-unidirectional sound wave based unidirectional information transmission>

도 2는 일 실시예에 따른 음파 통신 플랫폼의 동작의 일례를 설명하기 위한 흐름도이다.2 is a flowchart illustrating an example of an operation of a sound wave communication platform according to an exemplary embodiment.

도 2를 참조하면, 서비스 서버(110)는 음파 통신 플랫폼(100)의 보안을 관리한다(210). 서비스 서버(110)의 보안 관리는 서비스 타입 정보에 따라 상이한 음파 프로토콜 및 음파 데이터를 암호화하는데 이용되는 보안키로 구분될 수 있다. 서비스 타입 정보에 따라 음파 프로토콜이 상이하여 음파 통신의 보안성이 더욱 향상될 수 있다. 아래 표 1은 서비스 타입 정보 별 음파 프로토콜의 일례를 보여준다.Referring to FIG. 2, the service server 110 manages the security of the sound wave communication platform 100 (210). Security management of the service server 110 may be classified into different sound wave protocols and security keys used to encrypt sound wave data according to service type information. Depending on the service type information, the sound wave protocol may be different, and thus the security of the sound wave communication may be further improved. Table 1 below shows an example of a sound wave protocol for each service type information.

심볼 사이즈Symbol size CRC 사이즈CRC size 음파 데이터의 사이즈Size of sound wave data 최소 주파수 간격Frequency spacing 시작 주파수Starting frequency 결제payment 26bits~40bits26bits ~ 40bits 8bits8bits 34bits~48bits34bits ~ 48bits 50Hz50 Hz 18kHz18 kHz 출결Attendance 12bits12bits 8bits8bits 20bits20bits 100Hz100 Hz 18.5kHz18.5 kHz 마케팅Marketing 12bits12bits 8bits8bits 20bits20bits 100Hz100 Hz 19kHz19 kHz 출입coming and going 26bits26bits 8bits8bits 34bits34bits 50Hz50 Hz 19.5kHz19.5 kHz

위의 표 1에서, "출결"은 단말(130)의 사용자의 특정 장소에 대한 출석 인증과 관련된 서비스를 나타내고, "마케팅"은 단말(130)의 사용자에게 마케팅을 하기 위한 서비스(일례로, 쿠폰 제공)를 나타내며, "출입"은 단말(130)의 사용자가 특정 장소로의 출입 인증과 관련된 서비스를 나타낸다.In Table 1 above, "attendance" indicates a service related to attendance authentication for a specific place of the user of the terminal 130, and "marketing" refers to a service for marketing to the user of the terminal 130 (for example, a coupon). "Progress" indicates a service related to the authentication of the user of the terminal 130 to the specific place.

구현에 따라, 서비스의 종류가 동일하여도 다양한 음파 프로토콜이 있을 수 있다. 결제 서비스의 경우를 일례로 설명하면, 결제 서비스는 다양할 수 있고, 결제 서비스에는 다양한 서비스 제공자(일례로, SSG 페이 서비스 제공자, 엘페이 서비스 제공자 등)가 존재할 수 있다. 이에 따라, 서비스 서버(110)는 다양한 결제 서비스 각각에 대응되는 음파 프로토콜을 관리하거나 서비스 제공자 별로 상이한 음파 프로토콜을 관리할 수 있다. 일례로, 결제 서비스 A에 해당하는 음파 프로토콜과 결제 서비스 B에 해당하는 음파 프로토콜은 상이할 수 있다. 아래 표 2는 서비스의 종류가 동일하여도 음파 프로토콜이 상이한 일례를 보여준다.Depending on the implementation, there may be various sound wave protocols even if the types of services are the same. As an example, the payment service may vary, and there may be various service providers (eg, an SSG pay service provider, an Elpay service provider, etc.) in the payment service. Accordingly, the service server 110 may manage a sound wave protocol corresponding to each of various payment services or manage a different sound wave protocol for each service provider. For example, the sound wave protocol corresponding to payment service A and the sound wave protocol corresponding to payment service B may be different. Table 2 below shows an example of different sound wave protocols even if the types of services are the same.

심볼 사이즈Symbol size CRC 사이즈CRC size 음파 데이터의 사이즈Size of sound wave data 최소 주파수 간격Frequency spacing 시작 주파수Starting frequency 결제 APayment A 26bits~40bits26bits ~ 40bits 8bits8bits 34bits~48bits34bits ~ 48bits 50Hz50 Hz 18kHz18 kHz 결제 BPayment B 26bits~40bits26bits ~ 40bits 8bits8bits 34bits~48bits34bits ~ 48bits 50Hz50 Hz 18.3kHz18.3 kHz ...... ...... ...... ...... ...... ...... 출결 AAttendance A 12bits12bits 8bits8bits 20bits20bits 100Hz100 Hz 18.5kHz18.5 kHz 출결 BAttendance B 12bits12bits 8bits8bits 20bits20bits 100Hz100 Hz 18.9kHz18.9 kHz ...... ...... ...... ...... ...... ...... 마케팅 AMarketing A 12bits12bits 8bits8bits 20bits20bits 100Hz100 Hz 19kHz19 kHz 마케팅 BMarketing B 12bits12bits 8bits8bits 20bits20bits 100Hz100 Hz 19.3kHz19.3 kHz ...... ...... ...... ...... ...... ...... 출입 AAccess A 26bits26bits 8bits8bits 34bits34bits 50Hz50 Hz 19.5kHz19.5 kHz 출입 BAccess B 26bits26bits 8bits8bits 34bits34bits 50Hz50 Hz 19.9kHz19.9 kHz ...... ...... ...... ...... ...... ......

서비스 서버(110)는 서비스 타입 정보에 맞는 음파 프로토콜에 따라 음파 데이터를 생성하고 주파수 포스트를 설정하는데, 이에 대한 자세한 설명은 후술한다.The service server 110 generates sound wave data and sets frequency posts according to a sound wave protocol suitable for service type information, which will be described later.

서비스 서버(110)는 보안키를 주기적으로 변경함으로써 보안을 강화할 수 있다. 일례로, 서비스 서버(110)는 보안키를 매일, 1주, 또는 2주마다 변경할 수 있다. 높은 보안이 요구되는 경우, 서비스 서버(110)는 보안키를 더 짧은 주기로 변경할 수 있다.The service server 110 may reinforce security by periodically changing the security key. In one example, the service server 110 may change the security key every day, one week, or every two weeks. If high security is required, the service server 110 may change the security key in a shorter period.

단말(130)은 보안키 요청 데이터를 서비스 서버(110)에 전송한다(211). 달리 표현하면, 단말(130)은 보안키를 서비스 서버(110)에 요청한다. 일례로, 단말(130)의 특정 어플리케이션이 실행되는 경우, 단말(130)은 보안키를 서비스 서버(110)에 요청할 수 있다. 여기서, 특정 어플리케이션은 단말(130)의 사용자가 제공받을 수 있는 서비스(예를 들어, 결제, 마케팅, 출결, 또는 출입)와 관련된 어플리케이션일 수 있다.The terminal 130 transmits the security key request data to the service server 110 (211). In other words, the terminal 130 requests the security key from the service server 110. For example, when a specific application of the terminal 130 is executed, the terminal 130 may request a security key from the service server 110. Here, the specific application may be an application related to a service (eg, payment, marketing, attendance, or access) that can be provided by the user of the terminal 130.

서비스 서버(110)는 보안키를 단말(130)로 전송한다(212). 즉, 단말(130)는 서비스 서버(110)로부터 보안키를 수신한다. 단말(130)은, 예를 들어, 보안키의 변경 주기에 따라 하루에 1번 보안키를 수신할 수 있다. 이는 실시예에 따른 예시적인 사항일 뿐이다.The service server 110 transmits the security key to the terminal 130 (212). That is, the terminal 130 receives a security key from the service server 110. For example, the terminal 130 may receive the security key once a day according to a change cycle of the security key. This is only an example according to the embodiment.

단말(130)은 서비스 서버(110)로부터 보안키를 수신하는 경우, 음파 수신 대기 상태로 진입한다(214). 일례로, 단말(130)은 서비스 서버(110)로부터 보안키를 수신하는 경우, 마이크를 활성화시킬 수 있다.When the terminal 130 receives the security key from the service server 110, the terminal 130 enters a sound wave reception waiting state (214). For example, when receiving the security key from the service server 110, the terminal 130 may activate the microphone.

단말(120)은 심볼 요청 데이터 및 페이로드 데이터 A를 서비스 서버(110)로 전송한다(213). 이 때, 심볼 요청 데이터는 서비스 타입 정보를 포함한다. 일례로, 음파 통신 플랫폼(110)이 결제 서비스와 관련되면, 서비스 타입 정보는 "결제"를 나타낼 수 있다. 음파 통신 플랫폼(110)이 출결 서비스와 관련되면, 서비스 타입 정보는 "출결"을 나타낼 수 있다. 또한, 음파 통신 플랫폼(110)이 마케팅 서비스와 관련되면, 서비스 타입 정보는 "마케팅"을 나타낼 수 있고, 음파 통신 플랫폼(110)이 출입관리 서비스와 관련되면, 서비스 타입 정보는 "출입"을 나타낼 수 있다. 구현에 따라, 서비스 타입 정보는 위 표 2를 통해 설명한 "결제 A", 또는 "출결 B" 등이 설정되어 서비스 서버(110)로 전송될 수 있다. The terminal 120 transmits the symbol request data and the payload data A to the service server 110 (213). At this time, the symbol request data includes service type information. In one example, if the acoustic communication platform 110 is associated with a payment service, the service type information may indicate “payment”. If the sound wave communication platform 110 is associated with an attendance service, the service type information may indicate "attend". In addition, when the sound wave communication platform 110 is associated with a marketing service, the service type information may indicate "marketing", and when the sound wave communication platform 110 is associated with the access management service, the service type information may indicate "entry and exit". Can be. According to the implementation, the service type information may be transmitted to the service server 110 by setting "payment A" or "exit B" described through Table 2 above.

페이로드 데이터 A는, 예를 들어, URL(Uniform Resource Locator) 정보, 파일, 텍스트, 정적 이미지, 및 동적 이미지 중 어느 하나 또는 이들의 조합을 포함할 수 있다. 또한, 페이로드 데이터 A는 파일, 정적 이미지 또는 동적 이미지의 저장 위치(예를 들어, URL)에 대한 정보를 포함할 수 있다. 출결 관리 서비스의 일례로, 특정 장소(일례로, 강의실) 내의 단말은 페이로드 데이터 A, 즉, 강의 출석 정보(일례로, A학교 B강의실 C교수님 D수업 및 D수업의 시간 정보)를 전송할 수 있다. 이 경우, 후술하겠지만, 학생 단말은 특정 장소의 단말이 출력한 음파를 인식한 음파 인식 결과와 사용자 정보를 서비스 서버로 전송한 후 서비스 서버로부터 출석 인증 정보를 수신할 수 있다. 마케팅 서비스의 일례로, 페이로드 데이터 A는 쿠폰, 쿠폰 다운이 가능한 URL 또는 이벤트 참여가 가능한 URL을 포함할 수 있다. 즉, 제공 단말(일례로, 음파 출력이 가능한 공공장소의 스피커, TV, 스마트폰 또는 PC)은 쿠폰 등을 서비스 서버로 전송할 수 있고, 사용자 단말은 제공 단말이 출력한 음파를 인식한 음파 인식 결과를 서비스 서버로 전송한 후 서비스 서버로부터 쿠폰 등을 수신할 수 있다. Payload data A may include, for example, any one or a combination of Uniform Resource Locator (URL) information, file, text, static image, and dynamic image. In addition, payload data A may include information about a storage location (eg, a URL) of a file, a static image, or a dynamic image. As an example of the attendance management service, a terminal in a specific place (eg, a lecture room) may transmit payload data A, that is, lecture attendance information (eg, time information of class D and class D in classroom A, class B). have. In this case, as will be described later, the student terminal may receive the attendance authentication information from the service server after transmitting the sound wave recognition result and the user information to recognize the sound wave output from the terminal of the specific place to the service server. As an example of the marketing service, the payload data A may include a coupon, a URL capable of downloading the coupon, or a URL capable of participating in an event. That is, the providing terminal (eg, a speaker, a TV, a smartphone, or a PC in a public place capable of outputting sound waves) may transmit a coupon to a service server, and the user terminal recognizes sound waves output from the providing terminal. After transmitting to the service server may receive a coupon or the like from the service server.

페이로드 데이터는 콘텐츠 데이터로 달리 표현될 수 있다.Payload data may be represented differently as content data.

서비스 서버(110)는 심볼 요청 데이터 내의 서비스 타입 정보에 맞는 음파 프로토콜에 따라 단말(120)에 대응되는 심볼 A를 생성한다(215). 일례로, 서비스 타입 정보가 "결제"를 나타내는 경우, 서비스 서버(110)는 위의 표 1의 "결제"에 해당하는 음파 프로토콜의 심볼 사이즈에 따라 26개의 비트들, 즉, 심볼 A를 생성할 수 있다. 다른 일례로, 서비스 타입 정보가 "출결"을 나타내는 경우, 서비스 서버(110)는 위의 표 1의 "출결"에 해당하는 음파 프로토콜의 심볼 사이즈에 따라 12개의 비트들에 해당하는 심볼 A를 생성할 수 있다. The service server 110 generates a symbol A corresponding to the terminal 120 according to the sound wave protocol corresponding to the service type information in the symbol request data (215). For example, if the service type information indicates "payment", the service server 110 may generate 26 bits, that is, symbol A according to the symbol size of the sound wave protocol corresponding to "payment" in Table 1 above. Can be. As another example, when the service type information indicates "attendance", the service server 110 generates a symbol A corresponding to twelve bits according to the symbol size of the sound wave protocol corresponding to "attendance" in Table 1 above. can do.

심볼 A는, 예를 들어, 단말(120)의 당해 음파 통신에 고유하게 부여되는 식별자를 나타낼 수 있다. 단말(120)의 음파 통신이 종료되면, 심볼 A의 유효 기간은 만료되는 것으로 볼 수 있다. The symbol A may represent, for example, an identifier uniquely assigned to the sound wave communication of the terminal 120. When the sound wave communication of the terminal 120 is terminated, the valid period of the symbol A may be considered to expire.

서비스 서버(110)는 단말(120)의 심볼 요청이 있을 때마다 다른 심볼을 생성할 수 있다. 달리 표현하면, 서비스 서버(110)는 단말(120)의 심볼 요청이 있을 때 마다 심볼 사이즈만큼의 비트들을 랜덤하게 결정할 수 있다.The service server 110 may generate another symbol whenever there is a symbol request of the terminal 120. In other words, the service server 110 may randomly determine as many bits as the symbol size whenever there is a symbol request from the terminal 120.

서비스 서버(110)는 단말(120)에 대해 심볼 A와 페이로드 데이터 A가 맵핑된 맵핑 정보를 생성한다(216). 서비스 서버(110)에는 단말(120)에 대한 맵핑 정보뿐 아니라 하나 이상의 다른 단말에 대한 맵핑 정보가 저장될 수 있다.The service server 110 generates mapping information in which symbol A and payload data A are mapped to the terminal 120 (216). The service server 110 may store mapping information for one or more other terminals as well as mapping information for the terminal 120.

서비스 서버(110)는 심볼 A를 기초로 음파 데이터를 생성한다(217). 일례로, 서비스 서버(110)는 서비스 타입 정보에 맞는 음파 프로토콜에 따라 심볼 A와 에러정정코드를 포함하는 음파 데이터를 생성할 수 있다. 음파 데이터의 포맷(300)의 일례가 도 3에 도시된다. 도 3에 도시된 예에서, 포맷(300)은 body 필드(321) 및 CRC 필드(322)를 포함할 수 있다. body 필드(321)에 심볼 A가 설정될 수 있고, CRC 필드(322)에 에러정정코드가 설정될 수 있다. 위에서 설명한 것과 같이, 서비스 타입 정보에 따라 심볼 사이즈가 다를 수 있으므로, body 필드(321)의 사이즈도 서비스 타입 정보에 따라 다를 수 있다. 구현에 따라, 포맷(300)은 시작 비트 필드(323)(사이즈=1) 및 종료 비트 필드(324)(사이즈=1)를 포함할 수 있다. The service server 110 generates sound wave data based on the symbol A (217). For example, the service server 110 may generate sound wave data including a symbol A and an error correction code according to a sound wave protocol suitable for service type information. An example of the format 300 of sound wave data is shown in FIG. In the example shown in FIG. 3, the format 300 may include a body field 321 and a CRC field 322. The symbol A may be set in the body field 321 and an error correction code may be set in the CRC field 322. As described above, since the symbol size may vary according to service type information, the size of the body field 321 may also vary according to service type information. Depending on the implementation, the format 300 may include a start bit field 323 (size = 1) and an end bit field 324 (size = 1).

실시예에 따라, 서비스 서버(110)는 보안키를 이용하여 음파 데이터를 암호화할 수 있다. 보다 구체적으로, 서비스 서버(110)는 보안키를 이용하여 body 필드(321)부터 CRC 필드(322) 내에 있는 비트들의 배열을 변경함으로써 음파 데이터를 암호화할 수 있다. 일례로, 도 4a에 도시된 예를 참조하면, 서비스 서버(110)는 보안키를 이용하여 bit 1, bit 2, bit 3, bit 4, CRC 1, CRC 2, CRC 3를 CRC 3, bit 4, bit 3, CRC 2, CRC 1, bit 1, bit 2로 변경 또는 셔플링할 수 있다. According to an embodiment, the service server 110 may encrypt sound wave data using a security key. More specifically, the service server 110 may encrypt sound wave data by changing the arrangement of bits in the body field 321 to the CRC field 322 using the security key. For example, referring to the example illustrated in FIG. 4A, the service server 110 may convert bit 1, bit 2, bit 3, bit 4, CRC 1, CRC 2, and CRC 3 into CRC 3 and bit 4 using a security key. , bit 3, CRC 2, CRC 1, bit 1, bit 2 can be changed or shuffled.

서비스 서버(110)는 시작 주파수 정보 및 최소 주파수 간격 정보 중 적어도 하나를 기초로 음파 데이터의 비트들 각각의 주파수 포스트를 설정할 수 있다. 보다 구체적으로, 서비스 서버(110)는 서비스 타입 정보에 맞는 음파 프로토콜 내의 시작 주파수 정보 및 최소 주파수 간격 정보 중 적어도 하나를 기초로 음파 데이터의 비트들 각각의 주파수 포스트를 설정할 수 있다. 이 때, 음파 데이터는 보안키로 암호화된 것일 수 있다. The service server 110 may set a frequency post of each of the bits of the sound wave data based on at least one of the start frequency information and the minimum frequency interval information. More specifically, the service server 110 may set a frequency post of each of the bits of the sound wave data based on at least one of start frequency information and minimum frequency interval information in the sound wave protocol that matches the service type information. In this case, the sound wave data may be encrypted with a security key.

일례로, 서비스 타입 정보가 "결제"인 경우, 서비스 서버(110)는 음파 데이터의 첫 번째 비트에 18kHz의 주파수 포스트(또는 시작 주파수)를 설정할 수 있고, 두 번째 비트의 경우 18kHz+50Hz에 해당하는 18.05kHz에 주파수 포스트를 설정할 수 있다. 마찬가지로, 서비스 서버(110)는 음파 데이터의 다른 비트들 각각의 주파수 포스트를 설정할 수 있다. 이 때, 주파수 포스트들 사이의 주파수 간격은 50Hz로 균일할 수 있다.For example, if the service type information is "payment", the service server 110 may set a frequency post (or start frequency) of 18 kHz in the first bit of the sound wave data, and corresponds to 18 kHz + 50 Hz in the second bit. You can set the frequency post to 18.05kHz. Similarly, service server 110 may set a frequency post for each of the other bits of sound wave data. At this time, the frequency interval between the frequency posts may be uniform at 50 Hz.

다른 일례로, 서비스 타입 정보가 "출결"인 경우, 서비스 서버(110)는 음파 데이터의 첫 번째 비트에 18.5kHz의 주파수 포스트(또는 시작 주파수)를 설정할 수 있고, 두 번째 비트의 경우 18.5kHz+100Hz에 해당하는 18.6kHz에 주파수 포스트를 설정할 수 있다. 마찬가지로, 서비스 서버(110)는 음파 데이터의 다른 비트들 각각의 주파수 포스트를 설정할 수 있다. 이 때, 주파수 포스트들 사이의 주파수 간격은 100Hz로 균일할 수 있다. As another example, if the service type information is "Attendance", the service server 110 may set a frequency post (or start frequency) of 18.5 kHz on the first bit of the sound wave data, and 18.5 kHz + for the second bit. You can set the frequency post at 18.6 kHz, which corresponds to 100 Hz. Similarly, service server 110 may set a frequency post for each of the other bits of sound wave data. At this time, the frequency interval between the frequency posts may be uniform at 100 Hz.

또 다른 일례로, 서비스 타입 정보가 "마케팅"인 경우, 서비스 서버(110)는 음파 데이터의 첫 번째 비트에 19kHz의 주파수 포스트(또는 시작 주파수)를 설정할 수 있고, 두 번째 비트의 경우 19kHz+100Hz에 해당하는 19.1kHz에 주파수 포스트를 설정할 수 있다. 마찬가지로, 서비스 서버(110)는 음파 데이터의 다른 비트들 각각의 주파수 포스트를 설정할 수 있다. 이 때, 주파수 포스트들 사이의 주파수 간격은 100Hz로 균일할 수 있다.As another example, when the service type information is "marketing", the service server 110 may set a frequency post (or start frequency) of 19 kHz in the first bit of the sound wave data, and 19 kHz + 100 Hz in the second bit. You can set the frequency post at 19.1kHz. Similarly, service server 110 may set a frequency post for each of the other bits of sound wave data. At this time, the frequency interval between the frequency posts may be uniform at 100 Hz.

또 다른 일례로, 서비스 타입 정보가 "출입"인 경우, 서비스 서버(110)는 음파 데이터의 첫 번째 비트에 19.5kHz의 주파수 포스트(또는 시작 주파수)를 설정할 수 있고, 두 번째 비트의 경우 19.5kHz+50Hz에 해당하는 19.55kHz에 주파수 포스트를 설정할 수 있다. 마찬가지로, 서비스 서버(110)는 음파 데이터의 다른 비트들 각각의 주파수 포스트를 설정할 수 있다. 이 때, 주파수 포스트들 사이의 주파수 간격은 50Hz로 균일할 수 있다.As another example, when the service type information is "entry", the service server 110 may set a frequency post (or start frequency) of 19.5 kHz for the first bit of the sound wave data, and 19.5 kHz for the second bit. You can set the frequency post at 19.55 kHz, which is +50 Hz. Similarly, service server 110 may set a frequency post for each of the other bits of sound wave data. At this time, the frequency interval between the frequency posts may be uniform at 50 Hz.

구현에 따라, 서비스 서버(110)는 주파수 간격을 달리하여 음파 데이터의 비트들 각각의 주파수 포스트를 설정할 수 있다. 일례로, 서비스 서버(110)는 음파 데이터의 첫 번째 비트에 18kHz의 주파수 포스트(또는 시작 주파수)를 설정하고 두 번째 비트에는 18kHz+50Hz에 해당하는 18.05kHz의 주파수 포스트를 설정할 수 있으며, 음파 데이터의 세번째 비트에는 18kHz+50Hz+53Hz에 해당하는 18.13kHz의 주파수 포스트를 설정할 수 있고, 음파 데이터의 네번째 비트에는 18kHz+50Hz+53Hz+52Hz에 해당하는 18.65kHz의 주파수 포스트를 설정할 수 있다. 주파수 포스트들 간격이 서로 다를 수 있어, 보안이 보다 향상될 수 있다.According to an implementation, the service server 110 may set a frequency post of each of the bits of the sound wave data by varying the frequency interval. For example, the service server 110 may set a frequency post (or start frequency) of 18 kHz on the first bit of sound wave data, and set a frequency post of 18.05 kHz corresponding to 18 kHz + 50 Hz on the second bit. A third post of 18 kHz + 50 Hz + 53 Hz, a frequency of 18.13 kHz can be set, and the fourth bit of sound data 18 kHz + 50 Hz + 53 Hz + 52 Hz, a frequency post of 18.65 kHz can be set. The frequency posts intervals can be different, so that security can be further improved.

도 2로 돌아와서, 서비스 서버(110)는 음파 데이터를 단말(120)로 전송한다(218). 이 때, 서비스 서버(110)는 설정된 주파수 포스트에 대한 정보를 단말(120)로 전송할 수 있다. 실시예에 따라, 서비스 서버(110)는 암호화된 음파 데이터를 단말(120)로 전송할 수 있다.2, the service server 110 transmits sound wave data to the terminal 120 (218). At this time, the service server 110 may transmit the information on the set frequency post to the terminal 120. According to an embodiment, the service server 110 may transmit the encrypted sound wave data to the terminal 120.

단말(120)은 음파 데이터를 기초로 음파를 생성하고 해당 음파를 출력한다(219). 이 때, 단말(120)는 서비스 서버(110)로부터 수신한 주파수 포스트에 대한 정보를 더 고려하여 음파를 생성할 수 있고, 해당 음파를 출력할 수 있다. 일례로, 단말(120)은 음파 데이터의 비트들 중 비트값 1을 갖는 비트의 주파수 포스트에 음파 톤을 발생시키고, 발생한 음파 톤을 병합하여 멀티 톤 음파를 생성할 수 있으며, 멀티 톤 음파를 출력할 수 있다. 해당 멀티 톤 음파의 일례가 도 4b에 도시된다. The terminal 120 generates sound waves based on the sound wave data and outputs corresponding sound waves (219). At this time, the terminal 120 may generate sound waves in consideration of the information on the frequency post received from the service server 110, and may output the corresponding sound waves. For example, the terminal 120 may generate a sound wave tone in a frequency post of a bit having a bit value 1 of the bits of the sound wave data, generate the multi tone sound wave by merging the generated sound wave tones, and output the multi tone sound wave. can do. An example of this multi-tone sound wave is shown in Fig. 4B.

단말(130)은 단말(120)이 출력한 음파를 인식하고(220), 음파 인식 결과를 서비스 서버(110)로 전송한다(221). 일례로, 단말(130)은 멀티 톤 음파를 수신한 경우, 각 음파 톤의 주파수를 식별할 수 있고, 식별된 주파수에는 1을 할당할 수 있다. 이로 인해, 단말(130)은 멀티 톤 음파에 대응되는 비트들을 결정할 수 있다. 그리고, 단말(130)은 단계(212)에서 수신한 보안키를 이용하여 해당 비트들의 배열을 변경할 수 있고, 배열이 변경된 비트들을 기반으로 body와 CRC를 추출할 수 있으며, CRC checksum이 맞는 경우, 배열이 변경된 비트들을 포함하는 음파 인식 결과를 서비스 서버(110)로 전송할 수 있다. 달리 표현하면, 단말(130)은 단말(120)이 출력한 음파를 수신 및 분석할 수 있고, 음파 분석 결과를 서비스 서버(110)로 전송할 수 있다. 만약, CRC checksum이 맞지 않으면, 단말(130)은 음파를 계속 수신 및 분석한다.The terminal 130 recognizes the sound wave output from the terminal 120 (220), and transmits the sound wave recognition result to the service server 110 (221). For example, when receiving the multi-tone sound wave, the terminal 130 may identify the frequency of each sound wave tone, and may assign 1 to the identified frequency. For this reason, the terminal 130 may determine the bits corresponding to the multi-tone sound wave. In addition, the terminal 130 may change the arrangement of the bits using the security key received in step 212, extract the body and the CRC based on the changed bits, and if the CRC checksum is correct, The sound wave recognition result including the changed bits may be transmitted to the service server 110. In other words, the terminal 130 may receive and analyze sound waves output from the terminal 120 and transmit the sound wave analysis results to the service server 110. If the CRC checksum does not match, the terminal 130 continues to receive and analyze sound waves.

단말(130)은 음파 인식 결과를 서비스 서버(110)로 전송하면서 페이로드 데이터 A를 서비스 서버(110)에 요청한다. The terminal 130 requests the payload data A from the service server 110 while transmitting the sound wave recognition result to the service server 110.

서비스 서버(110)는 단말(130)의 음파 인식 결과의 유효성을 확인한다(222). 일례로, 서비스 서버(110)는 심볼 A의 생성 시점 및 음파 인식 결과의 수신 시점을 기초로 음파 인식 결과의 유효성을 확인할 수 있다. 보다 구체적으로, 서비스 서버(110)는 심볼 A의 생성 시점부터 음파 인식 결과의 수신 시점까지의 경과 시간이 미리 정해진 시간(일례로, 5분) 이내인지 여부를 확인함으로써 음파 인식 결과가 유효한지 여부를 결정할 수 있다. 여기서, 해당 경과 시간이 미리 정해진 시간을 초과하면, 서비스 서버는 단말(130)의 음파 인식 결과가 유효하지 않다고 결정할 수 있고, 페이로드 데이터 A에 대한 단말(130)의 요청을 거절할 수 있다. The service server 110 checks the validity of the sound wave recognition result of the terminal 130 (222). For example, the service server 110 may check the validity of the sound wave recognition result based on the generation time of the symbol A and the reception time of the sound wave recognition result. More specifically, the service server 110 checks whether the elapsed time from the time of generating the symbol A to the time of receiving the sound wave recognition result is within a predetermined time (for example, 5 minutes) to determine whether the sound wave recognition result is valid. Can be determined. Here, if the elapsed time exceeds the predetermined time, the service server may determine that the sound wave recognition result of the terminal 130 is invalid, and may reject the request of the terminal 130 for the payload data A.

서비스 서버(110)는 단말(130)의 음파 인식 결과가 유효하면, 음파 인식 결과와 심볼 A가 매칭되는지 확인하고, 음파 인식 결과와 심볼 A가 매칭되면, 심볼 A와 맵핑되어 있는 페이로드 데이터 A를 단말(130)로 전송한다(223). 달리 표현하면, 서비스 서버(110)는 단말(130)의 음파 인식 결과가 유효한 경우, 음파 인식 결과와 매칭되는 심볼을 검색할 수 있고, 심볼 A가 검색되면, 심볼 A와 맵핑되어 있는 페이로드 데이터 A를 단말(130)로 전송할 수 있다. If the sound wave recognition result of the terminal 130 is valid, the service server 110 checks whether the sound wave recognition result and the symbol A match, and if the sound wave recognition result and the symbol A match, the payload data A mapped with the symbol A To transmit to the terminal 130 (223). In other words, if the sound wave recognition result of the terminal 130 is valid, the service server 110 may search for a symbol matching the sound wave recognition result, and if the symbol A is found, payload data mapped to the symbol A A may be transmitted to the terminal 130.

단말(130)은 페이로드 데이터 A를 서비스 서버(110)로부터 수신하면, 페이로드 데이터 A를 수신했음을 나타내는 응답 데이터를 서비스 서버(110)로 전송한다(224). When the terminal 130 receives the payload data A from the service server 110, the terminal 130 transmits response data indicating that the payload data A has been received to the service server 110 (224).

단말(120)은 단계(219)에서 음파를 출력한 경우, 서비스 서버(110)에 단말(130)이 페이로드 데이터 A를 수신했는지 여부를 일정 시간 간격마다 폴링(polling) 또는 쿼리할 수 있다. 서비스 서버(110)는 단말(130)로부터 응답 데이터를 수신하면, 단말(130)이 페이로드 데이터 A를 수신했음을 나타내는 응답 데이터를 단말(120)로 전송할 수 있다. When the terminal 120 outputs the sound wave in step 219, the terminal 120 may poll or query the service server 110 whether the terminal 130 receives the payload data A at a predetermined time interval. When the service server 110 receives the response data from the terminal 130, the service server 110 may transmit response data indicating that the terminal 130 has received the payload data A to the terminal 120.

도 5 및 도 6은 일 실시예에 따른 음파 통신 플랫폼의 동작의 다른 일례를 설명하기 위한 도면이다. 5 and 6 are views for explaining another example of the operation of the sound wave communication platform according to an embodiment.

도 5를 참조하면, 서비스 서버(110)는 음파 데이터를 생성하고 주파수 포스트를 설정한 경우, 음파 톤이 발생할 위치를 결정하고, 결정된 음파 톤 위치를 단말(120)로 전송할 수 있다. 해당 실시예의 경우, 서비스 서버(110)는 음파 데이터 및 설정된 주파수 포스트에 대한 정보를 단말(120)로 전송하지 않을 수 있다. 일례로, 서비스 서버(110)는 주파수 간격 정보 100Hz, 시작 주파수 정보 18.5kHz, 및 음파 데이터 "10...1"를 기초로 해당 음파 데이터의 비트들 각각의 주파수 포스트를 설정할 수 있고, 설정된 주파수 포스트들 18.5kHz, 18.6kHz, ... , 21.5kHz 중에서 비트값 "1"을 갖는 비트의 주파수 포스트를 식별할 수 있다. 서비스 서버(110)는 식별된 주파수 포스트를 음파 톤 발생 위치로 결정할 수 있고, 결정된 음파 톤 발생 위치를 단말(120)로 전송할 수 있다. 단말(120)은 결정된 음파 톤 위치에 음파 톤을 발생시켜 멀티 톤 음파를 생성하고, 해당 멀티 톤 음파를 출력할 수 있다. Referring to FIG. 5, when generating sound wave data and setting a frequency post, the service server 110 may determine a location at which a sound wave tone is to be generated, and transmit the determined sound wave tone location to the terminal 120. In this embodiment, the service server 110 may not transmit sound wave data and information on the set frequency post to the terminal 120. For example, the service server 110 may set a frequency post of each of the bits of the sound wave data based on the frequency interval information 100Hz, the start frequency information 18.5kHz, and the sound wave data “10 ... 1”, and set the frequency. It is possible to identify the frequency post of the bit having the bit value "1" among the posts 18.5 kHz, 18.6 kHz, ..., 21.5 kHz. The service server 110 may determine the identified frequency post as the sound wave tone generation position, and transmit the determined sound wave tone generation position to the terminal 120. The terminal 120 may generate a multi-tone sound wave by generating a sound wave tone at the determined sound wave tone position, and output the corresponding multi-tone sound wave.

도 6을 통해 설명할 예는 서비스 서버(110)가 재생 파일을 생성하여 단말(120)로 전송하는 경우이다. 재생 파일은 음파 파일로 달리 표현될 수 있다.An example to be described with reference to FIG. 6 is a case where the service server 110 generates a playback file and transmits it to the terminal 120. The playback file may be represented differently as a sound wave file.

도 6을 참조하면, 서비스 서버(110)는 서비스 타입 정보에 해당하는 주파수 간격 정보 및 시작 주파수 정보를 기초로 음파 데이터의 비트들 각각의 주파수 포스트(611 내지 614)를 결정할 수 있다(610). Referring to FIG. 6, the service server 110 may determine frequency posts 611 to 614 of bits of sound wave data based on frequency interval information and start frequency information corresponding to service type information (610).

서비스 서버(110)는 음파 데이터의 비트들 중 제1 비트의 주파수 포스트에 음파 톤을 생성할 수 있다(620).The service server 110 may generate a sound wave tone in the frequency post of the first bit of the bits of the sound wave data (620).

서비스 서버(110)는 생성된 음파 톤을 병합하여 멀티 톤 음파를 생성할 수 있다(630).The service server 110 may generate the multi-tone sound wave by merging the generated sound wave tones (630).

서비스 서버(110)는 멀티 톤 음파를 레코딩한 재생 파일을 생성할 수 있다(640). 재생 파일은, 예를 들어, 확장자가 wav인 파일일 수 있다. 재생 파일은 이에 제한되지 않는다.The service server 110 may generate a playback file recording multi-tone sound waves (640). The playback file may be, for example, a file with a wav extension. The playback file is not limited to this.

서비스 서버(110)는 재생 파일을 단말(120)로 전송할 수 있다. 단말(120)은 재생 파일을 플레이함으로써 단계(620)에서의 파형과 같은 멀티 톤 음파를 출력할 수 있다.The service server 110 may transmit the playback file to the terminal 120. Terminal 120 may output a multi-tone sound wave, such as the waveform in step 620 by playing a playback file.

실시예에 따라, 서비스 서버(110)는 재생 파일을 단말(120)로 전송하는 대신에 재생 파일의 위치 정보를 단말(120)로 전송할 수 있다. 재생 파일의 위치 정보는, 예를 들어, URL을 포함할 수 있다. 단말(120)는 재생 파일의 위치 정보를 수신하면, 해당 위치 정보에 액세스하여 재생 파일을 플레이할 수 있다. According to an embodiment, the service server 110 may transmit the location information of the playback file to the terminal 120 instead of transmitting the playback file to the terminal 120. The location information of the playback file may include, for example, a URL. When the terminal 120 receives the location information of the playback file, the terminal 120 may access the location information and play the playback file.

다른 실시예에 따라, 서비스 서버(110)는 단말(120)이 재생 파일을 생성하는데 필요한 정보를 단말(120)로 전송할 수 있다. 이러한 정보에는 전술한 음파 데이터, 주파수 간격 정보, 시작 주파수 정보, 샘플링 레이트, 및 볼륨 정보 중 어느 하나 또는 이들의 조합이 포함될 수 있다. 단말(120)은 해당 정보를 이용하여 재생 파일을 생성할 수 있고, 플레이할 수 있다.According to another exemplary embodiment, the service server 110 may transmit information necessary for the terminal 120 to generate a playback file to the terminal 120. Such information may include any one or a combination of the above-described sound wave data, frequency interval information, start frequency information, sampling rate, and volume information. The terminal 120 may generate and play a play file using the corresponding information.

<음파 데이터의 크기가 큰 경우><When the size of sound wave data is large>

도 7 내지 도 8은 일 실시예에 따른 음파 통신 플랫폼의 음파 데이터의 크기 큰 경우를 설명하기 위한 도면이다.7 to 8 are diagrams for explaining a case where the size of the sound wave data of the sound wave communication platform according to an embodiment is large.

실시예에 따라, 서비스 서버(110)는 표 1을 통해 설명한 심볼 사이즈를 초과하는 심볼을 생성할 수 있다. 이는 음파 데이터가 특정 사이즈(예를 들어, 64 비트)를 초과하는 결과를 낳게 된다. 음파 데이터의 전체 사이즈가 특정 사이즈를 초과하면, 하나의 멀티 톤 음파로 해당 음파 데이터를 단말(130)로 전송하기 어려울 수 있다. 이 경우, 서비스 서버(110)는 음파 데이터 세트를 생성하여 단말(120)로 전송할 수 있다. 이하, 서비스 서버(110)가 음파 데이터 세트를 어떻게 생성하는지에 대해 설명한다. According to an embodiment, the service server 110 may generate a symbol that exceeds the symbol size described through Table 1. This results in sonic data exceeding a certain size (eg, 64 bits). When the total size of the sound wave data exceeds a specific size, it may be difficult to transmit the sound wave data to the terminal 130 in one multi-tone sound wave. In this case, the service server 110 may generate a sound wave data set and transmit it to the terminal 120. The following describes how the service server 110 generates a sound wave data set.

일 실시예에 있어서, 서비스 서버(110)가 예를 들어 96 비트 심볼을 생성한 경우, body 필드의 크기 24 비트를 고려하여 96 비트 심볼을 4개의 24 비트 심볼로 분할할 수 있다. 즉, 4개의 분할 심볼들이 생성될 수 있다. In an embodiment, when the service server 110 generates a 96-bit symbol, for example, the 96-bit symbol may be divided into four 24-bit symbols in consideration of the size 24 bits of the body field. That is, four divided symbols may be generated.

서비스 서버(110)는 아래 표 3의 각 필드에 값을 설정함으로써, 도 7에 도시된 음파 데이터들(710 내지 760), 즉, 음파 데이터 세트를 생성할 수 있다. The service server 110 may generate sound wave data 710 to 760, that is, a sound wave data set shown in FIG. 7 by setting values in the respective fields of Table 3 below.

필드field 설명Explanation TypeType 필드 크기 2비트.
음파 데이터의 종류를 나타냄.
00: 시작 음파 데이터
01: 분할 심볼이 포함된 음파 데이터
10: 마지막 음파 데이터
Field size 2 bits.
Indicates the type of sound wave data.
00: start sound wave data
01: Sound wave data with division symbol
10: Last sound wave data
sequencesequence 필드 크기 4비트.
type이 00 또는 10이면, type이 01로 설정되는 음파 데이터의 개수를 나타냄.
type이 01이면, type이 01로 설정된 음파 데이터들 중에서의 전송 순서를 나타냄. 첫 번째로 전송되면, 0000으로 설정됨.
Field size 4 bits.
If type is 00 or 10, this indicates the number of sound wave data whose type is set to 01.
If type is 01, it indicates the transmission order among sound wave data whose type is set to 01. If sent first, set to 0000.
CRCCRC 필드 크기 8비트.
분할 심볼의 에러정정코드가 설정됨.
Field size 8 bits.
Error correction code of the partition symbol is set.
BodyBody 필드 크기 24비트.
분할 심볼이 설정됨.
Field size 24 bits.
Split symbol is set.
BlankBlank 필드 크기 32비트.
type이00 또는 10이면, 32개 0이 설정됨.
Field size 32 bits.
If type is 00 or 10, 32 zeros are set.

아래 표 4는 음파 데이터들(710 내지 760)의 일례를 보여준다.Table 4 below shows an example of sound wave data 710 to 760.

음파 데이터(710): type=00, sequence=0100, blank=32개 0
음파 데이터(720): type=01, sequence=0000, CRC=8비트, body=분할 심볼 1
음파 데이터(730): type=01, sequence=0001, CRC=8비트, body=분할 심볼 2
음파 데이터(740): type=01, sequence=0010, CRC=8비트, body=분할 심볼 3
음파 데이터(750): type=01, sequence=0011, CRC=8비트, body=분할 심볼 4
음파 데이터(760): type=10, sequence=0100, blank=32개 0
Sound wave data (710): type = 00, sequence = 0100, blank = 32 0
Sound wave data 720: type = 01, sequence = 0000, CRC = 8 bits, body = split symbol 1
Sound wave data 730: type = 01, sequence = 0001, CRC = 8 bits, body = split symbol 2
Sound wave data 740: type = 01, sequence = 0010, CRC = 8 bits, body = split symbol 3
Sound wave data 750: type = 01, sequence = 0011, CRC = 8 bits, body = split symbol 4
Sound wave data (760): type = 10, sequence = 0100, blank = 32 0

음파 데이터(720)의 경우, type=01인 음파 데이터들(720 내지 750) 중 첫 번째로 단말(120)에게 전송되므로, sequence 필드에는 0000이 설정되어 있다. 음파 데이터(730)의 경우, type=01인 음파 데이터들(720 내지 750) 중 두 번째로 단말(120)에게 전송되므로, sequence 필드에는 0001이 설정되어 있다. 음파 데이터(740)의 경우, type=01인 음파 데이터들(720 내지 750) 중 세 번째로 단말(120)에게 전송되므로, sequence 필드에는 0010이 설정되어 있고, 음파 데이터(750)의 경우, type=01인 음파 데이터들(720 내지 750) 중 네 번째로 단말(120)에게 전송되므로, sequence 필드에는 0011이 설정되어 있다.In the case of the sound wave data 720, since the sound wave data 720 to 750 of type = 01 is first transmitted to the terminal 120, 0000 is set in the sequence field. In the case of the sound wave data 730, since the second sound wave data 720 to 750 of type = 01 is transmitted to the terminal 120, 0001 is set in the sequence field. In the case of the sound wave data 740, since the third is transmitted to the terminal 120 among the sound wave data 720 to 750 having type = 01, 0010 is set in the sequence field, and in the case of the sound wave data 750, type Since the sound wave data 720 to 750 of = 01 is transmitted to the terminal 120 for the fourth time, 0011 is set in the sequence field.

type이 01로 설정되어 있는 음파 데이터는 4개이므로, 음파 데이터(710) 및 음파 데이터(760) 각각의 sequence 필드에는 0100이 설정되어 있다.Since there are four sound wave data whose type is set to 01, 0100 is set in the sequence fields of the sound wave data 710 and the sound wave data 760, respectively.

구현에 따라, 음파 데이터들(710 내지 760) 각각에는 시작 비트 필드(Start) 및 종료 비트 필드(End)가 더 포함될 수 있다. 이 경우, 시작 비트 필드(Start) 및 종료 비트 필드(End) 각각은 1로 bias될 수 있다. According to an implementation, each of the sound wave data 710 to 760 may further include a start bit field Start and an end bit field End. In this case, each of the start bit field Start and the end bit field End may be biased to one.

다른 실시예에 있어서, 서비스 서버(110)는 아래 표 5의 각 필드에 값을 설정함으로써, 도 8에 도시된 음파 데이터들(810 내지 840), 즉, 음파 데이터 세트를 생성할 수 있다. In another exemplary embodiment, the service server 110 may generate sound wave data 810 to 840 illustrated in FIG. 8, that is, a sound wave data set by setting a value in each field of Table 5 below.

필드field 설명Explanation typetype 필드 크기 2비트.
음파 데이터의 종류를 나타냄.
00: 시작 음파 데이터
01: 중간 음파 데이터
10: 마지막 음파 데이터
Field size 2 bits.
Indicates the type of sound wave data.
00: start sound wave data
01: middle sound wave data
10: Last sound wave data
sequencesequence 필드 크기 4비트.
음파 데이터의 전송 순서를 나타냄. 첫 번째로 전송되면, 0000이 설정됨.
Field size 4 bits.
Indicates the transmission order of sound wave data. On the first transmission, 0000 is set.
CRCCRC 필드 크기 8비트.
분할 심볼의 에러정정코드가 설정됨.
Field size 8 bits.
Error correction code of the partition symbol is set.
bodybody 필드 크기 24비트.
분할 심볼이 설정됨.
Field size 24 bits.
Split symbol is set.

아래 표 6은 음파 데이터들(810 내지 840)의 일례를 보여준다.Table 6 below shows an example of sound wave data 810 to 840.

음파 데이터(810): type=00, sequence=0000, CRC=8비트, body=분할 심볼 1
음파 데이터(820): type=01, sequence=0001, CRC=8비트, body=분할 심볼 2
음파 데이터(830): type=01, sequence=0010, CRC=8비트, body=분할 심볼 3
음파 데이터(840): type=10, sequence=0011, CRC=8비트, body=분할 심볼 4
Sound wave data 810: type = 00, sequence = 0000, CRC = 8 bits, body = split symbol 1
Sound wave data 820: type = 01, sequence = 0001, CRC = 8 bits, body = split symbol 2
Sound wave data 830: type = 01, sequence = 0010, CRC = 8 bits, body = split symbol 3
Sound wave data 840: type = 10, sequence = 0011, CRC = 8 bits, body = split symbol 4

음파 데이터(810)의 경우, 음파 데이터 세트의 시작 데이터이므로, type 필드에는 00이 설정되어 있고, 첫 번째로 전송되므로, sequence 필드에는 0000이 설정되어 있다. In the case of the sound wave data 810, since it is the start data of the sound wave data set, 00 is set in the type field, and since it is transmitted first, 0000 is set in the sequence field.

음파 데이터(840)의 경우, 음파 데이터 세트의 마지막 데이터이므로, type 필드에는 10이 설정되어 있고, 네 번째로 전송되므로, sequence 필드에는 0011이 설정되어 있다. In the case of the sound wave data 840, since it is the last data of the sound wave data set, 10 is set in the type field and fourth is transmitted, so 0011 is set in the sequence field.

구현에 따라, 음파 데이터들(810 내지 840) 각각에는 시작 비트 필드(Start) 및 종료 비트 필드(End)가 더 포함될 수 있다. 이 경우, 시작 비트 필드(Start) 및 종료 비트 필드(End) 각각은 1로 bias될 수 있다. According to an implementation, each of the sound wave data 810 to 840 may further include a start bit field Start and an end bit field End. In this case, each of the start bit field Start and the end bit field End may be biased to one.

서비스 서버(110)는 도 7 또는 도 8의 음파 데이터 세트를 단말(120)로 전송할 수 있다. 단말(120)은 음파 데이터 세트 내의 음파 데이터들 각각에 대응되는 멀티 톤 음파를 생성하여 출력할 수 있다. 일례로, 단말(120)은 음파 데이터들(710 내지 760) 각각에 대응되는 멀티 톤 음파를 생성할 수 있다. 달리 표현하면, 단말(120)은 음파 데이터들(710 내지 760)에 대응되는 멀티 톤 음파 세트를 생성할 수 있다. 단말(120)은 음파 데이터(710)에 대응되는 멀티 톤 음파부터 출력한 뒤 음파 데이터들(720 내지 760) 각각에 대응되는 멀티 톤 음파를 순차적으로 출력할 수 있다. 이 때, 멀티 톤 음파와 다음에 출력되는 멀티 톤 음파 사이의 시간 가격은 200ms일 수 있다.The service server 110 may transmit the sound wave data set of FIG. 7 or FIG. 8 to the terminal 120. The terminal 120 may generate and output multi-tone sound waves corresponding to each of the sound wave data in the sound wave data set. For example, the terminal 120 may generate a multi-tone sound wave corresponding to each of the sound wave data 710 to 760. In other words, the terminal 120 may generate a multi-tone sound wave set corresponding to the sound wave data 710 to 760. The terminal 120 may output the multi-tone sound waves corresponding to the sound wave data 710 and then sequentially output the multi-tone sound waves corresponding to each of the sound wave data 720 to 760. At this time, the time price between the multi-tone sound wave and the next output multi-tone sound wave may be 200 ms.

실시예에 따라, 서비스 서버(110)는 음파 데이터 세트를 생성한 경우, 도 5를 통해 설명한 예에 따라 동작할 수 있다. 다른 실시예에 따라, 서비스 서버(110)는 음파 데이터 세트를 생성한 경우, 도 6을 통해 설명한 예에 따라 음파 데이터 세트에 대응되는 재생 파일을 생성하여 단말(120)로 전송할 수 있다. 또는, 서비스 서버(110)는 해당 재생 파일의 위치 정보를 단말(120)로 전송하거나 단말(120)이 재생 파일을 생성하는데 필요한 정보를 단말(120)로 전송할 수 있다. According to an embodiment, when the service server 110 generates a sound wave data set, the service server 110 may operate according to the example described with reference to FIG. 5. According to another embodiment, when generating the sound wave data set, the service server 110 may generate a reproduction file corresponding to the sound wave data set and transmit it to the terminal 120 according to the example described with reference to FIG. 6. Alternatively, the service server 110 may transmit location information of the corresponding playback file to the terminal 120 or transmit information necessary for the terminal 120 to generate the playback file to the terminal 120.

도 1 내지 도 6을 통해 기술된 사항들은 도 7을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.1 to 6 may be applied to the matters described with reference to FIG. 7, and thus detailed descriptions thereof will be omitted.

<음파 통신 플랫폼-단방향 음파 기반의 양방향 정보 전송><Acoustic Wave Communication Platform-One-Way Sound Wave-Based Bidirectional Information Transmission>

도 9는 일 실시예에 따른 음파 통신 플랫폼의 다른 일례를 설명하기 위한 도면이다.9 is a view for explaining another example of the sound wave communication platform according to an embodiment.

도 9를 참조하면, 단말(130)은 음파 인식 결과, 페이로드 데이터 B, 및 페이로드 요청 데이터를 서비스 서버(110)로 전송한다(910). 달리 표현하면, 단말(130)은 음파 인식 결과를 전송하면서 페이로드 데이터 A를 서비스 서버(110)에 요청할 수 있고, 이와 동시에 자신의 페이로드 데이터 B를 서비스 서버(110)로 전송할 수 있다.9, the terminal 130 transmits a sound wave recognition result, payload data B, and payload request data to the service server 110 (910). In other words, the terminal 130 may request the payload data A from the service server 110 while transmitting the sound wave recognition result, and simultaneously transmit its payload data B to the service server 110.

서비스 서버(110)는 음파 인식 결과의 유효성을 확인한다(222).The service server 110 checks the validity of the sound wave recognition result (222).

서비스 서버(110)는 음파 인식 결과가 유효하면, 심볼 A, 페이로드 데이터 A, 및 페이로드 데이터 B를 맵핑한다(911). 달리 표현하면, 서비스 서버(110)는 음파 인식 결과가 유효하면, 단계(216)에서 생성된 맵핑 정보에 페이로드 데이터 B를 맵핑하여 추가 맵핑 정보를 생성할 수 있다. 이 때, 추가 맵핑 정보는 단말(120) 및 단말(130) 모두에 대한 것이다.If the sound wave recognition result is valid, the service server 110 maps the symbol A, the payload data A, and the payload data B (911). In other words, if the sound wave recognition result is valid, the service server 110 may generate additional mapping information by mapping payload data B to the mapping information generated in step 216. In this case, the additional mapping information is for both the terminal 120 and the terminal 130.

서비스 서버(110)는 음파 인식 결과와 심볼 A가 매칭되는지 확인하고, 음파 인식 결과와 심볼 A가 매칭되면, 심볼 A와 맵핑되어 있는 페이로드 데이터 A를 단말(130)로 전송한다.The service server 110 checks whether the sound wave recognition result and the symbol A match, and if the sound wave recognition result and the symbol A match, the service server 110 transmits the payload data A mapped with the symbol A to the terminal 130.

서비스 서버(110)는 단말(120)로부터 페이로드 요청 데이터를 수신한다. 다시 말해, 단말(120)은 페이로드 데이터 B를 서비스 서버(110)로 요청한다. 이러한 요청이 있는 경우, 서비스 서버(110)는 단계(911)에서 생성된 추가 맵핑 정보를 기초로 페이로드 데이터 B를 단말(120)로 전송한다. The service server 110 receives payload request data from the terminal 120. In other words, the terminal 120 requests the payload data B to the service server 110. If there is such a request, the service server 110 transmits the payload data B to the terminal 120 based on the additional mapping information generated in step 911.

도 1 내지 도 8을 통해 기술된 사항들은 도 9를 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.1 to 8 may be applied to the matters described with reference to FIG. 9, and thus detailed description thereof will be omitted.

<음파 통신 플랫폼-양방향 음파 기반의 양방향 정보 전송><Acoustic Communication Platform- Bidirectional Sound Wave-based Bidirectional Information Transmission>

도 10 내지 도 11은 일 실시예에 따른 음파 통신 플랫폼의 또 다른 일례를 설명하기 위한 도면이다.10 to 11 are diagrams for describing another example of the sound wave communication platform according to an exemplary embodiment.

도 10을 참조하면, 단말들(120 및 130) 모두가 음파를 출력한다. 다시 말해, 단말(120)에서 단말(130)로 향하는 음파 통신뿐 아니라 단말(130)에서 단말(120)로 향하는 음파 통신도 가능할 수 있다. 도 10에 도시된 예의 음파 통신 플랫폼이 어떻게 동작하는지 도 11을 참조하면서 설명한다.Referring to FIG. 10, both terminals 120 and 130 output sound waves. In other words, not only sound wave communication from the terminal 120 to the terminal 130, but also sound wave communication from the terminal 130 to the terminal 120 may be possible. How the sound wave communication platform of the example shown in FIG. 10 operates will be described with reference to FIG.

도 11을 참조하면, 서비스 서버(110)는 보안키를 관리한다(1110). 보안키에 대해선 전술하였으므로, 상세한 설명을 생략한다.Referring to FIG. 11, the service server 110 manages a security key (1110). Since the security key has been described above, a detailed description thereof will be omitted.

단말(120)은 서비스 서버(110)에 보안키를 요청하고(1111), 서비스 서버(110)는 보안키를 단말(120)로 전송한다(1112).The terminal 120 requests the security key from the service server 110 (1111), and the service server 110 transmits the security key to the terminal 120 (1112).

단말(130)은 서비스 서버(110)에 보안키를 요청하고(1113), 서비스 서버(110)는 보안키를 단말(130)로 전송한다(1114).The terminal 130 requests the security key from the service server 110 (1113), and the service server 110 transmits the security key to the terminal 130 (1114).

단말(120)은 자신이 보유하고 있는 정보 A 및 보안키를 기초로 음파 데이터를 생성한다(1115). 정보 A는, 예를 들어, 텍스트, 정적 이미지, 동적 이미지, 또는 URL 등에 해당할 수 있다. 단계(1115)에서의 음파 데이터 생성은 전술한 서비스 서버(110)의 음파 데이터 생성 방식이 적용될 수 있으므로, 상세한 설명을 생략한다. 구현에 따라, 단계(1115)에서 단말(120)은 재생 파일을 생성하여 플레이할 수 있다.The terminal 120 generates sound wave data based on the information A and the security key held by the terminal 120 (1115). The information A may correspond to, for example, text, a static image, a dynamic image, a URL, or the like. Sound wave data generation in step 1115 may be applied to the above-described sound wave data generation method of the service server 110, a detailed description thereof will be omitted. According to an implementation, in operation 1115, the terminal 120 may generate and play a playback file.

단말(120)은 음파 데이터를 기초로 음파를 생성하여 출력한다(1116). 단계(1116)의 음파 출력 방식은 전술한 음파 출력 방식이 적용될 수 있으므로, 상세한 설명을 생략한다.The terminal 120 generates and outputs sound waves based on the sound wave data (1116). As the sound wave output method of step 1116 may be applied to the sound wave output method described above, a detailed description thereof will be omitted.

단말(130)은 단말(120)이 출력한 음파를 인식하고(1117), 정보 A를 획득한다(1118). 일례로, 단말(130)은 해당 음파에 대응되는 비트들을 결정할 수 있고, 결정된 비트들을 보안키를 이용하여 셔플링할 수 있으며, 셔플링된 비트들로부터 정보 A를 추출할 수 있다. The terminal 130 recognizes the sound wave output from the terminal 120 (1117) and obtains information A (1118). For example, the terminal 130 may determine the bits corresponding to the sound wave, shuffle the determined bits using the security key, and extract information A from the shuffled bits.

단말(130)은 자신이 보유하고 있는 정보 B 및 보안키를 기초로 음파 데이터를 생성한다(1119). 정보 B는, 예를 들어, 텍스트, 정적 이미지, 동적 이미지, 또는 URL 등에 해당할 수 있다. 단계(1119)에서의 음파 데이터 생성은 전술한 서비스 서버(110)의 음파 데이터 생성 방식이 적용될 수 있으므로, 상세한 설명을 생략한다. 구현에 따라, 단계(1119)에서 단말(130)은 재생 파일을 생성하여 플레이할 수 있다.The terminal 130 generates sound wave data based on the information B and the security key held by the terminal 130 (1119). The information B may correspond to, for example, text, static images, dynamic images, URLs, or the like. The sound wave data generation in step 1119 may be applied to the sound wave data generation method of the service server 110 described above, a detailed description thereof will be omitted. According to the implementation, in operation 1119, the terminal 130 may generate and play a playback file.

단말(130)은 음파 데이터를 기초로 음파를 생성하여 출력한다(1120).The terminal 130 generates and outputs sound waves based on the sound wave data (1120).

단말(120)은 단말(130)이 출력한 음파를 인식하고(1121), 정보 B를 획득한다(1122). 일례로, 단말(120)은 해당 음파에 대응되는 비트들을 결정할 수 있고, 결정된 비트들을 보안키를 이용하여 셔플링할 수 있으며, 셔플링된 비트들로부터 정보 B를 추출할 수 있다.The terminal 120 recognizes the sound wave output from the terminal 130 (1121), and obtains the information B (1122). For example, the terminal 120 may determine the bits corresponding to the sound wave, shuffle the determined bits using the security key, and extract information B from the shuffled bits.

도 10 내지 도 11을 통해 설명한 음파 통신 플랫폼에 기초하면, 단말(120)과 단말(130) 사이의 다이렉트 통신이 가능할 수 있다.Based on the sound wave communication platform described with reference to FIGS. 10 to 11, direct communication between the terminal 120 and the terminal 130 may be possible.

도 1 내지 도 9를 통해 기술된 사항들은 도 10 내지 도 11을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.1 to 9 may be applied to the matters described with reference to FIGS. 10 to 11, and thus detailed descriptions thereof will be omitted.

도 12는 일 실시예에 따른 음파 통신 플랫폼의 서비스 서버를 설명하기 위한 블록도이다.12 is a block diagram illustrating a service server of a sound wave communication platform according to an exemplary embodiment.

도 12를 참조하면, 서비스 서버(110)는 통신 인터페이스(1210) 및 컨트롤러(1220)를 포함한다.Referring to FIG. 12, the service server 110 includes a communication interface 1210 and a controller 1220.

통신 인터페이스(1210)는 유선 통신 또는 무선 통신이 가능하다.The communication interface 1210 may be wired or wireless.

컨트롤러(1220)는 통신 인터페이스(1210)와 커플링된다. 통신 인터페이스(1210)와 컨트롤러(1220)는 음파 통신 플랫폼(100) 상에서 특정 서비스를 구현하기 위해 아래와 같이 동작할 수 있다.The controller 1220 is coupled with the communication interface 1210. The communication interface 1210 and the controller 1220 may operate as follows to implement a specific service on the sound wave communication platform 100.

컨트롤러(1220)는 통신 인터페이스(1210)를 통해 단말에게 보안키를 전송하고 다른 단말로부터 서비스 타입 정보를 포함하는 심볼 요청 데이터와 페이로드 데이터를 수신한다.The controller 1220 transmits a security key to a terminal through the communication interface 1210 and receives symbol request data and payload data including service type information from another terminal.

컨트롤러(1220)는 서비스 타입 정보를 기초로 결정된 사이즈에 따라 다른 단말에 대응되는 심볼을 생성한다.The controller 1220 generates a symbol corresponding to another terminal according to the size determined based on the service type information.

컨트롤러(1220)는 다른 단말에 대해 페이로드 데이터와 생성된 심볼이 맵핑된 맵핑 정보를 생성한다.The controller 1220 generates mapping information in which payload data and generated symbols are mapped to other terminals.

컨트롤러(1220)는 생성된 심볼을 기초로 다른 단말의 음파 출력을 위한 음파 데이터를 생성한다. 음파 데이터는, 예를 들어, 생성된 심볼 및 에러정정코드를 포함할 수 있다. 또한, 음파 데이터는 보안키를 기초로 암호화될 수 있다. The controller 1220 generates sound wave data for sound wave output of another terminal based on the generated symbol. The sound wave data may include, for example, generated symbols and error correction codes. Also, the sound wave data may be encrypted based on the security key.

컨트롤러(1220)는 생성된 음파 데이터를 통신 인터페이스(1210)를 통해 다른 단말로 전송한다. The controller 1220 transmits the generated sound wave data to another terminal through the communication interface 1210.

컨트롤러(1220)는 통신 인터페이스(1210)를 통해 단말로부터 보안키와 음파를 기초로 생성된 음파 인식 결과 및 페이로드 요청 데이터를 수신한다. 여기서, 음파는 다른 단말이 서비스 서버(110)로부터 수신한 데이터를 기초로 출력한 것이다.The controller 1220 receives sound wave recognition results and payload request data generated based on a security key and sound waves from the terminal through the communication interface 1210. Here, the sound wave is output based on the data received by the other terminal from the service server 110.

컨트롤러(1220)는 음파 인식 결과와 생성된 심볼이 매칭되는지 확인하고, 음파 인식 결과와 생성된 심볼이 매칭되는 경우, 맵핑 정보를 기초로 페이로드 데이터를 통신 인터페이스(1210)를 통해 단말로 전송한다. The controller 1220 checks whether the sound wave recognition result and the generated symbol match and transmits payload data to the terminal through the communication interface 1210 based on the mapping information when the sound wave recognition result and the generated symbol match. .

도 1 내지 도 11을 통해 기술된 사항들은 도 12를 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.1 to 11 may be applied to the items described with reference to FIG. 12, and thus detailed descriptions thereof will be omitted.

<음파 통신 플랫폼의 적용례><Application example of acoustic communication platform>

위에서 설명한 것과 같이, 일 실시예에 따른 음파 통신 플랫폼은 다양한 서비스에 적용될 수 있다. 일례로, 출결 서비스에 음파 통신 플랫폼이 적용되었을 때를 설명한다.As described above, the sound wave communication platform according to an embodiment may be applied to various services. As an example, a description will be given when a sound wave communication platform is applied to an attendance service.

단말(120)은 강의 장소에 설치된 단말에 해당할 수 있고, 단말(130)은 강의 장소에서 강의를 듣는 참석자의 단말에 해당할 수 있다. 단말(130)에는 출석 체크를 위한 어플리케이션이 설치될 수 있다. The terminal 120 may correspond to a terminal installed at a lecture location, and the terminal 130 may correspond to a terminal of attendees who listen to the lecture at the lecture location. The terminal 130 may be installed with an application for attendance check.

단말(120)은 강의 장소의 출석 인증 정보를 페이로드 데이터로서 서비스 서버(110)로 전송한 뒤 서비스 서버(110)로부터 음파 데이터를 수신하여 음파를 출력할 수 있다. 출석 인증 정보는 해당 강의 장소의 위치 정보(예를 들어, A 학교의 B 강의실), 강의자 정보(예를 들어, 교수 이름), 및 수업 정보(예를 들어, 수업 이름 및 수업 시간) 중 적어도 하나를 포함할 수 있다. 단말(130)은 해당 음파를 인식한 음파 인식 결과 및 단말(130)의 사용자 정보를 서비스 서버(110)로 전송할 수 있다.The terminal 120 may transmit the attendance authentication information of the lecture place as payload data to the service server 110 and then receive sound wave data from the service server 110 to output sound waves. Attendance authentication information may include at least one of location information of a corresponding lecture location (for example, classroom B of school A), lecturer information (for example, professor name), and class information (for example, class name and class time). It may include. The terminal 130 may transmit the sound wave recognition result that recognizes the sound wave and the user information of the terminal 130 to the service server 110.

서비스 서버(110)는 음파 인식 결과가 단말(120)에 대응되는 심볼에 매칭되면, 단말(130)의 사용자가 강의 장소에 출석했다고 결정할 수 있고, 출석 인증 정보 또는 출석 확인 정보를 단말(130)로 전송할 수 있다. 단말(130)은 출석 인증 정보 또는 출석 확인 정보를 기초로 사용자가 강의에 출석하였다고 체크할 수 있다.If the sound wave recognition result matches the symbol corresponding to the terminal 120, the service server 110 may determine that the user of the terminal 130 has attended the lecture place, and the terminal 130 receives attendance authentication information or attendance confirmation information. Can be sent to. The terminal 130 may check that the user has attended the lecture based on the attendance authentication information or the attendance confirmation information.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments are, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs). Can be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the following claims.

Claims (20)

서비스 서버의 동작 방법에 있어서,
단말에게 보안키를 전송하고, 다른 단말로부터 서비스 타입 정보를 포함하는 심볼 요청 데이터와 페이로드 데이터를 수신하는 단계;
상기 서비스 타입 정보를 기초로 결정된 사이즈에 따라 상기 다른 단말에 대응되는 심볼을 생성하는 단계 -상기 생성된 심볼은 상기 결정된 사이즈에 해당하는 개수의 비트들로 구성됨-;
상기 다른 단말에 대해, 상기 페이로드 데이터와 상기 생성된 심볼이 맵핑된 맵핑 정보를 생성하는 단계;
상기 생성된 심볼을 구성하는 비트들의 배열을 상기 보안키를 통해 변경하여 상기 다른 단말의 음파 출력을 위한 음파 데이터를 생성하는 단계;
상기 생성된 음파 데이터를 상기 다른 단말로 전송하는 단계;
상기 단말로부터, 상기 보안키와 음파를 기초로 생성된 음파 인식 결과-상기 음파는 상기 다른 단말이 상기 서비스 서버로부터 수신한 음파 데이터를 기초로 출력한 것임- 및 페이로드 요청 데이터를 수신하는 단계;
상기 음파 인식 결과와 상기 생성된 심볼이 매칭되는지 확인하는 단계; 및
상기 매칭되는 경우, 상기 맵핑 정보를 기초로 상기 페이로드 데이터를 상기 단말로 전송하는 단계
를 포함하고,
상기 생성된 음파 데이터 내의 각 비트의 위치에 서로 다른 주파수 포스트가 설정되는,
서비스 서버의 동작 방법.
In the operation method of the service server,
Transmitting a security key to a terminal and receiving symbol request data and payload data including service type information from another terminal;
Generating a symbol corresponding to the other terminal according to the size determined based on the service type information, wherein the generated symbol includes a number of bits corresponding to the determined size;
Generating mapping information to which the payload data and the generated symbol are mapped, for the other terminal;
Generating sound wave data for sound wave output of the other terminal by changing the arrangement of bits constituting the generated symbol through the security key;
Transmitting the generated sound wave data to the other terminal;
Receiving sound wave recognition results generated based on the security key and sound waves from the terminal, wherein the sound waves are output based on sound wave data received from the service terminal by another terminal; and receiving payload request data;
Checking whether the sound wave recognition result matches the generated symbol; And
Transmitting the payload data to the terminal based on the mapping information when the matching is performed.
Including,
Different frequency posts are set at positions of each bit in the generated sound wave data,
How the service server works.
제1항에 있어서,
상기 생성된 음파 데이터는 에러정정코드를 포함하는
서비스 서버의 동작 방법.
The method of claim 1,
The generated sound wave data includes an error correction code.
How the service server works.
삭제delete 제1항에 있어서,
주파수 간격 정보 및 시작 주파수 정보 중 적어도 하나를 기초로 상기 생성된 음파 데이터의 비트들 각각의 주파수 포스트를 설정하는 단계
를 더 포함하는,
서비스 서버의 동작 방법.
The method of claim 1,
Setting a frequency post of each of the bits of the generated sound wave data based on at least one of frequency interval information and start frequency information
Further comprising,
How the service server works.
제4항에 있어서,
상기 주파수 간격 정보 및 상기 시작 주파수 정보는 상기 서비스 타입 정보에 관련되는,
서비스 서버의 동작 방법.
The method of claim 4, wherein
The frequency interval information and the start frequency information relate to the service type information,
How the service server works.
제1항에 있어서,
상기 음파 데이터를 생성한 경우,
상기 생성된 음파 데이터의 비트들 중 비트값 1의 주파수 포스트에 음파 톤을 생성하는 단계; 및
상기 생성된 음파 톤을 병합(aggregation)하여 멀티 톤 음파를 생성하고, 상기 멀티 톤 음파를 레코딩한 재생 파일을 생성하는 단계
를 더 포함하는,
서비스 서버의 동작 방법.
The method of claim 1,
When generating the sound wave data,
Generating a sound wave tone in a frequency post of bit value 1 of the bits of the generated sound wave data; And
Generating multi-tone sound waves by aggregating the generated sound wave tones, and generating a reproduction file of recording the multi-tone sound waves
Further comprising,
How the service server works.
제1항에 있어서,
상기 심볼의 생성 시점으로부터 미리 정해진 시간 이내에 상기 음파 인식 결과를 수신하였는지 여부를 확인함으로써 상기 음파 인식 결과의 유효성을 검증하는 단계
를 더 포함하는,
서비스 서버의 동작 방법.
The method of claim 1,
Verifying validity of the sound wave recognition result by checking whether the sound wave recognition result is received within a predetermined time from the time of generation of the symbol
Further comprising,
How the service server works.
제1항에 있어서,
상기 다른 단말로부터 상기 단말이 상기 페이로드 데이터를 수신했는지 여부에 대한 확인 요청 데이터를 수신하는 단계; 및
상기 단말의 상기 페이로드 데이터의 수신 완료 여부에 대한 응답 데이터를 상기 다른 단말로 전송하는 단계
를 더 포함하는,
서비스 서버의 동작 방법.
The method of claim 1,
Receiving confirmation request data on whether the terminal has received the payload data from the other terminal; And
Transmitting response data on whether the terminal has received the payload data to the other terminal;
Further comprising,
How the service server works.
제1항에 있어서,
상기 음파 인식 결과 및 상기 페이로드 요청 데이터를 수신하는 단계에서 상기 서비스 서버가 상기 단말로부터 상기 단말의 페이로드 데이터를 더 수신하는 경우,
상기 맵핑 정보에 상기 단말의 페이로드 데이터를 맵핑하여 추가 맵핑 정보를 생성하는 단계; 및
상기 다른 단말로부터 상기 단말의 페이로드 데이터에 대한 요청 데이터를 수신하는 경우, 상기 추가 맵핑 정보를 기초로 상기 단말의 페이로드 데이터를 상기 다른 단말로 전송하는 단계
를 더 포함하는,
서비스 서버의 동작 방법.
The method of claim 1,
When the service server further receives the payload data of the terminal from the terminal in the step of receiving the sound wave recognition result and the payload request data,
Generating additional mapping information by mapping payload data of the terminal to the mapping information; And
When receiving request data for payload data of the terminal from the other terminal, transmitting the payload data of the terminal to the other terminal based on the additional mapping information.
Further comprising,
How the service server works.
제1항에 있어서,
상기 페이로드 데이터는 URL 정보, 텍스트, 정적 이미지, 및 동적 이미지 중 적어도 하나를 포함하는,
서비스 서버의 동작 방법.
The method of claim 1,
The payload data includes at least one of URL information, text, static images, and dynamic images,
How the service server works.
서비스 서버에 있어서,
통신 인터페이스; 및
상기 통신 인터페이스와 커플링되는 컨트롤러
를 포함하고,
상기 컨트롤러는,
상기 통신 인터페이스를 통해 단말에게 보안키를 전송하고 다른 단말로부터 서비스 타입 정보를 포함하는 심볼 요청 데이터와 페이로드 데이터를 수신하며,
상기 서비스 타입 정보를 기초로 결정된 사이즈에 따라 상기 다른 단말에 대응되는 심볼을 생성하고 - 상기 생성된 심볼은 상기 결정된 사이즈에 해당하는 개수의 비트들로 구성됨-,
상기 다른 단말에 대해 상기 페이로드 데이터와 상기 생성된 심볼이 맵핑된 맵핑 정보를 생성하고,
상기 생성된 심볼을 구성하는 비트들의 배열을 상기 보안키를 통해 변경하여 상기 다른 단말의 음파 출력을 위한 음파 데이터를 생성하며, 상기 통신 인터페이스를 통해 상기 생성된 음파 데이터를 상기 다른 단말로 전송하고,
상기 통신 인터페이스를 통해 상기 단말로부터 상기 보안키와 음파를 기초로 생성된 음파 인식 결과-상기 음파는 상기 다른 단말이 상기 서비스 서버로부터 수신한 데이터를 기초로 출력한 것임- 및 페이로드 요청 데이터를 수신하고,
상기 음파 인식 결과와 상기 생성된 심볼이 매칭되는지 확인하고, 상기 매칭되는 경우, 상기 맵핑 정보를 기초로 상기 페이로드 데이터를 상기 통신 인터페이스를 통해 상기 단말로 전송하고,
상기 생성된 음파 데이터 내의 각 비트의 위치에 서로 다른 주파수 포스트가 설정되는,
서비스 서버.
In the service server,
Communication interface; And
A controller coupled with the communication interface
Including,
The controller,
Transmitting a security key to the terminal through the communication interface and receiving symbol request data and payload data including service type information from another terminal,
Generate a symbol corresponding to the other terminal according to the size determined based on the service type information, wherein the generated symbol includes a number of bits corresponding to the determined size;
Generating mapping information in which the payload data and the generated symbol are mapped to the other terminal;
Generating sound wave data for sound wave output of the other terminal by changing the arrangement of bits constituting the generated symbol through the security key, transmitting the generated sound wave data to the other terminal through the communication interface,
A sound wave recognition result generated based on the security key and sound wave from the terminal through the communication interface, wherein the sound wave is output based on the data received by the other terminal from the service server and receive payload request data. and,
Confirm that the sound wave recognition result and the generated symbol match, and if the match is matched, transmit the payload data to the terminal through the communication interface based on the mapping information,
Different frequency posts are set at positions of each bit in the generated sound wave data,
Service server.
제11항에 있어서,
상기 생성된 음파 데이터는 에러정정코드를 포함하는
서비스 서버.
The method of claim 11,
The generated sound wave data includes an error correction code.
Service server.
삭제delete 제11항에 있어서,
상기 컨트롤러는 주파수 간격 정보 및 시작 주파수 정보 중 적어도 하나를 기초로 상기 생성된 음파 데이터의 비트들 각각의 주파수 포스트를 설정하는,
서비스 서버.
The method of claim 11,
The controller sets a frequency post of each of the bits of the generated sound wave data based on at least one of frequency interval information and start frequency information.
Service server.
제14항에 있어서,
상기 주파수 간격 정보 및 상기 시작 주파수 정보는 상기 서비스 타입 정보에 관련되는,
서비스 서버.
The method of claim 14,
The frequency interval information and the start frequency information relate to the service type information,
Service server.
제11항에 있어서,
상기 컨트롤러는,
상기 음파 데이터를 생성한 경우, 상기 생성된 음파 데이터의 비트들 중 비트값 1의 주파수 포스트에 음파 톤을 생성하고, 상기 생성된 음파 톤을 병합(aggregation)하여 멀티 톤 음파를 생성하며, 상기 멀티 톤 음파를 레코딩한 재생 파일을 생성하고, 상기 재생 파일을 상기 통신 인터페이스를 통해 상기 다른 단말로 전송하는,
서비스 서버.
The method of claim 11,
The controller,
When the sound wave data is generated, a sound wave tone is generated at a frequency post of bit value 1 among the bits of the generated sound wave data, and the generated sound wave tone is aggregated to generate a multi-tone sound wave. Generating a reproduction file recording tone sound waves, and transmitting the reproduction file to the other terminal through the communication interface;
Service server.
제11항에 있어서,
상기 컨트롤러는 상기 심볼의 생성 시점으로부터 미리 정해진 시간 이내에 상기 음파 인식 결과를 수신하였는지 여부를 확인함으로써 상기 음파 인식 결과의 유효성을 검증하는,
서비스 서버.
The method of claim 11,
The controller verifies the validity of the sound wave recognition result by checking whether the sound wave recognition result is received within a predetermined time from the time of generation of the symbol.
Service server.
제11항에 있어서,
상기 컨트롤러는 상기 통신 인터페이스를 통해 상기 다른 단말로부터 상기 단말이 상기 페이로드 데이터를 수신했는지 여부에 대한 확인 요청 데이터를 수신하고 상기 단말의 상기 페이로드 데이터의 수신 완료 여부에 대한 응답 데이터를 상기 다른 단말로 전송하는,
서비스 서버.
The method of claim 11,
The controller receives confirmation request data on whether the terminal has received the payload data from the other terminal through the communication interface, and receives response data on whether the terminal has received the payload data. Sent to,
Service server.
제11항에 있어서,
상기 컨트롤러는 상기 서비스 서버가 상기 단말로부터 상기 단말의 페이로드 데이터를 더 수신하는 경우, 상기 맵핑 정보에 상기 단말의 페이로드 데이터를 맵핑하여 추가 맵핑 정보를 생성하고, 상기 다른 단말로부터 상기 단말의 페이로드 데이터에 대한 요청 데이터를 수신하는 경우, 상기 추가 맵핑 정보를 기초로 상기 단말의 페이로드 데이터를 상기 통신 인터페이스를 통해 상기 다른 단말로 전송하는,
서비스 서버.
The method of claim 11,
When the service server further receives payload data of the terminal from the terminal, the controller maps the payload data of the terminal to the mapping information to generate additional mapping information, and the pay of the terminal from the other terminal. When receiving the request data for the load data, transmitting the payload data of the terminal to the other terminal through the communication interface based on the additional mapping information,
Service server.
제11항에 있어서,
상기 페이로드 데이터는 URL 정보, 텍스트, 정적 이미지, 및 동적 이미지 중 적어도 하나를 포함하는,
서비스 서버.
The method of claim 11,
The payload data includes at least one of URL information, text, static images, and dynamic images,
Service server.
KR1020170158447A 2017-11-24 2017-11-24 Communication platform based on sound KR102025524B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170158447A KR102025524B1 (en) 2017-11-24 2017-11-24 Communication platform based on sound
US16/492,157 US20210152564A1 (en) 2017-11-24 2018-09-03 Sound wave communication platform, communication method using sound wave signal, and device therefor
PCT/KR2018/010213 WO2019103289A1 (en) 2017-11-24 2018-09-03 Sound wave communication platform, communication method using sound wave signal, and device therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170158447A KR102025524B1 (en) 2017-11-24 2017-11-24 Communication platform based on sound

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020190114594A Division KR20190109362A (en) 2019-09-18 2019-09-18 Communication platform based on sound

Publications (2)

Publication Number Publication Date
KR20190060343A KR20190060343A (en) 2019-06-03
KR102025524B1 true KR102025524B1 (en) 2019-09-26

Family

ID=66849336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170158447A KR102025524B1 (en) 2017-11-24 2017-11-24 Communication platform based on sound

Country Status (1)

Country Link
KR (1) KR102025524B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108280983A (en) * 2018-01-23 2018-07-13 智慧海派科技有限公司 A method of it is controlled using sound wave communication and starts automatic test program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012165901A2 (en) * 2011-06-02 2012-12-06 Beak Gyyoung Method for inter-terminal security channelization

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2334070A1 (en) * 2009-12-11 2011-06-15 Irdeto Access B.V. Generating a scrambled data stream
KR101214839B1 (en) * 2012-03-21 2012-12-24 (주)더블유랩 Authentication method and authentication system
CN104238482B (en) * 2013-06-18 2018-06-15 帕沃思株式会社 For controlling the mobile device and method of external equipment and external equipment
KR101852367B1 (en) * 2014-06-20 2018-04-27 주식회사 얍컴퍼니 The self-authentication method using the high frequency pattern

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012165901A2 (en) * 2011-06-02 2012-12-06 Beak Gyyoung Method for inter-terminal security channelization

Also Published As

Publication number Publication date
KR20190060343A (en) 2019-06-03

Similar Documents

Publication Publication Date Title
JP6592583B1 (en) Method and apparatus for information exchange
US9991970B2 (en) Transferring data via audio link
TWI581250B (en) Adaptive processing with multiple media processing nodes
US9888296B2 (en) Real-time wireless synchronization of live event audio stream with a video recording
US11102162B2 (en) Systems and methods of facilitating live streaming of content on multiple social media platforms
CN106162062B (en) Obtain the method and system of monitor video
WO2014036913A1 (en) Sound transmission-based verification method
JP6454007B2 (en) Sonic communication apparatus and method
CN103023580A (en) Method for achieving data transmission through voice
US10893235B2 (en) Conferencing apparatus and method for switching access terminal thereof
KR102025524B1 (en) Communication platform based on sound
US20210152564A1 (en) Sound wave communication platform, communication method using sound wave signal, and device therefor
US9363562B1 (en) Method and system for authorizing a user device
CN105120012B (en) Smart machine and its networking cut-in method, message receiving method and device
CN108616313A (en) A kind of bypass message based on ultrasound transfer approach safe and out of sight
US20160309205A1 (en) System and method for transmitting digital audio streams to attendees and recording video at public events
WO2018051144A1 (en) A method and system for authenticating a device
KR20190109362A (en) Communication platform based on sound
CN103873593A (en) Website logging in method and system
CN103023650A (en) System, data sending end and data receiving end for achieving data transmission through voice
GB2595836A (en) A method and system for authenticating a device
KR102054174B1 (en) Communication method using sound signal and apparatus thereof
CN110768808A (en) Terminal configuration method, device, server and storage medium
AU2022386566A1 (en) Secure scalable transmission of inaudible or ultrasound packet url instructions for second screen applications
US20160307193A1 (en) System and method for simulcasting digital audio streams to attendees at public events

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent