Easy To Use Patents Search & Patent Lawyer Directory

At Patents you can conduct a Patent Search, File a Patent Application, find a Patent Attorney, or search available technology through our Patent Exchange. Patents are available using simple keyword or date criteria. If you are looking to hire a patent attorney, you've come to the right place. Protect your idea and hire a patent lawyer.

METHOD AND APPARATUS FOR TRANSMITTING AND RECEIVING DATA IN WIRELESS
COMMUNICATION SYSTEM

Abstract

Disclosed are a method and apparatus in which a first device transmits
and receives data using Bluetooth Low Energy technology in a wireless
communication system. The method includes: opening a control channel for
controlling a second device and a third device; and performing a codec
and parameter negotiation procedure for the transmission and reception of
an audio stream between the second device and the third device, the first
device being a device that controls the second device and the third
device, the second device being a device that transmits the audio stream,
and the third device being a device that receives the audio stream.

1. A method for a first device to transmit and receive data using
Bluetooth Low Energy technology in a wireless communication system, the
method comprising: opening a control channel for controlling a second
device and a third device; and performing a codec and parameter
negotiation procedure for the transmission and reception of an audio
stream between the second device and the third device, the first device
being a device that controls the second device and the third device, the
second device being a device that transmits the audio stream, and the
third device being a device that receives the audio stream.

2. The method of claim 1, wherein, if the control channel is a
connection-oriented channel, the performing of a codec and parameter
negotiation procedure comprises: sending to the second and third devices
a query for codec information on supported codecs and transport
information related to the transmission of the audio stream; receiving
the codec information and the transport information from the second and
third devices; performing codec and parameter negotiation based on the
codec information and the transport information; and transmitting the
negotiated codec information and transport information to the second and
third devices.

3. The method of claim 2, wherein the method further comprises
transmitting to the second device a first control message for initiating
the audio stream, wherein the second device initiates the audio stream
according to the first control message, and the third device receives the
initiated audio stream from the second device based on the negotiated
codec information and transport information.

4. The method of claim 1, wherein, if the control channel is a
connection-oriented channel, the performing of a codec and parameter
negotiation procedure comprises: sending to the second device a query for
codec information on supported codecs and transport information related
to the transmission of the audio stream; receiving the codec information
and the transport information from the second device; and transmitting
the codec information and the transport information to the third device.

5. The method of claim 4, wherein the method further comprises
transmitting to the third device a second control message for
synchronizing the audio stream from the second device, wherein the third
device receives the audio stream from the second device based on the
received codec information and transport information.

6. A first device for transmitting and receiving data using Bluetooth Low
Energy technology, the first device comprising: a communication unit
configured to communicate with the outside in a wired or wireless manner;
and a processor functionally connected to the communication unit, wherein
the processor is configured to: open a control channel for controlling a
second device and a third device, and perform a codec and parameter
negotiation procedure for the transmission and reception of an audio
stream between the second device and the third device, the first device
being a device that controls the second device and the third device, the
second device being a device that transmits the audio stream, and the
third device being a device that receives the audio stream.

7. The first device of claim 6, wherein, if the control channel is a
connection-oriented channel, the performing of a codec and parameter
negotiation procedure comprises: sending to the second and third devices
a query for codec information on supported codecs and transport
information related to the transmission of the audio stream; receiving
the codec information and the transport information from the second and
third devices; performing codec and parameter negotiation based on the
codec information and the transport information; and transmitting the
negotiated codec information and transport information to the second and
third devices.

8. The first device of claim 7, wherein the processor is further
configured to transmit to the second device a first control message for
initiating the audio stream, wherein the second device initiates the
audio stream according to the first control message, and the third device
receives the initiated audio stream from the second device based on the
negotiated codec information and transport information.

9. The method of claim 6, wherein, if the control channel is a
connection-oriented channel, the performing of a codec and parameter
negotiation procedure comprises: sending to the second device a query for
codec information on supported codecs and transport information related
to the transmission of the audio stream; receiving the codec information
and the transport information from the second device; and transmitting
the codec information and the transport information to the third device.

10. The method of claim 9, wherein the processor is further configured to
transmit to the third device a second control message for synchronizing
the audio stream from the second device, wherein the third device
receives the audio stream from the second device based on the received
codec information and transport information.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This non-provisional application claims the benefit under 35 U.S.C.
.sctn.119(e) to U.S. Provisional Application No. 62/265,957, filed on
Dec. 10, 2015, which is hereby expressly incorporated by reference into
the present application.

BACKGROUND OF THE INVENTION

[0002] Field of the invention

[0003] The present invention relates to a method and apparatus for
connecting alternative communication means using Bluetooth, that is, a
short-range communication technology, in a wireless communication system
and, more particularly, to a method and apparatus for providing the
transmission and reception of audio streams using a Bluetooth low energy
(BLE) technology.

[0004] Related Art

[0005] Bluetooth is a short-range wireless technology standard that may
wirelessly connect various types of devices and allows them to exchange
data over short distances. To enable wireless communication between two
devices using Bluetooth communication, a user has to perform the process
of discovering Bluetooth devices to communicate with and making a
connection request. As used herein, the term "device" refers to an
appliance or equipment.

[0006] In this case, the user may discover a Bluetooth device according to
a Bluetooth communication method intended to be used with the Bluetooth
device using the Bluetooth device, and then perform a connection with the
Bluetooth device.

[0007] The Bluetooth communication method may be divided into as a BR/EDR
method and an LE method. The BR/EDR method may be called a Bluetooth
Classic method. The Bluetooth Classic method includes a Bluetooth
technology led from Bluetooth 1.0 and a Bluetooth technology using an
enhanced data rate (EDR) supported by Bluetooth 2.0 or a subsequent
version.

[0008] A BLE technology applied, starting from Bluetooth 4.0, may stably
provide information of hundreds of kilobytes (KB) at low power
consumption. Such a BLE technology allows devices to exchange information
with each other using an attribute protocol. The BLE method may reduce
energy consumption by reducing the overhead of a header and simplifying
the operation.

[0009] Some of the Bluetooth devices do not have a display or a user
interface. The complexity of a connection, management, control, and a
disconnection between various Bluetooth devices and Bluetooth devices
using similar technologies is increasing.

[0010] Bluetooth supports a high speed at a relatively low cost with
relatively low power consumption. However, Bluetooth is appropriately
used within a limited space because it has a maximum transmission
distance of 100 m.

SUMMARY OF THE INVENTION

[0011] This specification is directed to a method of transmitting and
receiving data using Bluetooth Low Energy (LE) technology in a wireless
communication system.

[0012] One embodiment of the present invention provides a method for a
first device to transmit and receive data using Bluetooth Low Energy
technology in a wireless communication system, the method including:
opening a control channel for controlling a second device and a third
device; and performing a codec and parameter negotiation procedure for
the transmission and reception of an audio stream between the second
device and the third device, the first device being a device that
controls the second device and the third device, the second device being
a device that transmits the audio stream, and the third device being a
device that receives the audio stream.

[0013] In an embodiment, if the control channel is a connection-oriented
channel, the performing of a codec and parameter negotiation procedure
may include: sending to the second and third devices a query for codec
information on supported codecs and transport information related to the
transmission of the audio stream; receiving the codec information and the
transport information from the second and third devices; performing codec
and parameter negotiation based on the codec information and the
transport information; and transmitting the negotiated codec information
and transport information to the second and third devices.

[0014] In an embodiment, the method procedure may further include
transmitting to the second device a first control message for initiating
the audio stream, wherein the second device may initiate the audio stream
according to the first control message, and the third device may receive
the initiated audio stream from the second device based on the negotiated
codec information and transport information.

[0015] In an embodiment, if the control channel is a connection-oriented
channel, the performing of a codec and parameter negotiation procedure
may include: sending to the second device a query for codec information
on supported codecs and transport information related to the transmission
of the audio stream; receiving the codec information and the transport
information from the second device; and transmitting the codec
information and the transport information to the third device.

[0016] In an embodiment, the method may further include transmitting to
the third device a second control message for synchronizing the audio
stream from the second device, wherein the third device may receive the
audio stream from the second device based on the received codec
information and transport information.

[0017] One embodiment of the present invention provides a first device for
transmitting and receiving data using Bluetooth Low Energy technology,
the first device including: a communication unit for communicating with
the outside in a wired or wireless manner; and a processor functionally
connected to the communication unit, wherein the processor may open a
control channel for controlling a second device and a third device, and
perform a codec and parameter negotiation procedure for the transmission
and reception of an audio stream between the second device and the third
device, the first device being a device that controls the second device
and the third device, the second device being a device that transmits the
audio stream, and the third device being a device that receives the audio
stream.

[0018] Technical objects to be achieved in this specification are not
limited to the aforementioned objects, and those skilled in the art to
which the present invention pertains may evidently understand other
technical objects from the following description.

[0019] Advantages which may be obtained in this specification are not
limited to the aforementioned advantages, and various other advantages
may be evidently understood by those skilled in the art to which the
present invention pertains from the following description.

BRIEF DESCRIPTION OF THE DRAWINGS

[0020] The accompanying drawings, which are included to provide a further
understanding of the invention and are incorporated in and constitute a
part of this specification, illustrate embodiments of the invention and
together with the description serve to explain the principles of the
invention. In the drawings:

[0021] FIG. 1 shows an example of a wireless communication system using a
BLE technology according to an embodiment of the present invention.

[0022] FIG. 2 shows an example of an internal block diagram of a server
device and a client device capable of implementing methods according to
embodiments of the present invention.

[0023] FIG. 3 shows an example of a BLE network topology.

[0024] FIGS. 4 and 5 show examples of Bluetooth communication architecture
to which methods according to embodiments of the present invention may be
applied.

[0025] FIG. 6 shows an example of the GATT Profile structure of the BLE
specification.

[0026] FIG. 7 shows an example of a method for the connection procedure of
the BLE specification.

[0027] FIG. 8 is a flowchart illustrating an example of a method for
providing an object transfer service according to the BLE technology.

[0028] FIG. 9 illustrates the characteristics of an audio signal.

[0029] FIG. 10 shows an example of a protocol stack of BLE which may use
an isochronous channel.

[0030] FIG. 11 shows an example of a home ecosystem for applications to
which an isochronous channel may be applied.

[0031] FIG. 12 shows an example of the type of an isochronous channel.

[0032] FIG. 13 shows an example of an operating state transition according
to the BLE technology.

[0034] FIGS. 15 and 16 illustrate another example of a data transfer
method using an isochronous channel.

[0035] FIG. 17 shows examples of an isochronous channel packet format
which may be applied to methods according to embodiments of the present
invention.

[0036] FIG. 18 is a diagram illustrating audio entities for audio
transmission according to an embodiment of the present invention.

[0037] FIG. 19 shows physical topologies of audio entities according to an
embodiment of the present invention.

[0038] FIG. 20 shows multiplicity topologies of audio entities according
to one embodiment of the present invention.

[0039] FIG. 21 shows client-server interactions within audio entities
according to one embodiment of the present invention.

[0040] FIG. 22 is a table of definitions of service/client characteristics
according to one embodiment of the present invention.

[0041] FIG. 23 shows service usage architectures in respective entities
according to one embodiment of the present invention.

[0042] FIG. 24 is a flowchart illustrating an example of a method for
sending and receiving audio streams through an LE connection to which a
method proposed in this specification may be applied.

[0043] FIG. 25 is a flowchart illustrating another example of a method for
sending and receiving audio streams through an LE connection to which a
method proposed in this specification may be applied.

[0044] FIG. 26 is a flowchart illustrating a method of establishing a BLE
connection according to an embodiment of the present invention.

[0045] FIG. 27 is a flowchart showing a method of registering an audio
controller according to one embodiment of the present invention.

[0046] FIG. 28 is a flowchart showing a method of deregistering an audio
controller according to one embodiment of the present invention.

[0047] FIG. 29 shows a codec and transport negotiation procedure according
to one embodiment of the present invention.

