WO2024048812A1 - 무선 이어버드, 시스템 및 그의 동작 방법 - Google Patents

무선 이어버드, 시스템 및 그의 동작 방법 Download PDF

Info

Publication number
WO2024048812A1
WO2024048812A1 PCT/KR2022/013032 KR2022013032W WO2024048812A1 WO 2024048812 A1 WO2024048812 A1 WO 2024048812A1 KR 2022013032 W KR2022013032 W KR 2022013032W WO 2024048812 A1 WO2024048812 A1 WO 2024048812A1
Authority
WO
WIPO (PCT)
Prior art keywords
earbud
data
information
packet
master
Prior art date
Application number
PCT/KR2022/013032
Other languages
English (en)
French (fr)
Inventor
이진성
정병학
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to PCT/KR2022/013032 priority Critical patent/WO2024048812A1/ko
Publication of WO2024048812A1 publication Critical patent/WO2024048812A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user

Definitions

  • This disclosure relates to wireless earbuds, systems, and methods of operation thereof. More specifically, it relates to a method for synchronizing playback synchronization and handling clock drift in wireless earbuds.
  • TWS Truste Wireless Stereo
  • the wireless earbud system consists of a source device, such as a smartphone, and at least one earbud that receives a sound source from the source device.
  • earbuds are preferably worn on the left and right sides, and are generally composed of two. One of these is the earbud master, which receives sound directly from the source device, and the other is the earbud slave, which receives sound from the source device. It can operate by snooping on sound sources received by the earbud master.
  • the present disclosure seeks to provide a wireless earbud, a system, and a method of operating the same that minimize the occurrence frequency and delay time of data relay between earbuds and minimize battery consumption.
  • the present disclosure seeks to provide a method for synchronizing playback between earbuds and handling clock drift between the source device and the earbuds.
  • a wireless earbud includes: a first sink device that receives audio data from a source device; and a second sink device that snoops audio data transmitted from the source device, wherein the first sink device may transmit sync information related to playback of a data packet to the second sink device.
  • the first sink device may include the sync information in a control packet transmitted to the second sink device.
  • the sync information may include information about a data packet sequence number and playback time.
  • the sync information may further include information about sample control.
  • control packet may be a TWS end control packet.
  • the data packet sequence number information may indicate a reference sequence number of a data packet to which the sync information is applied.
  • the reference sequence of the data packet to which the sync information is applied may be the first sequence of the data packet to which the sync information is applied.
  • the playback time information may indicate a point in time when the reference sequence of the data packet is actually played.
  • the playback time information may be defined using network time applied between the first sink device and the second sink device.
  • the sync information may be defined in consideration of a retransmission interval due to a snooping failure of the second sink device.
  • the second sink device may ignore data packets with a sequence number earlier than the reference sequence number of the data packet to which the sync information is applied.
  • the second sink device may silence the packet.
  • the first sink device compares the network time applied between the source device and the clock of the controller, and controls the sample when the difference is greater than a threshold.
  • a correction operation is performed based on the information, where the threshold is determined based on an audio sample of PCM data, and the sample control information controls overlapping at least 1 sample in the PCM data if the clock of the controller is faster than the network time. It may include information, and may include control information for deleting at least 1 sample from PCM data if the clock of the controller is slow compared to the network time.
  • a method of operating a wireless earbud includes receiving audio data from a source device in a first sink device; Snooping, at a second sink device, audio data transmitted from the source device to the first sink device; And it may include transmitting sync information related to data packet playback from the first sink device to the second sink device.
  • a wireless earbud system includes a source device; a first sink device that receives audio data from the source device; and a second sink device that snoops audio data transmitted from the source device, wherein the first sink device may transmit sync information related to playback of a data packet to the second sink device.
  • the earbud master performs data relay by selectively transmitting only data that has not been received from the earbud slave, so the relay frequency and delay time are minimized, and battery efficiency is improved accordingly. There are benefits to improving it.
  • the playback time can be improved to have no or minimized error, and the increase in playback time error can be improved even during long-term operation, thereby improving the convenience of use of the earbud.
  • FIG. 1 is a schematic diagram of a wireless earbud system according to an embodiment of the present disclosure.
  • FIG. 2 is a diagram illustrating an example of a TWS Control/Relay Packet format transmitted and received between earbuds in a wireless earbud system according to an embodiment of the present disclosure.
  • FIG. 3 is a diagram illustrating the payload format of a TWS Initial Control Packet according to an embodiment of the present disclosure.
  • Figure 4 is a diagram illustrating the payload format of a TWS Start Control Packet according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram illustrating the payload format of a TWS Reply Control Packet according to an embodiment of the present disclosure.
  • Figure 6 is a diagram illustrating the payload format of a TWS End Control Packet according to an embodiment of the present disclosure.
  • Figure 7 is a flowchart illustrating a method of operation when data relay of the wireless earbud system according to an embodiment of the present disclosure is not required.
  • Figures 8 and 9 are flowcharts showing an operation method when data relay of a wireless earbud system is required according to an embodiment of the present disclosure.
  • Figure 10 is a control block diagram of an earbud slave device according to an embodiment of the present disclosure.
  • Figure 11 is a flowchart illustrating a method in which an earbud slave device determines and operates duplicate reception of ACL data packets according to an embodiment of the present disclosure.
  • Figure 12 is a flow chart illustrating a process for forming a TWS control link between an earbud master and an earbud slave according to an embodiment of the present disclosure.
  • Figures 13 and 14 are flowcharts showing a connection and information exchange method between earbuds according to an embodiment of the present disclosure.
  • Figure 15 is a flowchart showing a method of normally transmitting and receiving data using heterogeneous link technology in a wireless earbud system according to an embodiment of the present disclosure.
  • FIG. 16 is a diagram showing data transmission/reception and ACK timing diagram according to FIG. 15.
  • Figure 17 is a flowchart showing a case where only the earbud master fails to receive data when using heterogeneous link technology in another wireless earbud system according to an embodiment of the present disclosure.
  • FIG. 18 is a diagram showing data transmission/reception and ACK timing diagram according to FIG. 17.
  • Figure 19 is a flowchart showing a case where only the earbud slave fails to receive data when using heterogeneous link technology in another wireless earbud system according to an embodiment of the present disclosure.
  • FIG. 20 is a diagram showing data transmission/reception and ACK timing diagram according to FIG. 19.
  • FIG. 21 is a flowchart illustrating a case where both the earbud master and the earbud slave fail to receive data when using heterogeneous link technology in another wireless earbud system according to an embodiment of the present disclosure.
  • FIG. 22 is a diagram showing data transmission/reception and ACK timing diagram according to FIG. 21.
  • FIG. 23 is a diagram illustrating a synchronization error in a wireless earbud system according to an embodiment of the present disclosure.
  • FIG. 24 is a diagram illustrating the payload format of a TWS end control packet according to another embodiment of the present disclosure.
  • Figure 25 is a control block diagram of an earbud master device according to an embodiment of the present disclosure.
  • Figure 26 is a control block diagram of an earbud slave device according to an embodiment of the present disclosure.
  • Figure 27 is a flowchart showing an operation method in case of initial clock synchronization of a wireless earbud system according to an embodiment of the present disclosure.
  • Figure 28 is a flowchart showing an operation method in the case of initial clock synchronization of a wireless earbud system according to another embodiment of the present disclosure.
  • Figure 29 is a flowchart showing an operation method in case of clock fine tuning of a wireless earbud system according to an embodiment of the present disclosure.
  • Figure 30 is a diagram illustrating packet capture with an air sniffer device when data relay is not required in a wireless earbud system according to an embodiment of the present disclosure.
  • Figure 31 is a diagram illustrating packet capture with an air sniffer device when data relay is required in a wireless earbud system according to an embodiment of the present disclosure.
  • FIG. 1 is a schematic diagram of a wireless earbud system according to an embodiment of the present disclosure.
  • the wireless earbud system consists of a source device (1) and a sink device, and the sink device includes a first sink device (10) and a second sink device (20). may include.
  • One of the first and second sync devices 10 and 20 may be an earbud master, and the other may be an earbud slave.
  • the first sink device 10 is a master device and the second sink device 20 is a slave device.
  • this is only an example for convenience of explanation, it is reasonable that it is not limited thereto.
  • Figure 1 schematically explains the operation method of the wireless earbud system.
  • the source device 1 may transmit audio data to the earbud master 10.
  • the earbud master 10 can receive audio data from the source device 1.
  • the earbud master 10 may transmit a message such as ACK or NACK to the source device 1 depending on the reception status of audio data. If the earbud master 10 receives audio data normally, it may transmit an ACK message to the source device 1, and if it does not receive audio data normally, it may transmit a NACK message to the source device 1.
  • the earbud slave 20 can snoop the audio data transmitted from the source device 1 to the earbud master 10. Snooping may refer to the act of intercepting data on a network.
  • the earbud master 10 and the earbud slave 20 can obtain data from the source device 1 for a predetermined period.
  • the first and second sink devices 10 and 20 may share data reception status information from the source device 1 using a True Wireless Stereo (TWS) control packet.
  • the TWS control packet may include a TWS Start Control Packet and a TWS Reply Control Packet.
  • the earbud master 10 transmits a TWS start control packet to the earbud slave 20
  • the earbud slave 20 transmits a TWS reply control packet to the earbud master 10 to provide data reception status information.
  • the start control packet may have an LLID (Logical Link IDentifier) value of ‘0’ in the payload.
  • LLID Logical Link IDentifier
  • the earbud master 10 transmits a start control packet containing reception status information of the ACL (Asynchronous Connection-Less) data received from the source device 1 to the earbud slave 20, and the earbud slave 20
  • the earbud slave 20 may receive a reply control packet including reception status information of the snooped ACL data.
  • the earbud master 10 may determine whether to relay data based on data reception status information received from the earbud slave 20.
  • the earbud master 10 determines whether a data relay operation is necessary by comparing the ACL data received from the source device 1 and the ACL data received by the earbud slave 20 through a reply control packet. You can.
  • the earbud master 10 can selectively control the earbud slave 20 to perform data relay based on the data relay decision.
  • the earbud master 10 may transmit a TWS Relay Packet to the earbud slave 20 so that the earbud slave 20 performs data relay.
  • the earbud master 10 may transmit a relay packet carrying data that the earbud slave 20 failed to snoop in the ACL data buffer to the earbud slave 20.
  • the TWS relay packet may include a payload of a packet that the earbud slave 20 failed to snoop on.
  • the TWS relay packet may consist of a payload received by the earbud master 10 from the source device 1.
  • the earbud slave 20 When the earbud slave 20 receives a TWS relay packet, it may transmit a null packet in response, and the null packet may include an ACK message.
  • the earbud master 10 transmits all TWS relay packets that need to be data relayed, and when an ACK message is received in response, a TWS End Packet can be generated and transmitted to the earbud slave 20. there is. That is, the earbud master 10 may transmit an end packet to the earbud slave 20 when the data relay operation is not necessary or when the data relay operation is completed.
  • the earbud master 10 selectively performs data relay only for data that the earbud slave 20 could not snoop, thereby improving delay time and data relay operation compared to the method in which data is relayed from the source device 1. can be minimized, which has the advantage of minimizing battery consumption.
  • the earbud master 10 when there is data that fails to snoop in the earbud slave 20, the earbud master 10 can transmit a relay packet to the earbud slave 20 to perform a data relay operation. Additionally, a control link for transmitting and receiving relay packets can be formed between the earbud master 10 and the earbud slave 20.
  • the control link may be a TWS Control Link.
  • the TWS Control Link can apply its own operation protocol and its own access code generation method to the TWS Control/Relay Packet, and the security of the TWS Control Link operation between earbuds can be strengthened.
  • FIG. 2 is a diagram illustrating an example of a TWS Control/Relay Packet format transmitted and received between earbuds in a wireless earbud system according to an embodiment of the present disclosure.
  • the wireless earbud system creates a TWS control link between earbuds according to its own protocol method proposed in the present disclosure, and TWS Control for exchanging TWS control information between earbuds in the generated TWS control link. /Relay packets can be sent and received.
  • the TWS control link may be its own control link for exchanging TWS control packets and TWS relay packets between earbuds.
  • a TWS control packet can be defined to exchange control information for controlling the data reception status from the source device 1 and the snooping link of the earbud slave 20.
  • the format of the TWS control packet is described in detail as follows.
  • the Sync Word generation method of the Access Code does not follow the Bluetooth standard, but can be created using our own method.
  • the TWS Control Link control operation is performed according to the protocol method defined by the controller.
  • TWS control packet transmission and reception operations can be achieved by quickly processing TWS control packet transmission and reception operations and subsequent TWS control link control operations in the controller.
  • the DATA Field of the payload consists of information defined for each TWS Control Packet so that the TWS control link can be controlled according to the self-defined protocol.
  • the format of the TWS relay packet is described in detail as follows.
  • the payload part consists of the same information as the payload of the ACL data packet that the earbud master (10) received from the source device (1) for the ACL data packet that failed to snoop in the earbud slave (20).
  • the Sync Word creation method can be as follows.
  • FIG. 3 is a diagram illustrating the payload format of a TWS Initial Control Packet according to an embodiment of the present disclosure.
  • the TWS initial control packet may represent the TWS control packet first transmitted from the earbud master 10 to the earbud slave 20.
  • the TWS initial control packet may include ACL link information and timing information between the earbud master 10 and the source device 1 for the earbud slave 20 to snoop on the source device 1.
  • the payload format of the TWS Initial Control Packet may be as shown in FIG. 3. That is, the payload of the TWS initial control packet has a header LLID of ‘0’ and may include a control packet type and snooping link information. At this time, the snooping link information may include the following information.
  • Figure 4 is a diagram illustrating the payload format of a TWS Start Control Packet according to an embodiment of the present disclosure.
  • the TWS start control packet may represent a TWS control packet transmitted from the earbud master 10 to the earbud slave 20 after the TWS initial control packet.
  • the TWS start control packet may be a packet that transfers ACL data reception status information received from the source device 1 by the earbud master 10 to the earbud slave 20.
  • the payload format of the TWS Start Control Packet may be as shown in FIG. 4. That is, the payload header LLID of the TWS start control packet is ‘0’ and may include control packet type, relay information, and snooping link information. At this time, the relay information may include the following information.
  • the snooping link information may include the following information.
  • RxSeqN, RxArqN, Rx Payload Counter Parameters that the earbud slave (20) should use when receiving ACL data from the next Snoop Link.
  • FIG. 5 is a diagram illustrating the payload format of a TWS Reply Control Packet according to an embodiment of the present disclosure.
  • the TWS reply control packet may be a packet that transmits reception status information of the ACL data snooped by the earbud slave 20 from the source device 1 to the earbud master 10.
  • the payload format of the TWS Reply Control Packet may be as shown in FIG. 5. That is, the payload header LLID of the TWS reply control packet is ‘0’ and may include control packet type and relay information. At this time, the relay information may include the following information.
  • Figure 6 is a diagram illustrating the payload format of a TWS End Control Packet according to an embodiment of the present disclosure.
  • the TWS end control packet may be a packet in which the earbud master 10 transmits to the earbud slave 20 that data relay is not necessary or that the data relay operation has been completed.
  • the payload format of the TWS end control packet may be as shown in FIG. 6. That is, the payload header LLID of the TWS end control packet is ‘0’ and may include control packet type and session end information. At this time, session end information may include the following information.
  • the TWS relay packet is a packet transmitted from the earbud master 10 to the earbud slave 20 to perform a selective data relay operation for data that the earbud slave 20 failed to snoop on. You can.
  • the earbud master 10 configures the earbud slave ( It can be determined whether the data relay operation of 20) is necessary.
  • the earbud master 10 has a first case in which the SEQ_NUM of the earbud slave 20 is greater than or equal to the SEQ_NUM of the earbud master 10 and the PKT_NUM of the earbud slave 20 is greater than the PKT_NUM of the earbud master 10. If all of the second cases of being greater than or equal to each other are satisfied, it can be determined that data relay operation is not necessary. Meanwhile, the earbud master 10 may determine that a data relay operation is necessary if either of the first and second cases described above is not satisfied.
  • the earbud master 10 determines that a data relay operation is necessary, the earbud master 10 contains data that the earbud slave 20 could not snoop in the reception ACL data buffer (ACL Data Buffer) stored in the earbud master 10. It can be transmitted to the earbud slave 20 through a TWS relay packet. The earbud slave 20 can perform a selective data relay operation using TWS relay packets.
  • ACL data buffer ACL Data Buffer
  • the wireless earbud system can selectively perform data relay.
  • the earbud master 10 performs an ACL link operation to receive ACL data packets transmitted from the source device 1 during a predetermined period, and the earbud slave 20 performs an ACL link operation. While performing the snooping link operation to receive the ACL data packet, the earbud master 10 and the earbud slave 20 can switch the TWS control link operation when they complete the reception operation for the ACL data packet. .
  • FIG. 7 is a flowchart illustrating an operation method of a wireless earbud system according to an embodiment of the present disclosure when data relay is not required.
  • a TWS control link can be formed between the earbud master and earbud slave. That is, a TWS control link can be formed between the earbud master 10 and the earbud slave 20.
  • the earbud slave 20 After forming the TWS control link, the earbud slave 20 receives the TWS initial control packet and receives the snooping link parameters required for configuring the snooping link from the earbud master 10 through the TWS initial control packet. It can be delivered. The earbud slave 20 can perform a snooping link setup procedure through the snooping link parameter. Accordingly, the earbud slave 20 can form a snooping link.
  • the earbud master 10 and the earbud slave 20 may attempt to receive the ACL data packet transmitted from the source device 1 for a predetermined period.
  • the earbud master 10 feeds back the ACK/NACK result to the source device 1 in response to success/failure in receiving the ACL data packet, and sends the ACL data packet to configure relay information transmitted in the TWS start control packet.
  • the reception status information of can be updated.
  • the earbud slave 20 performs a snooping operation on the ACL data packet from the source device 1 and updates the reception status information of the ACL data packet to configure relay information transmitted in the TWS reply control packet. can do.
  • the earbud master 10 and the earbud slave 20 When the earbud master 10 and the earbud slave 20 complete the reception operation for the ACL data packet transmitted from the source device 1 for a predetermined period, they can switch to the TWS control link operation.
  • the earbud master 10 may generate payload information of a TWS start control packet and transmit the packet to the earbud slave 20.
  • the earbud slave 20 generates the payload information of the TWS reply control packet and sends the TWS reply control packet to the earbud master 10 in response to receiving the TWS start control packet from the earbud master 10. Can be transmitted.
  • the earbud slave 20 can update Rx parameters (ARQN, SEQN, Payload counter, AFH Channel Map) information for reception operation of the next snooping link according to the snooping information of the received TWS start control packet.
  • Rx parameters ARQN, SEQN, Payload counter, AFH Channel Map
  • the earbud master (10) receives the TWS reply control packet transmitted from the earbud slave (20) and, based on the relay information of the payload, can determine whether there is data in which the earbud slave (20) failed to snoop. there is.
  • the earbud master 10 may determine that data relay is not needed if there is no data that failed snooping, and may determine that data relay is needed if there is data that failed to snoop.
  • the earbud master 10 determines that data relay is not necessary, generates a payload of a TWS end control packet to transmit it, and transmits the generated packet to the earbud slave 20.
  • the earbud slave 20 receives the TWS end control packet, determines that data relay operation is not necessary based on the no data relay information (No Data Relay Action Flag information) among the payload information of the packet, and executes the source device. It is possible to switch to snooping link operation to receive ACL data packets from (1).
  • the earbud master 10 When the earbud master 10 receives a null packet (including ACK) in response to the transmitted TWS end control packet, it terminates the TWS control link operation and sets the ACL to receive the ACL data packet from the source device 1. You can switch to link operation.
  • a null packet including ACK
  • Figures 8 and 9 are flowcharts showing an operation method when data relay of a wireless earbud system is required according to an embodiment of the present disclosure.
  • a TWS control link can be formed between the earbud master and earbud slave.
  • the earbud slave 20 After forming a TWS control link, the earbud slave 20 receives a TWS initial control packet, and can receive snooping link parameters necessary for configuring a snooping link from the earbud master 10 through the TWS initial control packet.
  • the earbud slave 20 can perform a snooping link setting procedure through the snooping link parameter. Accordingly, the earbud slave 20 can form a snooping link.
  • the earbud master 10 and the earbud slave 20 may attempt to receive the ACL data packet transmitted from the source device 1 for a predetermined period.
  • the earbud master 10 feeds back the ACK/NACK result to the source device 1 for success/failure in receiving the ACL data packet, and configures relay information transmitted in the TWS start control packet.
  • the reception status information of ACL data packets can be updated.
  • the earbud slave 20 performs a snooping operation on the ACL data packet from the source device 1 and updates the reception status information of the ACL data packet to configure relay information transmitted in the TWS reply control packet. can do.
  • the earbud master 10 and the earbud slave 20 When the earbud master 10 and the earbud slave 20 complete the reception operation for the ACL data packet transmitted from the source device 1 for a predetermined period, they can switch to the TWS control link operation.
  • the earbud master 10 may generate payload information of a TWS start control packet and transmit the packet to the earbud slave 20.
  • the earbud slave 20 generates the payload information of the TWS reply control packet and sends the TWS reply control packet to the earbud master 10 in response to receiving the TWS start control packet from the earbud master 10. Can be transmitted.
  • the earbud slave 20 may update Rx parameters (ARQN, SEQN, Payload counter, and AFH Channel Map) information for reception operation of the next snooping link according to the snooping information of the received TWS start control packet.
  • Rx parameters ARQN, SEQN, Payload counter, and AFH Channel Map
  • the earbud master (10) receives the TWS reply control packet transmitted from the earbud slave (20) and, based on the relay information of the payload, can determine whether there is data in which the earbud slave (20) failed to snoop. there is.
  • the earbud master 10 can determine whether a data relay operation is necessary based on the relay information it possesses and the relay information transmitted by the earbud slave 20.
  • the earbud master 10 may determine whether there is data in which the earbud slave 20 failed to snoop based on the relay information it possesses and the relay information transmitted by the earbud slave 20.
  • the earbud master 10 may determine that data relay is not needed if there is no data that failed snooping, and may determine that data relay is needed if there is data that failed to snoop.
  • the earbud master 10 determines that data relay is necessary because the earbud slave 20 has data that failed to snoop.
  • the earbud master 10 determines that data relay is necessary and may transmit the snooping failed packet payload to the earbud slave 20 in a TWS relay packet.
  • the earbud slave 20 may perform data relay based on the received TWS relay packet.
  • the earbud slave 20 may transmit a null packet (including ACK) to the earbud master 10 in response to the received TWS relay packet.
  • the earbud master 10 After completing transmission of all TWS relay packets to be data relayed and receiving ACK in response, the earbud master 10 generates a payload of a TWS end control packet and transmits the generated packet to the earbud slave 20. You can.
  • the earbud slave 20 When the earbud slave 20 receives the TWS end control packet, it can recognize that the data relay operation is no longer necessary and switch to the snooping link operation to receive the ACL data packet from the source device 1.
  • the earbud master 10 When the earbud master 10 receives a null packet (including ACK) in response to the transmitted TWS end control packet, it terminates the TWS control link operation and establishes an ACL link for receiving the ACL data packet from the source device 1. It can be converted into action.
  • a null packet including ACK
  • FIG. 10 is a control block diagram of an earbud slave device according to an embodiment of the present disclosure
  • FIG. 11 is a control block diagram of an earbud slave device according to an embodiment of the present disclosure. This is a flowchart showing how the device operates by determining duplicate reception of ACL data packets.
  • the earbud slave As shown in FIG. 10, the earbud slave according to an embodiment of the present disclosure, that is, the earbud slave 20, includes a controller 21, a first media data determination unit 22, an upper layer transmission determination unit 23, It may include at least part or all of the duplicate reception determination unit 24 and the flush reordering buffer determination unit 25.
  • the controller 21 can control each of the first media data determination unit 22, the upper layer transmission determination unit 23, the duplicate reception determination unit 24, and the flush reordering buffer determination unit 25.
  • the first media data determination unit 22 may determine whether the received media data is the first data.
  • the media data may be an ACL data packet, but is not limited thereto.
  • the first media data determination unit 22 may transfer the received media data to the upper layer transmission determination unit 23 and wait for the next media data. On the other hand, if the first media data determination unit 22 determines that the received media data is not the first data, it may transfer the received media data to the duplicate reception determination unit 24.
  • the duplicate reception determination unit 24 may discard the received media data. . Meanwhile, if the duplicate reception determination unit 24 determines that the received media data is not duplicate reception data, it may transfer the received media data to the upper layer transmission determination unit 23.
  • the upper layer transmission determination unit 23 transmits the media data to the upper layer and sets the value of the expected sequence number to ' 1' can be increased.
  • the upper layer transmission determination unit 23 may transfer the corresponding layer to the flush reordering buffer determination unit 25.
  • the flush reordering buffer determination unit 25 may determine whether to perform a flush of the reordering buffer.
  • the flush reordering buffer determination unit 25 may determine whether to delete data stored in the reordering buffer.
  • the flush reordering buffer determination unit 25 may determine whether the sequence number of the received media data matches all expected sequence numbers in the reordering buffer. The flush reordering buffer determination unit 25 determines that the sequence number of the received media data does not match all expected sequence numbers in the reordering buffer, and the sequence number of the received media data is the maximum value of all expected sequence numbers in the reordering buffer. If it is greater than this, all data in the reordering buffer can be transmitted to the upper layer, and the value of all expected sequence numbers in the reordering buffer can be increased by '1'. The flush reordering buffer determination unit 25 may store the received media data in the reordering buffer if the sequence number of the received media data matches at least one expected sequence number in the reordering buffer.
  • Figure 12 is a flowchart showing the process of forming a TWS control link between an earbud master and an earbud slave according to an embodiment of the present disclosure.
  • a method of establishing a TWS control link between the earbud master 10, which is the earbud master, and the earbud slave 20, which is the earbud slave, will be described.
  • the earbud master 10 can wait for a response from the earbud slave 20 through the HCI_Inquiry command after the device initialization process.
  • the earbud slave 20 can enter the inquiry scan mode of the earbud master 10 through the HCI_Write_Scan_Enable command after device initialization.
  • inquiry scan mode inquiry and page scan can be enabled. In other words, you can enter page scan mode immediately after the inquiry procedure.
  • An inquiry procedure is conducted between the earbud master (10) and the earbud slave (20), and the earbud master (10), which has received an inquiry response from the earbud slave (20), can attempt an ACL connection through the HCI_Create_Connect command. This may be the earbud master page scan mode.
  • a paging procedure is performed between the earbud master (10) and the earbud slave (20), and the earbud slave (20) sends a Connection Accept, which is received by the earbud master (10).
  • TWS control link setup can be completed between the earbud master 10 and the earbud slave 20.
  • the earbud master 10 can enter the inquiry scan mode through the HCI_Write_Scan_Enable command for ACL connection with the source device 1, such as a smart phone.
  • FIG. 13 and 14 are flowcharts showing a method of connecting and exchanging information between earbuds according to an embodiment of the present disclosure.
  • the earbud master 10 may establish a TWS Snoop Link that allows the earbud slave 20 to receive ACL data transmitted from the source device 1.
  • the earbud master that is, the earbud master 10
  • HCI_Snoop_Ready (New) Event is transmitted to the host of the earbud master (10), creating a snooping link to the earbud slave (20). You can notify that settings are possible.
  • HCI_Snoop_Ready (New) Event may include controller information of the earbud master 10 for setting up the snooping link.
  • the host of the earbud master 10 can transmit snooping controller information through a TWS control link with the previously established earbud slave 20.
  • the host of the earbud slave 20 can transmit the received snooping controller information to the controller of the earbud slave 20 through the HCI_Snoop_Configure (New) command.
  • the controller of the earbud slave 20 sets the received snooping controller information and completes the initial synchronization procedure, and then sends a snoop controller link (Snoop Controller Link) to the host of the earbud slave 20 through HCI_Snoop_Configure_Complete Event. ) You can notify that the settings have been completed.
  • the host of the earbud slave 20 may convey to the host of the earbud master 10 that snooping controller configuration (Snoop Controller Configure) has been completed.
  • the host of the earbud master 10 can save the host configuration information of the source device 1 and the earbud master 10 set so far and transmit it to the host of the earbud slave 20.
  • the host of the earbud slave 20 applies the host configuration information of the source device 1 and the first sink device 1 and transmits Snoop Host Complete to the earbud master 10.
  • the earbud slave 20 can receive data sent by the source device 1 through a snooping link.
  • FIG. 15 is a flow chart illustrating a method of normally transmitting and receiving data using heterogeneous link technology in a wireless earbud system according to an embodiment of the present disclosure
  • FIG. 16 is a diagram illustrating data transmission/reception and ACK timing diagram according to FIG. 15. am.
  • the earbud master 10 can communicate with the source device 1 via Bluetooth, and the earbud master 10 can communicate with the earbud slave 20 via Bluetooth.
  • Figures 15 and 16 show a case where UWB (Ultra Wide Band) rather than Bluetooth is used for the TWS control link.
  • the earbud master 10 can communicate with the source device 1 via Bluetooth, and the earbud master 10 can communicate with the earbud slave 20 via UWB.
  • UWB Ultra Wide Band
  • the earbud master 10 transmits a message about the success/failure of receiving ACL data to the source device 1 through Bluetooth communication, while simultaneously receiving a message about the success/failure of snooping of the earbud slave 20 from the earbud slave 20. You can receive messages.
  • L1 link Data and Ack transmitted using Bluetooth are indicated as L1 link, and the TWS Control Link created between the earbud master (10) and the earbud slave (20) using UWB, a heterogeneous link technology. ) is denoted as L2 link.
  • the L3 link may be a link that snoops data from the source device 1.
  • the earbud master (10) When both the earbud master (10) and the earbud slave (20) normally receive data from the source device (1), the earbud master (10) connects to the source device (10) through the L1 link, which is a Bluetooth data link. At the same time as transmitting the ACK to 1), the earbud slave 20 can notify the earbud master 10 of normal reception of Data#N through the L2 link, which is the TWS Control Link.
  • FIG. 17 is a flowchart showing a case where only the earbud master fails to receive data when using heterogeneous link technology in a wireless earbud system according to an embodiment of the present disclosure
  • FIG. 18 is a data transmission/reception and ACK timing diagram according to FIG. 17. This is a drawing showing.
  • the earbud master 10 cannot receive data from the source device 1, and only the earbud slave 20 can succeed in snooping on data transmitted from the source device 1. In this case, the earbud master 10 can retransmit data from the source device 1 through a Bluetooth retransmission procedure. If the earbud slave 20 succeeds in snooping on data retransmitted from the source device 1, it can ignore the data.
  • FIG. 19 is a flowchart showing a case where only the earbud slave fails to receive data when using heterogeneous link technology in a wireless earbud system according to an embodiment of the present disclosure
  • FIG. 20 is a data transmission/reception and ACK timing diagram according to FIG. 19 This is a drawing showing.
  • the earbud master 10 may receive data, and only the earbud slave 20 may not receive data. In this case, the earbud slave 20 may transmit a NACK message to the earbud master 10 through the L2 link.
  • the earbud master 10 notifies the source device 1 of normal reception of its data through the L1 link and simultaneously performs data retransmission, i.e. relay, based on the NACK information of the earbud slave 20 received through the L2 link. can do. At this time, the number of relay attempts can be adjusted by setting the retransmission time allowed.
  • FIG. 21 is a flowchart showing a case where both the earbud master 10 and the earbud slave 20 fail to receive data when using heterogeneous link technology in a wireless earbud system according to an embodiment of the present disclosure
  • FIG. 22 is a diagram showing the data transmission/reception and ACK timing diagram according to FIG. 21.
  • the earbud master (10) transmits a NACK message to the source device (1) through the L1 link and simultaneously through the L2 link.
  • a NACK message may be received from the second sink device 20. Therefore, in this case, when both the earbud master 10 and the earbud slave 20 do not receive data, the earbud master 10 also fails to receive data, so relay is not performed and the source device ( Data can be recovered by retransmitting data according to 1).
  • the wireless earbud system can selectively perform data relay.
  • a playback time synchronization method in an earbud system with a snooping and retransmission (or relay) structure that is, a method for setting and transmitting and receiving synchronization information between earbud master/slave, and a method for transmitting and receiving synchronization information between earbud master/slave (not between source device/earbud master).
  • Use of network time, playback time setting considering retransmission section, retransmission section entry/exit control, packet-based information sharing method, synchronization information setting, processing method for previous packets, time due to clock drift due to long-term operation Error handling measures, etc. are explained.
  • time synchronization may refer to allowing the earbud master and earbud slave 20, which constitute the wireless earbud system, to reproduce data received at the same time using the snooping method according to the present disclosure.
  • FIG. 23 is a diagram illustrating a synchronization error in a wireless earbud system according to an embodiment of the present disclosure.
  • a relay or snooping method is used to connect the source device 1 (e.g., audio source), the earbud master 10, and the earbud slave 20, that is, two earbuds.
  • the source device 1 e.g., audio source
  • the earbud master 10 e.g., the earbud master 10
  • the earbud slave 20 that is, two earbuds.
  • a unique snooping method that is, the controller's selective relay technology, can be used.
  • the earbud master 10 rather than the source device (SRC) 1, selectively retransmits data to the earbud slave 20.
  • the earbud master 10 A difference occurs in the reception processing time for audio data (data packets) that should be played at the same time in the earbud slave 20 and the earbud slave 20, resulting in audio playback between the earbud master 10 and the earbud slave 20.
  • Sync error problems may occur.
  • a clock drift phenomenon may occur between the source device 1 and the earbud master 10 (and the earbud slave 20) due to the use of individual clocks. Clock drift can also be a cause of audio sync errors, and a solution is needed.
  • the earbud slave 20 snoops on communication between the source device 1 and the earbud master 10. Meanwhile, the earbud slave 20 can transmit ACK information to the earbud master 10 in the TWS control section of the controller.
  • the earbud master 10 can relay packets, that is, retransmit packets missed by the earbud slave 20, based on the statistics of the earbud slave 20. Since the controller exchanges retransmission information, the time error due to retransmission may not be large.
  • synchronization that is, synchronization
  • the possibility of clock drift occurring as described above needs to be considered even during long-term operation.
  • the present disclosure can use control packets exchanged in the retransmission section between the earbud master and the earbud slave for the above-mentioned synchronization and processing of the occurrence of clock drift.
  • the playback time of each data packet received from the source device 1 may be determined by the earbud master 10. If the earbud slave 20 cannot know the playback time of a received packet, it is preferable not to play it. However, defining and transmitting a playback time for each data packet may be inefficient in terms of system efficiency.
  • the maximum retransmission time and subsequent audio processing time can be considered, not the time when the data packet is received. there is.
  • FIG. 24 is a diagram illustrating the payload format of a TWS End Control Packet according to another embodiment of the present disclosure.
  • a wireless earbud includes an earbud master 10 that receives audio data from the source device 1 and snoops on audio data transmitted from the source device 1. It may be configured to include an earbud slave 20.
  • the earbud master 10 may transmit synchronization information related to playback (eg, playback time) of a data packet to the earbud slave 20.
  • the earbud master 10 may include sync information in a control packet transmitted to the earbud slave 20.
  • the control packet may be a TWS end control packet.
  • the present disclosure is not limited to this.
  • the earbud master 10 may include sync information in a packet other than the TWS end control packet and transmit it to the earbud slave 20, or generate a separate packet including sync information to transmit the sync information to the earbud slave 20. ) can also be sent.
  • Figure 24 (a) or Figure 24 (b) shows another embodiment of a TWS end control packet including sync information.
  • the TWS end control packet shown in (a) or (b) of FIG. 24 further included sync information. Therefore, in describing the TWS end control packet shown in Figures 24 (a) to 24 (b), the content already described in Figure 6 refers to the corresponding description, and redundant description is omitted here.
  • the TWS end control packet shown in (a) of FIG. 24 includes sync information, and the sync information may include the following information.
  • DataSN Data Packet Sequence Number
  • Playback Time (32bit): Can indicate the point in time when data packets are actually played. At this time, the actual playback time can use the network time applied between the earbud master (10) and the earbud slave (20).
  • Sync information may be configured to include information on a data packet sequence number (DataSN) and playback time (T playback , playback time), as shown in (a) of FIG. 24.
  • DataSN data packet sequence number
  • T playback playback time
  • Data packet sequence number information may indicate the reference sequence number of a data packet to which sync information is applied.
  • the reference sequence of the data packet to which sync information is applied may be the first sequence of the data packet to which sync information is applied, but is not necessarily limited thereto.
  • Playback time information may indicate the point in time at which the reference sequence of the data packet is actually played. Playback time information (T playback ) may be defined using network time applied between the earbud master 10 and the earbud slave 20.
  • sync information may be defined in the earbud master 10 by considering a retransmission section due to snooping failure of the earbud slave 20.
  • FIG. 25 is a control block diagram of an earbud master 10 device according to an embodiment of the present disclosure
  • FIG. 26 is a control block diagram of an earbud slave 20 device according to an embodiment of the present disclosure.
  • the earbud master 10 includes a controller 11, a playback time determination unit 12, a sync information generation unit 13, and a clock comparison determination unit 15. and a clock drift correction processing unit 17.
  • the controller 11 can control the operations of each of the playback timing determination unit 12, sync information generation unit 13, clock comparison determination unit 15, and clock drift correction processing unit 17.
  • the playback time determination unit 12 may determine the playback time of a received data packet.
  • the received data packet may indicate the standard sequence number of the data packet to which sync information is applied, that is, DataSN shown in (a) of FIG. 24, but is not limited thereto.
  • the playback time is a time defined using the network time applied between the earbud master 10 and the earbud slave 20, and may represent T playback shown in (a) of FIG. 24.
  • the sync information generator 13 may generate sync information for information about the playback time of the data packet determined by the playback time determination unit 12.
  • the clock comparison determination unit 15 uses the Bluetooth TM Modem Clock applied between the source device 1 and the controller of the earbud master 10 to determine whether clock drift occurs due to long-term operation. By extracting and comparing the clock information used in , it is possible to determine whether clock drift has occurred.
  • the clock drift correction processing unit 17 may perform an operation for time correction according to the generated clock drift.
  • the earbud slave 20 includes a controller 21, a sync information extractor 26, a playback time calculation unit 27, and a packet processing determination unit 28. and a clock drift correction processing unit 29.
  • the controller 21 can control the operations of each of the sync information extraction unit 26, the playback time calculation unit 27, the packet processing determination unit 28, and the clock drift correction processing unit 29.
  • the sync information extraction unit 26 may extract the sync information field from the TWS control end packet received from the earbud master 10 and extract the sync information by parsing the sync information field. At this time, the extracted sync information may include the sync information shown in FIG. 24 (a) or FIG. 24 (b).
  • the playback time calculation unit 27 may calculate the playback time of the earbud slave 20 that matches the playback sync of the earbud master 10 based on the sync information extracted from the sync information extractor 26.
  • the packet processing determination unit 28 is based on the packet playback time of the earbud slave 20 calculated by the playback time calculation unit 27, and determines a processing method for packets received before the packet playback time and missing packets. You can make judgments and act accordingly. For example, in the former case, as will be described later, packets received from the earbud slave 20 before the playback time are ignored (ignore or discard) so that they are not played, and in the latter case, as described later, the packets received from the earbud slave 20 are ignored or discarded at the time of playback, as described later. If the packet to be played in (20) is missing, it can be silenced.
  • the clock drift correction processing unit 29 may perform an operation for time correction according to the generated clock drift.
  • a method of operating a wireless earbud includes receiving audio data from a source device 1 in the earbud master 10 and receiving audio data from the source device 1 in the earbud slave 20. This may include snooping on audio data transmitted from the device 1 to the earbud master 10 and transmitting sync information related to data packet playback from the earbud master 10 to the earbud slave 20. there is.
  • Figure 27 is a flowchart showing an operation method when data relay of the wireless earbud system according to an embodiment of the present disclosure is not required.
  • the earbud master 10 transmits a TWS end control packet to the earbud slave 20.
  • the TWS end control packet may include sync information, as shown in (a) of FIG. 24.
  • the sync information may include information about the data packet to be played later (Data#N) and information on the playback time of the data packet (T playback ).
  • the playback time can be calculated as Equation 1 below.
  • the time information used in Equations 1 and 2, which will be described later, can be used based on the network time applied by connecting the earbud master 10/slave 20.
  • T tws_end_control can use a slot boundary that transmits the corresponding control message.
  • T Delay may be the total time required for data processing.
  • the playback time (T playback ) can be calculated by considering the delay (T Delay ) at the time when the TWS end control packet is transmitted (T TWS_End_Control ).
  • the delay (T Delay ) may represent, for example, a delay time according to the performance of at least one operation among hardware decoding (HW Decoding), software processing (SW Processing), and audio decoding time (Audio Decoding Time).
  • the earbud master 10 can play Data#N at the T playback time.
  • the playback time of the data packet after Data#N can be calculated using Equation 2 below.
  • the playback time (T playback_Data(N+K) ) of any data packet (e.g., kth) after Data#N is based on the playback time (T playback ) of Data#N. It may be the length of one data packet plus the time corresponding to it. At this time, K is an arbitrary value and may be a natural number. Therefore, the playback time of any Kth data packet, that is, T playback_Data(N+K) , can be determined by adding the playback time of the first data packet (T playback ) by multiplying k by the length of each data packet. there is.
  • T playback T tws_end_control + T
  • Delay information can be extracted through sync information.
  • the earbud master 10 may include only the playback time information (T playback ) of the first data packet calculated by Equation 1 in the sync information and transmit it to the earbud slave 20.
  • the earbud slave 20 extracts the playback time information (T playback ) of the first data packet from the sync information, and through Equation 2, the playback time of the remaining data packets is divided into the playback time information of the extracted first data packet. It can be calculated based on
  • the earbud master 10 includes playback time information (T playback ) of the first data packet calculated by Equation 1 and playback time information (T playback_Data ) of any data packet calculated by Equation 2. (N+K) ) can be included in the sync information and transmitted to the earbud slave 20.
  • the earbud slave 20 extracts the playback time information (T playback ) of the first data packet from the sync information, calculates the playback time of any data packet through Equation 2, and then plays the playback time included in the sync information.
  • T playback_Data(N+K) By comparing the playback time information (T playback_Data(N+K) ) of a random data packet, it is possible to prevent synchronization from occurring in the middle.
  • the earbud slave 20 may also perform verification of sync information through the above-described comparison. For example, as a result of the above-described comparison, the earbud slave 20 determines that the reliability of the sync information transmitted from the earbud master 10 is low if the playback times of certain data packets do not match, and retransmits. You can request.
  • the earbud slave 20 may ignore or discard the data packets received before the playback time of Data#N and stored in the buffer without playing them. there is.
  • the earbud master 10 controls a separate TWS that includes sync information (packet sequence number and playback time) for any packet to be played at any time (not indicating the playback time). It can be generated as a packet and transmitted to the earbud slave 20.
  • the earbud master 10 can synchronize playback with the earbud slave 20 by transmitting TWS control packets in specific units.
  • the specific unit may be at least one of, for example, a song unit, a program unit, or a time unit.
  • a specific unit may represent a section in which data packets are continuously received from the source device 1. In this case, if a data packet is not received from the source device 1 and is received again, a TWS control packet can be transmitted to synchronize. Accordingly, when the TWS control packet is transmitted from the earbud master 10 to the earbud slave 20, the above-described process can be re-performed.
  • Figure 27 can be viewed as a case where the earbud slave 20 successfully receives the ACL data packet retransmitted from the earbud master 10 (RX OK).
  • the earbud master 10 can update the Sync Info Database based on the first packet successfully received (Data #N, None).
  • the earbud master 10 can determine the playback time (Tplay_back) of each packet based on that time point.
  • the earbud master 10 can transmit (Data#N, T play_back ) information as sync information in the TWS end control packet.
  • the earbud master 10 can play each data packet at its playback time.
  • the earbud slave 20 can snoop the data packet and then place it pending in the buffer.
  • the earbud slave 20 when the earbud slave 20 receives sync information in the TWS end control packet, it can calculate the playback time based on the sync information and play it.
  • FIG. 28 is a flowchart illustrating an operation method for initial clock synchronization of a wireless earbud system according to another embodiment of the present disclosure.
  • FIG. 27 is a description of the processing method when the earbud slave 20 succeeds in receiving the ACL data packet retransmitted from the earbud master 10 (RX OK), but FIG. 28 shows the earbud slave 20 This may be an explanation of the processing method when reception of the ACL data packet retransmitted from the earbud master 10 fails (RX NOK).
  • FIG. 28 the description of the parts overlapping with the above-described FIG. 27 is used, and the overlapping description can be omitted here.
  • the earbud slave 20 can snoop the data packet and then place it pending in the buffer.
  • the earbud slave 20 extracts sync information from the TWS end control packet transmitted from the earbud master 10, calculates the playback time through the above-mentioned equation 1, and generates a data packet (Data#N) from that time. You can play.
  • the earbud slave 20 does not receive a packet (e.g., Data#N) corresponding to sync information (RX NOK), the packet is silenced ( silent) can be processed. However, regarding the playback time of the subsequent packets, the earbud slave 20 calculates the playback time of an arbitrary packet (for example, Data #N+1) through the above-mentioned equation 2 and plays the corresponding packet at the playback time. This can be processed so that the playback sync with the earbud master 10 is not out of sync.
  • a packet e.g., Data#N
  • RX NOK sync information
  • the earbud slave 20 discards data packets with a sequence number earlier than the reference sequence number of the data packet to which sync information is applied. can do. If a data packet corresponding to sync information is not received, the earbud slave 20 may silence the packet.
  • Figure 29 is a flowchart showing an operation method for clock fine tuning of a wireless earbud system according to an embodiment of the present disclosure.
  • this disclosure describes the packet retransmission process between earbuds used in the Bluetooth snooping process and a processing method for reducing playback time errors between earbuds that may occur due to clock drift.
  • the earbud master 10 determines whether a difference occurs between the Bluetooth TM Modem Clock applied between the source device 1 and the clock used by the controller of the earbud master 10, and whether a difference occurs. Then, the amount of change can be determined to determine whether clock drift has occurred. The earbud master 10 performs a correction operation when clock drift occurs, but can finely adjust the amount of change in the difference between clocks, for example, on an audio sample basis.
  • the earbud master 10 may use sync information.
  • sync information may be included in the TWS control packet.
  • the TWS control packet may be a TWS end control packet as shown in (b) of FIG. 24.
  • sync information may further include the following information in addition to the sync information defined in (a) of FIG. 24.
  • Sample Control Can display information for adding or deleting samples.
  • sample disclosed in this disclosure may be used based on sample data of PCM (Pulse-code modulation) data, but is not necessarily limited thereto.
  • sample control information may be included in the TWS end control packet shown in (b) of FIG. 24 and may be used for the clock drift described above.
  • Time error processing due to clock drift in the earbud may be performed as follows.
  • the earbud master 10 can determine whether clock drift has occurred by monitoring the error between the clock of the Bluetooth modem and the clock of the controller. At this time, monitoring may be performed periodically or aperiodically at any time. Monitoring may be performed, for example, based on TWS control packets exchanged between the earbud master 10 and the earbud slave 20. For example, the earbud master 10 can perform clock monitoring by transmitting a TWS control packet to the earbud slave 20 a predetermined number of times (every m times, where m is a natural number).
  • the earbud master 10 can share clock drift-related information with the earbud slave 20 using control packets transmitted and received in the retransmission section, correct it, and process the resulting time error. This may be to prevent playback synchronization from being distorted due to correction when correction is performed only in the earbud master (100) or the earbud slave (20).
  • the first sink device compares the network time applied between the source device 1 and the clock of the controller, and if the difference is more than a threshold, the first sink device compares the network time applied between the source device 1 and the clock of the controller.
  • a correction operation is performed based on sample control information, where the threshold is determined based on an audio sample of PCM data, and the sample control information is determined when the clock of the controller is faster than the network time. It may include control information for duplicating at least one sample from the PCM data, and may include control information for deleting at least one sample from the PCM data if the clock of the controller is slow compared to the network time.
  • the earbud master 10 can monitor the difference (clock_err) between the Bluetooth modem clock and the controller's clock. At this time, monitoring may be performed periodically/non-periodically by the earbud master 10.
  • the earbud master (10) determines that a clock drift phenomenon has occurred between the source device (1) and the earbud master (10) if the difference (clock_err) between the two clocks is greater than a predefined threshold (threshold). You can. Accordingly, the earbud master 10 can perform a correction operation to resolve the determined clock drift phenomenon. At this time, the correction operation may refer to the sample control information in the sync information shown in (b) of FIG. 24.
  • the earbud master 10 determines whether clock drift occurs based on a threshold, and the threshold may be predefined based on audio decoded PCM data.
  • the threshold can be defined based on the sample unit of PCM data. According to an embodiment of the present disclosure, the threshold may be defined as 1 sample, but is not necessarily limited thereto. Accordingly, the earbud master 10 can perform a correction operation by adding or deleting samples.
  • the earbud master 10 may extract at least one sample of PCM data and add a sample by duplicating the extracted sample.
  • the earbud master 10 may extract at least one sample of PCM data and delete the sample by deleting the extracted sample.
  • the correction operation by the earbud master 10 is not limited to the above-described sample duplication or sample deletion.
  • sample deletion as one of the correction operations, may produce the same effect by extracting a target sample and silencing the extracted target sample.
  • the sample selected for sample duplication or sample deletion for the correction operation may be determined by the earbud master 10 and may be arbitrarily selected.
  • the earbud master 10 may extract samples whose audio level is below a certain level and duplicate or delete them, or vice versa.
  • the use of samples with an audio level below a certain level is intended to minimize the impact on the correction operation, and the present disclosure is not necessarily limited to this.
  • the earbud master 10 may perform a correction operation by duplicating or deleting samples from the PCM data.
  • the earbud master 10 may transmit sync information including sample control information to the earbud slave 20 by including it in a TWS end control packet.
  • the earbud slave 20 parses it and, if sample control information is included in the sync information, extracts the sample control information and transmits the TWS end control packet to the earbud slave 20.
  • the same processing as the earbud master 10 can be performed on PCM data to be played in ).
  • the earbud master 10 When the earbud master 10 transmits sample control information including a TWS end control packet as shown in (b) of FIG. 24, the earbud master 10 deletes or duplicates samples to ensure synchronization with the earbud slave 20. Information about can be defined. Additionally, when defining information about sample deletion or sample duplication, the earbud master 10 may include identifier information about the sample to be deleted or duplicated to ensure synchronization with the earbud slave 20.
  • the earbud master 10 When the earbud master 10 is connected to the earbud slave 20/source device 1, it can periodically compare the network time connected to the source device 1 and the clock of the controller of the earbud master 10.
  • the earbud master 10 can correct the difference.
  • the threshold may be defined as at least 1 audio sample, for example, but is not necessarily limited thereto.
  • control can be made so that at least 1 sample overlaps in the PCM data.
  • control can be made so that at least 1 sample is deleted from the PCM data.
  • Correction information (sync info) is sent in the TWS end control packet, and the earbud master 10 and earbud slave 20 perform correction work on the first packet played after the TWS end control packet and play it.
  • FIG. 30 is a diagram illustrating packet capture with an air sniffer device when data relay is not required in a wireless earbud system according to an embodiment of the present disclosure
  • FIG. 31 is a diagram illustrating packet capture according to an embodiment of the present disclosure. This diagram shows packets captured with an air sniffer device when data relay is required in a wireless earbud system.
  • the earbud master 10 since the earbud master 10 receives data normally and the earbud slave 20 also receives data normally, it can be confirmed that TWS control packets are transmitted and received without data relay.
  • the earbud slave 20 may not receive data. Accordingly, it can be confirmed that after the earbud master 10 transmits the TWS start control packet, a TWS reply control packet is received, and at least one TWS relay control packet and a TWS end control packet are transmitted.
  • the conventional flight playback time error can be further improved (for example, playback time error ⁇ 150us), and the increase in playback time error (clock drift) due to long-term operation can also be further improved. (Playback time error increase ⁇ 150us).
  • playback time error increase ⁇ 150us the effect according to the present disclosure is not necessarily limited to the above-mentioned values.
  • the earbud master 10 performs data relay by selectively transmitting only data that has not been received from the earbud slave 20, so the relay frequency and delay time are minimized and , which has the advantage of improving battery efficiency. According to at least one of the various embodiments of the present disclosure, it is possible to improve the playback time so that there is no error or minimize it, and by preventing or improving the playback time error that may occur due to clock drift during long-term operation, wireless earbuds There is an advantage in improving the convenience of use.
  • Computer-readable media includes all types of recording devices that store data that can be read by a computer system. Examples of computer-readable media include HDD (Hard Disk Drive), SSD (Solid State Disk), SDD (Silicon Disk Drive), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is. Accordingly, the above detailed description should not be construed as restrictive in all respects and should be considered illustrative. The scope of this specification should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of this specification are included in the scope of this specification.
  • the frequency of occurrence and delay time of data relay between earbuds can be minimized, battery consumption can be minimized, and convenience of use can be improved by preventing playback synchronization between earbuds.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

무선 이어버드, 시스템 및 그의 동작 방법을 개시한다. 본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따른 무선 이어버드는, 소스 디바이스로부터 오디오 데이터를 수신하는 제1 싱크 디바이스, 및 상기 소스 디바이스에서 전송되는 오디오 데이터를 스누핑(snooping)하는 제2 싱크 디바이스를 포함하고, 상기 제1 싱크 디바이스는, 상기 제2 싱크 디바이스로 데이터 패킷(data packet)의 재생과 관련된 싱크 정보(synchronization information)를 전송할 수 있다.

Description

무선 이어버드, 시스템 및 그의 동작 방법
본 개시는 무선 이어버드, 시스템 및 그의 동작 방법에 관한 것이다. 보다 상세하게는, 무선 이어버드에서 재생 싱크 동기화, 클록 드리프트 처리 방법에 관한 것이다.
통신 기술의 발달, 배터리의 소형화 및 용량 개선 등으로 유선 이어폰 대신 무선 이어버드를 사용하는 사용자들이 급격하게 증가하고 있다. 즉, TWS(True Wireless Stereo)의 사용이 증가하고 있다.
무선 이어버드 시스템은 스마트폰 등과 같은 소스 디바이스와 소스 디바이스로부터 음원을 수신하는 적어도 하나의 이어버드로 구성된다. 특히, 이어버드는 좌측과 우측 각각에 착용되는 것이 바람직한바 2개로 구성되는 것이 일반적이며, 이 중 하나는 이어버드 마스터로 소스 디바이스로부터 직접 음원을 수신하고, 다른 하나는 이어버드 슬레이브로 소스 디바이스에서 이어버드 마스터로 수신되는 음원을 스누핑하는 방식으로 동작할 수 있다.
한편, 이어버드 슬레이브에서 일부 데이터를 수신하지 못할 경우 데이터 릴레이가 요구될 수 있는데, 이 때 딜레이가 발생하며 불필요하게 배터리가 소모되는 문제가 있다.
본 개시는 이어버드 간 데이터 릴레이의 발생 빈도 및 지연 시간을 최소화하고, 배터리 소모를 최소화한 무선 이어버드, 시스템 및 그의 동작 방법을 제공하고자 한다.
본 개시는 이어버드 간 재생 싱크를 맞추고, 소스 디바이스와 이어버드 사이의 클록 드리프트 처리 방법을 제공하고자 한다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따른 무선 이어버드는, 소스 디바이스로부터 오디오 데이터를 수신하는 제1 싱크 디바이스; 및 상기 소스 디바이스에서 전송되는 오디오 데이터를 스누핑하는 제2 싱크 디바이스를 포함하고, 상기 제1 싱크 디바이스는, 상기 제2 싱크 디바이스로 데이터 패킷의 재생과 관련된 싱크 정보를 전송할 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 상기 제1 싱크 디바이스는, 상기 제2 싱크 디바이스로 전송되는 제어 패킷에 상기 싱크 정보를 포함할 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 상기 싱크 정보는, 데이터 패킷 시퀀스 넘버와 재생 시간에 대한 정보를 포함할 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 상기 싱크 정보는, 샘플 제어에 대한 정보를 더 포함할 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 상기 제어 패킷은, TWS 엔드 제어 패킷일 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 상기 데이터 패킷 시퀀스 넘버 정보는, 상기 싱크 정보가 적용되는 데이터 패킷의 기준 시퀀스 넘버를 나타낼 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 상기 싱크 정보가 적용되는 데이터 패킷의 기준 시퀀스는, 상기 싱크 정보가 적용되는 데이터 패킷의 첫번째 시퀀스일 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 상기 재생 시간 정보는, 상기 데이터 패킷의 기준 시퀀스가 실제 재생하는 시점을 나타낼 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 상기 재생 시간 정보는, 상기 제1 싱크 디바이스와 제2 싱크 디바이스 사이에 적용되는 네트워크 타임을 사용하여 정의될 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 상기 싱크 정보는, 상기 제2 싱크 디바이스의 스누핑 실패에 따른 재전송 구간을 고려하여 정의될 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 상기 제2 싱크 디바이스는, 상기 싱크 정보가 적용되는 데이터 패킷의 기준 시퀀스 넘버보다 이전 시퀀스 넘버를 가진 데이터 패킷은 무시할 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 상기 제2 싱크 디바이스는, 상기 싱크 정보에 대응하는 데이터 패킷이 수신되지 않은 경우에는, 해당 패킷은 묵음 처리할 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 상기 제1 싱크 디바이스는, 상기 소스 디바이스와의 사이에 적용되는 네트워크 타임과 컨트롤러의 클록을 비교하여, 임계치 이상 차이가 나면 상기 샘플 제어 정보에 기초하여 보정 동작을 수행하되, 상기 임계치는 PCM 데이터의 오디오 샘플을 기준으로 결정되며, 상기 샘플 제어 정보는, 상기 컨트롤러의 클록이 상기 네트워크 타임에 비해 빠르면 PCM 데이터에서 적어도 1 샘플을 중복 제어 정보를 포함하고, 상기 컨트롤러의 클록이 상기 네트워크 타임에 비해 느리면 PCM 데이터에서 적어도 1 샘플을 삭제 제어 정보를 포함할 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따른 무선 이어버드의 동작 방법은, 제1 싱크 디바이스에서 소스 디바이스로부터 오디오 데이터를 수신하는 단계; 제2 싱크 디바이스에서 상기 소스 장치로부터 상기 제1 싱크 디바이스로 전송되는 오디오 데이터를 스누핑하는 단계; 및 상기 제1 싱크 디바이스에서 데이터 패킷 재생과 관련된 싱크 정보를 상기 제2 싱크 디바이스로 전송하는 단계를 포함할 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따른 무선 이어버드 시스템은, 소스 디바이스; 상기 소스 디바이스로부터 오디오 데이터를 수신하는 제1 싱크 디바이스; 및 상기 소스 디바이스에서 전송되는 오디오 데이터를 스누핑하는 제2 싱크 디바이스를 포함하고, 상기 제1 싱크 디바이스는, 상기 제2 싱크 디바이스로 데이터 패킷의 재생과 관련된 싱크 정보를 전송할 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나에 의하면, 이어버드 마스터가 이어버드 슬레이브에서 수신하지 못한 데이터만 선택적으로 전송하여 데이터 릴레이를 수행하므로, 릴레이 빈도 및 지연 시간이 최소화되고, 그에 따라 배터리 효율이 향상되는 이점이 있다.
본 개시의 다양한 실시예들 중 적어도 하나에 의하면, 재생 시간의 오차가 없거나 최소화되도록 개선할 수 있으며, 장시간 동작 시에도 재생 시간 오차의 증가량을 개선하여, 이어버드의 이용 편의성을 향상시킬 수 있는 이점이 있다.
도 1은 본 개시의 실시 예에 따른 무선 이어버드 시스템의 개략도이다.
도 2는 본 개시의 실시 예에 따른 무선 이어버드 시스템에서 이어버드 간에 송수신되는 TWS Control/Relay Packet 형식의 일 예가 도시된 도면이다.
도 3은 본 개시의 실시 예에 따른 TWS 이니셜 제어 패킷(TWS Initial Control Packet)의 페이로드 형식이 도시된 도면이다.
도 4는 본 개시의 실시 예에 따른 TWS 스타트 제어 패킷(TWS Start Control Packet)의 페이로드 형식이 도시된 도면이다.
도 5는 본 개시의 실시 예에 따른 TWS 리플라이 제어 패킷(TWS Reply Control Packet)의 페이로드 형식이 도시된 도면이다.
도 6은 본 개시의 실시 예에 따른 TWS 엔드 제어 패킷(TWS End Control Packet)의 페이로드 형식이 도시된 도면이다.
도 7은 본 개시의 실시 예에 따른 무선 이어버드 시스템의 데이터 릴레이가 필요 없는 경우 동작 방법이 도시된 순서도이다.
도 8 및 도 9는 본 개시의 실시 예에 따른 무선 이어버드 시스템의 데이터 릴레이가 필요한 경우 동작 방법이 도시된 순서도이다.
도 10은 본 개시의 실시 예에 따른 이어버드 슬레이브 기기의 제어 블록도이다.
도 11은 본 개시의 실시 예에 따른 이어버드 슬레이브 기기가 ACL 데이터 패킷의 중복 수신을 판단하여 동작하는 방법이 도시된 순서도이다.
도 12는 본 개시의 실시 예에 따른 이어버드 마스터와 이어버드 슬레이브 간에 TWS 제어 링크를 형성하는 과정이 도시된 순서도이다.
도 13 내지 도 14는 본 개시의 실시 예에 따른 이어버드 간의 연결 및 정보 교환 방법이 도시된 순서도이다.
도 15는 본 개시의 실시 예에 다른 무선 이어버드 시스템에서 이종 링크 기술을 활용하여 데이터를 정상적으로 송수신하는 방법이 도시된 순서도이다.
도 16은 도 15에 따른 데이터 송수신 및 ACK 타이밍 도표가 도시된 도면이다.
도 17은 본 개시의 실시 예에 다른 무선 이어버드 시스템에서 이종 링크 기술을 활용할 때 이어버드 마스터만 데이터를 수신하지 못한 경우가 도시된 순서도이다.
도 18은 도 17에 따른 데이터 송수신 및 ACK 타이밍 도표가 도시된 도면이다.
도 19는 본 개시의 실시 예에 다른 무선 이어버드 시스템에서 이종 링크 기술을 활용할 때 이어버드 슬레이브만 데이터를 수신하지 못한 경우가 도시된 순서도이다.
도 20은 도 19에 따른 데이터 송수신 및 ACK 타이밍 도표가 도시된 도면이다.
도 21은 본 개시의 실시 예에 다른 무선 이어버드 시스템에서 이종 링크 기술을 활용할 때 이어버드 마스터 및 이어버드 슬레이브가 모두 데이터를 수신하지 못한 경우가 도시된 순서도이다.
도 22는 도 21에 따른 데이터 송수신 및 ACK 타이밍 도표가 도시된 도면이다.
도 23은 본 개시의 실시 예에 따른 무선 이어버드 시스템에서 싱크 에러(synchronization error)를 설명하기 위해 도시한 도면이다.
도 24는 본 개시의 다른 실시 예에 따른 TWS 엔드 제어 패킷의 페이로드 형식이 도시된 도면이다.
도 25는 본 개시의 실시예에 따른 이어버드 마스터 기기의 제어 블록도이다.
도 26은 본 개시의 실시예에 따른 이어버드 슬레이브 기기의 제어 블록도이다.
도 27은 본 개시의 실시 예에 따른 무선 이어버드 시스템의 초기 클록 동기화(initial clock synchronization) 경우 동작 방법이 도시된 순서도이다.
도 28은 본 개시의 다른 실시 예에 따른 무선 이어버드 시스템의 초기 클록 동기화 경우 동작 방법이 도시된 순서도이다.
도 29는 본 개시의 실시 예에 따른 무선 이어버드 시스템의 클록 미세 튜닝(clock fine tuning) 경우 동작 방법이 도시된 순서도이다.
도 30은 본 개시의 실시 예에 따른 무선 이어버드 시스템에서 데이터 릴레이가 필요 없는 경우 에어 스니퍼(Air Sniffer) 장비로 패킷을 캡쳐한 모습이 도시된 도면이다.
도 31은 본 개시의 실시 예에 따른 무선 이어버드 시스템에서 데이터 릴레이가 필요한 경우 에어 스니퍼 장비로 패킷을 캡쳐한 모습이 도시된 도면이다.
이하, 본 발명과 관련된 실시 예에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 “모듈” 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
도 1은 본 개시의 실시예에 따른 무선 이어버드 시스템(Wireless Earbud system)의 개략도이다.
본 개시의 실시예에 따른 무선 이어버드 시스템은 소스 디바이스(source device)(1) 및 싱크 디바이스(sink device)로 구성되고, 싱크 디바이스는 제1 싱크 디바이스(10) 및 제2 싱크 디바이스(20)를 포함할 수 있다. 제1 및 제2 싱크 디바이스(10,20) 중 어느 하나는 이어버드 마스터(Earbud master)이고, 다른 하나는 이어버드 슬레이브(Earbud slave)일 수 있다. 이하 본 개시에서는 제1 싱크 디바이스(10)가 마스터 기기이고 제2 싱크 디바이스(20)가 슬레이브 기기인 것으로 가정하나, 이는 설명의 편의를 위한 예시에 불과하므로, 이에 제한되지 않음이 타당하다.
도 1에서는 무선 이어버드 시스템의 동작 방법을 개략적으로 설명한다.
소스 디바이스(1)는 오디오 데이터를 이어버드 마스터(10)로 전송할 수 있다. 이어버드 마스터(10)는 소스 디바이스(1)로부터 오디오 데이터를 수신할 수 있다. 이어버드 마스터(10)는 오디오 데이터의 수신 상태에 따라 ACK 또는 NACK와 같은 메시지를 소스 디바이스(1)로 전송할 수 있다. 이어버드 마스터(10)는 오디오 데이터를 정상적으로 수신하면 소스 디바이스(1)로 ACK 메시지를 전송하고, 오디오 데이터를 정상적으로 수신하지 못하면 소스 디바이스(1)로 NACK 메시지를 전송할 수 있다.
한편, 이어버드 슬레이브(20)는 소스 디바이스(1)에서 이어버드 마스터(10)로 전송되는 오디오 데이터를 스누핑(snooping)할 수 있다. 스누핑은 네트워크 상에서 데이터를 가로채는 동작을 의미할 수 있다.
이와 같은 동작을 통해 이어버드 마스터(10)와 이어버드 슬레이브(20)는 소정 구간 동안 소스 디바이스(1)로부터 데이터를 획득할 수 있다.
이후, 제1 및 제2 싱크 디바이스(10,20)는 소스 디바이스(1)로부터의 데이터 수신 상태 정보를 TWS(True Wireless Stereo) 제어 패킷(TWS Control Packet)을 이용하여 공유할 수 있다. 구체적으로, TWS 제어 패킷은 TWS 스타트 제어 패킷 제어 패킷(TWS Start Control Packet)과 TWS 리플라이 제어 패킷(TWS Reply Control Packet)을 포함할 수 있다. 이어버드 마스터(10)가 TWS 스타트 제어 패킷을 이어버드 슬레이브(20)에 전송하면, 이어버드 슬레이브(20)가 이어버드 마스터(10)에 TWS 리플라이 제어 패킷을 전송함으로써, 데이터 수신 상태 정보를 주고받을 수 있다. 스타트 제어 패킷은 페이로드의 LLID(Logical Link IDentifier) 값이 ‘0’일 수 있다.
이어버드 마스터(10)는 소스 디바이스(1)로부터 수신한 ACL(Asynchronous Connection-Less) 데이터의 수신 상태 정보를 포함하는 스타트 제어 패킷을 이어버드 슬레이브(20)로 전송하고, 이어버드 슬레이브(20)로부터 이어버드 슬레이브(20)가 스누핑한 ACL 데이터의 수신 상태 정보를 포함하는 리플라이 제어 패킷을 수신할 수 있다.
이어버드 마스터(10)는 이어버드 슬레이브(20)로부터 수신한 데이터 수신 상태 정보에 기초하여 데이터 릴레이 여부를 결정할 수 있다. 이어버드 마스터(10)는 소스 디바이스(1)로부터 수신한 ACL 데이터와 리플라이 제어 패킷을 통해 전달받은 이어버드 슬레이브(20)가 수신한 ACL 데이터의 비교를 통해 데이터 릴레이 동작의 필요 여부를 판단할 수 있다.
이어버드 마스터(10)는 데이터 릴레이의 결정에 기초하여 선택적으로 이어버드 슬레이브(20)가 데이터 릴레이를 수행하도록 제어할 수 있다. 이어버드 마스터(10)는 이어버드 슬레이브(20)가 데이터 릴레이를 수행하도록 TWS 릴레이 패킷(TWS Relay Packet)을 이어버드 슬레이브(20)로 전송할 수 있다. 이어버드 마스터(10)는 데이터 릴레이 동작이 필요한 경우, ACL 데이터 버퍼에서 이어버드 슬레이브(20)가 스누핑 실패한 데이터를 전달하는 릴레이 패킷을 이어버드 슬레이브(20)로 전송할 수 있다. TWS 릴레이 패킷은 이어버드 슬레이브(20)가 스누핑 실패한 패킷 페이로드를 포함할 수 있다. TWS 릴레이 패킷은 페이로드가 이어버드 마스터(10)가 소스 디바이스(1)로부터 수신한 페이로드로 구성될 수 있다.
이어버드 슬레이브(20)는 TWS 릴레이 패킷을 수신하면, 그에 대한 응답으로 널 패킷(Null Packet)을 전송할 수 있고, 널 패킷은 ACK 메시지를 포함할 수 있다.
이어버드 마스터(10)는 데이터 릴레이가 되어야 하는 모든 TWS 릴레이 패킷을 전송하고, 그에 대한 응답으로 ACK 메시지가 수신되면, TWS 엔드 패킷(TWS End Packet)을 생성하여 이어버드 슬레이브(20)로 전송할 수 있다. 즉, 이어버드 마스터(10)는 데이터 릴레이 동작이 필요하지 않거나, 데이터 릴레이 동작이 완료되면 이어버드 슬레이브(20)로 엔드 패킷을 전송할 수 있다.
이에 따르면, 이어버드 마스터(10)는 이어버드 슬레이브(20)가 스누핑하지 못한 데이터에 대해서만 선택적으로 데이터 릴레이를 수행함으로써, 소스 디바이스(1)에서 데이터가 릴레이되는 방식 대비 지연 시간 향상 및 데이터 릴레이 동작의 최소화가 가능하고, 그로 인해 배터리 소모가 최소화되는 이점이 있다.
이에, 본 개시는 이어버드 마스터(10)가 이어버드 슬레이브(20)에서 스누핑 실패한 데이터가 존재하는 경우, 데이터 릴레이 동작을 수행하도록 이어버드 슬레이브(20)로 릴레이 패킷을 전송할 수 있다. 그리고, 이어버드 마스터(10)와 이어버드 슬레이브(20) 사이에 릴레이 패킷을 송수신하기 위한 제어 링크를 형성할 수 있다.
제어 링크는 TWS 제어 링크(TWS Control Link)일 수 있다. TWS 제어 링크는 자체적인 동작 프로토콜(Protocol)과 TWS Control/Relay Packet에 자체적인 액세스 코드(Access Code) 생성 방법을 적용할 수 있고, 이어버드 간 TWS Control Link 동작 보안성을 강화할 수 있다.
다음으로, 본 개시의 실시 예에 따른 무선 이어버드 시스템에서 송수신되는 패킷에 대해 상세히 설명한다.
도 2는 본 개시의 실시예에 따른 무선 이어버드 시스템에서 이어버드 간에 송수신되는 TWS Control/Relay Packet 형식의 일 예가 도시된 도면이다.
본 개시의 실시 예에 따른 무선 이어버드 시스템은 본 개시에서 제안하는 자체 프로토콜 방식에 따른 이어버드 간 TWS 제어 링크를 생성하고, 생성된 TWS 제어 링크에서 이어버드 간의 TWS 제어 정보를 교환하기 위한 TWS Control/Relay 패킷을 송수신할 수 있다.
TWS 제어 링크는 이어버드 간에 TWS 제어 패킷 및 TWS 릴레이 패킷을 교환하기 위한 자체적인 제어 링크일 수 있다. 그리고, 본 개시에서는 소스 디바이스(1)로부터의 데이터 수신 상태 및 이어버드 슬레이브(20)의 스누핑 링크를 제어하기 위한 제어 정보를 교환하기 위하여 TWS 제어 패킷을 정의할 수 있다.
TWS Control/Relay 패킷은 도 2에 도시된 바와 같은 형식을 갖을 수 있다. 구체적으로, TWS Control/Relay 패킷은 LLID Field 값 중 Undefined Value(0) 이용하여 LLID = ‘0’ 인 TWS 제어 패킷들에 대해서 Payload의 DATA 영역을 본 개시에서 제안하는 자체 프로토콜 방식에 의하여 생성되고, Access Code의 Sync Word Field가 본 개시에서 제안하는 자체 프로토콜 방식으로 생성됨으로써, 이어버드 간 TWS Control Link 동작과, 표준 ACL Link 동작의 충돌 가능성을 배제하고 이어버드 간 TWS Control Link 동작의 보안성을 강화할 수 있다.
TWS 제어 패킷의 형식에 대해 구체적으로 설명하면 다음과 같다.
- 자사 제품과의 연결만 허용하고, 보안성 강화 및 Access Code Detection False Alarm을 방지하기 위하여 Access Code의 Sync Word 생성 방법을 블루투스 표준을 따르지 않고, 자체적인 방법으로 생성할 수 있다.
- Payload의 LLID 값은 표준에서 사용하지 않는 LLID = ‘0’ 인 값을 사용하여, BlueToothTM 표준에서 제시하는 LMP, ACL Data Packet과는 구별할 수 있게 할 수 있다(LMP/ACL Link 관련 동작과의 충돌 방지).
- LLID = ‘0’인 TWS Control Packet을 이용하여 컨트롤러(Controller)에서 자체 정의한 프로토콜 방식에 따라 TWS Control Link 제어 동작을 수행한다.
- TWS 제어 패킷을 송수신 동작 및 이어지는 TWS 제어 링크 제어 동작을 컨트롤러에서 빠르게 처리함으로써 지연 시간 측면에서의 향상을 얻을 수 있다.
- Payload의 DATA Field는 자체 정의된 프로토콜에 따라서 TWS 제어 링크를 제어 절차를 수행할 수 있도록 TWS Control Packet 별로 정의된 정보로 구성한다.
TWS 릴레이 패킷의 형식에 대해 구체적으로 설명하면 다음과 같다.
- 자사 제품과의 연결만 허용하고, 보안성 강화 및 Access Code Detection False Alarm을 방지하기 위하여 Access Code의 Sync Word 생성 방법을 BlueToothTM 표준을 따르지 않고, 자사 자체 방법으로 생성한다.
- Payload 부분은 이어버드 슬레이브(20)에서 스누핑하지 못한 ACL 데이터 패킷에 대해서, 이어버드 마스터(10)가 소스 디바이스(1)로부터 수신한 ACL 데이터 패킷의 페이로드와 동일한 정보로 구성한다.
Sync Word 생성 방법은 다음과 같을 수 있다.
- Sync Word 생성에 입력으로 사용되는 블루투스 기기 어드레스의 local/global bit를 원래 값에서 inversion 하여 Sync Word를 생성한다.
이하, TWS 제어 패킷과 TWS 릴레이 패킷의 페이로드 형식에 대해 상세히 설명한다.
도 3은 본 개시의 실시예에 따른 TWS 이니셜 제어 패킷(TWS Initial Control Packet)의 페이로드 형식이 도시된 도면이다.
TWS 이니셜 제어 패킷은 이어버드 마스터(10)가 이어버드 슬레이브(20)로 최초 전송하는 TWS 제어 패킷을 나타낼 수 있다.
TWS 이니셜 제어 패킷은 이어버드 슬레이브(20)가 소스 디바이스(1)를 스누핑하기 위한 이어버드 마스터(10)와 소스 디바이스(1) 간의 ACL 링크 정보와 타이밍 정보(Timing Information)를 포함할 수 있다.
TWS 이니셜 제어 패킷의 페이로드 형식은 도 3에 도시된 바와 같을 수 있다. 즉, TWS 이니셜 제어 패킷의 페이로드는 헤더 LLID가 ‘0’이며, 제어 패킷 타입(Control Packet Type) 및 스누핑 링크 정보(Snoop Link Information)를 포함할 수 있다. 이 때, 스누핑 링크 정보는 다음의 정보들을 포함할 수 있다.
- 소스 디바이스(1)와 이어버드 마스터(10) 간의 형성된 ACL 링크 정보들
- 이어버드 마스터(10)의 가장 마지막 RxSequN, RxArqN, Rx Payload counter 정보
- 소스 디바이스(1)와 이어버드 마스터(10) 사이의 클록 오프셋(Clock Offset), 슬롯 바운더리 오프셋(Slot Boundary Offset) 정보.
도 4는 본 개시의 실시예에 따른 TWS 스타트 제어 패킷(TWS Start Control Packet)의 페이로드 형식이 도시된 도면이다.
TWS 스타트 제어 패킷은 TWS 이니셜 제어 패킷 이후 이어버드 마스터(10)가 이어버드 슬레이브(20)로 전송하는 TWS 제어 패킷을 나타낼 수 있다. TWS 스타트 제어 패킷은 이어버드 마스터(10)가 소스 디바이스(1)로부터 수신한 ACL 데이터 수신 상태 정보를 이어버드 슬레이브(20)로 전달하는 패킷일 수 있다.
TWS 스타트 제어 패킷의 페이로드 형식은 도 4에 도시된 바와 같을 수 있다. 즉, TWS 스타트 제어 패킷의 페이로드 헤더 LLID가 ‘0’이며, 제어 패킷 타입, 릴레이 정보 및 스누핑 링크 정보를 포함할 수 있다. 이 때, 릴레이 정보는 다음의 정보들을 포함할 수 있다.
- TWS 제어 세션 넘버(TWS Control Session Number)
- SEQ_NUM: 소스 디바이스(1)로부터 수신 성공한 누적 ACL 데이터의 개수
- PKT_CNT: 직전 소스 디바이스(1) 수신 구간 동안의 수신 성공한 ACL 데이터의 개수
- LMP/ACL Tx Data Pending Flag: 이어버드 마스터(10)에서 Pending 된 LMP/ACL Tx Data 가 있음을 알려주는 플래그(Flag)
그리고, 스누핑 링크 정보는 다음의 정보들을 포함할 수 있다.
- RxSeqN, RxArqN, Rx Payload Counter: 이어버드 슬레이브(20)가 다음 Snoop Link에서 ACL Data 수신 시 사용해야 할 파라미터(Parameter)
- AFH Channel Map: AFH Channel Map 이 변경되었을 경우 이어버드 슬레이브(20)로 전달.
도 5는 본 개시의 실시예에 따른 TWS 리플라이 제어 패킷(TWS Reply Control Packet)의 페이로드 형식이 도시된 도면이다.
TWS 리플라이 제어 패킷은 이어버드 슬레이브(20)가 소스 디바이스(1)로부터 스누핑한 ACL 데이터의 수신 상태 정보를 이어버드 마스터(10)로 전달하는 패킷일 수 있다.
TWS 리플라이 제어 패킷의 페이로드 형식은 도 5에 도시된 바와 같을 수 있다. 즉, TWS 리플라이 제어 패킷의 페이로드 헤더 LLID가 ‘0’이며, 제어 패킷 타입 및 릴레이 정보를 포함할 수 있다. 이 때, 릴레이 정보는 다음의 정보들을 포함할 수 있다.
- TWS 제어 세션 넘버(TWS Control Session Number)
- SEQ_NUM: 소스 디바이스(1)로부터 스누핑 성공한 누적 ACL 데이터의 개수
- PKT_CNT: 직전 소스 디바이스(1) 스누핑 구간 동안의 수신 성공한 ACL 데이터의 개수
- LMP/ACL Tx Data Pending Flag: 이어버드 슬레이브(20)에서 pending된 LMP/ACL Tx Data가 있음을 알려주는 플래그.
도 6은 본 개시의 실시예에 따른 TWS 엔드 제어 패킷(TWS End Control Packet)의 페이로드 형식이 도시된 도면이다.
TWS 엔드 제어 패킷은 이어버드 마스터(10)가 데이터 릴레이가 필요 없거나, 데이터 릴레이 동작이 완료되었음을 이어버드 슬레이브(20)로 전달하는 패킷일 수 있다.
TWS 엔드 제어 패킷의 페이로드 형식은 도 6에 도시된 바와 같을 수 있다. 즉, TWS 엔드 제어 패킷의 페이로드 헤더 LLID가 ‘0’이며, 제어 패킷 타입 및 세션 엔드 정보를 포함할 수 있다. 이 때, 세션 엔드 정보는 다음의 정보들을 포함할 수 있다.
- TWS 제어 세션 넘버(TWS Control Session Number)
- No Data Replay Action Flag: 데이터 릴레이 동작이 필요 없음을 알려주는 플래그
- Ongoing ACL Action Flag: TWS 제어 링크 동작에 종료에 이어서 이어버드 간의 ACL 링크 동작이 필요함을 알려주는 플래그.
한편, TWS 릴레이 패킷은 이어버드 슬레이브(20)가 스누핑하지 못한 데이터에 대해 선택적인 데이터 릴레이(Selective Data Relay) 동작을 수행하도록 이어버드 마스터(10)에서 이어버드 슬레이브(20)로 전송하는 패킷일 수 있다.
구체적으로, 이어버드 마스터(10)는 이어버드 슬레이브(20)로부터의 TWS 리플라이 제어 패킷을 수신 후, 자신의 릴레이 정보와 이어버드 슬레이브(20)로부터 수신한 릴레이 정보에 기초하여 이어버드 슬레이브(20)의 데이터 릴레이(Data Relay) 동작이 필요한지 판단할 수 있다. 이어버드 마스터(10)는 이어버드 슬레이브(20)의 SEQ_NUM이 이어버드 마스터(10)의 SEQ_NUM 보다 크거나 같은 제1 경우와 이어버드 슬레이브(20)의 PKT_NUM이 이어버드 마스터(10)의 PKT_NUM 보다 크거나 같은 제2 경우를 모두 만족하는 경우 데이터 릴레이 동작이 필요 없음으로 판단할 수 있다. 한편, 이어버드 마스터(10)는 상술한 제1 경우와 제2 경우 중 어느 하나로도 만족하지 않으면 데이터 릴레이 동작이 필요함으로 판단할 수 있다.
이어버드 마스터(10)는 데이터 릴레이 동작이 필요함으로 판단 시, 이어버드 마스터(10)에서 저장하고 있는 수신 ACL 데이터 버퍼(ACL Data Buffer)에서 이어버드 슬레이브(20)가 스누핑하지 못한 데이터를 포함하는 TWS 릴레이 패킷을 통해 이어버드 슬레이브(20)로 전송할 수 있다. 이어버드 슬레이브(20)는 TWS 릴레이 패킷을 이용하여 선택적이 데이터 릴레이 동작을 수행할 수 있다.
다음으로, 무선 이어버드 시스템의 동작 방법을 상세히 설명한다. 무선 이어버드 시스템은 데이터 릴레이를 선택적으로 수행할 수 있다.
이어버드 마스터(10)는 소정 구간 동안 소스 디바이스(1)로부터 송신되는 ACL 데이터 패킷을 수신하는 ACL 링크 동작을 수행하고, 이어버드 슬레이브(20)는 이어버드 마스터(10)가 ACL 링크 동작을 수행하는 동안 ACL 데이터 패킷을 수신하기 위한 스누핑 링크 동작을 수행하고, 이어버드 마스터(10) 및 이어버드 슬레이브(20)는 ACL 데이터 패킷에 대한 수신 동작을 완료하면, TWS 제어 링크 동작을 전환할 수 있다.
도 7은 본 개시의 실시예에 따른 무선 이어버드 시스템의 데이터 릴레이가 필요 없는 경우 동작 방법이 도시된 순서도이다.
먼저, 이어버드 마스터와 이어버드 슬레이브 사이에 TWS 제어 링크를 형성할 수 있다. 즉, 이어버드 마스터(10)와 이어버드 슬레이브(20) 사이에 TWS 제어 링크를 형성할 수 있다.
이어버드 슬레이브(20)는 TWS 제어 링크를 형성한 후, TWS 이니셜 제어 패킷을 수신하고, TWS 이니셜 제어 패킷을 통해 스누핑 링크 구성에 필요한 스누핑 링크 파라미터(Snoop Link Parameter)를 이어버드 마스터(10)로부터 전달받을 수 있다. 이어버드 슬레이브(20)는 스누핑 링크 파라미터를 통해 스누핑 링크 설정 (Snoop Link Setup) 절차를 수행할 수 있다. 이에 따라, 이어버드 슬레이브(20)는 스누핑 링크를 형성할 수 있다.
이어버드 마스터(10)와 이어버드 슬레이브(20)는 소정 구간 동안 소스 디바이스(1)로부터 송신되는 ACL 데이터 패킷에 대해 수신을 시도할 수 있다.
구체적으로, 이어버드 마스터(10)는 ACL 데이터 패킷의 수신 성공/실패에 대해 ACK/NACK 결과를 소스 디바이스(1)로 피드백하고, TWS 스타트 제어 패킷에 전송되는 릴레이 정보를 구성하기 위한 ACL 데이터 패킷의 수신 상태 정보를 업데이트할 수 있다.
그리고, 이어버드 슬레이브(20)는 소스 디바이스(1)로부터의 ACL 데이터 패킷에 대한 스누핑 동작을 수행하고, TWS 리플라이 제어 패킷에 전송되는 릴레이 정보를 구성하기 위한 ACL 데이터 패킷의 수신 상태 정보를 업데이트할 수 있다.
이어버드 마스터(10)와 이어버드 슬레이브(20)는 소정 구간 동안의 소스 디바이스(1)로부터 송신되는 ACL 데이터 패킷에 대해 수신 동작이 완료되면, TWS 제어 링크 동작으로 전환할 수 있다.
구체적으로, 이어버드 마스터(10)는 TWS 스타트 제어 패킷의 페이로드 정보를 생성하고, 해당 패킷을 이어버드 슬레이브(20)로 전송할 수 있다. 이어버드 슬레이브(20)는 TWS 리플라이 제어 패킷의 페이로드 정보를 생성하고, 이어버드 마스터(10)로부터의 TWS 스타트 제어 패킷 수신에 대한 응답으로 TWS 리플라이 제어 패킷을 이어버드 마스터(10)에 전송할 수 있다. 이어버드 슬레이브(20)는 수신한 TWS 스타트 제어 패킷의 스누핑 정보에 따라서 다음 스누핑 링크의 수신 동작을 위한 Rx 파라미터(ARQN, SEQN, Payload counter, AFH Channel Map) 정보를 업데이트할 수 있다.
이어버드 마스터(10)는 이어버드 슬레이브(20)로부터 전송된 TWS 리플라이 제어 패킷을 수신하고, 해당 페이로드의 릴레이 정보를 바탕으로, 이어버드 슬레이브(20)가 스누핑 실패한 데이터가 있는지 판단할 수 있다.
이어버드 마스터(10)는 스누핑 실패한 데이터가 없으면 데이터 릴레이가 필요 없는 경우로 판단하고, 스누핑 실패한 데이터가 있으면 데이터 릴레이가 필요한 경우로 판단할 수 있다.
도 7의 경우, 이어버드 마스터(10)는 이어버드 슬레이브(20)가 스누핑 실패한 데이터가 없어, 데이터 릴레이가 필요 없는 경우로 판단한 것으로 가정한다.
이어버드 마스터(10)는 데이터 릴레이가 필요 없음을 판단하고, 이를 전달하는 TWS 엔드 제어 패킷의 페이로드를 생성하고, 생성된 패킷을 이어버드 슬레이브(20)로 전송할 수 있다.
이어버드 슬레이브(20)는 TWS 엔드 제어 패킷을 수신하고, 해당 패킷의 페이로드 정보 중 데이터 릴레이 필요 없음 정보(No Data Relay Action Flag 정보)를 바탕으로 데이터 릴레이 동작을 필요 없음으로 판단하고, 소스 디바이스(1)로부터의 ACL 데이터 패킷을 수신하기 위한 스누핑 링크 동작으로 전환할 수 있다.
이어버드 마스터(10)는 전송한 TWS 엔드 제어 패킷에 대한 응답으로 널 패킷(ACK 포함)을 수신하게 되면, TWS 제어 링크 동작을 종료하고, 소스 디바이스(1)로부터 ACL 데이터 패킷을 수신하기 위한 ACL 링크 동작으로 전환할 수 있다.
도 8 및 도 9는 본 개시의 실시예에 따른 무선 이어버드 시스템의 데이터 릴레이가 필요한 경우 동작 방법이 도시된 순서도이다.
먼저, 이어버드 마스터와 이어버드 슬레이브 사이에 TWS 제어 링크를 형성할 수 있다.
이어버드 슬레이브(20)는 TWS 제어 링크를 형성한 후, TWS 이니셜 제어 패킷을 수신하고, TWS 이니셜 제어 패킷을 통해 스누핑 링크 구성에 필요한 스누핑 링크 파라미터를 이어버드 마스터(10)로부터 전달받을 수 있다. 이어버드 슬레이브(20)는 스누핑 링크 파라미터를 통해 스누핑 링크 설정 절차를 수행할 수 있다. 이에 따라, 이어버드 슬레이브(20)는 스누핑 링크를 형성할 수 있다.
이어버드 마스터(10)와 이어버드 슬레이브(20)는 소정 구간 동안 소스 디바이스(1)로부터 송신되는 ACL 데이터 패킷에 대해 수신을 시도할 수 있다.
구체적으로, 이어버드 마스터(10)는 ACL 데이터 패킷의 수신 성공/실패에 대해 ACK/NACK 결과를 소스 디바이스(1)로 피드백(feedback)하고, TWS 스타트 제어 패킷에 전송되는 릴레이 정보를 구성하기 위한 ACL 데이터 패킷의 수신 상태 정보를 업데이트할 수 있다.
그리고, 이어버드 슬레이브(20)는 소스 디바이스(1)로부터의 ACL 데이터 패킷에 대한 스누핑 동작을 수행하고, TWS 리플라이 제어 패킷에 전송되는 릴레이 정보를 구성하기 위한 ACL 데이터 패킷의 수신 상태 정보를 업데이트할 수 있다.
이어버드 마스터(10)와 이어버드 슬레이브(20)는 소정 구간 동안의 소스 디바이스(1)로부터 송신되는 ACL 데이터 패킷에 대해 수신 동작이 완료되면, TWS 제어 링크 동작으로 전환할 수 있다.
구체적으로, 이어버드 마스터(10)는 TWS 스타트 제어 패킷의 페이로드 정보를 생성하고, 해당 패킷을 이어버드 슬레이브(20)로 전송할 수 있다. 이어버드 슬레이브(20)는 TWS 리플라이 제어 패킷의 페이로드 정보를 생성하고, 이어버드 마스터(10)로부터의 TWS 스타트 제어 패킷 수신에 대한 응답으로 TWS 리플라이 제어 패킷을 이어버드 마스터(10)에 전송할 수 있다. 이어버드 슬레이브(20)는 수신한 TWS 스타트 제어 패킷의 스누핑 정보에 따라서 다음 스누핑 링크의 수신 동작을 위한 Rx 파라미터(ARQN, SEQN, Payload counter, 및 AFH Channel Map) 정보를 업데이트할 수 있다.
이어버드 마스터(10)는 이어버드 슬레이브(20)로부터 전송된 TWS 리플라이 제어 패킷을 수신하고, 해당 페이로드의 릴레이 정보를 바탕으로, 이어버드 슬레이브(20)가 스누핑 실패한 데이터가 있는지 판단할 수 있다.
이어버드 마스터(10)는 자신이 가지고 있는 릴레이 정보와 이어버드 슬레이브(20)가 전송한 릴레이 정보에 따라 데이터 릴레이 동작의 필요 여부를 판단할 수 있다. 이어버드 마스터(10)는 자신이 가지고 있는 릴레이 정보와 이어버드 슬레이브(20)가 전송한 릴레이 정보에 기초하여 이어버드 슬레이브(20)가 스누핑 실패한 데이터가 있는지 판단할 수 있다.
이어버드 마스터(10)는 스누핑 실패한 데이터가 없으면 데이터 릴레이가 필요 없는 경우로 판단하고, 스누핑 실패한 데이터가 있으면 데이터 릴레이가 필요한 경우로 판단할 수 있다.
이어버드 마스터(10)는 이어버드 슬레이브(20)가 스누핑 실패한 데이터가 있어, 데이터 릴레이가 필요한 경우로 판단한 것으로 가정한다.
이어버드 마스터(10)는 데이터 릴레이가 필요 있음으로 판단하고, 스누핑 실패한 패킷 페이로드를 TWS 릴레이 패킷에 실어 이어버드 슬레이브(20)로 전송할 수 있다.
이어버드 슬레이브(20)는 수신한 TWS 릴레이 패킷에 기초하여 데이터 릴레이를 수행할 수 있다.
이어버드 슬레이브(20)는 수신한 TWS 릴레이 패킷에 대한 응답으로 널 패킷(ACK 포함)을 이어버드 마스터(10)에 송신할 수 있다.
이어버드 마스터(10)는 데이터 릴레이 되어야 할 모든 TWS 릴레이 패킷의 전송과 응답으로 ACK 수신을 완료한 이후, TWS 엔드 제어 패킷의 페이로드를 생성하고, 생성된 패킷을 이어버드 슬레이브(20)로 전송할 수 있다.
이어버드 슬레이브(20)는 TWS 엔드 제어 패킷을 수신한 경우, 더 이상 데이터 릴레이 동작이 필요 없음을 인지하고, 소스 디바이스(1)로부터 ACL 데이터 패킷을 수신하기 위한 스누핑 링크 동작으로 전환할 수 있다.
이어버드 마스터(10)는 전송한 TWS 엔드 제어 패킷에 대한 응답으로 널 패킷(ACK 포함)을 수신하면, TWS 제어 링크 동작을 종료하고, 소스 디바이스(1)로부터 ACL 데이터 패킷을 수신하기 위한 ACL 링크 동작으로 전환할 수 있다.
도 10 내지 도 11을 참고하여, 이어버드 슬레이브(20)가 동일한 데이터를 중복으로 수신한 경우의 동작 방법에 대해 설명한다. 구체적으로, 이어버드 마스터(10)가 ACL 데이터 패킷을 수신하지 못하고, 이어버드 슬레이브(20)가 스누핑 성공한 경우에, 이어버드 마스터(10)는 소스 디바이스(1)로 NACK 메시지를 전송하므로, 소스 디바이스(1)에서 ACL 데이터 패킷이 재전송됨에 따라, 이어버드 슬레이브(20)가 동일한 ACL 데이터 패킷을 중복 수신할 수 있다. 이 경우 이어버드 슬레이브(20)의 동작 방법을 설명하기 위한 것으로, 도 10은 본 개시의 실시예에 따른 이어버드 슬레이브 기기의 제어 블록도이고, 도 11은 본 개시의 실시예에 따른 이어버드 슬레이브 기기가 ACL 데이터 패킷의 중복 수신을 판단하여 동작하는 방법이 도시된 순서도이다.
도 10에 도시된 바와 같이, 본 개시의 실시 예에 따른 이어버드 슬레이브, 즉 이어버드 슬레이브(20)는 컨트롤러(21), 첫번째 미디어 데이터 판단부(22), 상위 레이어 전송 판단부(23), 중복 수신 판단부(24) 및 플러쉬 리오더링 버퍼 판단부(25) 중 적어도 일부 또는 전부를 포함할 수 있다.
컨트롤러(21)는 첫번째 미디어 데이터 판단부(22), 상위 레이어 전송 판단부(23), 중복 수신 판단부(24) 및 플러쉬 리오더링 버퍼 판단부(25) 각각을 제어할 수 있다.
도 11에 도시된 바와 같이, 첫번째 미디어 데이터 판단부(22)는 미디어 데이터가 수신되면, 수신된 미디어 데이터가 첫번째 데이터인지 판단할 수 있다. 여기서, 미디어 데이터는 ACL 데이터 패킷일 수 있으나, 이에 제한되지 않는다.
첫번째 미디어 데이터 판단부(22)는 수신된 미디어 데이터가 첫번째 데이터로 판단되면, 상위 레이어 전송 판단부(23)로 수신된 미디어 데이터를 전달하고, 다음 미디어 데이터를 기다릴 수 있다. 반면에, 첫번째 미디어 데이터 판단부(22)는 수신된 미디어 데이터가 첫번째 데이터가 아닌 것으로 판단되면, 수신된 미디어 데이터를 중복 수신 판단부(24)로 전달할 수 있다.
중복 수신 판단부(24)는 수신된 미디어 데이터가 이전에 수신된 데이터와 동일하거나, 현재 리오더링 버퍼(Reordering Buffer)에 저장된 데이터와 동일한 것으로 판단되면, 수신한 미디어 데이터를 버릴 수 있다(discard). 한편, 중복 수신 판단부(24)는 수신된 미디어 데이터가 중복 수신된 데이터가 아닌 것으로 판단되면, 수신된 미디어 데이터를 상위 레이어 전송 판단부(23)로 전달할 수 있다.
상위 레이어 전송 판단부(23)는 수신된 미디어 데이터의 시퀀스 번호(Sequence Number)가 예상 시퀀스 번호(Expected Sequence Number)와 같다면, 상위 레이어로 해당 미디어 데이터를 전송하고, 예상 시퀀스 번호의 값을 ‘1’ 증가시킬 수 있다.
상위 레이어 전송 판단부(23)는 수신된 미디어 데이터의 시퀀스 번호가 예상 시퀀스 번호와 상이하면, 해당 레이어를 플러쉬 리오더링 버퍼 판단부(25)로 전달할 수 있다.
플러쉬 리오더링 버퍼 판단부(25)는 리오더링 버퍼의 플러시(Flush) 수행 여부를 판단할 수 있다. 플러쉬 리오더링 버퍼 판단부(25)는 리오더링 버퍼에 저장된 데이터의 삭제 여부를 결정할 수 있다.
플러쉬 리오더링 버퍼 판단부(25)는 수신된 미디어 데이터의 시퀀스 번호를 리오더링 버퍼 내 모든 예상 시퀀스 번호와 일치 여부를 판단할 수 있다. 플러쉬 리오더링 버퍼 판단부(25)는 수신된 미디어 데이터의 시퀀스 번호를 리오더링 버퍼 내 모든 예상 시퀀스 번호와 일치하지 않고, 수신된 미디어 데이터의 시퀀스 번호가 리오더링 버퍼 내 모든 예상 시퀀스 번호의 최대 값 보다 크면, 리오더링 버퍼의 모든 데이터를 상위 레이어로 전송하고, 리오더링 버퍼 내의 모든 예상 시퀀스 번호의 값을 ‘1’ 증가시킬 수 있다. 플러쉬 리오더링 버퍼 판단부(25)는 수신된 미디어 데이터의 시퀀스 번호가 리오더링 버퍼 내 적어도 하나의 예상 시퀀스 번호와 일치하면 리오더링 버퍼에 수신된 미디어 데이터를 저장할 수 있다.
도 12는 본 개시의 실시예에 따른 이어버드 마스터와 이어버드 슬레이브 간에 TWS 제어 링크를 형성하는 과정이 도시된 순서도이다.
도 12를 참조하여, 이어버드 마스터인 이어버드 마스터(10)와 이어버드 슬레이브인 이어버드 슬레이브(20) 사이에 TWS 제어 링크를 맺는 방법을 설명한다.
이어버드 마스터(10)는 디바이스 초기화(Device initialization) 과정 이후 HCI_Inquiry 명령을 통해 이어버드 슬레이브(20)의 응답을 대기할 수 있다. 이어버드 슬레이브(20)는 디바이스 초가화 이후 HCI_Write_Scan_Enable 명령을 통해 이어버드 마스터(10)의 인콰이어리 스캔 모드(Inquiry Scan Mode)로 진입할 수 있다.
인콰이어리 스캔 모드에서는 인콰이어리 및 페이지 스캔(Inquiry & Page Scan)이 인에이블될 수 있다. 즉, 인콰이어리 절차 후 바로 페이지 스캔 모드로 진입할 수 있다.
이어버드 마스터(10)와 이어버드 슬레이브(20) 간 인콰이어리 절차가 진행되고, 이어버드 슬레이브(20)로부터 인콰이어리 응답을 받은 이어버드 마스터(10)는 HCI_Create_Connect 명령을 통해 ACL 연결을 시도할 수 있다. 이는 이어버드 마스터 페이지 스캔 모드일 수 있다.
이어버드 마스터(10)와 이어버드 슬레이브(20) 간 페이지 절차(Paging Procedure)가 진행되고, 이어버드 슬레이브(20)가 연결 수락(Connection Accept)를 보내고, 이를 이어버드 마스터(10)가 수신하면, 이어버드 마스터(10)와 이어버드 슬레이브(20) 간에 TWS 제어 링크 설정이 완료될 수 있다.
이후, 이어버드 마스터(10)는 스마트 폰 등과 같은 소스 디바이스(1)와 ACL 연결을 위해 HCI_Write_Scan_Enable 명령을 통해 인콰이어리 스캔 모드로 진입할 수 있다.
도 13 내지 14는 본 개시의 실시예에 따른 이어버드 간의 연결 및 정보 교환 방법이 도시된 순서도이다.
이어버드 마스터(10)는 소스 디바이스(1)에서 전송하는 ACL 데이터를 이어버드 슬레이브(20)가 수신 가능하도록 하는 TWS 스누핑 링크(TWS Snoop Link)를 맺을 수 있다.
도 12를 참조하면, 먼저 이어버드 마스터, 즉 이어버드 마스터(10)는 소스 디바이스(1)와 블루투스 페어링(Bluetooth Pairing) 절차를 진행할 수 있다. 이어버드 마스터(10)에서 Secure Simple Pairing이 완료되어 Link Key 생성이 완료되면, 이어버드 마스터(10)의 호스트(Host)로 HCI_Snoop_Ready (New) Event를 전달하여, 이어버드 슬레이브(20)에 스누핑 링크 설정이 가능함을 알릴 수 있다. 이 때, HCI_Snoop_Ready (New) Event는 스누핑 링크 설정을 위한 이어버드 마스터(10)의 컨트롤러 정보를 포함할 수 있다.
이어버드 마스터(10)의 호스트는 기존에 설정된 이어버드 슬레이브(20)와의 TWS 제어 링크를 통해 스누핑 컨트롤러 정보를 전달할 수 있다. 이어버드 슬레이브(20)의 호스트는 수신한 스누핑 컨트롤러 정보를 HCI_Snoop_Configure (New) 명령을 통해 이어버드 슬레이브(20)의 컨트롤러로 전달할 수 있다. 이어버드 슬레이브(20)의 컨트롤러는 전달받은 스누핑 컨트롤러 정보를 설정하고 초기 동기화 절차(Initial Synchronization Procedure)를 수행 완료 후, HCI_Snoop_Configure_Complete Event를 통해 이어버드 슬레이브(20)의 호스트에 스누핑 컨트롤러 링크(Snoop Controller Link) 설정이 완료되었음을 알릴 수 있다. 이어버드 슬레이브(20)의 호스트는 스누핑 컨트롤러 구성(Snoop Controller Configure) 완료되었음을 이어버드 마스터(10)의 호스트에 전달할 수 있다. 이어버드 마스터(10)의 호스트는 이제까지 설정된 소스 디바이스(1)와 이어버드 마스터(10)의 호스트 구성(Host Configuration) 정보를 저장하고, 이어버드 슬레이브(20)의 호스트에 전달할 수 있다. 이어버드 슬레이브(20)의 호스트는 전달받는 소스 디바이스(1)와 제1 싱크 디바이스(1)의 호스트 구성 정보를 적용하고, 이어버드 마스터(10)에 스누핑 호스트 완료(Snoop Host Complete)를 전달한 이후, 이어버드 슬레이브(20)는 스누핑 링크(Snoop Link)를 통해 소스 디바이스(1)가 보내는 데이터를 수신할 수 있다.
도 15는 본 개시의 실시예에 다른 무선 이어버드 시스템에서 이종 링크 기술을 활용하여 데이터를 정상적으로 송수신하는 방법이 도시된 순서도이고, 도 16은 도 15에 따른 데이터 송수신 및 ACK 타이밍 도표가 도시된 도면이다.
이제까지 이어버드 마스터(10)와 이어버드 슬레이브(20) 간 TWS 제어 링크를 블루투스로 맺는 과정을 설명하였다. 즉, 이어버드 마스터(10)는 소스 디바이스(1)와 블루투스로 통신하고, 이어버드 마스터(10)는 이어버드 슬레이브(20)와 블루투스로 통신할 수 있다.
도 15 및 도 16에서는 TWS 제어 링크에 블루투스가 아닌 UWB(Ultra Wide Band)를 사용하는 경우를 나타낸다. 이어버드 마스터(10)는 소스 디바이스(1)와 블루투스로 통신하고, 이어버드 마스터(10)는 이어버드 슬레이브(20)와 UWB로 통신할 수 있다.
이어버드 마스터(10)는 ACL 데이터의 수신 성공/실패에 대한 메시지를 블루투스 통신으로 소스 디바이스(1)로 전송하는 동시에 이어버드 슬레이브(20)로부터 이어버드 슬레이브(20)의 스누핑 성공/실패에 대한 메시지를 수신할 수 있다.
블루투스를 사용하여 전송되는 데이터 및 Ack는 L1 링크(L1 link)로 표기되었고, 이종 링크 기술인 UWB를 사용하여 이어버드 마스터(10)와 이어버드 슬레이브(20) 간에 생성된 TWS 제어 링크(TWS Control Link)는 L2 링크(L2 link)로 표기되었다. L3 링크(L3 link)는 소스 디바이스(1)로부터 데이터를 스누핑하는 링크일 수 있다.
이어버드 마스터(10)와 이어버드 슬레이브(20)는 모두 소스 디바이스(1)로부터 데이터를 정상 수신하면, 이어버드 마스터(10)는 블루투스 데이터 링크(Bluetooth Data link)인 L1 링크를 통해 소스 디바이스(1)에 ACK를 송신하는 동시에, 이어버드 슬레이브(20)는 TWS 제어 링크(TWS Control Link)인 L2 링크를 통해 Data#N의 정상 수신을 이어버드 마스터(10)에 알릴 수 있다.
도 17은 본 개시의 실시예에 다른 무선 이어버드 시스템에서 이종 링크 기술을 활용할 때 이어버드 마스터만 데이터를 수신하지 못한 경우가 도시된 순서도이고, 도 18은 도 17에 따른 데이터 송수신 및 ACK 타이밍 도표가 도시된 도면이다.
이어버드 마스터(10)는 소스 디바이스(1)로부터 데이터를 수신하지 못하고, 이어버드 슬레이브(20)만 소스 디바이스(1)로부터 전송되는 데이터의 스누핑에 성공할 수 있다. 이 경우, 이어버드 마스터(10)는 블루투스 재전송 절차를 통해 소스 디바이스(1)로부터 데이터를 재전송 받을 수 있다. 만약, 이어버드 슬레이브(20)는 소스 디바이스(1)에서 재전송되는 데이터의 스누핑을 성공하면, 해당 데이터를 무시할 수 있다.
도 19는 본 개시의 실시예에 다른 무선 이어버드 시스템에서 이종 링크 기술을 활용할 때 이어버드 슬레이브만 데이터를 수신하지 못한 경우가 도시된 순서도이고, 도 20은 도 19에 따른 데이터 송수신 및 ACK 타이밍 도표가 도시된 도면이다.
이어버드 마스터(10)는 데이터를 수신하고, 이어버드 슬레이브(20)만 데이터를 수신하지 못할 수 있다. 이 경우, 이어버드 슬레이브(20)는 L2 링크를 통해 NACK 메시지를 이어버드 마스터(10)에게 전송할 수 있다.
이어버드 마스터(10)는 L1 링크를 통해 소스 디바이스(1)에 자신의 데이터 정상 수신을 알리는 동시에, L2 링크로 수신된 이어버드 슬레이브(20)의 NACK 정보를 바탕으로 데이터 재전송, 즉 릴레이를 수행할 수 있다. 이 때, 릴레이 시도 횟수는 재전송 허용 시간을 설정하여 조정될 수 있다.
도 21은 본 개시의 실시예에 다른 무선 이어버드 시스템에서 이종 링크 기술을 활용할 때 이어버드 마스터(10) 및 이어버드 슬레이브(20)가 모두 데이터를 수신하지 못한 경우가 도시된 순서도이고, 도 22는 도 21에 따른 데이터 송수신 및 ACK 타이밍 도표가 도시된 도면이다.
이어버드 마스터(10)와 이어버드 슬레이브(20)가 모두 데이터를 수신하지 못한 경우, 이어버드 마스터(10)는 L1 링크를 통해 소스 디바이스(1)에 NACK 메시지를 전송하며, 동시에 L2 링크를 통해 제2 싱크 디바이스(20)로부터 NACK 메시지를 수신할 수 있다. 따라서, 이와 같이 이어버드 마스터(10)와 이어버드 슬레이브(20)가 모두 데이터를 수신하지 못한 경우에는, 이어버드 마스터(10)도 데이터를 수신하지 못하였기 때문에 릴레이를 수행하지 않고, 소스 디바이스(1)에 의한 데이터 재전송으로 데이터를 복구할 수 있다.
이와 같이 이종 링크 기술을 이용하면 ACK 신호를 동시에 송수신할 수 있고, 이에 따라 지연(Latency) 문제가 최소화되는 이점이 있다.
다음으로, 무선 이어버드 시스템의 동작 방법을 상세히 설명한다. 본 개시의 일실시예에 따른 무선 이어버드 시스템은 데이터 릴레이를 선택적으로 수행할 수 있다.
이하에서는, 스누핑 및 재전송(또는 릴레이) 구조를 가진 이어버드 시스템에서 재생 시간 동기화 방안 즉, 이어버드 마스터/슬레이브 간 동기화 정보 설정 및 송수신 방법, 이어버드 마스터/슬레이브(소스 디바이스/이어버드 마스터 간이 아님) 네트워크 타임(Network Time) 이용, 재전송 구간을 고려한 재생 시간 설정, 재전송 구간 진출입 제어 패킷 기반 정보 공유 방법, 동기화 정보 설정 이전 패킷에 대한 처리 방안, 장시간 동작에 따른 클록 드리프트(Clock Drift)에 따른 시간 오차 처리 방안 등에 대해 설명한다.
먼저, 본 개시에 따른 무선 이어버드 시스템의 재생 시간 동기화에 대해 설명한다. 여기서, 시간 동기화란 무선 이어버드 시스템을 구성하는 이어버드 마스터와 이어버드 슬레이브(20)가 본 개시에 따른 스누핑 방식을 사용하여 수신하는 데이터를 동일한 시점에 재생되도록 하는 것을 나타낼 수 있다.
도 23은 본 개시의 실시예에 따른 무선 이어버드 시스템에서 싱크 에러(synchronization error)를 설명하기 위해 도시한 도면이다.
무선 이어버드 시스템은, 소스 디바이스(1)(예를 들어, 오디오 소스)와 이어버드 마스터(10) 및 이어버드 슬레이브(20) 즉, 2개의 이어버드를 연결하기 위하여 릴레이 또는 스누핑 방식이 사용되는데, 전술한 바와 같이 배터리 소모 및 지연시간을 고려하여 고유의 스누핑 방식 즉, 컨트롤러의 선택적 릴레이 기술을 이용할 수 있다.
도 23을 참조하면, 이러한 스누핑 방식에서는 소스 디바이스(SRC)(1)가 아닌 이어버드 마스터(10)에서 선택적으로 이어버드 슬레이브(20)에 데이터를 재전송하게 되는데, 이 경우 이어버드 마스터(10)와 이어버드 슬레이브(20)에서 동일한 시점에 재생되어야 할 오디오 데이터(데이터 패킷)에 대한 수신 처리 시점에 차이가 발생하고, 그로 인해 이어버드 마스터(10)와 이어버드 슬레이브(20) 사이에서 오디오 재생 싱크 오차 문제가 발생할 수 있다.
한편, 장시간 오디오를 재생하는 경우, 소스 디바이스(1)와 이어버드 마스터(10)(및 이어버드 슬레이브(20)) 사이에 개별 클록 사용으로 인한 클록 드리프트 현상이 발생할 수 있다. 클록 드리프트 역시 오디오 싱크 오차 발생의 한 원인일 수 있으며, 이에 대한 해결책이 필요하다.
도 1 및 23을 참조하면, 이어버드 슬레이브(20)는 소스 디바이스(1)와 이어버드 마스터(10) 사이의 통신을 스누핑하는 방식이다. 한편, 이어버드 슬레이브(20)는 ACK 정보를 컨트롤러의 TWS 제어 구간에 이어버드 마스터(10)로 전달할 수 있다. 이어버드 마스터(10)는 이어버드 슬레이브(20)의 통계치를 기반으로 패킷 릴레이 즉, 이어버드 슬레이브(20)에서 누락된 패킷을 재전송 해 줄 수 있다. 컨트롤러에서 재전송 정보를 주고받기 때문에 재전송으로 인한 시간 오차는 크지 않을 수 있다.
그러나 도 23에 도시된 바와 같이, 초기 재전송 발생 시의 싱크(synchronization) 즉, 동기화가 필요할 수 있으며, 장시간 동작 시에도 전술한 클록 드리프트 발생 가능성에 대한 고려가 수행될 필요가 있다.
본 개시는 전술한 동기화와 클록 드리프트 발생에 따른 처리를 위하여 이어버드 마스터와 이어버드 슬레이브 사이에 재전송 구간에 주고받는 제어 패킷을 이용할 수 있다.
예를 들어, 소스 디바이스(1)로부터 수신되는 각 데이터 패킷의 재생 시점은 이어버드 마스터(10)에 의해 결정될 수 있다. 이어버드 슬레이브(20)는 수신되는 패킷의 재생 시점을 알 수 없는 경우에는, 재생하지 않는 것이 바람직하다. 그렇다고 데이터 패킷 각각에 대해 재생 시간을 정의하여 전송하는 것은 시스템 효율의 측면에서 비효율적일 수 있다.
따라서 본 개시에서는 이어버드 마스터(10)와 이어버드 슬레이브(20)가 동일한 시점에 재생 즉, 재생 싱크가 맞도록 하기 위해서는 데이터 패킷이 수신된 시점이 아니라 최대 재전송 시점과 이후 오디오 처리 시간을 고려할 수 있다.
도 24는 본 개시의 다른 실시예에 따른 TWS 엔드 제어 패킷(TWS End Control Packet)의 페이로드 형식이 도시된 도면이다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따른 무선 이어버드는, 소스 디바이스(1)로부터 오디오 데이터를 수신하는 이어버드 마스터(10) 및 소스 디바이스(1)에서 전송되는 오디오 데이터를 스누핑하는 이어버드 슬레이브(20)를 포함하여 구성될 수 있다.
이어버드 마스터(10)는, 이어버드 슬레이브(20)로 데이터 패킷의 재생(예를 들어, 재생 시점)과 관련된 싱크 정보(synchronization information)를 전송할 수 있다.
이어버드 마스터(10)는, 이어버드 슬레이브(20)로 전송되는 제어 패킷(control packet)에 싱크 정보를 포함할 수 있다. 제어 패킷은, TWS 엔드 제어 패킷(TWS end control packet)일 수 있다. 다만, 본 개시가 이에 한정되는 것은 아니다. 예컨대, 이어버드 마스터(10)는 TWS 엔드 제어 패킷이 아닌 다른 패킷에 싱크 정보를 포함하여 이어버드 슬레이브(20)로 전송할 수도 있고, 싱크 정보를 포함하는 별도의 패킷을 생성하여 이어버드 슬레이브(20)로 전송할 수도 있다.
도 24의 (a) 또는 도 24의 (b)에서는, 싱크 정보가 포함된 TWS 엔드 제어 패킷의 다른 실시예를 도시하였다.
도 6에 도시된 TWS 엔드 제어 패킷과 달리, 도 24의 (a) 또는 도 24의 (b)에 도시된 TWS 엔드 제어 패킷은 싱크 정보가 더 포함되었다. 따라서 도 24의 (a) 내지 도 24의 (b)에 도시된 TWS 엔드 제어 패킷을 설명함에 있어, 전술한 도 6에서 이미 설명한 내용은 해당 설명을 참고하고, 여기서 중복 설명은 생략한다.
먼저, 도 24의 (a)에 도시된 TWS 엔드 제어 패킷은, 싱크 정보를 포함하며, 싱크 정보에는 다음과 같은 정보가 포함될 수 있다.
- Data Packet Sequence Number (DataSN): 시간 동기화(Time Synchronization)를 수행하기 위한 기준 시퀀스 넘버(Sequence Number)를 나타낼 수 있다.
- Playback Time(32bit): 데이터 패킷을 실제 재생하는 시점을 나타낼 수 있다. 이 때, 실제 재생하는 시점은 이어버드 마스터(10)와 이어버드 슬레이브(20) 사이에 적용되는 네트워크 타임을 이용할 수 있다.
싱크 정보는, 도 24의 (a)에 도시된 바와 같이 데이터 패킷 시퀀스 넘버(DataSN, data packet sequence number)와 재생 시간(Tplayback, playback time)에 대한 정보를 포함하여 구성될 수 있다.
데이터 패킷 시퀀스 넘버 정보(DataSN)는, 싱크 정보가 적용되는 데이터 패킷의 기준 시퀀스 넘버를 나타낼 수 있다. 이 때, 싱크 정보가 적용되는 데이터 패킷의 기준 시퀀스는, 싱크 정보가 적용되는 데이터 패킷의 첫번째 시퀀스일 수 있으나, 반드시 이에 한정되는 것은 아니다.
재생 시간 정보(Tplayback)는, 데이터 패킷의 기준 시퀀스가 실제 재생하는 시점을 나타낼 수 있다. 재생 시간 정보(Tplayback)는, 이어버드 마스터(10)와 이어버드 슬레이브(20) 사이에 적용되는 네트워크 타임(network time)을 사용하여 정의될 수 있다.
한편, 싱크 정보는, 이어버드 마스터(10)에서 이어버드 슬레이브(20)의 스누핑 실패에 따른 재전송 구간을 고려하여 정의될 수 있다.
도 25 내지 도 26을 참고하여, 이어버드 마스터(10)와 이어버드 슬레이브(20) 간 싱크 정보(동기화 정보)를 설정하고, 클록 드리프트 현상을 해소하기 위한 동작에 대해 설명한다.
도 25는 본 개시의 실시예에 따른 이어버드 마스터(10) 디바이스의 제어 블록도이고, 도 26은 본 개시의 실시예에 따른 이어버드 슬레이브(20) 디바이스의 제어 블록도이다.
도 25에 도시된 바와 같이, 본 개시의 실시예에 따른 이어버드 마스터(10)는 컨트롤러(11), 재생 시점 결정부(12), 싱크 정보 생성부(13), 클록 비교 판단부(15) 및 클록 드리프트 보정 처리부(17) 중 일부 또는 전부를 포함할 수 있다.
컨트롤러(11)는 재생 시점 결정부(12), 싱크 정보 생성부(13), 클록 비교 판단부(15) 및 클록 드리프트 보정 처리부(17) 각각의 동작을 제어할 수 있다.
재생 시점 결정부(12)는 수신되는 데이터 패킷의 재생 시점을 결정할 수 있다. 수신되는 데이터 패킷은 싱크 정보가 적용되는 데이터 패킷의 기준 시퀀스 넘버 즉, 도 24의 (a)에 도시된 DataSN을 나타낼 수 있으나, 이에 제한되는 것은 아니다. 한편, 재생 시점은 이어버드 마스터(10)와 이어버드 슬레이브(20) 사이에 적용되는 네트워크 타임을 이용하여 정의되는 시각으로, 도 24의 (a)에 도시된 Tplayback을 나타낼 수 있다.
싱크 정보 생성부(13)는 재생 시점 결정부(12)에 의해서 결정된 데이터 패킷의 재생 시점에 관한 정보에 대한 싱크 정보를 생성할 수 있다.
클록 비교 판단부(15)는 장시간 동작에 따른 클록 드리프트 발생 여부를 판단하기 위하여, 소스 디바이스(1)와의 사이에서 적용되는 블루투스 모뎀의 클록(BluetoothTM Modem Clock)과 이어버드 마스터(10)의 컨트롤러에서 사용하는 클록 정보를 추출하여 비교하여, 클록 드리프트 발생 여부를 판단할 수 있다.
클록 드리프트 보정 처리부(17)는 클록 비교 판단부(15)를 통해 판단한 결과, 클록 드리프트가 발생한 것으로 판단되는 경우, 발생한 클록 드리프트에 따른 시간 보정을 위한 동작을 수행할 수 있다.
도 25의 이어버드 마스터(10)의 동작에 대응하여, 도 26에서는 이어버드 슬레이브(20)의 동작에 대해 설명한다.
도 26에 도시된 바와 같이, 본 개시의 실시예에 따른 이어버드 슬레이브(20)는 컨트롤러(21), 싱크 정보 추출부(26), 재생 시점 산출부(27), 패킷 처리 판단부(28) 및 클록 드리프트 보정 처리부(29) 중 일부 또는 전부를 포함할 수 있다.
컨트롤러(21)는 싱크 정보 추출부(26), 재생 시점 산출부(27), 패킷 처리 판단부(28) 및 클록 드리프트 보정 처리부(29) 각각의 동작을 제어할 수 있다.
싱크 정보 추출부(26)는 이어버드 마스터(10)로부터 수신되는 TWS 제어 엔드 패킷으로부터 싱크 정보 필드를 추출하고, 싱크 정보 필드를 파싱하여 싱크 정보를 추출할 수 있다. 이 때, 추출되는 싱크 정보는 도 24의 (a) 또는 도 24의 (b)에 도시된 싱크 정보가 포함될 수 있다.
재생 시점 산출부(27)는 싱크 정보 추출부(26)에서 추출된 싱크 정보에 기초하여 이어버드 마스터(10)의 재생 싱크에 맞는 이어버드 슬레이브(20)의 재생 시점을 산출할 수 있다.
패킷 처리 판단부(28)는 재생 시점 산출부(27)에서 산출된 이어버드 슬레이브(20)의 패킷 재생 시점에 기초하되, 상기 패킷 재생 시점 이전에 수신된 패킷과 누락된 패킷에 대한 처리 방법을 판단하고, 그에 따른 동작을 할 수 있다. 예를 들어, 전자의 경우 후술하는 바와 같이 재생 시점 이전에 이어버드 슬레이브(20)에서 수신한 패킷은 재생되지 않도록 무시(ignore or discard)하고, 후자의 경우 후술하는 바와 같이 재생 시점에 이어버드 슬레이브(20)에서 재생되어야 할 패킷이 누락된 경우에는 묵음 처리할 수 있다.
클록 드리프트 보정 처리부(29)는 클록 비교 판단부(15)를 통해 판단한 결과, 클록 드리프트가 발생한 것으로 판단되는 경우, 발생한 클록 드리프트에 따른 시간 보정을 위한 동작을 수행할 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따른 무선 이어버드의 동작 방법은, 이어버드 마스터(10)에서 소스 디바이스(1)로부터 오디오 데이터를 수신하고, 이어버드 슬레이브(20)에서 소스 디바이스(1)로부터 이어버드 마스터(10)로 전송되는 오디오 데이터를 스누핑하며, 이어버드 마스터(10)에서 데이터 패킷 재생과 관련된 싱크 정보를 이어버드 슬레이브(20)로 전송하는 과정을 포함하여 이루어질 수 있다.
이하 도 27 및 28의 동작 방법을 설명함에 있어서, 전술한 도 7 내지 9에서 설명한 동작 방법과 중복되는 부분은 해당 설명을 참고하여, 여기서 중복 설명은 생략한다. 다시 말해, 이어버드 마스터(10)에서 이어버드 슬레이브(20)로 TWS 엔드 제어 패킷을 전송하는 부분 이전의 설명은 전술한 내용을 참고하여, 이하에서는 싱크 정보가 포함된 TWS 엔드 제어 패킷을 전송하는 부분부터 설명한다.
도 27은 본 개시의 실시예에 따른 무선 이어버드 시스템의 데이터 릴레이가 필요 없는 경우 동작 방법이 도시된 순서도이다.
이어버드 마스터(10)는 TWS 엔드 제어 패킷을 이어버드 슬레이브(20)로 전송한다.
TWS 엔드 제어 패킷에는 도 24의 (a)에 도시된 바와 같이, 싱크 정보가 포함될 수 있다. 싱크 정보에는 이후 재생될 데이터 패킷에 대한 정보(Data#N)와 데이터 패킷의 재생 시간 정보(Tplayback)가 포함될 수 있다.
상기에서, 재생 시간은 아래 수학식 1과 같이 산출될 수 있다. 후술하는 수학식 1과 2에서 사용되는 시간 정보는 이어버드 마스터(10)/슬레이브(20) 간의 연결되어 적용되는 네트워크 타임을 기준으로 사용될 수 있다.
Figure PCTKR2022013032-appb-img-000001
여기서, Ttws_end_control은 해당 제어 메시지(control message)를 전송하는 슬롯 바운더리(slot boundary)를 사용할 수 있다.
TDelay는 데이터 처리에 필요한 총 소요 시간일 수 있다.
수학식 1을 참고하면, 재생 시간(Tplayback)은, TWS 엔드 제어 패킷이 전송되는 시점(TTWS_End_Control)에 딜레이(TDelay)를 고려하여 산출될 수 있다. 이 때, 딜레이(TDelay)는 예를 들어, 하드웨어 디코딩(HW Decoding), 소프트웨어 처리(SW Processing), 오디오 디코딩 타임(Audio Decoding Time) 중 적어도 하나의 동작 수행에 따른 딜레이 시간을 나타낼 수 있다.
이어버드 마스터(10)는 Data#N을 Tplayback 시점에 재생할 수 있다.
Data#N 이후의 데이터 패킷의 재생 시간은 다음 수학식 2에 의해 산출될 수 있다.
Figure PCTKR2022013032-appb-img-000002
수학식 2를 참고하면, Data#N 이후의 임의의 데이터 패킷(예를 들어, k번째)의 재생 시간(Tplayback_Data(N+K))은, Data#N의 재생 시간(Tplayback)을 기준으로 하나의 데이터 패킷의 길이에 해당하는 시간을 더한 값일 수 있다. 이 때, K는 임의의 값으로, 자연수일 수 있다. 따라서, 임의의 K번째 데이터 패킷의 재생 시간 즉, Tplayback_Data(N+K)은, 첫번째 데이터 패킷의 재생 시간(Tplayback)에서 k와 각 데이터 패킷의 길이를 곱한 값을 더한 값에 의해 결정될 수 있다.
수학식 1과 수학식 2를 참고하면, 싱크 정보를 통해 (Data#N, Tplayback) where Tplayback = Ttws_end_control + TDelay 정보가 추출할 수 있다. 이 때, 수학식 2를 통해, k=1인 경우 즉, Data#N+1는 Tplayback + Tdata_length*1로 산출할 수 있고, k=2인 경우 즉, Data#N+2의 재생 시간은 Tplayback + Tdata_length*2로 산출할 수 있다.
실시예에 따라서, 이어버드 마스터(10)는 수학식 1에 의해 산출된 첫번째 데이터 패킷의 재생 시간 정보(Tplayback)만 싱크 정보에 포함하여 이어버드 슬레이브(20)로 전송할 수 있다. 이 경우, 이어버드 슬레이브(20)는 싱크 정보로부터 첫번째 데이터 패킷의 재생 시간 정보(Tplayback)를 추출하고, 수학식 2를 통해 나머지 데이터 패킷의 재생 시간은 추출된 첫번째 데이터 패킷의 재생 시간 정보에 기초하여 산출할 수 있다.
다른 실시예에 따라서, 이어버드 마스터(10)는 수학식 1에 의해 산출된 첫번째 데이터 패킷의 재생 시간 정보(Tplayback)와 수학식 2에 의해 산출된 임의의 데이터 패킷의 재생 시간 정보(Tplayback_Data(N+K))를 싱크 정보에 포함하여 이어버드 슬레이브(20)로 전송할 수 있다. 이 경우, 이어버드 슬레이브(20)는 싱크 정보로부터 첫번째 데이터 패킷의 재생 시간 정보(Tplayback)를 추출하고, 수학식 2를 통해 임의의 데이터 패킷의 재생 시간을 산출한 후, 싱크 정보에 포함된 임의의 데이터 패킷의 재생 시간 정보(Tplayback_Data(N+K))와 비교하여, 중간에 싱크가 맞지 않는 것을 방지할 수 있다. 한편, 이어버드 슬레이브(20)는 전술한 비교를 통해, 싱크 정보에 대한 검증을 수행할 수도 있다. 예를 들어, 이어버드 슬레이브(20)는 전술한 비교 결과, 만약 임의의 데이터 패킷의 재생 시간이 서로 맞지 않는 경우에는, 이어버드 마스터(10)로부터 전송된 싱크 정보의 신뢰성이 떨어진다고 판단하여, 재전송을 요청할 수 있다.
한편, 이어버드 슬레이브(20)는 첫번째 재생 데이터 패킷 즉, Data#N과 관련하여, 상기 Data#N의 재생 시간 이전에 수신되어 버퍼에 저장된 데이터 패킷은 재생하지 않고 무시(ignore or discard)할 수 있다.
또 다른 실시예에 따르면, 이어버드 마스터(10)는 임의의 시점(재생 시점을 나타내는 것이 아님)에 재생되어야 할 임의의 패킷에 대한 싱크 정보(패킷 시퀀스 넘버와 재생 시간)가 포함된 별도 TWS 제어 패킷으로 생성하여 이어버드 슬레이브(20)로 전송할 수 있다.
한편, 이어버드 마스터(10)는 특정 단위로 TWS 제어 패킷을 전송하여 이어버드 슬레이브(20)와의 사이에서 재생 싱크를 맞출 수 있도록 할 수 있다. 이 때, 특정 단위라 함은 예를 들어, 곡 단위, 프로그램 단위, 시간 단위 등 중 적어도 어느 하나일 수 있다. 또는, 특정 단위는 소스 디바이스(1)로부터 데이터 패킷이 연속적으로 수신하는 구간을 나타낼 수 있다. 이 경우 소스 디바이스(1)로부터 데이터 패킷이 수신되지 않다가 다시 수신되는 경우, 싱크를 맞추기 위해 TWS 제어 패킷을 전송할 수 있다. 따라서, 이어버드 마스터(10)에서 TWS 제어 패킷이 이어버드 슬레이브(20)로 전송되는 경우, 전술한 과정을 재수행 할 수 있다.
도 27은 예를 들어, 이어버드 슬레이브(20)에서 이어버드 마스터(10)로부터 재전송된 ACL 데이터 패킷의 수신을 성공한 경우(RX OK)로 볼 수 있다.
이어버드 마스터(10)는 수신에 성공한 첫번째 패킷을 기준으로 싱크 정보 데이터베이스(Sync Info Database)를 업데이트할 수 있다(Data #N, None).
이어버드 마스터(10)는 TWS 엔드 제어 패킷 전송 시점이 정해지면, 그 시점을 기준으로 각 패킷의 재생 시간(Tplay_back)을 결정할 수 있다.
이어버드 마스터(10)는 TWS 엔드 제어 패킷에 싱크 정보로 (Data#N, Tplay_back) 정보를 같이 전송할 수 있다.
이어버드 마스터(10)는 각 데이터 패킷의 재생 시간에 재생할 수 있다.
한편, 이어버드 슬레이브(20)는 데이터 패킷을 스누핑한 후, 버퍼에 그것을 펜딩시켜 놓을 수 있다.
그리고 이어버드 슬레이브(20)는 TWS 엔드 제어 패킷에 싱크 정보를 전송받으면, 싱크 정보를 기준으로 재생 시점을 계산하여 재생할 수 있다.
도 28은 본 개시의 다른 실시예에 따른 무선 이어버드 시스템의 초기 클록 동기화(initial clock synchronization) 경우 동작 방법이 도시된 순서도이다.
전술한 도 27은 이어버드 슬레이브(20)에서 이어버드 마스터(10)로부터 재전송된 ACL 데이터 패킷의 수신을 성공한 경우(RX OK) 그 처리 방법에 대한 설명이나, 도 28은 이어버드 슬레이브(20)에서 이어버드 마스터(10)로부터 재전송되는 ACL 데이터 패킷의 수신을 실패한 경우(RX NOK)에 그 처리 방법에 대한 설명일 수 있다.
도 28에서는 전술한 도 27과 중복되는 부분에 대한 설명은 그를 원용하고 여기서 중복 설명은 생략할 수 있다.
이어버드 슬레이브(20)는 데이터 패킷을 스누핑한 후 버퍼에 펜딩시켜 놓을 수 있다.
이어버드 슬레이브(20)는 이어버드 마스터(10)로부터 전송되는 TWS 엔드 제어 패킷으로부터 싱크 정보를 추출하고, 전술한 수학식 1을 통해 재생 시점을 산출하여 해당 시점으로부터 데이터 패킷(Data#N)을 재생할 수 있다.
다만, 도 27과 달리, 도 28을 참조하면, 이어버드 슬레이브(20)는 싱크 정보에 해당하는 패킷(예를 들어, Data#N)을 수신하지 못한 경우(RX NOK), 해당 패킷은 묵음(silent) 처리할 수 있다. 다만, 이후 패킷의 재생시간에 대해서는, 이어버드 슬레이브(20)는 전술한 수학식 2를 통해 임의의 패킷(예를 들어, Data#N+1)의 재생 시점을 산출하여 해당 재생 시점에 해당 패킷이 재생되도록 하여 이어버드 마스터(10)와 재생 싱크가 어긋나지 않도록 처리할 수 있다.
즉, 본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 이어버드 슬레이브(20)는, 싱크 정보가 적용되는 데이터 패킷의 기준 시퀀스 넘버보다 이전 시퀀스 넘버를 가진 데이터 패킷은 무시(discard)할 수 있다. 이어버드 슬레이브(20)는, 싱크 정보에 대응하는 데이터 패킷이 수신되지 않은 경우에는, 해당 패킷은 묵음(silent) 처리할 수 있다.
이하에서는 클록 드리프트 발생에 따른 클록 미세 튜닝(Clock Fine Tuning)에 대해 설명한다.
도 29는 본 개시의 실시예에 따른 무선 이어버드 시스템의 클록 미세 튜닝을 위한 동작 방법이 도시된 순서도이다.
이하 본 개시에서는 블루투스 스누핑 과정에서 사용되는 이어버드 간 패킷 재전송 과정 및 클록 드리프트로 발생할 수 있는 이어버드 간 재생 시간 오차를 줄이기 위한 처리 방법에 대해 설명한다.
이어버드 마스터(10)는 소스 디바이스(1)와의 사이에서 적용되는 블루투스 모뎀의 클록(BluetoothTM Modem Clock)과 이어버드 마스터(10)의 컨트롤러에서 사용하는 클록 간 차이가 발생 여부, 그리고 차이가 발생하면 그 변화량을 판단하여, 클록 드리프트 발생 여부를 판단할 수 있다. 이어버드 마스터(10)는 클록 드리프트가 발생한 경우 보정 동작을 수행하되, 클록 간 차이의 변화량을 예를 들어, 오디오 샘플(audio sample) 단위로 미세 조정할 수 있다.
보정 동작을 수행과 관련하여, 이어버드 마스터(10)는 싱크 정보를 이용할 수 있다. 이 때, 싱크 정보는 TWS 제어 패킷에 포함될 수 있다. TWS 제어 패킷은 예를 들어, 도 24의 (b)에 도시된 바와 같은 TWS 엔드 제어 패킷이 이용될 수 있다. 도 24의 (b)를 참조하면, 싱크 정보는 도 24의 (a)에서 정의된 싱크 정보에 추가로 다음 정보가 더 포함될 수 있다.
- Sample Control: 샘플을 추가하거나 삭제하기 위한 정보를 나타낼 수 있다.
본 개시에서 개시하는 샘플은 PCM(Pulse-code modulation) 데이터의 샘플 데이터를 기준으로 이용할 수 있으나, 반드시 이에 한정되는 것은 아니다. 이 때, 샘플 제어 정보는 도 24의 (b)에 도시된 TWS 엔드 제어 패킷에 포함될 수 있으며, 전술한 클록 드리프트를 위해 사용될 수 있다.
본 개시의 실시예에 따른 이어버드에서 클록 드리프트 발생에 따른 시간 오차 처리는 다음과 같이 이루어질 수 있다.
이어버드 마스터(10)는 블루투스 모뎀의 클록과 컨트롤러의 클록 간의 오차를 모니터링하여 클록 드리프트 발생 여부를 판별할 수 있다. 이 때, 모니터링은 주기적으로 이루어질 수도 있고, 임의의 시점에 비주기로 이루어질 수도 있다. 모니터링은 예컨대, 이어버드 마스터(10)와 이어버드 슬레이브(20) 간 주고받는 TWS 제어 패킷에 기초하여 이루어질 수 있다. 예를 들어, 이어버드 마스터(10)는 이어버드 슬레이브(20)로 TWS 제어 패킷을 소정 횟수(매 m회, 여기서 m은 자연수) 전송하면, 클록 모니터링을 수행하도록 할 수 있다.
이후, 이어버드 마스터(10)는 재전송 구간에서 송수신되는 제어 패킷을 이용하여 클록 드리프트 관련 정보를 이어버드 슬레이브(20)와 공유하고, 보정하여 그에 따른 시간 오차를 처리할 수 있다. 이는 이어버드 마스터(100나 이어버드 슬레이브(20)에서만 보정이 이루어지는 경우, 보정에 따라 재생 싱크가 틀어지는 것을 방지하기 위함일 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 상기 제1 싱크 디바이스는, 상기 소스 디바이스(1)와의 사이에 적용되는 네트워크 타임과 컨트롤러의 클록을 비교하여, 임계치 이상 차이가 나면 상기 샘플 제어 정보에 기초하여 보정(correction) 동작을 수행하되, 상기 임계치는 PCM 데이터의 오디오 샘플(audio sample)을 기준으로 결정되며, 상기 샘플 제어 정보는, 상기 컨트롤러의 클록이 상기 네트워크 타임에 비해 빠르면 PCM 데이터에서 적어도 1 샘플을 중복 제어 정보를 포함하고, 상기 컨트롤러의 클록이 상기 네트워크 타임에 비해 느리면 PCM 데이터에서 적어도 1 샘플을 삭제 제어 정보를 포함할 수 있다.
클록 드리프트 처리를 위한 클록 미세 튜닝 동작 방법에 대해 보다 상세하게 설명하면, 다음과 같다.
이어버드 마스터(10)는 블루투스 모뎀 클록과 컨트롤러의 클록 사이의 차이(clock_err)를 모니터링할 수 있다. 이 때, 모니터링은 이어버드 마스터(10)에 의해 주기/비주기로 이루어질 수 있다.
이어버드 마스터(10)는 모니터링 결과, 두 클록의 차(clock_err)가 미리 정의된 임계치(threshold) 이상이면, 소스 디바이스(1)와 이어버드 마스터(10) 사이에 클록 드리프트 현상이 발생한 것으로 판단할 수 있다. 따라서 이어버드 마스터(10)는 판단된 클록 드리프트 현상을 해소하기 위한 보정 동작을 수행할 수 있다. 이 때, 보정 동작은 도 24의 (b)에 도시된 싱크 정보 내 샘플 제어 정보를 참조할 수 있다.
이어버드 마스터(10)는 클록 드리프트의 발생 여부 판단을 임계치를 기준으로 판단하고, 임계치는 오디오 디코딩되어 있는 PCM 데이터에 기초하여 미리 정의될 수 있다. 임계치는 PCM 데이터의 샘플 단위를 기준으로 정의될 수 있다. 본 개시의 실시예에 따르면, 임계치는 1 샘플로 정의될 수 있으나, 반드시 이에 한정되는 것은 아니다. 따라서 이어버드 마스터(10)는, 샘플을 추가하거나 삭제하여 보정 동작을 수행할 수 있다. 이어버드 마스터(10)는 PCM 데이터의 적어도 하나의 샘플을 추출하고, 추출된 샘플을 중복(duplication)하여 샘플을 추가할 수 있다. 반면, 이어버드 마스터(10)는 PCM 데이터의 적어도 하나의 샘플을 추출하고, 추출된 샘플을 삭제(deletion)하여 샘플을 삭제할 수 있다. 다만, 이어버드 마스터(10)에 의한 보정 동작이 전술한 샘플 중복 또는 샘플 삭제에만 한정되는 것은 아니다. 예컨대, 보정 동작의 하나로 샘플 삭제는 대상 샘플을 추출하고, 추출된 대상 샘플을 묵음 처리하여 동일한 효과를 발생시킬 수도 있다. 한편, 상기에서, 보정 동작을 위한 샘플 중복 또는 샘플 삭제를 위해 선택되는 샘플은 이어버드 마스터(10)에 의해 결정될 수 있으며, 임의 선택될 수 있다. 예를 들어, 이어버드 마스터(10)는 오디오 레벨이 일정 수준 이하인 샘플을 추출하여 중복 또는 삭제하거나 반대일 수도 있다. 상기에서, 오디오 레벨이 일정 수준 이하인 샘플을 이용하는 것은 보정 동작에 대한 영향을 최소화하기 위한 것으로, 본 개시가 반드시 이에 한정되는 것은 아니다.
이어버드 마스터(10)는 두 클록의 차이(clock_err)가 적어도 1 샘플 이상 차이가 나는 경우에는, PCM 데이터에서 샘플을 중복하거나 삭제하여 보정 동작을 수행할 수 있다.
이어버드 마스터(10)는 도 24의 (b)에 도시된 바와 같이, 샘플 제어 정보를 포함한 싱크 정보를 TWS 엔드 제어 패킷에 포함하여 이어버드 슬레이브(20)로 전송할 수 있다. 그리고 이어버드 슬레이브(20)는 이어버드 마스터(10)로부터 수신되는 TWS 엔드 제어 패킷이 수신되면 이를 파싱하여 싱크 정보 내 샘플 제어 정보가 포함된 경우에는, 샘플 제어 정보를 추출하여 이어버드 슬레이브(20)에서 재생될 PCM 데이터에 대해서도 이어버드 마스터(10)와 동일한 처리를 수행할 수 있다.
이어버드 마스터(10)는 도 24의 (b)에 도시된 바와 같은 TWS 엔드 제어 패킷에 샘플 제어 정보를 포함시켜 전송하는 경우에는, 이어버드 슬레이브(20)와의 싱크가 맞도록 샘플 삭제 또는 샘플 중복에 대한 정보를 정의할 수 있다. 또한, 이어버드 마스터(10)는 샘플 삭제 또는 샘플 중복에 대한 정보를 정의하는 경우, 이어버드 슬레이브(20)와의 싱크가 맞도록 삭제 또는 중복 대상 샘플에 대한 식별자 정보를 포함할 수 있다.
이어버드 마스터(10)는 이어버드 슬레이브(20)/소스 디바이스(1)와 연결되면, 주기적으로 소스 디바이스(1)와 연결된 네트워크 타임과 이어버드 마스터(10)의 컨트롤러의 클록을 비교할 수 있다.
이어버드 마스터(10)는, 비교 결과 소스 디바이스(1)와의 사이에 적용되는 네트워크 타임과 컨트롤러의 클록의 차이(clock_err)가 임계치 이상이면, 그 차이를 보정할 수 있다. 이 때, 임계치는 예를 들어, 적어도 오디오 1 샘플이상으로 정의될 수 있으나, 반드시 이에 한정되는 것은 아니다.
컨트롤러의 클록이 소스 디바이스(1)와의 네트워크 타임보다 빠른 것으로 판단되는 경우, PCM 데이터에서 적어도 1 샘플이 중복되도록 제어할 수 있다.
반면, 컨트롤러의 클록이 소스 디바이스(1)와의 네트워크 타임보다 느린 것으로 판단되는 경우, PCM 데이터에서, 적어도 1 샘플이 삭제되도록 제어할 수 있다.
보정 정보(sync info)를 TWS 엔드 제어 패킷에 실어 보내고, 이어버드 마스터(10)와 이어버드 슬레이브(20)는 TWS 엔드 제어 패킷 이후 첫번째 재생되는 패킷에 대하여 보정 작업을 수행하여 재생한다.
도 30은 본 개시의 실시예에 따른 무선 이어버드 시스템에서 데이터 릴레이가 필요 없는 경우 에어 스니퍼(Air Sniffer) 장비로 패킷을 캡쳐한 모습이 도시된 도면이고, 도 31은 본 개시의 실시 예에 따른 무선 이어버드 시스템에서 데이터 릴레이가 필요한 경우 에어 스니퍼 장비로 패킷을 캡쳐한 모습이 도시된 도면이다.
도 30을 참고하면, 이어버드 마스터(10)가 데이터를 정상적으로 수신하고, 이어버드 슬레이브(20)도 데이터를 정상적으로 수신하므로, 데이터 릴레이 없이 TWS 제어 패킷들이 송수신됨을 확인할 수 있다.
한편, 도 31을 참고하면, 이어버드 마스터(10)가 데이터를 정상적으로 수신한 반면, 이어버드 슬레이브(20)는 데이터를 수신하지 못할 수 있다. 이에 따라, 이어버드 마스터(10)가 TWS 스타트 제어 패킷을 전송한 후 TWS 리플라이 제어 패킷이 수신되고, 적어도 하나의 TWS 릴레이 제어 패킷과 TWS 엔드 제어 패킷이 송신되는 것을 확인할 수 있다.
이상 상술한 본 개시에 따르면, 종래에 비행 재생 시간 오차를 더욱 개선할 수 있고(예를 들어, 재생 시간 오차 < 150us), 장시간 동작에 따른 재생 시간 오차(클록 드리프트) 증가량도 더욱 개선할 수 있다(재생 시간 오차 증가량 < 150us). 다만, 본 개시에 따른 효과가 반드시 상기한 수치에 한정되는 것은 아니다.
본 개시의 다양한 실시예들 중 적어도 하나에 의하면, 이어버드 마스터(10)가 이어버드 슬레이브(20)에서 수신하지 못한 데이터만 선택적으로 전송하여 데이터 릴레이를 수행하므로, 릴레이 빈도 및 지연 시간이 최소화되고, 그에 따라 배터리 효율이 향상되는 이점이 있다. 본 개시의 다양한 실시예들 중 적어도 하나에 의하면, 재생 시간의 오차가 없거나 최소화되도록 개선할 수 있으며, 장시간 동작 시에 클록 드리프트 현상에 따라 발생할 수 있는 재생 시간 오차를 방지 또는 개선하여, 무선 이어버드의 이용 편의성을 향상시킬 수 있는 이점이 있다.
전술한 본 개시는 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 디바이스를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 디바이스 등이 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 명세서의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 명세서의 등가적 범위 내에서의 모든 변경은 본 명세서의 범위에 포함된다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 개시에 따른 무선 이어버드에 의하면, 이어버드 간 데이터 릴레이의 발생 빈도 및 지연 시간을 최소화하고, 배터리 소모를 최소화할 뿐만 아니라 이어버드 간 재생 싱크가 어긋나는 경우를 방지하여 이용 편의성을 개선할 수 있는바, 산업상 이용 가능성이 있다.

Claims (15)

  1. 소스 디바이스로부터 오디오 데이터를 수신하는 제1 싱크 디바이스; 및
    상기 소스 디바이스에서 전송되는 오디오 데이터를 스누핑(snooping)하는 제2 싱크 디바이스를 포함하고,
    상기 제1 싱크 디바이스는,
    상기 제2 싱크 디바이스로 데이터 패킷(data packet)의 재생과 관련된 싱크 정보(synchronization information)를 전송하는,
    무선 이어버드.
  2. 제1항에 있어서,
    상기 제1 싱크 디바이스는,
    상기 제2 싱크 디바이스로 전송되는 제어 패킷(control packet)에 상기 싱크 정보를 포함하는,
    무선 이어버드.
  3. 제2항에 있어서,
    상기 싱크 정보는,
    데이터 패킷 시퀀스 넘버(data packet sequence number)와 재생 시간(playback time)에 대한 정보 중 적어도 하나를 포함하는,
    무선 이어버드.
  4. 제3항에 있어서,
    상기 싱크 정보는,
    샘플 제어(sample control)에 대한 정보를 더 포함하는,
    무선 이어버드.
  5. 제2항에 있어서,
    상기 제어 패킷은,
    TWS 엔드 제어 패킷(True Wireless Stereo end control packet)인,
    무선 이어버드.
  6. 제3항에 있어서,
    상기 데이터 패킷 시퀀스 넘버 정보는,
    상기 싱크 정보가 적용되는 데이터 패킷의 기준 시퀀스 넘버를 나타내는,
    무선 이어버드.
  7. 제6항에 있어서,
    상기 싱크 정보가 적용되는 데이터 패킷의 기준 시퀀스는,
    상기 싱크 정보가 적용되는 데이터 패킷의 첫번째 시퀀스인,
    무선 이어버드.
  8. 제6항에 있어서,
    상기 재생 시간 정보는,
    상기 데이터 패킷의 기준 시퀀스가 실제 재생하는 시점을 나타내는,
    무선 이어버드.
  9. 제7항에 있어서,
    상기 재생 시간 정보는,
    상기 제1 싱크 디바이스와 제2 싱크 디바이스 사이에 적용되는 네트워크 타임(network time)을 사용하여 정의되는,
    무선 이어버드.
  10. 제3항에 있어서,
    상기 싱크 정보는,
    상기 제2 싱크 디바이스의 스누핑 실패에 따른 재전송 구간을 고려하여 정의되는,
    무선 이어버드.
  11. 제7항에 있어서,
    상기 제2 싱크 디바이스는,
    상기 싱크 정보가 적용되는 데이터 패킷의 기준 시퀀스 넘버보다 이전 시퀀스 넘버를 가진 데이터 패킷은 무시(discard)하는,
    무선 이어버드.
  12. 제10항에 있어서,
    상기 제2 싱크 디바이스는,
    상기 싱크 정보에 대응하는 데이터 패킷이 수신되지 않은 경우에는, 해당 패킷은 묵음(silent) 처리하는,
    무선 이어버드.
  13. 제4항에 있어서,
    상기 제1 싱크 디바이스는,
    상기 소스 디바이스와의 사이에 적용되는 네트워크 타임과 컨트롤러의 클록(clock)을 비교하여, 임계치 이상 차이가 나면 상기 샘플 제어 정보에 기초하여 보정(correction) 동작을 수행하되,
    상기 임계치는 PCM(Pulse-code modulation) 데이터의 오디오 샘플(audio sample)을 기준으로 결정되며,
    상기 샘플 제어 정보는,
    상기 컨트롤러의 클록이 상기 네트워크 타임에 비해 빠르면 PCM 데이터에서 적어도 1 샘플을 중복 제어 정보를 포함하고,
    상기 컨트롤러의 클록이 상기 네트워크 타임에 비해 느리면 PCM 데이터에서 적어도 1 샘플을 삭제 제어 정보를 포함하는,
    무선 이어버드.
  14. 제1 싱크 디바이스에서 소스 디바이스로부터 오디오 데이터를 수신하는 단계;
    제2 싱크 디바이스에서 상기 소스 장치로부터 상기 제1 싱크 디바이스로 전송되는 오디오 데이터를 스누핑하는 단계; 및
    상기 제1 싱크 디바이스에서 데이터 패킷 재생과 관련된 싱크 정보를 상기 제2 싱크 디바이스로 전송하는 단계를 포함하는,
    무선 이어버드의 동작 방법.
  15. 소스 디바이스;
    상기 소스 디바이스로부터 오디오 데이터를 수신하는 제1 싱크 디바이스; 및
    상기 소스 디바이스에서 전송되는 오디오 데이터를 스누핑하는 제2 싱크 디바이스를 포함하고,
    상기 제1 싱크 디바이스는,
    상기 제2 싱크 디바이스로 데이터 패킷의 재생과 관련된 싱크 정보를 전송하는,
    무선 이어버드 시스템.
PCT/KR2022/013032 2022-08-31 2022-08-31 무선 이어버드, 시스템 및 그의 동작 방법 WO2024048812A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/013032 WO2024048812A1 (ko) 2022-08-31 2022-08-31 무선 이어버드, 시스템 및 그의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/013032 WO2024048812A1 (ko) 2022-08-31 2022-08-31 무선 이어버드, 시스템 및 그의 동작 방법

Publications (1)

Publication Number Publication Date
WO2024048812A1 true WO2024048812A1 (ko) 2024-03-07

Family

ID=90098031

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/013032 WO2024048812A1 (ko) 2022-08-31 2022-08-31 무선 이어버드, 시스템 및 그의 동작 방법

Country Status (1)

Country Link
WO (1) WO2024048812A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100015531A (ko) * 2007-03-14 2010-02-12 퀄컴 인코포레이티드 무선 링크된 이어피스를 갖는 헤드셋
KR20160021590A (ko) * 2014-08-18 2016-02-26 엘지전자 주식회사 블루투스 헤드셋
KR102015487B1 (ko) * 2016-04-22 2019-08-29 애플 인크. 테더링되지 않은 무선 접속된 디바이스들 사이의 역할 스와핑
KR20210091154A (ko) * 2018-10-15 2021-07-21 베이징 엑스와이 링크 테크놀로지 컴퍼니 리미티드 블루투스 장치용 확장 연결 방법과 확장 연결 시스템
KR20220103880A (ko) * 2019-06-21 2022-07-25 스프레드트럼 커뮤니케이션즈 (상하이) 컴퍼니 리미티드 오디오 재생 방법, 장치 및 저장매체

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100015531A (ko) * 2007-03-14 2010-02-12 퀄컴 인코포레이티드 무선 링크된 이어피스를 갖는 헤드셋
KR20160021590A (ko) * 2014-08-18 2016-02-26 엘지전자 주식회사 블루투스 헤드셋
KR102015487B1 (ko) * 2016-04-22 2019-08-29 애플 인크. 테더링되지 않은 무선 접속된 디바이스들 사이의 역할 스와핑
KR20210091154A (ko) * 2018-10-15 2021-07-21 베이징 엑스와이 링크 테크놀로지 컴퍼니 리미티드 블루투스 장치용 확장 연결 방법과 확장 연결 시스템
KR20220103880A (ko) * 2019-06-21 2022-07-25 스프레드트럼 커뮤니케이션즈 (상하이) 컴퍼니 리미티드 오디오 재생 방법, 장치 및 저장매체

Similar Documents

Publication Publication Date Title
WO2018230974A1 (en) Method and user equipment for handling of integrity check failures of pdcp pdus
WO2020197221A1 (ko) 통신 방법 및 통신 디바이스
WO2016023148A1 (zh) 报文的控制方法、交换机及控制器
WO2013168970A1 (en) Method and system for operating communication service
WO2018028135A1 (zh) 一种下行数据的信息反馈方法及相关设备
WO2014186986A1 (zh) 流转发方法、设备及系统
WO2015020475A1 (en) Apparatus and method for perfoming switching operation between macro cell and small cell in mobile communication system
WO2015137604A1 (ko) 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
WO2019050349A1 (ko) 무선 통신 시스템에서 데이터를 송수신하는 전자 장치 및 이를 위한 방법
WO2019146812A1 (ko) 차량용 업데이트 시스템 및 제어 방법
WO2017222344A1 (en) Data transmission supporting method and apparatus
WO2016163634A1 (ko) 보안 터널링 및 데이터 재전송을 수행하는 물리적 단방향 통신의 보안 게이트웨이의 송신/수신 장치 및 그것을 이용하는 데이터 전송 방법
WO2015168926A1 (zh) 功率调节装置及方法
WO2022075737A1 (ko) Mec 서비스를 제공하기 위한 방법 및 장치
WO2018076875A1 (zh) 备份数据的同步方法、装置、存储介质、电子设备及服务器
WO2011021917A2 (en) Method and system for handling security synchronization for prolonged periods of no-reception of voice frames
CN103891373A (zh) 下行数据传输方法、基站及用户设备
WO2014171727A1 (en) Apparatus and method for generating key hierarchy in wireless network
WO2022260495A1 (en) Method and device for performing uwb ranging
WO2019143081A1 (ko) 데이터 통신을 제어하는 방법 및 전자 장치
WO2024048812A1 (ko) 무선 이어버드, 시스템 및 그의 동작 방법
WO2021150053A1 (en) Method and device for transmitting data in wireless communication system
WO2017080409A1 (zh) 一种数字媒体内容播放转移的方法以及相关设备
WO2017049432A1 (zh) 一种数据传输方法及装置
WO2020141773A1 (ko) 출입 관리 시스템 및 이를 이용한 출입 관리 방법

Legal Events

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

Ref document number: 22957491

Country of ref document: EP

Kind code of ref document: A1