[0048] FIG. 30 shows a codec and transport negotiation procedure according
to another embodiment of the present invention.

[0049] FIG. 31 shows a codec and transport negotiation procedure according
to another embodiment of the present invention.

[0050] FIG. 32 shows a codec and transport negotiation procedure according
to another embodiment of the present invention.

[0051] FIG. 33 shows a method of transmitting and receiving data according
to one embodiment of the present invention.

DESCRIPTION OF EXEMPLARY EMBODIMENTS

[0052] Hereinafter, the present invention is described in more detail with
reference to appended drawings.

[0053] A suffix, such as "module" and "unit" introduced in the description
herein, is assigned merely to facilitate description of this document,
and the "module" and "unit" may be used interchangeably.

[0054] In this document, a device refers to a device capable of wireless
communication, including a mobile phone, such as a smart phone, a tablet
PC, a desktop computer, a notebook, and television, such as smart TV and
IPTV.

[0055] Hereinafter, embodiments of the present invention are described in
detail with reference to the accompanying drawings and description
contained in the drawings, but the technical scope of the present
invention is not restricted by the embodiments.

[0056] Wherever possible, general terms widely known to the public have
been chosen as long as the terms do not obscure their technical functions
intended in the present invention; however, those terms may be changed
depending on the intention of those skilled in the art, practices, or the
advent of a new technology.

[0057] In some cases, specific terms are chosen arbitrarily; in that case,
a specific meaning of a corresponding term is described in a
corresponding description.

[0058] Therefore, the terms used in this document should be interpreted on
the basis of their actual meanings and description throughout the
document rather than the immediate names of the terms.

[0059] FIG. 1 shows an example of a wireless communication system using a
BLE technology according to an embodiment of the present invention.

[0060] The wireless communication system 100 includes at least one server
device 110 and at least one client device 120.

[0062] First, compared to a Bluetooth basic rate/enhanced data rate
(BR/EDR) technology, the BLE technology requires a relatively small duty
cycle. Products based on the BLE technology may be manufactured at a low
cost, and may require very small power consumption at a low speed data
transfer rate. The products may operate more than one year with a coin
cell battery.

[0063] Furthermore, the BLE technology simplifies a connection procedure
between devices and requires a smaller packet size than the Bluetooth
BR/EDR technology.

[0064] Features of the BLE technology may be summarized as follows: (1)
the number of RF channels is 40, (2) a data transfer rate of 1 Mbps is
supported, (3) a star topology is used, (4) latency is 3 ms, (5) a
maximum current is less than 15 mA, (6) output power is less than 10 mW
(10 dBm), and (7) major application fields include mobile phones, watch,
sports, health-care, sensor, and device control.

[0065] The server device 110 may operate as a client device in a
relationship with a different device. Likewise, the client device may
operate as a server device in a relationship with a different device. In
other words, in a BLE communication system, a device may operate as a
server device or a client device. In some cases, a device may operate as
a server device and a client device at the same time.

[0066] The server device 110 may be called a data service device, master
device, master, server, conductor, host device, audio source device, or
first device. The client device may be called a slave device, slave,
client, member, sink device, audio sink device, or second device.

[0067] The server device and the client device form a main part of a
wireless communication system, and the wireless communication system may
include other elements in addition to the server device and the client
device.

[0068] The server device refers to a device which receives data from a
client, directly performs communication with the client device. When
receiving a data request from the client device, the server device
provides data to the client device through a response.

[0069] Furthermore, the server device sends a notification message and
indication message to the client device to provide information to the
client device. Furthermore, when transmitting an indication message to
the client device, the server device receives a confirm message
corresponding to the indication message from the client device.

[0070] Furthermore, the server device may provide information to the user
through a display unit or receive a request input from the user through a
user input interface while transmitting and receiving notification,
indication, and confirm messages to and from the client device.

[0071] Furthermore, the server device may read data from a memory unit or
write new data to the corresponding memory while transmitting and
receiving messages to and from the client device.

[0072] Furthermore, one server device may be connected to a plurality of
client devices and may be easily connected to client devices again using
bonding information.

[0073] The client device 120 refers to a device which requests information
and data transmission from a server device.

[0074] The client device receives data from the server device through a
notification message and indication message. When receiving an indication
message from the server device, the client device sends a confirm message
to the server device.

[0075] Like the server device, the client device may provide information
to a user through a display unit or may receive an input from the user
through a user input interface while transmitting and receiving messages
to and from the server device.

[0076] Furthermore, the client device may read data from the memory unit
or write new data into the memory unit while transmitting and receiving
messages to and from the server device.

[0077] Hardware components, such as the display unit, user input
interface, and memory unit of the server device or client device, are
described in detail with reference to FIG. 2.

[0078] Furthermore, the wireless communication system may form a personal
area network (PAN) using a Bluetooth technology. For example, the
wireless communication system may exchange files and documents in a
prompt and safe manner by forming a private piconet among devices.

[0079] A BLE device may operate in order to support various
Bluetooth-related protocols, profiles, and processes.

[0080] FIG. 2 shows an example of the internal block diagram of a server
device and client device capable of implementing methods according to
embodiments of the present invention.

[0081] The server device may be connected to at least one client device.

[0082] Furthermore, in some embodiments, the internal block diagram of
each device may further include other elements (or modules, blocks or
units), and some of the elements of FIG. 2 may be omitted.

[0086] The display unit 121, user input interface 122, power supply unit
123, processor 124, memory unit 125, Bluetooth interface 126, and
communication unit 127 are functionally interconnected so as to perform a
method according to an embodiment of the present invention.

[0087] The Bluetooth interface 116, 126 refers to a unit (or module)
capable of transmitting a request/response, command, notification,
indication/confirm message, or data between devices using the Bluetooth
technology.

[0088] The memory 115, 125 is implemented in various types of devices and
refers to a unit in which various data is stored.

[0089] The processor 114, 124 refers to a module for controlling an
overall operation of the server device or the client device, and controls
the server device or the client device in order in order to request the
transmission of a message through the Bluetooth interface or other
interface and to process a received message.

[0090] The processor 114, 124 may be represented by a controller or a
control unit.

[0093] The communication unit 118, 127 may include a baseband circuit for
processing a radio signal. If an embodiment is implemented in the form of
software, the aforementioned method may be implemented by a module
(process or function) which performs the aforementioned function. The
module is stored in the memory and is performed by the processor.

[0094] The memory 115, 125 may be installed inside or outside the
processor 114, 124 and may be connected to the processor 114, 124 through
various well-known means.

[0095] The display unit 111, 121 refers to a module for providing status
information about a device and message exchange information to a user
through a display.

[0096] The power supply unit 113, 123 refers to a module for receiving
external or internal power under the control of the controller and for
supplying power for the operation of each element.

[0097] As described above, BLE technology is characterized by a small duty
cycle, and considerably reduces power consumption at a low data transfer
rate. Accordingly, the BLE technology is capable of supplying power for
the operation of each element even with small output power (which is less
than 10 mW (10 dBm)).

[0098] The user input interface 112, 122 refers to a module for providing
a user input, such as a display button to the controller, so that the
user may control the operation of a device.

[0099] FIG. 3 shows an example of a BLE network topology.

[0100] Referring to FIG. 3, a device A corresponds to a piconet (piconet
A, the shaded area) master having a device B and a device C as slaves.

[0101] In this case, a piconet refers to a set of devices in which one of
a plurality of devices functions as a master and the others occupy a
shared physical channel connected to the master device.

[0102] A BLE slave does not share a common physical channel with a master.
Each slave communicates with a master through a separate physical
channel. There is another piconet (piconet F) including a master device F
and a slave device G.

[0103] A device K belongs to a scatternet K. In this case, the scatternet
refers to a group of piconets interconnected to each other.

[0104] A device K is the master of a device L and also a slave of a device
M.

[0105] A device O also belongs to a scatternet O. The device O is a slave
of a device P and also a slave of a device Q.

[0106] FIG. 3 illustrates a case where five different device groups are
formed.

[0107] A device D is an advertiser, and a device A is an initiator (group
D).

[0108] A device E is a scanner, and a device C is an advertiser (group C).

[0109] A device H is an advertiser, and a device I and a device J are
scanners (group H).

[0110] The device K is also an advertiser, and a device N is an initiator
(group K).

[0111] A device R is an advertiser, and the device O is an initiator
(group R).

[0112] The device A and the device B use one BLE piconet physical channel.

[0113] The device A and the device C use another BLE piconet physical
channel.

[0114] In the group D, the device D performs advertising using an
advertisement event which may be connected to an advertising physical
channel, and the device A is an initiator. The device A may establish a
connection to the device D and add a device to the piconet A.

[0115] In the group C, the device C performs advertising through an
advertising physical channel using a certain type of an advertisement
event captured by the scanner device E.

[0116] The group D and the group C may use different advertising physical
channels or different time frames so as to avoid a collision.

[0117] The piconet F has one physical channel. The device F and the device
G use a single BLE piconet physical channel. The device F is a master,
and the device G is a slave.

[0118] The group H has one physical channel. The devices H, I, and J use
one BLE advertising physical channel. The device H is an advertiser, and
the devices I and J are scanners.

[0119] In the scatternet K, the devices K and L use a single BLE piconet
physical channel. The devices K and M use another BLE piconet physical
channel.

[0120] In the group K, the device K performs advertising using an
advertisement event which may be connected to an advertising physical
channel, and the device N is an initiator. The device N may establish a
connection with the device K. In this case, the device K functions as a
slave of two devices and also as a master of one device.

[0121] In the scatternet O, the devices O and P use a single BLE piconet
physical channel. The devices O and Q use different BLE piconet physical
channels.

[0122] In the group R, the device R performs advertising using an
advertisement event which may be connected to an advertising physical
channel, and the device O is an initiator. The device O may establish a
connection with the device R. In this case, the device O functions as a
slave of two devices and also a master of one device.

[0123] FIGS. 4 and 5 illustrate an example of Bluetooth communication
architecture to which methods according to embodiments of the present
invention may be applied.

[0126] The controller stack 410 (or controller module) refers to hardware
for sending or receiving Bluetooth packets to and from a wireless
transmission and reception module dealing with Bluetooth signals of 2.4
GHz. The controller stack 410 includes a BR/EDR Radio layer 411, a BR/EDR
Baseband layer 412, and a BR/EDR Link Manager layer 413.

[0127] The BR/EDR Radio layer 411 sends and receives radio signals of 2.4
GHz, and is capable of transmitting data by hopping 79 RF channels when
Gaussian frequency shift keying (GFSK) modulation is used.

[0128] The BR/EDR baseband layer 412 sends a digital signal, selects a
channel sequence in which hopping is performed 1600 times per second, and
sends time slot spanning of 625 us for each channel.

[0129] The link manager layer 413 controls an overall operation of BLE,
such as link setup, control, and security, using a link manager protocol
(LMP).

[0130] The link manager layer 413 may perform the following functions.

[0131] Control of ACL/SCO logical transport and logical link setup

[0132] Detach: removes a connection and informs a corresponding device of
a cause of removal.

[0133] Performs power control and role switch

[0134] Performs a security function, such as authentication, pairing, and
encryption.

[0135] The host controller interface layer 420 provides an interface
between a host module 430 and a controller module 410 so that a host may
provide a command and data to a controller and the controller may provide
an event and data to the host.

[0137] The L2CAP 437 provides one bilateral channel for sending data
according to a specific protocol or specific profile.

[0138] The L2CAP multiplexes various protocols and profiles provided by
Bluetooth upper layers.

[0139] The L2CAP of the Bluetooth BR/EDR specification uses a dynamic
channel; supports a protocol service multiplexer, retransmission, and
streaming mode, and provides segmentation and reassembly, per-channel
flow control, and error control.

[0140] The SDP 433 refers to a protocol used to search for a service (or a
profile and protocol) supported by a Bluetooth service.

[0141] The BR/EDR protocols and profiles 432, 431 define a service using
the Bluetooth BR/EDR specification and an application protocol by which
an exchange of data is performed.

[0142] The attribute protocol 436 relies on a server-client structure,
which defines a rule for a corresponding device so as to access data. Six
message types are defined as below: a Request message, a Response
message, a Command message, a Notification message, and an Indication
message.

[0143] Request message from a client to a server with a Response message
from a server to a client

[0144] Command message from a client to a server without a Response
message

[0145] Notification message from a server to a client without a Confirm
message

[0146] Indication message from a server to a client with a Confirm message
from a client to a server

[0147] The GATT 435 defines an attribute type:

[0148] The GAP 434 defines a method for discovering and connecting a
device, and a method for providing information to a user. The GAP
provides a privacy scheme.

[0149] As shown in FIG. 5, the BLE structure includes a controller stack
capable of processing a wireless device interface for which timing is
critical and a host stack capable of processing high level data.

[0150] The controller stack may also be called a controller. In order to
avoid confusion with the processor, that is, an internal element of the
device described with reference to FIG. 2, however, the controller stack
may be preferably used below.

[0151] First, the controller stack may be implemented using a
communication module which may include a Bluetooth wireless device and a
processor module which may include a processing device, such as a
microprocessor.

[0152] The host stack may be implemented as part of an OS operating on the
processor module or as a package instance on an OS.

[0153] In some cases, the controller stack and the host stack may operate
or may be performed on the same processing device within the processor
module.

[0154] The host stack includes a generic access profile (GAP) 510, GATT
based profiles 520, a generic attribute profile (GATT) 530, an attribute
protocol (ATT) 540, a security manager (SM) 550, and a logical link
control and adaptation protocol (L2CAP) 560. The host stack is not
limited to the aforementioned composition, but may include various
protocols and profiles.

[0155] The host stack multiplexes various protocols and profiles provided
by that Bluetooth specification using the L2CAP.

[0156] First, the L2CAP 560 provides one bilateral channel for sending
data to according to a specific protocol or specific profile.

[0160] The SM 550 authenticates a device, which is a protocol for
providing a key distribution.

[0161] The ATT 540 relies on a server-client structure, which defines
rules for a corresponding device for data access. Six message types are
defined: Request, Response, Command, Notification, Indication, and
Confirmation.

[0162] {circle around (1)} Request and Response message: the Request
message is used when a client device requests specific information from a
server device, and the Response message is used in response to a Request
message, which is transmitted from the server device to the client
device.

[0163] {circle around (2)} Command message: The Command message is
transmitted from a client device to a server device in order to indicate
a command for a specific operation, but the server device does not send a
response to a Command message to the client device.

[0164] {circle around (3)} Notification message: A server device sends
this message to a client device in order to provide notification of an
event, but the client device does not send a confirmation message to the
server device in response to a Notification message.

[0165] {circle around (4)} Indication and Confirm message: A server device
sends this message to a client device in order to provide notification of
an event. Unlike in the Notification message, the client device sends a
Confirm message to the server device in response to an Indication
message.

[0166] The GAP is a layer newly implemented to support the BLE technology,
and is used to control the selection of a role for communication between
BLE devices and a multi-profile operation.

[0167] The GAP is mainly used for device discovery, connection
establishment, and security. That is, the GAP defines a method for
providing information to a user and also defines the following attribute
types.

[0168] {circle around (1)} Service: A combination of actions related to
data, and it defines the basic operation of a device.

[0169] {circle around (2)} Include: Define a relationship between
services.

[0170] {circle around (3)} Characteristics: A data value used by a service

[0171] {circle around (4)} Behavior: A format that may be readable by a
computer, which is defined by a Universal Unique Identifier (UUID) and a
value type.

[0172] The GATT-based profiles are dependent on the GATT and are mainly
applied to BLE devices. The GATT-based profiles may include Battery,
Time, FindMe, Proximity, Object Delivery Service and so on. More specific
descriptions of the GATT-based profiles are as follows.

[0173] Battery: A method for exchanging battery information.

[0174] Time: A method for exchanging time information.

[0175] FindMe: It provides an alarm service according to the distance.

[0176] Proximity: A method for exchanging battery information.

[0177] The GATT may be used as a protocol by which to describe how the ATT
is utilized at the time of composing services. For example, the GATT may
be used to define how the ATT profiles are grouped together with services
and to describe characteristics associated with the services.

[0178] Therefore, the GATT and the ATT describe device statuses and
services, and how features are associated with each other and how they
are used.

[0179] The controller stack includes a physical layer 590, a link layer
580, and a host controller interface 570.

[0182] Furthermore, the link layer establishes a connection between
devices after performing the advertising and scanning function using
three advertising channels, and provides a function of exchanging a
maximum of 42 bytes of data packets through 37 data channels.

[0183] The host controller interface (HCI) provides an interface between
the host stack and the controller stack so that the host stack may
provide commands and data to the controller stack and the controller
stack may provide events and data to the host stack.

[0184] Hereinafter, the procedure of BLE is described briefly.

[0185] The BLE procedure includes a device filtering procedure, an
advertising procedure, a scanning procedure, a discovering procedure, and
a connecting procedure.

[0186] Device Filtering Procedure

[0187] The device filtering procedure functions to reduce the number of
devices which perform responses to requests, commands, or notification in
the controller stack.

[0188] All of devices may not need to respond to received requests.
Accordingly, the controller stack reduces the number of transmitted
requests so that power consumption can be reduced in the BLE controller
stack.

[0189] An advertising device or a scanning device may perform the device
filtering procedure in order to restrict the number of devices which
receive advertisement packets, scan requests, or connection requests.

[0190] In this case, the advertising device refers to a device which sends
an advertisement event, that is, a device which performs advertisement,
and is also called an advertiser.

[0191] A scanning device refers to a device which performs scanning, that
is, a device which sends a scan request.

[0192] In the BLE specification, if a scanning device receives part of
advertisement packets from an advertising device, the scanning device has
to send a scan request to the advertising device.

[0193] If the transmission of a scan request is not required as the device
filtering procedure is used, however, the scanning device may ignore
advertisement packets transmitted by an advertising device.

[0194] The device filtering procedure may be used even in the connection
request procedure. If device filtering is used for the connection request
procedure, the need for sending a response to a connection request may be
made unnecessary by ignoring the connection request.

[0195] Advertising Procedure

[0196] An advertising device performs an advertisement procedure to
perform non-directional broadcast using the devices within the range of
the advertising device.

[0197] In this case, the non-directional broadcast refers to broadcast in
all directions rather than broadcast in specific directions.

[0198] Unlike the non-directional broadcast, the directional broadcast
refers to broadcast in a specific direction. Non-directional broadcast is
performed without involving a connection procedure between devices in a
listening state (hereinafter referred to as a "listening device").

[0199] The advertising procedure is used to establish a BLE to a nearby
initiating device.

[0200] In some embodiments, the advertising procedure may be used to
provide the periodic broadcast of user data to scanning devices which
perform listening through an advertising channel.

[0201] In the advertising procedure, all of advertisements (or
advertisement events) are broadcasted through an advertising physical
channel.

[0202] An advertising device may receive a scan request from a listening
device which performs a listening operation in order to obtain additional
user data from the advertising device. In response to the scan request,
the advertising device sends a response to the listening device which has
sent the scan request through the same advertising physical channel
through which the advertising device has received the scan request.

[0203] While broadcast user data sent as part of advertising packets forms
dynamic data, scan response data is static for the most part.

[0204] An advertising device may receive a connection request from an
initiating device through an advertising (or broadcast) physical channel.
If the advertising device has used a connectable advertisement event and
the initiating device has not been filtered by a filtering procedure, the
advertising device stops an advertisement and enters connected mode. The
advertising device may resume the advertisement after entering the
connected mode.

[0205] Scanning Procedure

[0206] A device performing a scan operation, that is, a scanning device,
performs a scanning procedure in order to listen to the non-directional
broadcast of user data from advertising devices which use an advertising
physical channel.

[0207] In order to request additional user data, a scanning device sends a
scan request to an advertising device through an advertising physical
channel. In response to the scan request, the advertising device includes
additional user data requested by the scanning device in a scan response
and sends the scan response to the scanning device through the
advertising physical channel.

[0208] The scanning procedure may be used while a scanning device is
connected to another BLE device in a BLE piconet.

[0209] If a scanning device receives a broadcast advertising event and
stays in initiator mode where a connection request may be initiated, the
scanning device may initiate BLE for an advertising device by sending a
connection request to the advertising device through an advertising
physical channel.

[0210] If a scanning device sends a connection request to an advertising
device, the scanning device stops the entire scanning for additional
broadcast and enters connected mode.

[0211] Discovering Procedure

[0212] Devices capable of Bluetooth communication (hereinafter referred to
as "Bluetooth devices") perform an advertising procedure and a scanning
procedure in order to discover devices around the Bluetooth devices or
devices to be discovered by other devices within a given area.

[0213] The discovering procedure is performed in an asymmetric manner. A
Bluetooth device searching for another Bluetooth device nearby is called
a discovering device, and performs listening in order to search for
devices that advertise advertisement events that may be scanned. A
Bluetooth device which may be discovered and used by another device is
called a discoverable device. A discoverable device actively broadcasts
an advertisement event so that other devices can scan the discoverable
device through an advertising (or broadcast) physical channel.

[0214] Both of the discovering device and the discoverable device may
already have been connected to other Bluetooth devices in a piconet.

[0215] Connecting Procedure

[0216] A connecting procedure is asymmetric. In the connecting procedure,
while a particular Bluetooth device performs an advertising procedure,
other Bluetooth devices need to perform a scanning procedure.

[0217] In other words, the advertising procedure may be a primary task to
be performed, and as a result, only one device may respond to an
advertisement. After receiving a connectable advertisement event from an
advertising device, the connecting procedure may be initiated by sending
a connection request to the advertising device through an advertising (or
broadcast) physical channel.

[0218] Operation statuses defined in the BLE technology, that is, an
advertising state, a scanning state, an initiating state, and a
connection state, are described briefly below.

[0219] Advertising State

[0220] The link layer (LL) enters the advertising state in a command from
a host (or stack). If the link layer is in the advertising state, the
link layer sends advertising packet data units (PDUs) from advertisement
events.

[0221] Each advertisement event includes at least one advertising PDU, and
the advertising PDU is transmitted through an advertising channel index.
Each advertisement event may be previously closed if the advertising PDU
is transmitted through each advertising channel index, the advertising
PDU is terminated, or the advertising device needs to secure the space in
order to perform other functions.

[0222] Scanning State

[0223] The link layer enters the scanning state in response to a command
from a host (or stack). In the scanning state, the link layer listens to
advertising channel indices.

[0224] The scanning state supports two types: passive and active scanning.
The host determines a scanning type.

[0225] No separate time or advertising channel index is defined to perform
scanning.

[0226] In the scanning state, the link layer listens to an advertising
channel index for "scanWindow" duration. scanInterval is defined as the
interval between the start points of two consecutive scan windows.

[0227] If there is no scheduling collision, the link layer has to perform
listening in order to complete all of the scanlntervals of scanWindows as
commanded by the host. In each scanWindow, the link layer has to scan
other advertising channel indices. The link layer uses all of available
advertising channel indices.

[0228] In the case of passive scanning, the link layer is unable to send
any packet, but only receives packets.

[0229] In the case of active scanning, the link layer performs listening
to the advertising device to rely on the advertising PDU type by which
additional information related to the advertising PDUs and advertising
device may be requested.

[0230] Initiating State

[0231] The link layer enters the initiating state in response to a command
from a host (or stack).

[0233] In the initiating state, the link layer listens to an advertising
channel index for "scanWindow" duration.

[0234] Connection State

[0235] The link layer enters the connection state when a device makes a
connection request, that is, an initiating device sends a CONNECT_REQ PDU
to an advertising device or the advertising device receives a CONNECT_REQ
PDU from the initiating device.

[0236] Establishing a connection may be taken into consideration after the
link layer enters the connection state. However, establishing a
connection when the link layer enters the connection state may not need
to be taken into consideration. The only difference between a newly
created connection and an existing connection is a supervision timeout
value for a link layer connection.

[0237] When two devices are connected to each other, they play respective
different roles.

[0238] A link layer playing the role of a master is called a master
device, whereas a link layer playing the role of a slave is called a
slave device. A master device adjusts timing of a connection event. In
this case, the connection event denotes the time when the mast device and
a slave device are synchronized.

[0239] A master device (or central device) is a device that periodically
scans a connectable advertising signal in order to establish a connection
with other devices (slave or peripheral devices), and requests an
appropriate device to establish a connection.

[0240] Furthermore, once connected to a slave device, a master device sets
up timing and supervises a periodic data exchange.

[0241] In this case, the timing may be a hopping rule applied to two
devices which exchange data through the same channel.

[0242] A slave (or peripheral) device is a device that periodically sends
a connectable advertising signal in order to establish a connection with
other devices (master devices).

[0243] Therefore, if a master device which has received a connectable
advertising signal sends a connection request, a slave device accepts the
request and establishes a connection with the master device.

[0244] After a slave device establishes a connection with a master device,
the slave device periodically exchanges data by hopping a channel
according to timing specified by the master device.

[0245] The packets defined in the Bluetooth interface is described briefly
below. BLE devices use the packets described below.

[0246] Packet Format

[0247] The link layer has only one packet format used for both an
advertising channel packet and a data channel packet.

[0248] Each of the packets includes four fields: a preamble, an access
address, a PDU, and CRC.

[0249] If one packet is transmitted through an advertising physical
channel, the PDU may function as an advertising channel PDU. If one
packet is transmitted through a data physical channel, the PDU may
function as a data channel PDU.

[0250] Advertising Channel PDU

[0251] The advertising channel PDU includes a 16 bit header and a payload
of various sizes.

[0252] The PDU type filed of an advertising channel included in the header
supports PDU types defined in Table 1 below.

[0258] ADV_SCAN_IND: a non-directional advertisement event that may be
scanned

[0259] The PDUs are transmitted by the link layer in the advertising state
and are received by the link layer in the scanning state or initiating
state.

[0260] Scanning PDUs

[0261] The advertising channel PDU type below is called a scanning PDU and
is used in the status described below.

[0262] SCAN_REQ: transmitted by the link layer in the scanning state and
received by the link layer in the advertising state.

[0263] SCAN_RSP: transmitted by the link layer in the advertising state
and received by the link layer in the scanning state.

[0264] Initiating PDUs

[0265] The advertising channel PDU type below is called an initiating PDU.

[0266] CONNECT_REQ: transmitted by the link layer in the initiating state
and received by the link layer in the advertising state.

[0267] Data Channel PDUs

[0268] The data channel PDU includes a 16 bit header and a payload of
various sizes, and may include a Message Integrity Check (MIC) field.

[0269] The procedures, statuses, and packet formats of the BLE technology
described above may be applied to perform methods according to
embodiments of the present invention.

[0270] Hereinafter, the connection procedure defined in the BLE technology
is described briefly. As an example of the connection procedure, a method
for providing an object transmission service according to the BLE
specification is described.

[0271] FIG. 6 shows an example of the GATT Profile structure of the BLE
specification.

[0272] Referring to FIG. 6, one may see the structure for exchanging
profile data defined in the BLE specification.

[0273] More specifically, the GATT defines a method for exchanging data
using a service between BLE devices and characteristics thereof.

[0274] In general, a peripheral device (e.g., a sensor device) functions
as a GATT server and performs the definition for the service and
characteristics.

[0275] To read or write data, a GATT client sends a data request to the
GATT server, initiates all of the transactions, and receives a response
from the GATT server.

[0276] The GATT-based operational structure defined in the BLE is based on
profiles, services, and characteristics, which form a hierarchical
structure as shown in FIG. 6.

[0277] The profile may include one or more services, and the one or more
services may include one or more characteristics or other services.

[0278] The service groups data into logical units and includes one or more
characteristics or other services.

[0279] Each of the services has the identifier of 16 bits or 128 bits,
which is called a universal unique identifier (UUID).

[0280] The characteristic forms the lowest unit in the GATT-based
operational structure. The characteristic includes only one datum and has
a UUID of 16 bits or 128 bits like the service.

[0281] The characteristic includes descriptors for various types of
information and requires one attribute to describe each piece of
information. The characteristic may use a couple of consecutive
attributes.

[0282] The attribute includes four elements as follows.

[0283] Handle: the address of the attribute

[0284] Type: the type of the attribute

[0285] Value: the value of the attribute

[0286] Permission: an access right to the attribute

[0287] A connection procedure in BLE is described below. For example, a
method for providing an object transfer service according to the BLE is
described as the connection procedure.

[0288] FIG. 7 shows an example of a method for the connection procedure of
the BLE specification.

[0289] A server sends an advertisement message through three advertisement
channels (S7010).

[0290] The server may be called an advertiser before a connection is
established and may be called a master after the connection is
established. Examples of the server include sensors (e.g., temperature
sensors).

[0291] Furthermore, the client may be called a scanner before a connection
is established and may be called a slave after the connection is
established. The client may be a smart phone, for example.

[0292] As described above, Bluetooth communication uses a total of 40
channels through a frequency of 2.4 GHz. Three of the 40 channels are
advertisement channels, which are used for exchanging packets to
establish a connection in addition to various advertising packets.

[0293] The remaining 37 channels are data channels which are used for the
exchange of data packets after a connection is established.

[0294] After receiving the advertisement message, the client may send a
scan request to the server in order to obtain additional data (e.g., a
server device name) from the server.

[0295] The server sends a scan response, together with the remaining data,
to the client in response to the scan request.

[0296] In this case, the scan request and the scan response are one type
of an advertisement packet which may include only user data of 31 bytes
or less.

[0297] Therefore, if a data size is larger than 31 bytes, but with large
overhead from established connection to send data, the data is divided
into two blocks and transmitted twice using the scan request/scan
response.

[0298] Next, the client sends, to the server, a connection request for
establishing BLE with the server (S7020).

[0299] Accordingly, a link layer (LL) connection is established between
the server and the client.

[0300] Thereafter, the server and the client perform a security
establishment procedure.

[0301] The security establishment procedure may be construed as secure
simple pairing or may be performed with the secure simple pairing being
included therein.

[0302] In other words, the security establishment procedure may be
performed through a phase 1 to a phase 3.

[0303] More specifically, a pairing procedure (i.e., the phase 1) is
performed between the server and the client (S7030).

[0304] Through the pairing procedure, the client sends a pairing request
to the server, and the server sends a pairing response to the client.

[0305] In the phase 2, a legacy pairing or secure connection is performed
between the server and the client (S7040).

[0306] In the SSP phase 3, a key distribution procedure is performed
between the server and the client (S7050).

[0307] Through the phases, a secure connection is established between the
server and the client, and encrypted data may be transmitted and
received.

[0308] FIG. 8 is a flowchart illustrating an example of a method for
providing an object transfer service according to the BLE technology.

[0309] An object delivery service or object transfer service refers to a
service supported by BLE in order to transmit/receive an object, such as
bulk data or data, in Bluetooth communication.

[0310] In order to establish BLE between a server device and a client
device, the advertisement process and the scanning process corresponding
to steps S810 to S830 are performed.

[0311] First, the server device sends an advertisement message to the
client device in order to notify the client device of information related
including an object transfer service (S8010).

[0312] The advertisement message may be represented as an advertisement
packet data unit (PDU), an advertisement packet, an advertisement, an
advertisement frame, or an advertisement physical channel PDU.

[0313] The advertisement message may include service information
(including a service name) provided by the server device, the name of the
server device, and manufacturer information.

[0314] Furthermore, the advertisement message may be transmitted to the
client device according to the broadcast or unicast scheme.

[0316] The scan request message may be represented as a scanning PDU, a
scan request PDU, a scan request, a scan request frame, or a scan request
packet.

[0317] The server device sends a scan response message to the client
device in response to the scan request message received from the client
device (S8030).

[0318] The scan response message includes server device-related
information requested by the client device. In this case, the server
device-related information may be an object or data that may be
transmitted by the server device in association with the provision of the
object transfer service.

[0319] When the advertisement process and the scanning process are
terminated, the server device and the client device perform an initiating
connection process and a data exchange process corresponding to steps
S8040 to S8070.

[0320] More specifically, the client device sends a connection request
message to the server device in order to establish a Bluetooth
communication connection with the server device (S8040).

[0321] The connection request message may be represented as a connection
request PDU, an initiation PDU, a connection request frame, or a
connection request.

[0322] Through step S8040, BLE is established between the server device
and the client device. Next, the server device and the client device
exchange data. During the data exchange process, the data may be
transmitted and received through the data channel PDU.

[0323] The client device sends an object data request to the server device
through the data channel PDU (S8050). The data channel PDU may be
represented as a data request message or a data request frame.

[0324] Thereafter, the server device sends object data, requested by the
client device, to the client device through the data channel PDU (S8060).

[0325] In this case, the data channel PDU is used to provide data to a
corresponding device or to request information according to the scheme
defined in the attribute protocol.

[0326] If data is changed in the server device, the server device sends
data changed indication information to the client device through the data
channel PDU in order to notify the client device of a change of the data
or object (S8070).

[0327] Next, the client device requests changed object information from
the server device in order to search for the changed data or changed
object (S8080).

[0328] Next, the server device sends changed object information to the
client device in response to the request for the changed object
information (S8090).

[0329] Next, the client device searches for the changed object through a
comparative analysis of the received changed object information and the
object information owned by the client device.

[0330] However, the client device repeatedly performs steps S880 and S890
until the changed object or data are retrieved.

[0331] If the connected state between the host device and the client
device no longer needs to be maintained, the host device or the client
device may disconnect the connected state.

[0332] Overview of Isochronous Channel

[0333] FIG. 9 shows characteristics of an audio signal.

[0334] As shown in FIG. 9, in the case of an audio signal, audio streaming
data or audio data is periodically generated at an idle event interval.

[0335] Audio data is generated periodically (or at a specific time
interval) according to the characteristics thereof.

[0336] In this case, the specific time interval during which audio data is
periodically generated may be represented as an idle event interval.

[0338] Furthermore, individual audio data may be transmitted throughout
part of or the entire event interval.

[0339] As shown in FIG. 9, when audio streaming data generated
periodically or regularly is transmitted according to the BLE mechanism,
an advertisement and scanning procedure, a communication procedure, and a
disconnection procedure have to be performed whenever the generated audio
data is transmitted or received.

[0340] As shown in FIG. 9, however, since audio data is generated at a
regular interval for most cases, latency needs to be guaranteed with
respect to the transmission of the audio data regardless of the amount of
the audio data.

[0341] If the advertisement and scanning procedure, the communication
procedure, and the disconnection procedure are performed whenever newly
generated audio data is transmitted, however, a latency problem occurs
during the transmission of the audio data.

[0342] If the BLE technology rather than the Bluetooth BE/EDR technology
is used, high energy efficiency can be achieved because a relatively
small amount of audio data is transmitted through an HA or headset. As
described above, however, great overhead is generated because the data
channel process of the BLE technology involves advertising, connection,
etc. whenever data is transmitted. Accordingly, latency absolutely
required for the transmission of audio data cannot be guaranteed.

[0343] Furthermore, the data channel process of the BLE technology
involves sending intermittently generated data only when necessary,
thereby improving energy efficiency by leading a BLE device in a
different time region to deep sleep. Therefore, it may be difficult to
apply the data channel process of the BLE technology to the transmission
of audio data generated at a regular interval.

[0344] For such a reason, it is necessary to define a new mechanism in
which periodically generated data, such as audio streams, is transmitted
and received using the BLE technology.

[0345] Hereinafter, a method for sending and receiving data (e.g., audio
data) generated at a regular interval using the BLE technology is
described in detail.

[0346] In other words, a method for newly defining a channel for sending
and receiving (or transceiving) data generated at a regular interval in
the BLE technology, additionally defining a mechanism related to the
handling of regular data without affecting energy performance of BLE, and
sending data generated at a regular interval is provided below.

[0347] The phrases, such as audio streaming data, audio data, audio
streaming, and audio stream used in this document, may be construed as
providing the same meaning.

[0348] The term "audio data" is hereinafter used to represent the
different terms, for convenience of understanding.

[0349] lsochronous Channel and Definition of a Mechanism Related to
Isochronous Channel

[0350] A new channel, that is, an isochronous channel, is defined to send
data generated at a regular interval using the BLE technology.

[0351] An isochronous channel is used to send isochronous data to devices
using isochronous streams.

[0352] lsochronous data refers to data transmitted at a particular time
interval, that is, periodically or regularly.

[0353] In other words, an isochronous channel may represent a channel for
sending and receiving periodically generated data, such as audio data, in
the BLE technology.

[0354] An isochronous channel may be used to send and receive audio data
to and from a single member, three of one or more coordinated members, or
a plurality of members.

[0355] Furthermore, an isochronous channel corresponds to an isochronous
stream, such as an audio stream, or a flushing channel which may be used
to send and receive important data in other time regions.

[0356] Methods using an isochronous channel described later are used
independently of the advertising channel and data channel defined in the
existing (v4.2 or earlier) BLE technology.

[0357] Furthermore, this document additionally defines a new frequency
channel and frequency hopping interval for an isochronous channel.

[0358] An isochronous channel enables a conductor to send an isochronous
stream such as flushable data (e.g., time-bound audio data) to one or
more members using the BLE.

[0359] In this case, the conductor may be represented as a master, and the
member may be represented as a slave.

[0360] Furthermore, an isochronous channel may or may not be configured by
security setting.

[0361] Furthermore, an isochronous channel may be set up for various
topologies to allow the transmission of an isochronous stream between a
single conductor and a member, between a single conductor and a
coordinated pair of members which generates a stereo audio stream, such
as hearing aids or stereo headsets, and between a single conductor and a
plurality of members synchronized with the same isochronous stream(s).

[0362] In this case, the member may send data to the conductor through an
isochronous channel.

[0363] Furthermore, the isochronous channel may support the transmission
and reception of shared audio, public audio, and broadcast audio as well
as the transmission and reception of personal audio.

[0364] A procedure for setting up an isochronous channel requires that
hierarchy of profile level security and reliability requirements satisfy
use cases.

[0365] Furthermore, an isochronous channel may be used for various
applications, by which a plurality of audio sources and sinks may be set
up, and complicated topologies may be set up to allow users to regularly
change or share different audio streams.

[0366] FIG. 10 shows an example of a protocol stack of BLE which may use
an isochronous channel.

[0367] Referring to FIG. 10, the protocol stack of BLE which supports an
isochronous channel may be different from the protocol stack of FIG. 5.

[0368] More specifically, the protocol stack of BLE which supports an
isochronous channel further includes an audio middleware layer added to
the protocol stack of FIG. 5.

[0370] The isochronous channel includes a connection-oriented isochronous
(ICO) channel for sending and receiving continuous data, that is, for
point-to-point transmission, in an LE connection state and a
connectionless isochronous (ICL) channel for sending and receiving
continuous data, that is, for broadcast transmission, in a BLE
non-connection state.

[0371] Continuous data (e.g., audio stream data) may be transmitted and
received through the ICO and ICL channels of the audio middleware layer
of BLE.

[0372] FIG. 11 shows an example of a home ecosystem for applications to
which an isochronous channel may be applied.

[0373] In other words, FIG. 11 shows an example of the space in which a
plurality of audio conductors and members to which methods according to
embodiments of the present invention may be applied may move around
inside/outside domains.

[0374] As shown in FIG. 11, the existence of various conductors and
members indicate that an isochronous channel is required as a method for
providing notification of the presence of members so that the members can
obtain information necessary to form the isochronous channel.

[0375] An isochronous channel may also be used for the transmission and
reception of non-audio data.

[0376] A member may use isochronous channels to determine existence of
notification messages which may include acquisition information from
conductors within the range of BLE communication.

[0377] Furthermore, the member may use isochronous channels to receive a
request with respect to control information or service data from one or
more devices acting like a remote controller.

[0378] FIG. 12 shows an example of the type of an isochronous channel.

[0379] Referring to FIG. 12, the isochronous channel may include a channel
for point-to-point transmission and a channel for broadcast transmission.

[0380] More specifically, FIG. 12(a) shows connection-oriented isochronous
(ICO) channels, that is, isochronous channels for point-to-point
transmission. In FIG. 14(a), a master device and a slave device are
connected through ICO channels, and may send and receive bi-directional
data and responses thereto through the ICO channels.

[0381] The master device and the slave device may perform an LE connection
(e.g., an ACL connection) in order to form and configure the ICO
channels. In this case, the ACL connection and the roles of the master
device and the slave device in the ICO channel are the same.

[0382] FIG. 12(b) shows connectionless isochronous (ICL) channels, that
is, isochronous channels for broadcast transmission. The ICL channel is a
channel for sending and receiving data in a BLE non-connection state. One
or more slave devices have been synchronized with respective ICL channels
from a master device in order to receive data.

[0383] The ICL channel sends one-way, but does not send a response
thereto.

[0384] That is, the one or more slave devices are able to only receive
data from the master device through the ICL channels, but are unable to
send data to the master device through the ICL channels.

[0385] An embodiment of the present invention proposes a method for
sending and receiving audio streams such an ICO channel and/or ICL
channel.

[0386] FIG. 13 shows an example of operating state transition according to
the BLE technology.

[0387] As shown in FIG. 13, an isochronous channel (or an ISO channel) may
operate in conjunction with an advertisement channel and data channel of
the BLE technology.

[0388] Referring to FIG. 13, a BLE device may change the operating state
to (1) a first connected state or (2) a second connected state in which
data is transmitted and received in an advertisement state.

[0389] In this case, the first connected state refers to an operating
state in which the BLE device sends and receives data through a data
channel, and the second connected state refers to an operating state in
which the BLE device sends and receives data through an isochronous
channel.

[0390] The BLE device may change its operating state to the first or
second connected state depending on the type of data transmitted and
received to and from devices or a data transmission type.

[0391] More specifically, the BLE device generates a data channel from an
advertisement channel operating in the first connected state, and also
generates an isochronous channel from an advertisement channel operating
in the second connected state.

[0392] Furthermore, if the BLE device changes its operating state from the
first connected state to the advertisement state, it releases a generated
data channel. If the BLE device changes its operating state from the
second connected state to the advertisement state, it releases a
generated isochronous channel.

[0393] For example, the BLE device changes its operating state from the
advertisement state to the second connected state in order to send and
receive audio data. In other words, the BLE device may send and receive
audio data through the isochronous channel while it is connected to the
second connected state.

[0394] Furthermore, the BLE device changes its operating state from the
advertisement to the first connected state in order to send and receive
data generated in a random fashion or intermittently.

[0395] In other words, the BLE device may send and receive the data
through the data channel in the first connected state.

[0396] As shown in FIG. 13, the BLE device makes a transition from the
advertisement state to the first connected state by generating a data
channel, if necessary, and sends and receives data through the generated
data channel.

[0397] When the transmission and reception of the data through the data
channel is completed, the BLE device closes the generated data channel
and returns to the advertisement state, that is, the advertisement
channel.

[0398] Likewise, the BLE device makes a transition from the advertisement
state to the second connected state by generating an isochronous channel,
if necessary, and sends and receives data through the generated
isochronous channel.

[0399] When the transmission and reception of the data through the data
channel is completed, the BLE device closes the generated isochronous
channel and returns to the advertisement state, that is, the
advertisement channel.

[0400] As described above, the isochronous channel is generated in order
to send and receive data generated at a regular interval, such as audio
data, while the data channel is generated in order to send and receive
data irregularly or intermittently.

[0402] FIGS. 14(a) to (d) show various topologies used to send an
isochronous stream, and FIGS. 14(a) to (d) show conductors establishing
isochronous channels with the following member(s).

[0403] Two members which may receive the same or different isochronous
streams (e.g., a mono stream, a joint stereo stream or separate left and
right audio streams),

[0404] Three groups of members, with each group synchronized to a separate
isochronous stream,

[0405] A single member receiving a single isochronous stream from a single
isochronous channel.

[0406] A conductor establishes a plurality of isochronous channels sharing
characteristics including the anchor point of the isochronous channel, by
which members of a conductor may make the anchor points performed at the
same time. Such isochronous streams are called an "ensemble."

[0407] A single isochronous channel which sends a single isochronous
stream to a single member may not be an example of the ensemble, where
such point-to-point topology may be usually described as being operated
according to the unicast scheme when it is used for transmission of audio
data.

[0408] Furthermore, an isochronous channel may be used to broadcast
control information to one or more members, to respond to individual
broadcast transmission, or to selectively request more information.

[0409] Through the operation described above, the conductor may operate in
conjunction with a plurality of remote control devices. As shown in FIG.
14, a BLE device may function as a member of an isochronous channel or as
the conductor of a different BLE device.

[0410] In other words, BLE devices may function as both a conductor and a
member in order to establish a plurality of isochronous channels.

[0411] FIGS. 15 and 16 illustrate another example of a data transfer
method using an isochronous channel.

[0412] More specifically, FIG. 15 shows an example of a unicast
transmission method, and FIG. 16 shows an example of a broadcast
transmission method.

[0413] First, the unicast transmission method through an isochronous
channel is described with reference to FIG. 15.

[0414] In the case of the unicast transmission method, devices may operate
an isochronous channel selectively for one or more unicast transmissions.

[0415] As shown in FIG. 15, a master may unicast the same or different
data to a predetermined number of connected or selected slaves.

[0416] The master may generate a dual isochronous channel in order to
perform bilateral communication with slaves, if necessary.

[0417] In other words, the master may form a dual isochronous channel by
generating one isochronous channel along with one slave and the other
isochronous channel along with the slave.

[0418] In this case, the generation of the dual isochronous channel may
indicate that a downlink isochronous channel and an uplink isochronous
channel are respectively generated in order to achieve bilateral
communication between the master and the slave or that isochronous
channels are generated between the master and two or more slaves.

[0419] Broadcast transmission through an isochronous channel is described
below with reference to FIG. 16.

[0420] As shown in FIG. 16, broadcast transmission through an isochronous
channel is performed according to multicast transmission differently from
the broadcast transmission method used for most cases (i.e., a method for
sending data to all of devices).

[0421] In other words, broadcast transmission through the isochronous
channel defined in the BLE specification refers to broadcasting data only
to a slave dependent to a generated isochronous channel.

[0422] In other words, the master broadcasts data only to approved slaves
through an isochronous channel.

[0423] Therefore, broadcast transmission through the isochronous channel
defined in the BLE specification should be construed as multicast
transmission towards a specific group.

[0424] FIG. 17 shows examples of an isochronous channel packet format
which may be applied to methods according to embodiments of the present
invention.

[0425] The format of the isochronous channel packet transmitted through an
isochronous channel is the same as that shown in FIGS. 17(a) and (b), but
the present invention is not limited thereto and may have a different
format.

[0426] As shown in FIG. 17(a), all of isochronous channels may have the
packet format defined in the Bluetooth specification v4.2 supporting an
isochronous data PDU of 2 to 257 octets.

[0428] The preamble may include 1 octet, an access address of 4 octets, a
PDU of 2 to 257 octets, and CRC of 3 octets.

[0429] FIG. 17(b) shows an example of an isochronous packet, and the
isochronous packet (or isochronous channel PDU 2020) may include a header
2021 of 16 bits and payload 2022 of 0 to 255 octets.

[0430] Furthermore, the isochronous packet may include a length field of
an 8 bit size, which is used to check the length of data located next to
the header.

[0431] The data length of the isochronous packet varies depending on the
space between isochronous channels and may be limited by a channel
parameter imposed by a conductor. The isochronous packet may further
include a message integrity check (MIC) field.

[0432] FIG. 18 is a diagram illustrating audio entities for audio
transmission according to an embodiment of the present invention. In an
embodiment of FIG. 18, each audio entity may be an entity for
transmitting or setting up BLE-based audio (BLE audio) using an
isochronous channel. For example, each audio entity may be audio
conductors and members constituting a home echo system (or Bluetooth
audio echo system) according to the embodiment of FIG. 11.

[0433] In this specification, each audio entity is a logical entity, and
some or the entire entities may be included in the same physical device
or different physical devices. For example, an audio source entity (audio
source) and an audio controller entity (audio controller) may be included
in a first physical device, and an audio sink entity (audio sink) may be
included in a second physical device, different from the first physical
device. A physical topology of these audio entities will be described in
detail below with reference to FIG. 19.

[0434] In this specification, the term "entity" may be referred to as an
element, a component, or a device. For example, an audio source entity
may be referred to as an audio source device. Hereinafter, each audio
entity will be described.

[0435] The audio source entity (audio source) is an entity that provides
audio data. That is, an audio source may be a provider of audio streams.
In an embodiment, the audio source may be an entity that provides audio
data (audio stream data) using Bluetooth wireless technology. For
example, the audio source may be a television, a music source, a
doorbell, or public announcement that provides audio data. In an
embodiment, the audio source may be controlled by at least one audio
controller entity (audio controller). In this case, the audio source
needs to keep the audio controller registered.

[0436] The audio sink entity (audio sink) is an entity that plays (or
renders) audio received from at least one audio source. That is, the
audio sink may be a consumer of audio streams. In an embodiment, the
audio sink may be an entity that plays audio stream received from at
least one audio source using Bluetooth wireless technology. For example,
the audio sink may be a headset or a hearing aid (HA) that plays audio.
In an embodiment, the audio sink may be controlled by at least one audio
controller entity (audio controller). In this case, the audio sink needs
to keep the audio controller registered.

[0437] The audio controller entity (audio controller) is an entity that
controls at least one audio source and/or at least one audio sink. That
is, the audio controller may be a main controller of audio sources and
audio sinks. In an embodiment, the audio controller is an entity that
controls at least one audio source and/or at least one audio sink using
Bluetooth wireless technology. For example, the audio controller may be a
smart phone, a smart pad, or a remote controller that controls an audio
source and/or audio sink. In an embodiment, the audio controller may be a
remote controller (or controller) embedded in an audio source or audio
sink. For example, the audio controller may be a hardware button embedded
in an audio source or audio sink.

[0438] In an embodiment, the audio controller may control services
provided by an audio source and an audio sink, including the control of
transport information, codec information, connectivity, mixing, and audio
streams. Specifically, the audio controller may perform connection
management of connection-oriented channels. Also, the audio controller
may perform a function of discovering an audio sink and transmitting
information, for synchronization of an audio source for a connectionless
channel. Moreover, the audio controller may perform a codec parameter
and/or transport parameter negotiation function. In addition, the audio
controller may perform an encryption level negotiation function.

[0439] In an embodiment, the audio controller does not store any
configuration data (or meta-data) of an audio source and an audio sink.
Thus, the audio controller may acquire configuration data from the audio
source or audio sink by sending a query for configuration data to the
audio source or audio sink, if necessary. This may reduce the complexity
of the audio controller.

[0440] A plurality of audio controllers may exist in a Bluetooth audio
echo system according to an embodiment. In this case, an audio source or
an audio sink may be connected to the plurality of audio controllers. In
an embodiment, when the audio source or the audio sink is connected to a
plurality of audio controllers, a hierarchy may exist between the
plurality of audio controllers. That is, a plurality of audio controllers
may form a hierarchical structure.

[0441] FIG. 19 shows physical topologies of audio entities according to an
embodiment of the present invention. From a logical point of view, as
described above with reference to FIG. 19, at least three logical
entities, i.e., an audio source, an audio sink, and an audio controller,
may exist in a Bluetooth audio echo system (e.g., BLE audio echo system).
From a physical point of view, various physical topologies may exist
depending on the position of the audio controller, as in FIG. 19, since
the audio source and the audio sink comprise different physical devices.

[0442] As shown in (a) of FIG. 19, the audio controller may be located in
a device separate from an audio source and an audio sink. For example,
the audio controller may be a separate remote controller (e.g.,
smartphone) that controls an audio source (e.g., TV) and an audio sink
(e.g., headset).

[0443] Moreover, as shown in (b) of FIG. 19, the audio controller may be
located in an audio source. For example, the audio controller may be a
hardware or software button of an audio source (e.g., MP3 player).

[0444] Moreover, as shown in (c) of FIG. 19, the audio controller may be
located in an audio sink. For example, the audio controller may be a
hardware or software button of an audio sink (e.g., headset).

[0445] Moreover, as shown in (d) of FIG. 19, the audio controller may be
located in an audio source and an audio sink. For example, the audio
controller may be a hardware or software button of an audio source (e.g.,
smartphone) and a hardware or software button of an audio sink (e.g.,
carkit).

[0446] As shown in (e) of FIG. 19, the audio controller may be located in
an audio source, an audio sink, and a device separate from the audio
source and the audio sink. For example, the audio controller may be a
hardware or software button of an audio source (e.g., TV), a hardware or
software button of an audio sink (e.g., headset), and a hardware or
software button of a separate remote controller (e.g., smartphone). An
embodiment of (e) of FIG. 19 may be an integrated topology that needs to
be taken into consideration for BLE audio.

[0447] FIG. 20 shows multiplicity topologies of audio entities according
to one embodiment of the present invention. That is, FIG. 20 shows
topologies which take the multiplicity of audio entities into
consideration.

[0448] Referring to (a) of FIG. 20, a Bluetooth echo system may include a
plurality of audio sinks. For example, a Bluetooth echo system may
include a plurality of audio sinks, such as and 1/7 channel speakers
and a headset, connected to an audio source such as a TV.

[0449] Referring to (b) of FIG. 20, a Bluetooth echo system may include a
plurality of audio sources. For example, a Bluetooth echo system may
include a plurality of audio sources, such as a TV, phone, and media
player, connected to an audio sink such as a speaker.

[0450] Referring to (c) of FIG. 20, a Bluetooth echo system may include a
plurality of audio controllers. For example, a Bluetooth echo system may
include a plurality of audio controllers, such as a TV, hearing aid, and
phone, that control an audio sink such as a headset (or hearing aid) and
an audio source such as a TV.

[0451] Hereinafter, primary modules that perform functions of core audio
middleware (or audio middleware) layer according to one embodiment of the
present invention will be described. Particularly, a client-server
architecture in an audio middleware layer according to one embodiment of
the present invention will be described. Here, the audio middleware layer
may be the audio middleware layer of the embodiment of FIG. 10.

[0452] In this specification, a server refers to an entity (or device)
that provides at least one service that can be used by a plurality of
clients. A client refers to an entity (or device) that uses at least one
service on a server. In an embodiment, one physical device may include a
plurality of clients, a plurality of servers, or a combination of clients
and servers.

[0453] In this specification, a client-server architecture may comprise a
server service (or server) and a client. In an embodiment, a server
service may include, as an element, audio source service, audio sink
service, volume service, meta-data service, codec information service,
transport information service, content protection service, audio
controller access service, and/or mixing service. In an embodiment, a
client may include, as an element, an audio controller client and/or an
audio sink client. A detailed description of this will be described below
with reference to FIGS. 21 and 22.

[0454] FIG. 21 shows client-server interactions within audio entities
according to one embodiment of the present invention. In FIG. 21, the
arrows indicate services provided by a server that a client can access.
For example, the arrows from an audio controller client to the services
of an audio source indicate that the audio controller as a client can
access the services provided by the audio source as a server. In another
example, the arrows from an audio sink client to the audio source
services of an audio source indicate that the audio sink as a client can
access the audio source services provided by the audio source as a
server.

[0455] In FIG. 21, M indicates that a corresponding element is mandatory,
and O indicates that a corresponding element is optional. C1 indicates
that a corresponding element is mandatory in a connection-oriented
channel and optional in a connectionless channel. For example, the audio
source service may be mandatory for the audio source entity, the
transport information service may be optional for the audio source
entity, the encryption service may be mandatory for the audio source
entity in a connection-oriented channel and optional for the audio source
entity in a connectionless channel. In this specification, the
connection-oriented channel may be referred to as an ICO channel, and the
connectionless channel may be referred to as an ICL channel.

[0458] Moreover, the audio controller entity, as a client, may access the
services provided by the audio source or audio sink, as a server. That
is, the audio controller entity may only exist as a client.

[0459] FIG. 22 is a table of definitions of service/client characteristics
according to one embodiment of the present invention. In FIG. 22,
services may refer to services provided by the above-described server
(e.g., audio source or audio sink).

[0461] In an embodiment, the audio source service provides an interface
(e.g., start, stop, suspend, and resume) for audio streaming and can be
controlled by commands sent by an audio controller. Moreover, the audio
source service may send advertising information related to audio streams
(e.g., codec information, meta-data, source stream parameters, etc.). In
an embodiment, the audio source service may be mandatory for the audio
source entity.

[0462] In an embodiment, the audio sink service may provide an interface
for synchronization of streams served by an audio source. Moreover, the
audio sink service may render (or play) audio streams. In addition, the
audio sink service may send advertising information related to the
presence of an audio sink. In an embodiment, the audio sink service may
be mandatory for the audio sink entity.

[0463] In an embodiment, the meta-data service may provide meta-data
related to audio streams. For example, the meta-data service may provide
meta-data such as channel information, stream information, bitrate,
codec, sampling rate, audio source information, audio sink information,
language, stream ID, number of channels, and/or application type (e.g.,
alarm, public announcement, phone call, music, video, and advertisement).
In an embodiment, the meta-data service may be mandatory for the audio
source entity. In an embodiment, the meta-data service may be provided
only by the audio source entity.

[0464] In an embodiment, the audio controller access service may provide
an interface for registering one or more audio controller clients and
keeping them registered. Moreover, the audio controller access service
may provide access control. Access control may prevent access from
unauthorized audio controller clients. In addition, an audio controller
client may use the services provided by an audio source and audio sink
after registration. Further, the audio controller access service may
allow for acquisition of audio streaming information from an audio
source. In an embodiment, the audio controller access service may be
mandatory for the audio source entity and the audio sink entity.

[0465] In an embodiment, the code information service may provide an
interface for sending a query for a list of supported codecs. In an
embodiment, the audio controller client may send a query for code
information to an audio source and an audio sink and then negotiate on
the codec information and perform matching. In an embodiment, the code
information service may be optional for the audio source entity and the
audio sink entity.

[0466] In an embodiment, the transport information service may provide an
interface for getting transport parameters. In an embodiment, an audio
source and an audio sink may support this service. In this case, the
audio controller client may send a query for transport information to the
audio source and the audio sink and then negotiate on the transport
information and perform matching. In an embodiment, the transport
information service may be optional for the audio source entity and the
audio sink entity.

[0467] In an embodiment, the mixing service may provide a feature for
mixing audio channels into one channel. This service may be provided by
an audio source and an audio sink. In an embodiment, the mixing service
may be optional for the audio source entity and the audio sink entity.

[0468] In an embodiment, the volume service may provide a volume up/down
feature. This service may be provided by an audio source and an audio
sink. In an embodiment, the volume service may be optional for the audio
source entity and the audio sink entity.

[0469] Referring to FIG. 22, a client may include an audio controller
client and/or an audio sink client.

[0470] In an embodiment, the audio controller client may use all services
supported by an audio source and an audio sink. The audio controller
client may be located in an audio controller entity. The audio controller
entity may reside (or be located) in an audio source device (or entity),
audio sink device (or entity), or a dedicated, separate remote
controller.

[0471] In an embodiment, the audio sink client may obtain audio streaming
information from an audio controller. Moreover, the audio sink client may
synchronize audio streaming information from an audio source in order to
receive audio stream data. In addition, the audio sink client may be
located in an audio sink.

[0472] FIG. 23 shows service usage architectures in respective entities
according to one embodiment of the present invention. Specifically, (a)
of FIG. 23 shows service-to-terminology mapping according to one
embodiment of the present invention, and (b) of FIG. 23 shows service
mapping within a client-server architecture according to one embodiment
of the present invention.

[0473] Referring to (a) of FIG. 23, an audio source may be implemented as
a server that provides service to audio-A, audio-C, and audio-S. An audio
sink may be implemented as a server that provides service to audio-A and
audio-C. An audio controller may be implemented as a client for audio-A
and audio-C.

[0474] Here, audio-A is an audio link that supports advertising and
announcement of audio data. Audio-C is an audio link that supports
control and configuration of audio data to be transmitted. Audio-S is an
audio link that supports transmission of audio streams.

[0475] In an embodiment, a service for audio-A may be a service (e.g.,
audio source service or audio sink service) provided via the audio-A link
that supports advertising and announcement of audio data, a service for
audio-C may be a service (e.g., audio source service or audio sink
service) provided via the audio-C link that supports control and
configuration of audio data to be transmitted, and a service for audio-S
may be a service (e.g., audio source service) provided via the audio-S
link that supports transmission of audio streams.

[0476] (b) of FIG. 23 demonstrates which entity operates as a server for a
particular service and what entity operates as a client that can access
this particular service.

[0477] For example, in the case of the audio source service for audio-A,
the audio source operates as a server, and the audio controller operates
as a client. In the case of the audio source service for audio-C, the
audio source operates as a server, and the audio controller operates as a
client. In the case of the audio source service for audio-S, the audio
source operates as a server, and the audio sink operates as a client.

[0478] In another example, in the case of the audio sink service for
audio-A or audio-C, the audio sink operates as a server, and the audio
controller operates as a client.

[0479] In still another example, in the case of the meta-data service, the
audio source operates as a server, and the audio controller operates as a
client. Moreover, in the case of the transport information service, codec
information service, audio controller control service, or volume service,
the audio source or the audio sink operates as a server, and the audio
controller operates as a client.

[0480] In a further example, in the case of the encryption service, which
is a type of content protection service, the audio source operates as a
server, and the audio controller operates as a client.

[0481] For example, in the case of the meta-data service, the audio source
operates as a server that provides this service, and the audio controller
operates as a client that can access this service. In this embodiment, it
can be found out that the audio sink is not related to the meta-data
service.

[0482] FIG. 24 is a flowchart illustrating an example of a method for
sending and receiving audio streams through an LE connection to which a
method proposed in this specification may be applied.

[0483] Referring to FIG. 24, the first device 200 that is a slave device,
may establish an LE connection with the second device 300 that is a
master device, may generate an isochronous channel, and may receive audio
stream data through the isochronous channel.

[0484] A detailed procedure for receiving audio stream data through an LE
connection is described in detail below.

[0485] LE Connection Establishment Procedure S24010

[0486] The first device 200 may perform an LE connection establishment
procedure with the second device 300 in order to receive audio stream
data from the second device 300.

[0487] In this case, the LE connection establishment procedure may be
performed through the method described with reference to FIG. 7.

[0488] Service Level Connection Establishment Procedure S24020

[0489] After establishing an LE connection with the second device 300, the
first device 200 may perform a service level connection establishment
procedure.

[0490] The service level connection establishment procedure may be
performed due to a reason similar to that of the service level connection
establishment procedure described with reference to FIG. 10 or 21.

[0491] For example, the first device 200 may perform state synchronization
through the service level connection establishment procedure, and may
open a control channel (i.e., a second channel) in order to control an
isochronous channel (i.e., a first channel) for sending and receiving
audio stream data.

[0492] In this case, the control channel may be one of BLE data channels.

[0493] If the first device 200 is divided into a left device and a right
device like a headset, the state synchronization means that
synchronization is performed between the left device and the right device
and may be performed through the GATT message of BLE.

[0494] After opening the control channel, the first device 200 may perform
a codec & transport parameter negotiation procedure along with the second
device 300 (S24030).

[0495] Codec & Transport Parameter Negotiation Procedure S24030

[0496] The first device 200 may determine audio stream data and parameters
related to the transmission and reception of the audio stream data
through a codec parameter and transport parameter negotiation procedure
along with the second device 300.

[0497] More specifically, the first device 200 may send a supported codec
parameter and transport parameter to the second device 300.

[0498] The codec parameter may include a codec name (or a codec type), a
sample rate indicative of a total number of samples extracted during 1
second, a bit depth indicative of the potential precision of hardware or
software which processes audio data in digital audio, a bit rate, a frame
length, and audio channel information (e.g., mono, stereo, or dual mode).

[0499] The transport parameter may include maximum transport latency, the
number of audio streams, and an encryption level.

[0500] Thereafter, the first device 200 may receive a codec parameter and
transport parameter, supported by the second device, from the second
device 300 and select proper parameters of common parameters.

[0501] In an embodiment, the second device 300 may select proper
parameters of the received codec parameter and transport parameter and
send the selected parameters to the first device 200.

[0502] In an embodiment, the second device 300 may send a supported codec
parameter and transport parameter to the first device 200. The first
device 200 may select proper parameters of the received parameters and
send them to the second device 300.

[0503] Isochronous Connection Establishment Procedure S24040

[0504] After selecting proper parameters through the codec & transport
parameter negotiation procedure, the first device 200 and the second
device 300 may perform an isochronous connection establishment procedure.

[0505] Through the isochronous connection establishment procedure, the
first device 200 may form an audio stream along with the second device
300 and may open an isochronous channel for sending and receiving the
formed audio stream.

[0506] In this case, the type (i.e., ICO or ICL) of the isochronous
channel, a channel ID (CID), a channel map, a connection interval,
latency, a channel count, and a retransmission count may be determined
through the isochronous connection establishment procedure.

[0507] Audio Stream Connection Establishment Procedure S24050

[0508] The first device 200 that has opened the isochronous channel may
perform an audio stream connection establishment procedure along with the
second device 300.

[0509] The audio stream connection establishment procedure is a procedure
for sending and receiving the formed audio stream. The first device 200
may configure (or assign) a role for sending and receiving the formed
audio stream to and from the second device 300 through the audio stream
connection establishment procedure.

[0510] Furthermore, state synchronization may be performed between the
first device 200 and the second device 300. The first device 200 and the
second device 300 may open an audio link for sending and receiving the
formed audio stream.

[0511] Thereafter, the first device 200 may receive an audio stream from
the second device 300 and output the received audio stream to the outside
through the output unit.

[0512] Through such a method, the first device 200 may determine proper
parameters for sending, receiving, and playing back audio streams along
with the second device 300, and may provide an audio streaming service
through the determined parameters.

[0513] FIG. 25 is a flowchart illustrating another example of a method for
sending and receiving audio streams through an LE connection to which a
method proposed in this specification may be applied.

[0514] Referring to FIG. 25; unlike in the example of FIG. 24, a service
level connection establishment procedure may not be performed, but state
synchronization may be performed in an audio stream connection
establishment procedure.

[0515] More specifically, the first device 200 may perform an LE
connection establishment procedure along with the second device 300 in
order to receive audio stream data from the second device 300 (S25010).

[0516] In this case, the LE connection establishment procedure may be
performed through the method described with reference to FIG. 7.

[0517] The first device 200 may open a control channel in order to control
an isochronous channel for sending and receiving audio stream data to and
from the second device 300.

[0518] Thereafter, step S25020 and step S25030 are the same as step S24030
and step S24040 of FIG. 24, and a description thereof is omitted.

[0519] The first device 200 that has opened the isochronous channel may
perform an audio stream connection establishment procedure along with the
second device 300 (S25040).

[0520] The audio stream connection establishment procedure is a procedure
for sending and receiving the formed audio stream. The first device 200
may configure (or assign) a role for sending and receiving the formed
audio stream to and from the second device 300 through the audio stream
connection establishment procedure.

[0521] Furthermore, state synchronization may be performed between the
first device 200 and the second device 300. The first device 200 and the
second device 300 may perform the state synchronization described at step
S24020 of FIG. 24 through the GATT message.

[0522] Furthermore, the first device 200 and the second device 300 may
open an audio link for sending and receiving the audio stream.

[0523] Thereafter, the first device 200 may receive an audio stream from
the second device 300 and output the received audio stream to the outside
through the output unit.

[0524] FIG. 26 is a flowchart illustrating a method of establishing a BLE
connection according to an embodiment of the present invention.
Particularly, FIG. 26 illustrates an example of a method of establishing
(setting) a BLE connection for providing a service including audio data
using BLE technology. In FIG. 26, a detailed description corresponding to
that described with reference to FIG. 7 will be omitted.

[0525] Referring to FIG. 26, the BLE connection establishment step
includes step S26100 of establishing a BLE connection between the audio
sink and the audio controller and step S26200 of establishing a BLE
connection between the audio source and the audio controller or the audio
sink. That is, at the BLE connection establishment step, the audio
source, the audio sink, and the audio controller each establish a BLE
connection therebetween, thereby establishing a BLE connection.
Hereinafter, each step will be described in detail.

[0526] First, step S26100 of establishing a BLE connection between the
audio sink and the audio controller will be described. In the embodiment,
the audio sink may operate as a server, and the audio controller may
operate as a client. In this case, the audio sink may transmit
advertisement message through an advertisement channel. The audio
controller may transmit a connection request for establishing a BLE
connection with the audio sink in response to the received advertisement
message. Thereby, a BLE connection may be established between the audio
sink and the audio controller.

[0527] Thereafter, step S26200 of establishing a BLE connection between
the audio source and the audio controller or the audio sink will be
described. In the embodiment, the audio source may operate as a server,
and the audio controller and the audio sink may operate as a client. In
this way, the audio sink may operate as a client upon establishing a BLE
connection with the audio sink and may operate as a source upon
establishing a BLE connection with the audio controller.

[0528] In this case, the audio sink may transmit advertisement message
through an advertisement channel. The audio controller may transmit a
connection request for establishing a BLE connection with the audio
source in response to the received advertisement message. Further, the
audio sink may transmit a connection request for establishing a BLE
connection with the audio source in response to the received
advertisement message. Thereby, a BLE connection may be each established
between the audio source and the audio controller or the audio sink.

[0529] FIG. 27 is a flowchart showing a method of registering an audio
controller according to one embodiment of the present invention.
Particularly, FIG. 27 shows an embodiment of a method in which an audio
controller for controlling an audio source and an audio sink is
registered by sending a registration request message to the audio source
and the audio sink from the audio controller once a BLE connection is
established.

[0530] Referring to FIG. 27, the audio controller registration method may
include a procedure of establishing a BLE connection for an audio source,
an audio sink, and an audio controller (S27100). In this case, the BLE
connection establishment procedure may be performed by the
above-described method with reference to FIGS. 7 and 24.

[0531] Moreover, the audio controller registration method may include a
control path opening procedure (S27200). Specifically, the audio
controller may perform a procedure of opening a control path (or channel)
for the audio source and/or audio sink. Here, the control channel is one
of data channels for BLE audio, and may be a data channel (or link) for
transmitting control information (or data) for control and configuration
of audio data.

[0532] In an embodiment, the audio controller may open a control channel
for the audio source and audio sink by registering itself as a remote
controller for the audio source and audio sink. For example, the audio
controller may register itself as a remote controller for the audio
source by sending a register RC message to the audio source and receiving
a response message from the audio source as a response to the register RC
message. In another example, the audio controller may register itself as
a remote controller for the audio sink by sending a register RC message
to the audio sink and receiving a response message from the audio sink as
a response to the register RC message. By this, the audio controller may
open a control channel for the audio source and audio sink and control
the audio source and the audio sink via the control channel.

[0533] FIG. 28 is a flowchart showing a method of deregistering an audio
controller according to one embodiment of the present invention.
Particularly, FIG. 28 shows an embodiment of a method in which an audio
controller for controlling an audio source and an audio sink is
deregistered by sending a deregistration message to the audio source and
the audio sink from the audio controller while a control path is opened
after a BLE connection establishment procedure S28100 and/or control path
establishment procedure S28200 is performed. In this case, the BLE
connection establishment procedure S28100 may be performed by the
above-described method with reference to FIGS. 7 and 24. The control path
establishment procedure S28200 also may be performed by the
above-described method with reference to FIGS. 7 and 24.

[0534] Referring to FIG. 28, the audio controller deregistration method
may include a control path closing procedure (S28300). Specifically, the
audio controller may perform a procedure of closing a control path (or
channel) for the audio source and/or audio sink. Here, the control
channel is one of data channels for BLE audio, and may be a data channel
(or link) for transmitting control information (or data) for control and
configuration of audio data.

[0535] In an embodiment, the audio controller may close a control channel
for the audio source and audio sink by deregistering itself as a remote
controller for the audio source and audio sink. For example, the audio
controller may register itself as a remote controller for the audio
source by sending a deregister RC message to the audio source and
receiving a response message from the audio source as a response to the
deregister RC message. In another example, the audio controller may
deregister itself as a remote controller for the audio sink by sending a
deregister RC message to the audio sink and receiving a response message
from the audio sink as a response to the deregister RC message. By this,
the audio controller may close a control channel for the audio source and
audio sink.

[0536] In an embodiment, if the audio source or the audio sink moves
beyond a preset range, the audio controller may perform the
above-described control path closing procedure. In this case, the BLE
connection may be released based on a connection timeout setting. For
example, if a preset connection timeout period is up, the BLE connection
may be released. Afterwards, if the audio sink or the audio moves back
into the preset range, the audio controller may perform the BLE
connection and control path opening procedures again.

[0537] FIG. 29 shows a codec and transport negotiation procedure according
to one embodiment of the present invention. Specifically, FIG. 29 shows a
first embodiment of a codec and transport negotiation procedure for a
connection-oriented channel (e.g., ICO channel). In the embodiment of
FIG. 29, a control channel may be a data channel.

[0538] Referring to FIG. 29, a codec and transport parameter negotiation
procedure may be performed after a control channel, which is a data
channel, is opened.

[0539] First of all, an audio controller may transmit to an audio source
and an audio sink a first control message asking for information on
supported codecs and transport. Afterwards, the audio controller may
receive a response message containing codec information and transport
information from the audio source and the audio sink. In an embodiment,
the code information and transport information contained in the response
message may contain information on a list of codecs supported by the
audio source and information on transport channels (e.g., ICO channels)
supported by the audio source. In an embodiment, the codec information
and transport information received from the audio sink may contain
information on a list of codecs supported by the audio sink and
information on transport channels (e.g., ICO channels) supported by the
audio source.

[0540] Afterwards, the audio controller may find information on matching
codecs and transport by performing a preset codec negotiation procedure.
Then, the audio controller may transmit to the audio source and the audio
sink a second control message informing of negotiated codec and transport
information.

[0541] After the codec negotiation procedure, the audio controller may
transmit to the audio source a control message (e.g., `start stream`
message) for starting streamlining. By this, the audio sink may receive
audio stream data from the audio source.

[0542] FIG. 30 shows a codec and transport negotiation procedure according
to another embodiment of the present invention. Specifically, FIG. 30
shows a first embodiment of a codec and transport procedure for a
connectionless channel (e.g., ICL channel). In the embodiment of FIG. 30,
a control channel may be an advertising channel. Explanations of
redundancies between FIG. 29 and FIG. 30 will be omitted.

[0543] Referring to FIG. 30, a negotiation procedure on codecs and
transport parameters may be performed after a control channel, which is
an advertising channel, is opened. First of all, the audio controller may
transmit to the audio source a first control message asking for
information on supported codecs and transport. Afterwards, the audio
controller may receive a response message containing codec information
and transport information from the audio source.

[0544] Then, the audio controller may transmit to the audio sink a second
control message informing of codec and transport information. Also, the
audio controller may transmit to the audio sink a second control message
(e.g., `sync to stream` message) for synchronizing an audio stream from
the audio source. By this, the audio sink may receive audio stream data
from the audio source. In one embodiment, the audio controller may
transmit to the audio source a control message for starting streaming.

[0545] FIG. 31 shows a codec and transport negotiation procedure according
to another embodiment of the present invention. Specifically, FIG. 31
shows a second embodiment of a codec and transport procedure for a
connection-oriented channel. In the embodiment of FIG. 31, a control
channel may be an advertising channel. Explanations of redundancies
between FIG. 29 and FIG. 31 will be omitted.

[0546] In the embodiment of FIG. 31, a codec parameter setting procedure
may be performed in advance before a control channel is opened. For
example, a default codec value may be set as a codec parameter for the
audio source and audio sink. In another example, a negotiation on codec
parameters may be performed in an audio controller registration
procedure.

[0547] In the embodiment of FIG. 31, codec parameters are preset before a
control channel is opened, so the codec negotiation procedure may be
omitted and only a transport negotiation procedure may be performed, as
shown in the figure. By this, the codec and transport negotiation
procedure may be simplified compared to the embodiment of FIG. 29.

[0548] FIG. 32 shows a codec and transport negotiation procedure according
to another embodiment of the present invention. Specifically, FIG. 32
shows a second embodiment of a codec and transport procedure for a
connectionless channel. In the embodiment of FIG. 32, a control channel
may not be opened. Explanations of redundancies between FIG. 29 and FIG.
32 will be omitted.

[0549] In the embodiment of FIG. 32, no control channel is opened, so the
audio source may transmit an advertising message. In this case, the
advertising message may contain codec information and/or transport
information.

[0550] Upon receiving an advertising message containing codec information
and transport information, the audio controller may transmit to the audio
source a first control message informing of codec information and
transport information. Also, the controller may transmit to the audio
sink a second control message for synchronizing an audio stream from the
audio source. By this, the audio sink may receive audio stream data from
the audio source.

[0551] In the embodiment of FIG. 32, the audio source transmits an
advertising message containing codec information and transport
information, so the audio controller may transmit to the audio source no
control message asking for codec information and transport information.
By this, the codec and transport negotiation procedure may be simplified
compared to the embodiment of FIG. 30.

[0552] As described above, a codec negotiation procedure for phone
calling, music, or TV may be performed in various ways. For example, the
audio controller may perform the codec negotiation procedure by receiving
a response message containing codec information from the audio source and
the audio sink in the audio controller registration procedure. That is,
the codec negotiation procedure may be performed along with the audio
controller registration process.

[0553] In another embodiment, the audio controller may perform the codec
negotiation procedure by transmitting to the audio source and the audio
sink an explicit message, i.e., a control message asking for information
on supported codecs, and receiving a response message containing codec
information.

[0554] In still another embodiment, the codec negotiation procedure may be
performed according to call control in a call establishment process after
an incoming or outgoing call event. In a further embodiment, service
provider information and associated information on negotiated codecs may
be stored for each completion of a call, and then preferred codecs for
the corresponding service provider may be set and used based on the
corresponding information.

[0555] FIG. 33 shows a method of transmitting and receiving data according
to one embodiment of the present invention. Particularly, FIG. 33 shows a
method for a first device to transmit and receive data using Bluetooth
Low Energy technology.

[0556] Here, the first device refers to a device (or entity) that controls
at least one device using BLE technology. For example, the first device
may be an audio controller that controls at least one audio source and/or
at least one audio sink. Here, the audio source is a device (or entity)
that provides audio streams, and may be referred to as a second device.
The audio sink is a device (or entity) that consumes audio streams
received from at least one audio source, and may be referred to as a
third device.

[0557] As described above, entities including an audio controller entity
as the first device, an audio source entity as the second device, and an
audio sink entity as the third device are logical entities, and some or
the entire entities may be included in the same physical device or
different physical devices. For example, the audio source and the audio
controller may be included in a first physical device, and the audio sink
may be included in a second physical device, different from the first
physical device.

[0558] Moreover, each of the above-described devices or entities may
comprise a communication unit (or communication module) for communicating
with the outside or inside in a wired or wireless manner.

[0559] The first device may open a control channel for controlling the
second and third devices (S33100). A method of opening a control channel
is as described with reference to FIG. 27, so a detailed description
thereof will be omitted.

[0560] The first device may perform a codec and parameter negotiation
procedure for transmitting and receiving an audio stream between the
second device and the third device (S33200).

[0561] In an embodiment, if the control channel is a connection-oriented
channel, the step of performing a codec and parameter negotiation
procedure may include the steps of: sending to the second and third
devices a query for codec information on supported codecs and transport
information related to the transmission of the audio stream; receiving
the codec information and the transport information from the second and
third devices; performing codec and parameter negotiation based on the
codec information and the transport information; and transmitting the
negotiated codec information and transport information to the second and
third devices.

[0562] After the codec and parameter negotiation procedure, the first
device may transmit to the second device a first control message for
initiating the audio stream. By this, the second device may initiate the
audio stream according to the first control message, and the third device
may receive the initiated audio stream from the second device based on
the negotiated codec information and transport information.

[0563] In another embodiment, if the control channel is a
connection-oriented channel, the step of performing the codec and
parameter negotiation procedure may include the steps of: sending to the
second device a query for codec information on supported codecs and
transport information related to the transmission of the audio stream;
receiving the codec information and the transport information from the
second device; and transmitting the codec information and the transport
information to the third device.

[0564] After the codec and parameter negotiation procedure, the first
device may transmit to the third device a second control message for
synchronizing the audio stream from the second device. By this, the third
device may receive the audio stream from the second device based on the
negotiated codec information and transport information.

[0565] Each step described in the foregoing embodiment may be performed by
hardware/processors. Each module/block/unit described in the foregoing
embodiment may operate as hardware/processor. Further, methods suggested
by the present invention may be executed as a code. The code may be
recorded in a processor readable storage medium and may be thus read by a
processor provided by an apparatus.

[0566] For convenience of description, embodiments are divided and
described with reference to each drawing, but embodiments described with
reference to each drawing may be combined to implement a new embodiment.
A configuration and method of the foregoing embodiments are not limitedly
applied to an apparatus and method according to the present invention but
for various changes of the foregoing embodiments, the entire or some of
each embodiment may be selectively combined.

[0567] A method suggested by the present invention may be implemented into
a processor readable code in a processor readable recording medium
provided in a network device. A processor readable recording medium
includes an entire kind of record device that stores data that may be
read by a processor. The processor readable recording medium may include,
for example, a read-only memory (ROM), a random-access memory (RAM), a
CD-ROM, a magnetic tape, a floppy disk, and an optical data storage
apparatus and includes implementation in a form of a carrier wave such as
transmission through Internet. Further, the processor readable recording
medium is distributed in a computer system connected to a network, and a
processor readable code may be stored and executed with a distributed
method.

[0568] Further, in the foregoing description, embodiments of the present
invention are described, but the present invention is not limited to the
foregoing specific embodiment and changes and variations may be made by
those having ordinary skill in the art without departing from the spirit
or scope of the following claims and all such changes, modifications and
alterations should therefore be seen as within the scope of the present
invention.

[0569] It will be apparent to those skilled in the art that various
modifications and variations may be made in the present invention without
departing from the spirit or scope of the invention. Thus, it is intended
that the present invention cover the modifications and variations of this
invention provided they come within the scope of the appended claims and
their equivalents.

[0570] In this specification, the entire of apparatus and method
inventions are described and a description of the entire of apparatus and
method inventions may be complementarily applied.