WO2024143884A1 - 컨텐트 재생에 기반한 출력 장치들을 제어하는 전자 장치, 그 동작 방법 및 저장 매체 - Google Patents

컨텐트 재생에 기반한 출력 장치들을 제어하는 전자 장치, 그 동작 방법 및 저장 매체 Download PDF

Info

Publication number
WO2024143884A1
WO2024143884A1 PCT/KR2023/018076 KR2023018076W WO2024143884A1 WO 2024143884 A1 WO2024143884 A1 WO 2024143884A1 KR 2023018076 W KR2023018076 W KR 2023018076W WO 2024143884 A1 WO2024143884 A1 WO 2024143884A1
Authority
WO
WIPO (PCT)
Prior art keywords
content playback
electronic device
output
output device
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/KR2023/018076
Other languages
English (en)
French (fr)
Inventor
김대진
권정욱
김상헌
문태진
박영만
박태욱
임연욱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020230000887A external-priority patent/KR20240103900A/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to CN202380089536.2A priority Critical patent/CN120380742A/zh
Priority to EP23912561.0A priority patent/EP4629604A4/en
Publication of WO2024143884A1 publication Critical patent/WO2024143884A1/ko
Priority to US19/246,332 priority patent/US20260104846A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72415User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories for remote control of appliances
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/30Control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons

Definitions

  • An embodiment disclosed in this document relates to an electronic device that controls output devices based on content reproduction, a method of operating the same, and a storage medium.
  • IoT Internet of Things
  • IoT technology can provide intelligent Internet technology services that create new value in human life by collecting and analyzing data generated from devices.
  • IoT technology can be applied to fields such as smart homes, smart buildings, smart cities, smart cars, and smart home appliances.
  • the electronic device 101 includes displays 160 and 360, communication modules 190 and 390, processors 120 and 320 operatively connected to the display and the communication module, and storing instructions. It may include memories 130 and 330 that do.
  • the instructions when executed by the processor, cause the electronic device to acquire information about at least one output device corresponding to each of a plurality of content playback services through the communication module 390. can be set.
  • the instructions set the electronic device to generate a plurality of pages for displaying a list of at least one output device for each of the plurality of content playback services based on the obtained information. It can be.
  • the storage medium in response to selection of at least one output device from the list of at least one output device of the displayed page, selects the selected at least one output device among the plurality of content playback services. It may include an operation to control provision of the corresponding content playback service.
  • FIG. 1 is a block diagram of an electronic device in a network environment according to an embodiment.
  • Figure 2 is a diagram illustrating a system configuration in an IoT environment for controlling output devices based on content playback according to an embodiment.
  • Figure 4 is a diagram illustrating controllable output devices for each content playback service according to an embodiment.
  • Figure 8 is a flowchart of signal transmission and reception between each component after playback starts according to an embodiment.
  • Figure 9 is a diagram showing controllable output devices for each content playback service according to an embodiment using a layer structure.
  • Figure 13 is a screen example showing pages on which a list of controllable output devices for each content playback service is displayed in a second method according to an embodiment.
  • Figure 15 is a screen example showing pages on which a list of controllable output devices for each content playback service is displayed in a fourth method according to an embodiment.
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100, according to one embodiment.
  • the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with at least one of the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network).
  • the electronic device 101 may communicate with the electronic device 104 through the server 108.
  • the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or may include an antenna module 197.
  • at least one of these components eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101.
  • some of these components e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.
  • the processor 120 for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • software e.g., program 140
  • the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132.
  • the commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
  • the processor 120 includes a main processor 121 (e.g., a central processing unit or an application processor) or an auxiliary processor 123 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
  • a main processor 121 e.g., a central processing unit or an application processor
  • auxiliary processor 123 e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor.
  • the electronic device 101 includes a main processor 121 and a secondary processor 123
  • the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can.
  • the auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.
  • the auxiliary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or while the main processor 121 is in an active (e.g., application execution) state. ), together with the main processor 121, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or the communication module 190) At least some of the functions or states related to can be controlled.
  • co-processor 123 e.g., image signal processor or communication processor
  • may be implemented as part of another functionally related component e.g., camera module 180 or communication module 190. there is.
  • the auxiliary processor 123 may include a hardware structure specialized for processing artificial intelligence models.
  • Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 108).
  • Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited.
  • An artificial intelligence model may include multiple artificial neural network layers.
  • the wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199). According to one embodiment, the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC.
  • Peak data rate e.g., 20 Gbps or more
  • loss coverage e.g., 164 dB or less
  • U-plane latency e.g., 164 dB or less
  • peripheral devices e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • signal e.g. commands or data
  • the electronic device is for controlling the audio being output according to the content playback to be output through at least one external device that can be connected to the electronic device while playing the content, and more specifically, the content.
  • a user interface that can individually control at least one external device may be provided for each service being played.
  • Electronic devices provide an integrated user interface that allows selection of external devices for each content playback service, allowing users to easily adjust audio output to the desired external device according to the type of content played on the electronic device, thereby improving user convenience. This may increase.
  • the plurality of output devices 220a, 220b, 220c, 220d, and 220e are not limited to the types of devices listed above, and are capable of communicating with the electronic device 101 and outputting video and/or audio. Can include all possible output devices.
  • the electronic device 101 may be capable of 1:N communication with the plurality of output devices 220a, 220b, 220c, 220d, and 220e.
  • an application capable of playing content may be an application that controls the electronic device 101 to play media content such as video, music, and radio, and the electronic device 101 may play the corresponding content playback application. Content can be played and provided to users.
  • Content may include, for example, web content provided through the Internet and multimedia content provided through a broadcasting network.
  • the electronic device 101 may download or stream content from at least one server (eg, content provider) through a network.
  • content provider e.g., content provider
  • any type of content can be any media content that can be played on the electronic device 101 through downloading or streaming.
  • music will be used as an example among media contents.
  • the content playback service refers to a content playback application, such as a music streaming application (or sound source platform), a streaming media player (or video sharing service) (e.g., YouTube, Chromecast), , OTT (Over The Top) platform), or a video playback application.
  • the electronic device 101 may identify connectable output devices according to the type of sound source data being played or the type of application that plays them, list them, and provide them. In this case, even when the output device cannot access a specific server (e.g., a content provider) or the electronic device 101 has a local content file, connectable output devices can be identified and provided according to the playback content. , users can select the optimal output device for each service situation.
  • the memory 330 may store information for communication and transmitted/received data with at least one output device among a plurality of output devices.
  • the memory 330 includes a control program for controlling the electronic device 101, images for providing UI and UI related to applications provided by the manufacturer or downloaded from outside, user information, documents, and databases. or related data can be stored.
  • the memory 330 may store a content playback application (hereinafter referred to as a content playback app), and the content playback app may be connected to an output device (e.g., a plurality of output devices 220a in FIG. 2) when playing content.
  • a function for providing a list of at least one of 220b, 220c, 220d, and 220e) may be supported.
  • the speaker 355 may receive an electrical signal from the processor 320, generate sound, and output it to the outside of the electronic device 101.
  • the speaker 355 may output sound signals according to content playback to the outside of the electronic device 101.
  • the communication module 390 may communicate with output devices under the control of the processor 320.
  • the communication module 390 includes Zigbee, Z-Wave, Wi-Fi, Bluetooth, Ultra-Wide Band (UWB), Wirelress USB, and Communication may be performed using at least one communication method including Near Field Communication (NFC).
  • NFC Near Field Communication
  • the communication module 390 may perform low-power wireless communication using ZigBee or Z-Wave communication for communication with output devices.
  • the communication module 390 may support short-range communication such as Bluetooth or near field communication (NFC) in addition to ZigBee or Z-Wave communication.
  • the electronic device 101 can obtain the final azimuth using UWB using the relative azimuth to the reference azimuth and the UWB angle of arrival (AOA) using a geomagnetic sensor, thereby providing location-related information for n output devices. can be obtained.
  • the location-related information may be used to identify the location or direction of an external device within a certain radius or place based on the electronic device 101.
  • the processor 320 may obtain information on at least one output device for each of a plurality of content playback apps (or a plurality of content playback services). To this end, the processor 320 may pre-register information about output devices in at least one server (e.g., content provider or IoT server). For example, the processor 320 can use the user account to monitor, set, and control registered output devices so that the output when playing content on the electronic device 101 can be output through another output device. . For example, the processor 320 may provide a menu for connection between the electronic device 101 and at least one output device when playing content in a content playback app. At the start of or during content playback, in response to a user request, the processor 320 may identify at least one object capable of output according to content playback.
  • the processor 320 may identify at least one object capable of output according to content playback.
  • the framework may provide information related to the type, application ID, or playback status of an application capable of playing content.
  • the media controller can obtain the name of the application currently playing content (e.g., the name of the content provider). Therefore, based on the information provided by the framework, the processor 320 can obtain attribute information of the application that plays content to identify the application that will actually play the content. For example, if the type of application is a media type and is playing, the processor 320 can identify the application ID that matches the name of the application obtained from the media controller.
  • the framework can request and retrieve the sound source corresponding to the application ID according to information related to content playback, such as audio information (e.g., sample rate, bit, channel). Information related to such content playback may be referred to as media session information.
  • the processor 320 may identify at least one output device corresponding to the content playback app at the start of or during content playback.
  • the processor 320 may identify at least one output device based on information related to content playback and/or information on registered output devices, and may provide a list of connectable output devices.
  • the processor 320 may generate a plurality of pages to display a list of at least one output device for each of a plurality of content playback apps.
  • the processor 320 may display at least one of the plurality of pages on the display 360 based on user input.
  • the processor 320 when the user selects two or more output devices from the list of output devices on the displayed page, the processor 320 outputs (e.g., video and/or output) according to content playback on the electronic device 101. or audio) can be controlled to be output simultaneously through each selected output device. Accordingly, when audio according to content playback is output from the electronic device 101, the same audio can be controlled to be output through each of the selected output devices.
  • video and/or output e.g., video and/or output
  • audio can be controlled to be output simultaneously through each selected output device. Accordingly, when audio according to content playback is output from the electronic device 101, the same audio can be controlled to be output through each of the selected output devices.
  • each of the plurality of pages corresponds to each of the plurality of content playback apps
  • at least one output device selected from the displayed page and at least one output device selected from the page changed according to the swipe gesture are different from each other. You can. Accordingly, even when the first content of the first content playback app and the second content of the second content playback app are being played simultaneously in the electronic device 101, the audio according to the playback of the first content and the audio according to the playback of the second content can be output simultaneously through different output devices.
  • the processor 320 may download or stream content from at least one server (eg, content provider) through a network based on a designated transmission service protocol. Therefore, if the content playback app supports a transmission service protocol that can provide output according to content playback to an output device, the electronic device 101 plays different contents through different content playback apps and simultaneously supports the Output can be controlled to be output through different output devices. In this way, when the transmission service protocols supported by each content playback app are different, output according to content playback can be output through different output devices without conflict during data transmission.
  • a server eg, content provider
  • the processor 320 can provide audio for the content being played through audio mirroring based on a transmission service protocol to the at least one output device, and output the audio through the at least one output device. .
  • the processor 320 may provide audio for the content being played to at least one output device through a Bluetooth method based on a transmission service protocol.
  • audio according to different content playbacks may be output through an output device selected on a first page associated with a first content playback app and an output device selected on a second page associated with a second content playback app.
  • the processor 320 may be configured to connect to at least one output device selected from the first page based on a first transmission service protocol, and to connect to the at least one output device selected from the second page. It can be configured to connect based on the transport service protocol.
  • the first content playback app associated with the first page supports the first transmission service protocol and the second transmission service protocol
  • the first content playback app is different from at least one output device selected from the list of output devices of the first page.
  • the transmission service protocol may include at least one transmission method among a streaming media player method, a music streaming service method, an audio mirroring method, a digital living network alliance (DLNA) method, or a Bluetooth method.
  • a streaming media player method a music streaming service method
  • an audio mirroring method a digital living network alliance (DLNA) method
  • DLNA digital living network alliance
  • the display (or display module) 360 displays a user associated with the running content playback app.
  • the interface can be displayed.
  • the processor 320 may display a page including a list of output devices generated based on the transmission service protocol for the executed content playback app.
  • Figure 4 is a diagram illustrating controllable output devices for each content playback service according to an embodiment.
  • the processor 320 may display each connectable output device in the form of a page using objects on the display 360 when playing content.
  • An object is a graphic element related to an output device and may include, for example, an image representing the output device, such as an icon.
  • the page corresponds to the execution screen of the content playback application, and may be displayed on at least part of the display 360, or may be displayed to occupy the entire display 360.
  • These pages may also be referred to by terms such as window, card, widget, or display area.
  • the first page 410 associated with the first content playback app includes a list of at least one output device capable of outputting audio according to content playback of the first content playback app. (415) may be displayed.
  • the second page 420 associated with the second content playback app contains a list 425 of at least one output device capable of outputting audio according to content playback of the second content playback app. can be displayed.
  • the third page 430 associated with the third content playback app contains a list 435 of at least one output device capable of outputting audio according to content playback of the third content playback app. can be displayed.
  • Figure 4 illustrates a case where a plurality of pages corresponding to each content playback app are arranged in the execution order of the first page 410, the second page 420, and the third page 430. While the first page 410 is displayed, a page 420 or 430 different from the first page 410 may be displayed in response to a swipe gesture for the first page 410. For example, when the processor 320 receives a request to output audio according to the content playback while the content of the first content playback app is being played, the processor 320 may connect to the first content playback app in response to the request. A first page for displaying a list of at least one output device may be displayed.
  • the processor 320 selects the fourth content playback app in response to the user selection.
  • a fourth page for displaying a list of at least one output device connectable to the content playback app can be displayed by adding it to the first to third pages.
  • the electronic device 101 includes displays 160 and 360, communication modules 190 and 390, processors 120 and 320 operatively connected to the display and the communication module, and storing instructions. It may include memories 130 and 330 that do.
  • the instructions when executed by the processor, cause the electronic device to acquire information about at least one output device corresponding to each of a plurality of content playback services through the communication module 390. can be set.
  • the instructions set the electronic device to generate a plurality of pages for displaying a list of at least one output device for each of the plurality of content playback services based on the obtained information. It can be.
  • the instructions may be set so that the electronic device displays at least one of the plurality of pages on the display 360 based on a first user input.
  • the instructions may be performed by the electronic device, in response to selection of at least one output device from the list of at least one output device of the displayed page, to select the selected at least one output device from the plurality of output devices.
  • it may be set to provide the corresponding content playback service.
  • the instructions may be set so that the selected at least one output device outputs audio according to the content playback while the electronic device plays content of the content playback service.
  • the instructions are provided by the electronic device, in response to selection of two or more output devices from the list of at least one output device of the displayed page, so that each of the two or more selected output devices provides a corresponding content playback service. It may be set to output audio according to the content playback during content playback.
  • the instructions allow the electronic device to identify a transmission service protocol for each of the plurality of content playback services, and provide at least one output connectable to the electronic device based on the identified transmission service protocol. Can be set to identify the device.
  • the instructions may be set so that the electronic device generates a list of at least one output device connectable to the electronic device, corresponding to each of the identified transmission service protocols.
  • the instructions are, by the electronic device, in response to selection of at least one output device from the list of at least one output device of the displayed page, based on a transmission service protocol for the corresponding content playback service. It can be set to connect to the selected at least one output device.
  • the instructions are set to connect the electronic device to at least one output device from a list of at least one output device of the displayed page based on a first transmission service protocol, and configure the electronic device to connect to at least one output device from a list of at least one output device of the displayed page. It may be set to connect to the remaining output devices in the list of at least one output device based on a second transmission service protocol.
  • the transmission service protocol may include at least one transmission method among a streaming media player method, a music streaming service method, an audio mirroring method, a digital living network alliance (DLNA) method, or a Bluetooth method.
  • a streaming media player method a music streaming service method
  • an audio mirroring method a digital living network alliance (DLNA) method
  • DLNA digital living network alliance
  • the instructions are such that the electronic device receives a request to output audio according to content playback while playing content of a corresponding content playback service among the plurality of content playback services in the electronic device, In response to the request, a page for displaying a list of at least one output device for the corresponding content playback service may be set to be displayed on the display 360.
  • FIG. 5 is a flowchart of operations in an electronic device for controlling output devices based on content playback according to an embodiment.
  • the operating method may include operations 505 to 520.
  • Each operation of the operation method of FIG. 5 is performed by at least one processor (e.g., the processor 120 of FIG. 1 and the processor 320 of FIG. 3) of an electronic device (e.g., the electronic device 101 of FIGS. 1 to 3). ) can be performed by.
  • at least one of operations 505 to 520 may be omitted, the order of some operations may be changed, or another operation may be added.
  • the electronic device 101 may obtain information about at least one output device for each of a plurality of content playback services.
  • the electronic device 101 may identify a transmission service protocol for each of the plurality of content playback services.
  • the electronic device 101 may identify at least one output device connectable to the electronic device based on the identified transmission service protocol.
  • the electronic device 101 may generate a list of at least one output device connectable to the electronic device, corresponding to each of the identified transmission service protocols.
  • the electronic device 101 may display at least one of the plurality of pages based on a first user input.
  • the plurality of pages are arranged in the execution order of a first page, a second page, and a third page, and while the first page is displayed, the electronic device 101 performs a scan for the first page.
  • a page different from the first page may be displayed.
  • the electronic device 101 in response to selection of at least one output device from the list of at least one output device of the displayed page, selects at least one output device from among the plurality of content playback services. It can be controlled to provide the corresponding content playback service.
  • the electronic device 101 may connect to at least one output device from the list of at least one output device of the displayed page based on the first transmission service protocol. Additionally, the electronic device 101 may connect to other output devices among the list of at least one output device of the displayed page based on the second transmission service protocol.
  • the transmission service protocol may include at least one transmission method among a streaming media player method, a music streaming service method, an audio mirroring method, a digital living network alliance (DLNA) method, or a Bluetooth method.
  • a streaming media player method a music streaming service method
  • an audio mirroring method a digital living network alliance (DLNA) method
  • DLNA digital living network alliance
  • Figure 6 is a detailed operation flowchart in an electronic device according to an embodiment.
  • the operating method may include operations 605 to 625.
  • at least one of operations 605 to 625 may be omitted, the order of some operations may be changed, or another operation may be added.
  • the electronic device 101 may identify a transmission service protocol capable of transmitting content. For example, the electronic device 101 may obtain app property information to identify the content playback app (or content playback service) that will play the content. Accordingly, the electronic device 101 can identify the transmission service protocol related to the content playback app.
  • the electronic device 101 may obtain a list of output devices connectable to the electronic device 101.
  • the electronic device 101 may obtain output device information about which output devices are searched and connectable around the electronic device 101, and generate a list of output devices based on this. can do. Accordingly, the electronic device 101 can obtain information on at least one output device corresponding to each content playback app.
  • the order of the list of output devices is based on at least one of the ultra wide band (UWB) communication method or the bluetooth low energy (BLE) communication method of the communication module 390, It can be determined in order of proximity based on the distance. For example, when n connectable output devices are searched, the list may be ordered in the order of external devices that are closer to the electronic device 101 based on the electronic device 101.
  • UWB ultra wide band
  • BLE bluetooth low energy
  • the electronic device 101 may perform an operation 840 of connecting to the output device based on the Bluetooth method.
  • the Bluetooth method if the electronic device 101 cannot connect to the external output device 709 searched based on session information, the Bluetooth connection history is checked from the Bluetooth framework of the connection service unit 707 and the Bluetooth connection history is confirmed. You can obtain information about connectable output devices that support the method. Accordingly, the electronic device 101 can generate a list of connectable output devices for each session, that is, for each content playback app, through the media output unit 701, based on the acquired output device information. An example of displaying a list of output devices for each session will be described with reference to FIGS. 9 and 10.
  • FIG. 9 is a diagram showing controllable output devices for each content playback service according to an embodiment using a layer structure
  • FIG. 10 is a diagram illustrating a configuration example of controllable output devices for each content playback service according to an embodiment. am.
  • the electronic device 101 displays a list of output devices (e.g., speaker1, speaker2, speaker3, ...) by session (e.g., M1, M2, M3, ..., N) through the media output unit 701. , speaker N ) can be displayed.
  • the electronic device 101 may connect to at least one output device based on the transmission service protocol selected by the user. For example, a plurality of pages (or cards) 900, 910, and 920 that display a list of at least one output device for each content playback app that plays content may be displayed as an integrated user interface. Accordingly, when two or more content playback apps are executed, the electronic device 101 may display an integrated user interface through which output devices can be selected for each of the executed apps.
  • the electronic device 101 may provide audio for the content being played to the selected output device 1125 through a Bluetooth method based on a transmission service protocol. According to one embodiment, even in an environment where connection to a server providing a streaming service is impossible, the electronic device 101 can provide a list of output devices that can output audio for the content being played, increasing convenience of use. It can be.
  • Figure 13 is a screen example showing pages on which a list of controllable output devices for each content playback service is displayed in a second method according to an embodiment.
  • the electronic device 101 displays the first page 1310, the second page 1320, the third page 1330, and the fourth page 1340 according to the execution order of the plurality of content playback apps. Pages can be displayed by arranging them vertically in the order of .
  • Figure 14 is a screen example showing pages on which a list of controllable output devices for each content playback service is displayed in a third method, according to an embodiment.
  • the electronic device 101 may control the pages 1410, 1420, and 1430 to overlap each other in a stacked layer structure so that only one page 1410 is exposed and displayed to the outside.
  • a single page can be called a widget.
  • FIG. 14 movement between the pages 1510, 1520, and 1530 of the stacked structure is explained as an example using the user's input in the upward or downward direction. However, as shown in FIG. 15, movement in the user's left or right direction is explained as an example. Depending on the input, it may be possible to move between the pages 1510, 1520, and 1530 of the stacked structure.
  • FIG. 15 is a screen example showing pages on which a list of controllable output devices for each content playback service is displayed in the fourth method according to an embodiment.
  • a page indicator 1505 may be displayed to indicate that there are multiple pages according to the content playback app.
  • pages 1510, 1520, and 1530 in a stacked structure may also be displayed on the home screen to increase user accessibility.
  • Various embodiments of the present document are one or more instructions stored in a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these.
  • a processor e.g., processor 120
  • the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage cases.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or via an application store (e.g. Play Store TM ) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
  • a machine-readable storage medium e.g. compact disc read only memory (CD-ROM)
  • an application store e.g. Play Store TM
  • two user devices e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
  • at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
  • each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. there is.
  • one or more of the components or operations described above may be omitted, or one or more other components or operations may be added.
  • multiple components eg, modules or programs
  • the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component of the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, or omitted. Alternatively, one or more other operations may be added.
  • the instructions are set to cause the electronic device to perform at least one operation when executed by the processors 120 and 320 of the electronic device 101.
  • the at least one operation may include an operation of obtaining information about at least one output device for each of a plurality of content playback services.
  • the storage medium may include an operation of generating a plurality of pages for displaying a list of at least one output device for each of the plurality of content playback services based on the obtained information. there is.
  • the storage medium may include an operation of displaying at least one of the plurality of pages based on a first user input.
  • the storage medium in response to selection of at least one output device from the list of at least one output device of the displayed page, selects the selected at least one output device among the plurality of content playback services. It may include an operation to control provision of the corresponding content playback service.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

일 실시 예에 따르면, 전자 장치(101)는, 디스플레이(160, 360), 통신 모듈(190, 390), 상기 디스플레이 및 상기 통신 모듈과 작동적으로 연결된 프로세서(120, 320), 및 인스트럭션들을 저장하는 메모리(130, 330)를 포함할 수 있다. 일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 복수의 컨텐트 재생 서비스 각각에 대응하는 적어도 하나의 출력 장치에 대한 정보를 상기 통신 모듈(390)을 통해 획득하고, 상기 획득된 정보에 기반하여, 상기 복수의 컨텐트 재생 서비스 각각에 대한 적어도 하나의 출력 장치의 목록을 표시하기 위한 복수의 페이지들을 생성하고, 제1 사용자 입력에 기반하여, 상기 복수의 페이지들 중 적어도 하나를 상기 디스플레이(360) 상에 표시하고, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 상기 선택된 적어도 하나의 출력 장치가 상기 복수의 컨텐트 재생 서비스 중 해당 컨텐트 재생 서비스를 제공하도록 설정될 수 있다.

Description

컨텐트 재생에 기반한 출력 장치들을 제어하는 전자 장치, 그 동작 방법 및 저장 매체
본 문서에 개시된 일 실시 예는 컨텐트 재생에 기반한 출력 장치들을 제어하는 전자 장치, 그 동작 방법 및 저장 매체에 관한 것이다.
사용자 단말, 예를 들어, 스마트 폰과 같은 전자 장치를 통해 제공되는 다양한 서비스 및 부가 기능들이 점차 증가하고 있다. 이러한 전자 장치의 효용 가치를 높이고, 다양한 사용자들의 욕구를 만족시키기 위해서 통신 서비스 제공자 또는 전자 장치 제조사들은 다양한 기능들을 제공하는 전자 장치를 경쟁적으로 개발하고 있다. 이에 따라, 전자 장치를 통해서 제공되는 다양한 기능들도 점점 고도화 되고 있다.
무선 통신 기술이 발전함에 따라 인공지능(artificial intelligence: AI)을 이용한 장치들이 널리 도입되고 있다. 예를 들어, 사물인터넷(internet of things: 이하, IoT) 기술이 적용되어 네트워크에 연결되는 가전 제품은 인공 지능을 이용할 수 있다. IoT 기술은 장치들에서 생성되는 데이터를 수집 및 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 인터넷 기술 서비스를 제공할 수 있다. 기존 인터넷 기술과 다양한 산업의 융합 및 결합을 통해 IoT 기술은 스마트 홈, 스마트 빌딩, 스마트 시티, 스마트 카, 및 스마트 가전과 같은 분야들에 적용될 수 있다.
한편, 가정에는 사용자의 편의를 위한 다양한 가전 제품이 구비되어 있다. IoT 기술을 활용하여 가전 제품의 조작이나 제어를 보다 편리하게 하기 위한 다양한 서비스들이 제안되고 있다. 홈 네트워크 기술은 홈 네트워크를 통한 다양한 서비스를 가정 내의 사용자들에게 제공할 수 있다. 예를 들면, 사용자는 개인용 전자 장치(예: 스마트 폰)를 이용하여 홈 네트워크를 구성하는 다양한 IoT 장치들(예를 들어, IoT 기술이 적용된 가전 제품들)을 제어할 수 있다.
또한, 영상 및/또는 사운드를 출력할 수 있는 출력 장치가 다양한 형태로 개발됨에 따라 출력 장치의 제어 분야에서도 사용자는 사용자의 환경이나 상황에 따라 더욱 다양한 서비스를 제공받기를 원할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는, 디스플레이(160, 360), 통신 모듈(190, 390), 상기 디스플레이 및 상기 통신 모듈과 작동적으로 연결된 프로세서(120, 320), 및 인스트럭션들을 저장하는 메모리(130, 330)를 포함할 수 있다. 일 실시 예에 따르면, 상기 인스트럭션들은, 상기 프로세서에 의해 실행 시, 상기 전자 장치가, 복수의 컨텐트 재생 서비스 각각에 대응하는 적어도 하나의 출력 장치에 대한 정보를 상기 통신 모듈(390)을 통해 획득하도록 설정될 수 있다. 일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 상기 획득된 정보에 기반하여, 상기 복수의 컨텐트 재생 서비스 각각에 대한 적어도 하나의 출력 장치의 목록을 표시하기 위한 복수의 페이지들을 생성하도록 설정될 수 있다. 일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 제1 사용자 입력에 기반하여, 상기 복수의 페이지들 중 적어도 하나를 상기 디스플레이(360) 상에 표시하도록 설정될 수 있다. 일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 상기 선택된 적어도 하나의 출력 장치가 상기 복수의 컨텐트 재생 서비스 중 해당 컨텐트 재생 서비스를 제공하도록 설정될 수 있다.
일 실시 예에 따르면, 컨텐트 재생에 기반한 출력 장치들을 제어하는 전자 장치(101)의 동작 방법은, 복수의 컨텐트 재생 서비스 각각에 대응하는 적어도 하나의 출력 장치에 대한 정보를 획득하는 동작을 포함할 수 있다. 일 실시 예에 따르면, 상기 방법은, 상기 획득된 정보에 기반하여, 상기 복수의 컨텐트 재생 서비스 각각에 대한 적어도 하나의 출력 장치의 목록을 표시하기 위한 복수의 페이지들을 생성하는 동작을 포함할 수 있다. 일 실시 예에 따르면, 상기 방법은, 제1 사용자 입력에 기반하여, 상기 복수의 페이지들 중 적어도 하나를 표시하는 동작을 포함할 수 있다. 일 실시 예에 따르면, 상기 방법은, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 상기 선택된 적어도 하나의 출력 장치가 상기 복수의 컨텐트 재생 서비스 중 해당 컨텐트 재생 서비스를 제공하도록 제어하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 명령들을 저장하고 있는 비휘발성 저장 매체에 있어서, 상기 명령들은 전자 장치(101)의 프로세서(120, 320)에 의하여 실행될 때에 상기 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은, 복수의 컨텐트 재생 서비스 각각에 대응하는 적어도 하나의 출력 장치에 대한 정보를 획득하는 동작을 포함할 수 있다. 일 실시 예에 따르면, 상기 저장 매체는, 상기 획득된 정보에 기반하여, 상기 복수의 컨텐트 재생 서비스 각각에 대한 적어도 하나의 출력 장치의 목록을 표시하기 위한 복수의 페이지들을 생성하는 동작을 포함할 수 있다. 일 실시 예에 따르면, 상기 저장 매체는, 제1 사용자 입력에 기반하여, 상기 복수의 페이지들 중 적어도 하나를 표시하는 동작을 포함할 수 있다. 일 실시 예에 따르면, 상기 저장 매체는, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 상기 선택된 적어도 하나의 출력 장치가 상기 복수의 컨텐트 재생 서비스 중 해당 컨텐트 재생 서비스를 제공하도록 제어하는 동작을 포함할 수 있다.
도 1은 일 실시 예에 따른 네트워크 환경 내의 전자 장치의 블럭도이다.
도 2는 일 실시 예에 따른 컨텐트 재생에 기반한 출력 장치들을 제어하기 위한 IoT 환경에서의 시스템 구성을 예시한 도면이다.
도 3은 일 실시 예에 따른 전자 장치의 내부 블록 구성도이다.
도 4는 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치들을 예시한 도면이다.
도 5는 일 실시 예에 따른 컨텐트 재생에 기반한 출력 장치들을 제어하기 위한 전자 장치에서의 동작 흐름도이다.
도 6은 일 실시 예에 따른 전자 장치에서의 상세 동작 흐름도이다.
도 7은 일 실시 예에 따른 초기 과정 및 재생 시작 시의 각 구성요소들 간의 신호 송수신 흐름도이다.
도 8은 일 실시 예에 따른 재생 시작 이후 각 구성요소들 간의 신호 송수신 흐름도이다.
도 9는 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치들을 레이어 구조를 이용하여 나타낸 도면이다.
도 10은 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치들의 구성 예를 설명하기 위한 도면이다.
도 11은 일 실시 예에 따른 컨텐트 재생을 위한 전송 방식을 설명하기 위한 도면이다.
도 12는 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치의 목록이 제1 방식으로 표시되는 페이지들을 나타낸 화면예시도이다.
도 13은 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치의 목록이 제2 방식으로 표시되는 페이지들을 나타낸 화면예시도이다.
도 14는 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치의 목록이 제3 방식으로 표시되는 페이지들을 나타낸 화면예시도이다.
도 15는 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치의 목록이 제4 방식으로 표시되는 페이지들을 나타낸 화면예시도이다.
도 16은 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치의 목록이 제5 방식으로 표시되는 페이지들을 나타낸 화면예시도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성 요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 1은, 일 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
이하의 상세한 설명에서는, 선행 실시예를 통해 용이하게 이해할 수 있는 구성에 관해 도면의 참조번호를 동일하게 부여하거나 생략하고, 그 상세한 설명 또한 생략될 수 있다. 본 문서에 개시된 일 실시예에 따른 전자 장치(101)는 서로 다른 실시예의 구성이 선택적으로 조합되어 구현될 수 있으며, 한 실시예의 구성이 다른 실시예의 구성에 의해 대체될 수 있다. 예컨대, 본 발명이 특정한 도면이나 실시예에 한정되지 않음에 유의한다.
도 2는 일 실시 예에 따른 컨텐트 재생에 기반한 출력 장치들을 제어하기 위한 IoT 환경에서의 시스템 구성을 예시한 도면이다.
전자 장치(101)에서 제공되는 컨텐트의 종류가 다양해지고 있는데, 컨텐트는 일 예로, 적어도 하나의 서버(예: 컨텐트 프로바이더)로부터 다운로드 또는 스트리밍(streaming) 받은 음악, 드라마나 영화와 같은 컨텐트 또는 사용자가 촬영한 동영상 컨텐트일 수 있다. 이하의 설명에서 컨텐트는 시각적 영상 및/또는 청각적 소리를 포함하는 것으로, 예를 들어, 영상 또는 오디오를 포함하거나 오디오 및 영상을 모두 포함한 것일 수 있다. 여기서, 영상은 움직이는 동영상을 의미할 수 있으며, 오디오(audio)는 음향(sound)으로 기술될 수도 있다. 이러한 컨텐트를 미디어라고 칭할 수도 있다.
일 실시 예에 따른 전자 장치는, 컨텐트를 재생하는 동안에, 상기 컨텐트 재생에 따라 출력 중인 오디오를 상기 전자 장치와 연결 가능한 적어도 하나의 외부 장치를 통해서도 출력되도록 제어하기 위한 것으로, 더욱 상세하게는 컨텐트를 재생하는 서비스마다 개별적으로 적어도 하나의 외부 장치를 제어할 수 있는 사용자 인터페이스를 제공할 수 있다. 전자 장치는 컨텐트 재생 서비스 각각에 대해 외부 장치들을 선택할 수 있는 통합 사용자 인터페이스를 제공함으로써, 사용자는 전자 장치에서 재생되는 컨텐트 타입에 따라 원하는 외부 장치로 오디오를 출력하도록 용이하게 조절할 수 있어, 사용자의 편의성이 증대될 수 있다.
도 2를 참조하면, 도 2에서의 전자 장치(101)는 도 1의 전자 장치(101)일 수 있다.
도 2에서와 같은 IoT 시스템(200)에서 사용자는 하나 이상의 전자 장치(101)를 이용할 수 있게 되었으며, 전자 장치(101)를 기반으로 적어도 하나의 연결 가능한 기기들을 구비하여 제어할 수 있다. 이에 따라 전자 장치(101)에서는 IoT 환경에서 네트워크를 통해 연결된 적어도 하나의 외부 장치(220)를 제어할 수 있다. 예를 들어, 사용자가 음악과 같은 컨텐트 재생 시 IoT 시스템에 연결된 주변 기기들을 제어하기 위해서는 별도의 하드웨어를 이용하거나 특정 컨텐트 프로바이더(content provider)와의 별도의 연동 작업을 통해 제한된 컨텐트를 제공받아 재생할 수 있다. 이러한 경우 IoT 시스템에 연결된 주변 기기들과 연동이 가능하도록 매번 개별적인 통합 작업이 요구될 수 있다. 게다가 다양한 스피커 기기의 발전으로 인해 인터랙티브(interactive)한 서비스 즉, 다양한 컨텐트와 연동하여 더욱 사용자의 의도에 부합하는 서비스를 제공할 필요가 있다.
따라서 특정 포맷의 컨텐트에 한정되지 않고 전자 장치(101)와 연동 가능한 다양한 외부 장치를 통해 컨텐트 재생에 따른 출력을 제공할 필요가 있다. 여기서, 컨텐트 재생에 따른 출력은 영상 및 오디오 중 적어도 하나를 포함할 수 있다. 만일 외부 장치가 영상을 출력하는 기능을 지원하는 경우, 컨텐트 재생에 따른 영상 및 오디오가 동시에 출력될 수 있다. 반면, 외부 장치가 영상을 출력하는 기능을 지원하지 않는 경우, 컨텐트 재생에 따른 오디오를 출력할 수 있다.
따라서, 이하의 설명에서, 설명의 편의상 컨텐트 재생에 따라 오디오가 출력되는 경우를 예로 들어 설명하나, 외부 장치의 타입에 따라 영상이 오디오와 함께 출력 가능한 것으로 이해되어야 할 것이다.
이하, 일 실시 예에서, 컨텐트 재생에 기반한 외부 장치를 제어하기 위한 전자 장치, 그 동작 방법 및 저장 매체를 제공한다.
도 2를 참조하면, 컨텐트 출력을 제어하기 위한 시스템(200)은 전자 장치(101), 허브(210), 복수의 외부 장치들(220) 및/또는 서버(240)를 포함할 수 있다. 일 실시 예에 따르면, 상기 서버(240)는, 제1 서버(240a) 및 제2 서버(240b)를 포함할 수 있다. 예를 들어, 제1 서버(240a)는 IoT 서버일 수 있으며, 제2 서버(240b)는 컨텐트 프로바이더일 수 있다. 이외에도 상기 서버(240)는 클라우드 서버 또는 어플리케이션 마켓 서버와 같은 서버들을 더 포함할 수 있다.
예를 들어, 상기 제1 서버(240a)가 IoT 서버이며, 복수의 외부 장치들(220)이 IoT 환경 내 각각 서로 다른 장소(또는 공간)에 위치할 경우, 전자 장치(101)는 복수의 외부 장치들(220)과 통신 연결될 수 있지만, 허브(210)를 통해서도 통신 연결될 수 있다.
일 실시 예에 따르면, 허브(210)는 통신부를 포함할 수 있으며, 통신부를 통해 복수의 외부 장치들(220)로부터 데이터를 수신할 수 있다. 허브(210)는 허브 장치, 제어 장치, AP(access point), 코디네이터, 서버 또는 브릿지(bridge)라고 칭할 수 있다. 예컨대, 허브(210)는 복수의 외부 장치들(220)로부터 수신되는 데이터를 수집할 수 있으며, 수집된 데이터는 댁 내에 있는 전자 장치(101) 또는 원거리에 있는 서버(예: IoT 서버)로 전송할 수 있다. 예를 들면, 허브(210)는 별도의 장치로 형성되거나 또는 TV, PC와 같은 전자 장치를 포함할 수 있다.
일 실시 예에 따르면, 복수의 외부 장치들(220)은 다양한 공간에 위치할 수 있으며, 허브(210)를 통해 전자 장치(101)와 통신 연결될 수 있다. 일 실시 예에 따르면, 상기 복수의 외부 장치들(220)은 스마트 홈과 같은 사물 인터넷(IoT) 기술을 기반으로 동작하는 다양한 종류의 전자 장치 또는 디지털 디바이스를 포함할 수 있다. 상기 복수의 외부 장치들(220)은 사물 인터넷 장치 또는 IoT 기기라고 칭할 수 있다.
일 실시 예에 따라, 상기 복수의 외부 장치들(220) 중 적어도 일부 장치들(220a, 220b, 220c, 220d, 220e)은 전자 장치(101)에서의 컨텐트 재생 시의 출력처로, 영상 및/또는 오디오 출력이 가능한 출력 장치일 수 있다. 예를 들어, 영상 및/또는 오디오 출력이 가능한 출력 장치는, 전자 장치(101)와 연결 가능한 외장 스피커(예: 블루투스 스피커, 사운드 바), 이어폰, 헤드폰, 헤드셋, 또는 TV를 포함할 수 있다.
일 실시 예에 따른 상기 복수의 출력 장치들(220a, 220b, 220c, 220d, 220e)은 상기 나열한 종류의 디바이스에 한정되는 것은 아니며, 전자 장치(101)와 통신 가능하면서도 영상 및/또는 오디오 출력이 가능한 모든 출력 장치를 포함할 수 있다. 전자 장치(101)는 상기 복수의 출력 장치들(220a, 220b, 220c, 220d, 220e)과 1:N 통신이 가능할 수 있다.
일 실시 예에 따르면, 상기 복수의 출력 장치들(220a, 220b, 220c, 220d, 220e) 중 적어도 일부는 음악 재생 시 전자 장치(101)로부터의 데이터를 제공받거나 데이터를 제공받을 수 있는 주소 정보에 기반하여 서버(240)(예: 컨텐트 프로바이더)를 통해 음악 재생에 따른 오디오를 출력할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 상기 복수의 출력 장치들(220a, 220b, 220c, 220d, 220e)을 관리하는 장치로서, 컨텐트 재생과 관련하여 주변의 출력 장치들(220a, 220b, 220c, 220d, 220e)을 검색하고 각각의 출력 장치들(220a, 220b, 220c, 220d, 220e)과 통신을 설정할 수 있다. 이에 따라 전자 장치(101)는 상기 복수의 출력 장치들(220a, 220b, 220c, 220d, 220e)로부터 데이터를 수신하고 수신한 데이터에 대응하여 상기 복수의 출력 장치들(220a, 220b, 220c, 220d, 220e)에 대한 화면을 표시할 수 있다. 예를 들어, 전자 장치(101)에서 상기 획득된 데이터에 기반하여 상기 복수의 출력 장치들(220a, 220b, 220c, 220d, 220e)에 관한 연결 상태 정보를 관리할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 음악과 같은 컨텐트를 재생할 수 있는 어플리케이션을 실행할 수 있다. 예를 들어, 전자 장치(101)는 상기 어플리케이션에서 제공하는 메뉴를 통해 컨텐트의 재생에 따른 출력을 외부의 출력 장치들(220a, 220b, 220c, 220d, 220e) 중 적어도 일부를 이용하여 출력할 수 있다. 상기 어플리케이션은 컨텐트 재생에 따라 출력 장치를 선택적으로 연결하여 제어할 수 있는 음악 연동 서비스를 지원하는 어플리케이션일 수 있다.
일 실시 예에서, 컨텐트를 재생할 수 있는 어플리케이션은 동영상, 음악, 라디오와 같은 미디어 컨텐트를 재생하도록 전자 장치(101)를 제어하는 응용 프로그램일 수 있으며, 전자 장치(101)는 컨텐트 재생 어플리케이션에 따라 해당 컨텐트를 재생하여 사용자에게 제공할 수 있다.
컨텐트는 일 예로, 인터넷을 통해 제공되는 웹 컨텐트와 방송망을 통해 제공되는 멀티미디어 컨텐트를 포함할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 네트워크를 통하여 적어도 하나의 서버(예: 컨텐트 프로바이더)로부터 컨텐트를 다운로드 또는 스트리밍(streaming) 받을 수 있다. 이와 같이 컨텐트의 종류는 다운로드 또는 스트리밍을 통해 전자 장치(101)에서 재생 가능한 미디어 컨텐트이면 모두 가능할 수 있다. 이하의 설명에 있어서는, 미디어 컨텐트 중에서 음악을 예로 들어 설명하기로 한다.
예를 들어, 일 실시 예에 따르면, 컨텐트 재생 서비스는 컨텐트 재생 어플리케이션을 지칭하는 것으로, 음악 스트리밍 어플리케이션(또는 음원 플랫폼), 스트리밍 미디어 플레이어(또는 동영상 공유 서비스)(예: YouTube, 크롬캐스트(chromecast), OTT(Over The Top) 플랫폼), 또는 동영상 재생 어플리케이션을 포함할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 재생되는 음원 데이터의 타입 또는 이를 재생하는 어플리케이션의 종류에 따라 연결 가능한 출력 장치를 식별하여 이를 목록화하여 제공할 수 있다. 이러한 경우 출력 장치가 특정 서버(예: 컨텐트 프로바이더)에 접근이 불가능한 상황이거나 전자 장치(101)가 로컬 컨텐트 파일을 가지고 있는 상태에서도, 재생 컨텐트에 따라 연결 가능한 출력 장치를 식별하여 제공할 수 있어, 사용자 입장에서는 서비스 상황별로 최적의 출력 장치를 선택할 수 있다.
또한, 전자 장치(101)는 둘 이상의 어플리케이션이 실행된 경우에 각각의 개별 사용자 인터페이스가 아닌, 실행된 어플리케이션 각각에 대해 출력 장치들을 선택할 수 있는 통합 사용자 인터페이스를 표시할 수 있다.
도 3은 일 실시 예에 따른 전자 장치의 내부 블록 구성도이다.
도 3을 참조하면, 전자 장치(101)는 적어도 하나의 프로세서(320), 메모리(330), 스피커(355), 디스플레이 모듈(360) 및/또는 통신 모듈(390)을 포함할 수 있다. 여기서, 도 3에 도시된 모든 구성 요소가 전자 장치(101)의 필수 구성 요소인 것은 아니며, 도 3에 도시된 구성 요소보다 많거나 적은 구성 요소에 의해 전자 장치(101)가 구현될 수도 있다. 도 3의 전자 장치(101)를 설명함에 있어 도 1의 실시예와 유사하거나 도 1의 실시예를 통해 용이하게 이해할 수 있는 구성에 대해서는 상세한 설명이 생략될 수 있다.
일 실시 예에 따르면, 메모리(330)(예: 도 1의 메모리(130))는 복수의 출력 장치들 중 적어도 하나의 출력 장치와 통신을 위한 정보 및 송수신한 데이터를 저장할 수 있다. 일 실시 예에 따르면, 메모리(330)는 전자 장치(101)의 제어를 위한 제어 프로그램, 제조사에서 제공되거나 외부로부터 다운로드 받은 어플리케이션과 관련된 UI 및 UI를 제공하기 위한 이미지들, 사용자 정보, 문서, 데이터베이스들 또는 관련 데이터들을 저장할 수 있다. 예를 들어, 메모리(330)는 컨텐트 재생 어플리케이션(이하, 컨텐트 재생 앱)을 저장할 수 있으며, 상기 컨텐트 재생 앱은 컨텐트 재생 시 연결 가능한 출력 장치(예: 도 2의 복수의 출력 장치들(220a, 220b, 220c, 220d, 220e) 중 적어도 하나)의 목록을 제공하기 위한 기능을 지원할 수 있다.
일 실시 예에 따르면, 메모리(330)는, 실행 시에, 프로세서(320)가 각종 동작들을 수행하도록 제어하는 인스트럭션들을 저장할 수 있다. 일 실시 예에 따르면, 상기 메모리(330)는, 스피커(355), 통신 모듈(390), 디스플레이 모듈(360) 및 프로세서(320)에 작동적으로 연결될 수 있으며, 컨텐트 재생과 관련하여 연동 가능한 적어도 하나의 출력 장치(예: 외장 스피커(예: 블루투스 스피커, 사운드 바), 이어폰, 헤드폰, 헤드셋, 또는 TV)를 식별하고, 상기 식별된 출력 장치의 목록을 포함하는 설정 화면을 표시하고, 상기 식별된 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 기반하여, 상기 선택된 적어도 하나의 출력 장치가 상기 컨텐트 재생에 따른 출력을 제공하도록 제어하기 위한 인스트럭션들을 저장할 수 있다.
일 실시 예에 따르면, 스피커(355)는 프로세서(320)로부터 전기 신호를 인가받아 음향을 발생시켜 전자 장치(101)의 외부로 출력할 수 있다. 스피커(355)는 컨텐트 재생에 따른 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다.
일 실시 예에 따르면, 통신 모듈(390)은 프로세서(320)의 제어 하에, 출력 장치들과 통신을 수행할 수 있다. 일 실시 예에 따르면, 통신 모듈(390)은 지그비(Zigbee), 지-웨이브(Z-Wave), 와이파이(Wi-Fi), 블루투스(Bluetooth), UWB(Ultra-Wide Band), Wirelress USB, 및 NFC(Near Field Communication)를 포함하는 통신 방식들 중 적어도 하나의 통신 방식을 이용하여 통신을 수행할 수 있다. 예를 들어, 통신 모듈(390)은 출력 장치들과의 통신을 위해 지그비 또는 지-웨이브 통신을 사용하여 저전력 무선 통신을 수행할 수 있다. 일 실시 예에 따르면, 통신 모듈(390)은 지그비 또는 지-웨이브 통신 이외에 블루투스, 또는 NFC(near field communication)와 같은 근거리 통신을 지원할 수 있다.
일 실시 예에 따르면, 통신 모듈(390)은 적어도 하나의 출력 장치와 통신 연결될 수 있다. 일 실시 예에 따르면, 통신 모듈(390)은 1:1 연결 방식 또는 1:n 연결 방식을 통해 하나 이상의 출력 장치(예: 도 2의 복수의 출력 장치들(220a, 220b, 220c, 220d, 220e) 중 적어도 하나)와 연결될 수 있다. 또한, 통신 모듈(390)은 다양한 통신 방식을 통해 출력 장치와 무선으로 연결될 수 있다. 예를 들어, 통신 모듈(390)은 LTE 통신, Wi-Fi Direct 통신 또는 양방향 블루투스 통신 방식 중 적어도 하나를 이용하여 출력 장치와 연결되도록 설정될 수 있다. 또한, 통신 모듈(390)은 클라우드 기반의 ID를 이용하여 출력 장치와 연결되도록 설정될 수 있다. 이와 같이 프로세서(320)는 통신 모듈(390)에서 지원하는 1:n 연결 방식을 통해 n개의 출력 장치와 연결될 수 있으며, 지원 가능한 통신 방식은 이에 한정되지 않을 수 있다.
일 실시 예에 따르면, 통신 모듈(390)은 UWB(ultra wide band) 통신 방식 또는 BLE(bluetooth low energy) 통신 방식 중 적어도 하나에 기반하여 동작할 수 있다.
예를 들면, 통신 모듈(390)은 UWB 통신 모듈을 포함할 수 있다. UWB 통신 모듈은 전자 장치(101)가 출력 장치와 UWB 통신을 수행하도록 지원할 수 있다. UWB 통신 모듈은 UWB 통신을 통해 전자 장치(101)와 출력 장치 사이의 거리를 측정할 수 있다. UWB 통신 모듈은 복수의 안테나를 이용해 출력 장치의 방향(예: AOA(arrival of angle))을 측정할 수 있다.
예를 들면, 전자 장치(101)는 지자계 센서를 이용해 기준 방위각에 대한 상대 방위각과 UWB 도래각(AOA)을 이용하여 UWB를 이용한 최종 방위각을 구할 수 있어, n개의 출력 장치에 대한 위치 관련 정보를 획득할 수 있다. 상기 위치 관련 정보는 전자 장치(101)를 기준으로 한 일정 반경 또는 일정 장소 내에서 외부 장치의 위치 또는 방향을 식별하는데 이용될 수 있다.
일 실시 예에 따르면, 프로세서(320)는 전자 장치(101)가 지원하는 적어도 하나의 통신 방식에 기반한 동작을 수행할 수 있다. 일 실시 예에 따르면, 프로세서(320)는 주변의 출력 장치들과 지정된 통신 방식으로 연결될 수 있다. 예를 들어, 프로세서(320)는 출력 장치들 중 적어도 일부와는 제1 방식의 통신을 사용하여 통신을 수행하고, 출력 장치들 중 다른 적어도 일부와는 제2 방식의 통신을 사용하여 통신을 수행할 수 있다. 예를 들어, 프로세서(320)는 허브(210)를 통해 출력 장치들과 간접적으로 통신할 수 있으며, 각 출력 장치들은 중간 매개체에 해당하는 인접한 외부 장치 또는 허브(210)를 통해 서로 통신하거나 전자 장치(101)와 통신할 수 있다.
일 실시 예에 따르면, 프로세서(320)는 복수의 컨텐트 재생 앱(또는 복수의 컨텐트 재생 서비스) 각각에 대한 적어도 하나의 출력 장치의 정보를 획득할 수 있다. 이를 위해 프로세서(320)는 적어도 하나의 서버(예: 컨텐트 프로바이더 또는 IoT 서버)에 출력 장치들에 관한 정보를 미리 등록해놓을 수 있다. 예를 들어, 프로세서(320)는 사용자 계정을 이용하여, 전자 장치(101)에서 컨텐트 재생 시의 출력을 다른 출력 장치를 통해 출력될 수 있도록, 등록된 출력 장치들을 모니터링하고 설정하며 제어할 수 있다. 예를 들어, 프로세서(320)는 컨텐트 재생 앱에서, 컨텐트 재생 시에 전자 장치(101)와 적어도 하나의 출력 장치 간의 연결을 위한 메뉴를 제공할 수 있다. 컨텐트 재생의 시작 또는 컨텐트 재생 동안에, 사용자 요청에 대응하여, 프로세서(320)는 컨텐트 재생에 따른 출력이 가능한 적어도 하나의 대상을 식별할 수 있다.
예를 들어, 프레임워크(framework)에서는 컨텐트 재생이 가능한 어플리케이션의 타입, 어플리케이션 ID, 또는 재생 상태와 관련한 정보를 제공할 수 있다. 또한, 미디어 컨트롤러에서는 현재 컨텐트를 재생하는 어플리케이션의 이름(예: 컨텐트 프로바이더의 이름)을 획득할 수 있다. 따라서, 프로세서(320)는 프레임워크에서 제공하는 정보에 기반하여, 실제로 컨텐트를 재생할 어플리케이션이 어떠한 어플리케이션인지를 식별하기 위해 컨텐트 재생을 수행하는 어플리케이션의 속성 정보를 획득할 수 있다. 예를 들어, 어플리케이션의 타입이 미디어 타입이고 재생 중일 경우, 프로세서(320)는 미디어 컨트롤러에서 획득한 어플리케이션의 이름과 매칭되는 어플리케이션 ID를 식별할 수 있다. 이에 따라 프레임워크에서 상기 어플리케이션 ID에 해당하는 음원을 컨텐트 재생과 관련한 정보 예컨대, 오디오 정보(예: 샘플레이트, 비트, 채널)에 따라 요청하여 가져올 수 있다. 이러한 컨텐트 재생과 관련한 정보를 미디어 세션 정보라 칭할 수 있다.
프로세서(320)는 컨텐트 재생의 시작 또는 컨텐트 재생 동안에, 컨텐트 재생 앱에 대응하는 적어도 하나의 출력 장치를 식별할 수 있다. 프로세서(320)는 컨텐트 재생과 관련한 정보 및/또는 등록된 출력 장치들의 정보에 기반하여, 적어도 하나의 출력 장치를 식별할 수 있으며, 연결 가능한 출력 장치의 목록을 제공할 수 있다.
일 실시 예에 따르면, 프로세서(320)는 복수의 컨텐트 재생 앱 각각에 대한 적어도 하나의 출력 장치의 목록을 표시하기 위한 복수의 페이지들을 생성할 수 있다. 프로세서(320)는 사용자 입력에 기반하여, 상기 복수의 페이지들 중 적어도 하나를 디스플레이(360) 상에 표시할 수 있다.
일 실시 예에 따르면, 표시된 페이지의 출력 장치의 목록 중에서 사용자가 하나의 출력 장치를 선택하는 경우, 프로세서(320)는 컨텐트 재생 동안에 컨텐트 재생에 따른 출력(예: 영상 및/또는 오디오)을 상기 선택된 출력 장치를 통해 출력하도록 제어할 수 있다.
또한, 일 실시 예에 따르면, 표시된 페이지의 출력 장치의 목록 중에서 사용자가 둘 이상의 출력 장치를 선택하는 경우, 프로세서(320)는 전자 장치(101)에서의 컨텐트 재생에 따른 출력(예: 영상 및/또는 오디오)과 동일한 출력이 선택된 각각의 출력 장치를 통해 동시에 출력되도록 제어할 수 있다. 이에 따라 전자 장치(101)에서 컨텐트 재생에 따른 오디오가 출력되는 경우에는, 상기 선택된 각각의 출력 장치를 통해서도 동일한 오디오가 출력되도록 제어할 수 있다.
또한, 일 실시 예에 따르면, 프로세서(320)는 복수의 페이지들이 실행 순서에 따라 순차적으로 배열되어 있는 상태에서 예컨대, 스와이프 제스처와 같은 지정된 사용자 입력에 따라 현재 표시되는 페이지를 다른 페이지로 변경하여 디스플레이(360) 상에 표시할 수 있다. 상기 지정된 사용자 입력은 지정된 타입의 터치 입력, 지정된 키입력, 지정된 모션 제스처, 지정된 타입의 인터랙션 입력, 또는 전자 장치(101)의 마이크를 통한 사용자 음성 입력 중 적어도 하나를 포함할 수 있다. 지정된 타입의 인터랙션 입력은, 6축 센서를 포함하는 센서 모듈(예: 도 1의 센서 모듈(176))을 이용하여 검출될 수 있는데, 사용자가 전자 장치(101)를 원하는 방향으로 기울임에 대응하여 기울어진 방향에 대응하여 페이지가 변경될 수 있다.
또한, 페이지 변경을 위한 방법은 상기 지정된 사용자 입력에 한정되지 않으며, 예를 들면, 현재 표시되는 페이지 상에 페이지 이동을 위한 객체(예: 화살표 아이콘)를 제공하고, 사용자가 상기 객체를 선택함으로써 다른 페이지로 변경될 수 있다. 이와 같이 페이지 변경을 위한 방법은 전술한 바에 한정되지 않을 수 있다.
만일 변경된 다른 페이지의 출력 장치의 목록 중에서 사용자가 적어도 하나의 출력 장치를 선택하는 경우, 프로세서(320)는 컨텐트 재생 동안에 컨텐트 재생에 따른 출력(예: 영상 및/또는 오디오)을 상기 선택된 적어도 하나의 출력 장치를 통해 출력하도록 제어할 수 있다.
또한, 사용자는 출력 장치의 목록에서 원하는 출력 장치들을 하나의 그룹으로 지정할 수 있다. 따라서 이후 해당 컨텐트 재생 앱 실행 시 해당 페이지에 상기 그룹으로 지정된 출력 장치를 포함하는 출력 장치의 목록을 표시할 수 있다. 또한, 초기 등록 과정에서 사용자는 원하는 출력 장치에 대한 그룹을 지정하여 미리 서버에 저장해놓을 수 있다.
한편, 복수의 페이지들 각각은 복수의 컨텐트 재생 앱 각각에 대응하는 것이기 때문에, 표시된 페이지에서 선택되는 적어도 하나의 출력 장치와, 스와이프 제스처에 따라 변경된 페이지에서 선택되는 적어도 하나의 출력 장치는 서로 다를 수 있다. 이에 따라 전자 장치(101)에서 제1 컨텐트 재생 앱의 제1 컨텐트와 제2 컨텐트 재생 앱의 제2 컨텐트가 각각 동시에 재생 중인 경우일지라도, 제1 컨텐트 재생에 따른 오디오와 제2 컨텐트 재생에 따른 오디오가 각기 다른 출력 장치를 통해 동시에 출력될 수 있다.
일 실시 예에 따르면, 프로세서(320)는 네트워크를 통하여 적어도 하나의 서버(예: 컨텐트 프로바이더)로부터 컨텐트를 지정된 전송 서비스 프로토콜에 기반하여 다운로드 또는 스트리밍 받을 수 있다. 따라서 컨텐트 재생 앱에서 컨텐트 재생에 따른 출력을 출력 장치로 제공할 수 있는 전송 서비스 프로토콜을 지원한다면, 전자 장치(101)에서는 서로 다른 컨텐트 재생 앱을 통해 각기 다른 컨텐트를 재생하면서, 동시에 서로 다른 컨텐트의 출력이 각기 다른 출력 장치를 통해 출력되도록 제어할 수 있다. 이와 같이 컨텐트 재생 앱마다 지원하는 전송 서비스 프로토콜이 다른 경우, 데이터 전송 시의 충돌 없이 서로 컨텐트 재생에 따른 출력을 각기 다른 출력 장치를 통해 출력할 수 있다.
이를 위해 프로세서(320)는 복수의 컨텐트 재생 앱 각각에 대한 전송 서비스 프로토콜을 식별할 수 있다. 프로세서(320)는 상기 식별된 전송 서비스 프로토콜에 기반하여 상기 전자 장치(101)와 연결 가능한 적어도 하나의 출력 장치를 식별할 수 있다. 이에 따라 프로세서(320)는 상기 식별된 전송 서비스 프로토콜 각각에 대응하여, 상기 전자 장치(101)와 연결 가능한 적어도 하나의 출력 장치의 목록을 생성할 수 있다.
만일 컨텐트를 지정된 전송 서비스 프로토콜에 기반하여 실시간으로 스트리밍 받는 경우에, 프로세서(320)는 상기 컨텐트의 재생에 따른 출력을 수신할 수 있는 주소 정보(예: URL 정보)를 적어도 하나의 출력 장치로 전송할 수 있다. 여기서, 적어도 하나의 출력 장치는 출력 장치의 목록에서 사용자에 의해 선택된 출력 장치일 수 있다. 이에 따라 상기 적어도 하나의 출력 장치는 상기 주소 정보에 기반하여 해당 서버(예: 컨텐트 프로바이더)로부터 수신되는 컨텐트 재생에 따른 출력을 제공할 수 있다. 예를 들어, 프로세서(320)에서 재생 중인 컨텐트에 대한 오디오를 상기 적어도 하나의 출력 장치를 통해 출력할 수 있다.
또한, 프로세서(320)는 전송 서비스 프로토콜에 기반한 오디오 미러링을 통해 재생 중인 컨텐트에 대한 오디오를 상기 적어도 하나의 출력 장치로 제공할 수 있으며, 상기 적어도 하나의 출력 장치를 통해 상기 오디오를 출력할 수 있다.
또한 전자 장치(101) 내의 다운로드 또는 저장된 컨텐트를 재생하는 경우에, 프로세서(320)는 전송 서비스 프로토콜에 기반한 블루투스 방식을 통해 재생 중인 컨텐트에 대한 오디오를 적어도 하나의 출력 장치로 제공할 수도 있다.
일 실시 예에 따르면, 프로세서(320)는 컨텐트 재생 앱이 전자 장치(101)에 설치될 때, 상기 컨텐트 재생 앱에 대한 속성 정보와 함께 상기 컨텐트 재생 앱에 대응하는 출력 장치에 관한 정보를 미리 해당 서버에 등록해놓을 수 있다. 일 실시 예에 따르면, 프로세서(320)는 컨텐트 재생 앱이 실행될 때, 상기 미리 등록해놓은 정보를 획득할 수 있다. 예를 들어, 컨텐트 재생 앱이 스트리밍 음악과 관련된 것이라면, 프로세서(320)는 상기 획득된 정보에 기반하여, 상기 음악 재생 시 스트리밍 방식으로 오디오를 출력할 수 있는 적어도 하나의 출력 장치를 식별할 수 있다.
예를 들어, 제1 컨텐트 재생 앱과 연관된 제1 페이지에서 선택된 출력 장치와, 제2 컨텐트 재생 앱과 연관된 제2 페이지에서 선택된 출력 장치를 통해 각기 다른 컨텐트 재생에 따른 오디오가 출력될 수 있다. 프로세서(320)는 상기 제1 페이지에서 선택되는 적어도 하나의 출력 장치와는 제1 전송 서비스 프로토콜에 기반하여 연결하도록 설정될 수 있으며, 상기 제2 페이지에서 선택되는 적어도 하나의 출력 장치와는 제2 전송 서비스 프로토콜에 기반하여 연결하도록 설정될 수 있다. 또한, 제1 페이지와 연관된 제1 컨텐트 재생 앱이 제1 전송 서비스 프로토콜과 제2 전송 서비스 프로토콜을 지원하는 경우, 상기 제1 페이지의 출력 장치의 목록에서 선택되는 적어도 하나의 출력 장치와는 제1 전송 서비스 프로토콜에 기반하여 연결하도록 설정될 수 있으며, 상기 제1 페이지의 출력 장치의 목록에서 나머지 다른 출력 장치와는 제2 전송 서비스 프로토콜에 기반하여 연결하도록 설정될 수 있다. 예를 들어, 제1 컨텐트 재생 앱이 동영상 공유 서비스의 앱(예: YouTube 뮤직 앱)일 경우, 스트리밍 미디어 방식(예: 크롬캐스트)을 지원하는 출력 장치의 목록과 오디오 출력을 지원하는 출력 장치의 목록이 제1 페이지 상에 표시될 수 있다. 또한, 제2 컨텐트 재생 앱이 S 뮤직 앱일 경우, 음원 스트리밍 서비스 방식을 지원하는 출력 장치의 목록이 제2 페이지 상에 표시될 수 있다. 또한 제3 컨텐트 재생 앱이 M 뮤직 앱일 경우, 상기 M 뮤직 앱이 전송 서비스 프로토콜을 지원하지 않는 경우 블루투스 방식을 지원하는 출력 장치의 목록이 제3 페이지 상에 표시될 수 있다.
상기 전송 서비스 프로토콜은, 스트리밍 미디어 플레이어 방식, 음원 스트리밍 서비스 방식, 오디오 미러링 방식, DLNA(digital living network alliance) 방식 또는 블루투스 방식 중 적어도 하나의 전송 방식을 포함할 수 있다.
일 실시 예에 따르면, 디스플레이(또는 디스플레이 모듈)(360)(예: 도 1의 디스플레이 모듈(160))는 프로세서(320)의 제어 하에 컨텐트 재생 앱이 실행되면, 실행되는 컨텐트 재생 앱과 관련된 사용자 인터페이스를 표시할 수 있다. 프로세서(320)는 상기 실행된 컨텐트 재생 앱에 대한 전송 서비스 프로토콜에 기반하여 생성된 출력 장치의 목록을 포함하는 페이지를 표시할 수 있다.
이를 구체적으로 설명하기 위해 도 4를 참조하여 설명하기로 한다. 도 4는 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치들을 예시한 도면이다.
도 4를 참조하면, 프로세서(320)는 컨텐트 재생 시 연결 가능한 출력 장치 각각을 객체들을 이용하여 페이지 형태로 디스플레이(360) 상에 표시할 수 있다. 객체란, 출력 장치와 관련된 그래픽 요소로, 예컨대, 아이콘과 같이 출력 장치를 대표하는 이미지를 포함할 수 있다. 여기서, 페이지는 컨텐트 재생 어플리케이션의 실행 화면에 대응하는 것으로, 디스플레이(360)의 적어도 일부 상에 표시될 수 있으며, 또는 디스플레이(360) 전체를 차지하도록 표시될 수도 있다. 이러한 페이지는 윈도우, 카드, 위젯 또는 표시 영역과 같은 용어로 지칭할 수도 있다.
예를 들어, 도 4의 400a에 도시된 바와 같이 제1 컨텐트 재생 앱과 연관된 제1 페이지(410)에서는 제1 컨텐트 재생 앱의 컨텐트 재생에 따른 오디오를 출력할 수 있는 적어도 하나의 출력 장치의 목록(415)이 표시될 수 있다. 도 4의 400b에 도시된 바와 같이 제2 컨텐트 재생 앱과 연관된 제2 페이지(420)에서는 제2 컨텐트 재생 앱의 컨텐트 재생에 따른 오디오를 출력할 수 있는 적어도 하나의 출력 장치의 목록(425)이 표시될 수 있다. 도 4의 400c에 도시된 바와 같이 제3 컨텐트 재생 앱과 연관된 제3 페이지(430)에서는 제3 컨텐트 재생 앱의 컨텐트 재생에 따른 오디오를 출력할 수 있는 적어도 하나의 출력 장치의 목록(435)이 표시될 수 있다.
도 4에서는 각 컨텐트 재생 앱에 대응하는 복수의 페이지들이 제1 페이지(410), 제2 페이지(420) 및 제3 페이지(430)의 실행 순서로 배열되어 있는 경우를 예시하고 있다. 상기 제1 페이지(410)가 표시되는 동안, 상기 제1 페이지(410)에 대한 스와이프 제스처에 대응하여, 상기 제1 페이지(410)와는 다른 페이지(420 또는 430)가 표시될 수 있다. 예를 들어, 프로세서(320)는 제1 컨텐트 재생 앱의 컨텐트가 재생되는 동안, 상기 컨텐트 재생에 따른 오디오를 출력하기 위한 요청이 수신되면, 상기 요청에 대응하여 제1 컨텐트 재생 앱에 대해 연결 가능한 적어도 하나의 출력 장치의 목록을 표시하기 위한 제1 페이지를 표시할 수 있다. 만일 제4 컨텐트 재생 앱의 컨텐트가 재생되는 동안, 상기 제4 컨텐트 재생 앱의 컨텐트 재생에 따른 오디오를 출력하기 위한 메뉴에 대한 사용자 선택이 있으면, 프로세서(320)는 상기 사용자 선택에 대응하여 제4 컨텐트 재생 앱에 대해 연결 가능한 적어도 하나의 출력 장치의 목록을 표시하기 위한 제4 페이지를 제1 페이지 내지 제3 페이지에 추가하여 표시할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는 컨텐트 재생 앱별로 연결 가능한 출력 장치의 목록을 식별할 수 있어, 외부 출력 장치로의 컨텐트 재생을 제공하지 않는 컨텐트 재생 앱(또는 컨텐트 재생 서비스)일지라도 전자 장치(101)를 통한 외부 출력 장치로의 컨텐트 재생 기능을 제공할 수 있다. 또한, 전자 장치(101)는 연결된 출력 장치가 서버(예: 컨텐트 프로바이더)와의 연결을 통해서도 컨텐트 재생에 따른 출력을 제공하도록 제어할 수 있어, 컨텐트 재생에 따른 데이터 손실을 최소화하여 고품질의 출력을 사용자에게 제공할 수 있다. 이는 고품질의 컨텐트를 보유하고 있는 사용자 및 사업자뿐만 아니라 자신만의 플레이 리스트를 복수의 출력 장치에 동시에 재생할 수 있다는 점에서 감성적인 서비스의 퀄리티를 높일 수 있다.
일 실시 예에 따르면, 전자 장치(101)는, 디스플레이(160, 360), 통신 모듈(190, 390), 상기 디스플레이 및 상기 통신 모듈과 작동적으로 연결된 프로세서(120, 320), 및 인스트럭션들을 저장하는 메모리(130, 330)를 포함할 수 있다. 일 실시 예에 따르면, 상기 인스트럭션들은, 상기 프로세서에 의해 실행 시, 상기 전자 장치가, 복수의 컨텐트 재생 서비스 각각에 대응하는 적어도 하나의 출력 장치에 대한 정보를 상기 통신 모듈(390)을 통해 획득하도록 설정될 수 있다. 일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 상기 획득된 정보에 기반하여, 상기 복수의 컨텐트 재생 서비스 각각에 대한 적어도 하나의 출력 장치의 목록을 표시하기 위한 복수의 페이지들을 생성하도록 설정될 수 있다. 일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 제1 사용자 입력에 기반하여, 상기 복수의 페이지들 중 적어도 하나를 상기 디스플레이(360) 상에 표시하도록 설정될 수 있다. 일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 상기 선택된 적어도 하나의 출력 장치가 상기 복수의 컨텐트 재생 서비스 중 해당 컨텐트 재생 서비스를 제공하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 해당 컨텐트 재생 서비스의 컨텐트 재생 동안에 상기 선택된 적어도 하나의 출력 장치가 상기 컨텐트 재생에 따른 오디오를 출력하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 둘 이상의 출력 장치에 대한 선택에 대응하여, 상기 선택된 둘 이상의 출력 장치 각각이 해당 컨텐트 재생 서비스의 컨텐트 재생 동안에 상기 컨텐트 재생에 따른 오디오를 출력하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 상기 복수의 컨텐트 재생 서비스 각각에 대한 전송 서비스 프로토콜을 식별하고, 상기 식별된 전송 서비스 프로토콜에 기반하여 상기 전자 장치와 연결 가능한 적어도 하나의 출력 장치를 식별하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 상기 식별된 전송 서비스 프로토콜 각각에 대응하여, 상기 전자 장치와 연결 가능한 적어도 하나의 출력 장치의 목록을 생성하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 해당 컨텐트 재생 서비스에 대한 전송 서비스 프로토콜에 기반하여 상기 선택된 적어도 하나의 출력 장치와 연결하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치와 제1 전송 서비스 프로토콜에 기반하여 연결하도록 설정되며, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 나머지 다른 출력 장치와 제2 전송 서비스 프로토콜에 기반하여 연결하도록 설정될 수 있다.
일 실시 예에 따르면, 상기 전송 서비스 프로토콜은, 스트리밍 미디어 플레이어 방식, 음원 스트리밍 서비스 방식, 오디오 미러링 방식, DLNA(digital living network alliance) 방식 또는 블루투스 방식 중 적어도 하나의 전송 방식을 포함할 수 있다.
일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 상기 복수의 페이지들이 제1 페이지, 제2 페이지 및 제3 페이지의 실행 순서로 배열되어 있으며 상기 제1 페이지가 표시되는 동안, 상기 제1 페이지에 대한 스와이프 제스처에 대응하여, 상기 제1 페이지와는 다른 페이지가 표시되도록 설정될 수 있다.
일 실시 예에 따르면, 상기 인스트럭션들은, 상기 전자 장치가, 상기 전자 장치에서 상기 복수의 컨텐트 재생 서비스 중 해당 컨텐트 재생 서비스의 컨텐트 재생 동안, 상기 컨텐트 재생에 따른 오디오를 출력하기 위한 요청을 수신하고, 상기 요청에 대응하여 상기 해당 컨텐트 재생 서비스에 대한 적어도 하나의 출력 장치의 목록을 표시하기 위한 페이지를 상기 디스플레이(360) 상에 표시하도록 설정될 수 있다.
도 5는 일 실시 예에 따른 컨텐트 재생에 기반한 출력 장치들을 제어하기 위한 전자 장치에서의 동작 흐름도이다. 도 5를 참조하면, 동작 방법은 505 동작 내지 520 동작을 포함할 수 있다. 도 5의 동작 방법의 각 동작은, 전자 장치(예: 도 1 내지 도 3의 전자 장치(101))의 적어도 하나의 프로세서(예: 도 1의 프로세서(120) 및 도 3의 프로세서(320))에 의해 수행될 수 있다. 일 실시 예에서, 505 동작 내지 520 동작 중 적어도 하나가 생략되거나, 일부 동작들의 순서가 바뀌거나, 다른 동작이 추가될 수 있다.
도 5를 참조하면, 505 동작에서, 전자 장치(101)는, 복수의 컨텐트 재생 서비스 각각에 대한 적어도 하나의 출력 장치에 대한 정보를 획득할 수 있다.
510 동작에서, 전자 장치(101)는, 상기 획득된 정보에 기반하여, 상기 복수의 컨텐트 재생 서비스 각각에 대한 적어도 하나의 출력 장치의 목록을 표시하기 위한 복수의 페이지들을 생성할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는, 상기 복수의 컨텐트 재생 서비스 각각에 대한 전송 서비스 프로토콜을 식별할 수 있다. 전자 장치(101)는, 상기 식별된 전송 서비스 프로토콜에 기반하여 상기 전자 장치와 연결 가능한 적어도 하나의 출력 장치를 식별할 수 있다. 전자 장치(101)는, 상기 식별된 전송 서비스 프로토콜 각각에 대응하여, 상기 전자 장치와 연결 가능한 적어도 하나의 출력 장치의 목록을 생성할 수 있다.
515 동작에서, 전자 장치(101)는, 제1 사용자 입력에 기반하여, 상기 복수의 페이지들 중 적어도 하나를 표시할 수 있다. 예를 들어, 상기 복수의 페이지들이 제1 페이지, 제2 페이지 및 제3 페이지의 실행 순서로 배열되어 있으며 상기 제1 페이지가 표시되는 동안, 전자 장치(101)는, 상기 제1 페이지에 대한 스와이프 제스처에 대응하여, 상기 제1 페이지와는 다른 페이지를 표시할 수 있다.
520 동작에서, 전자 장치(101)는, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 상기 선택된 적어도 하나의 출력 장치가 상기 복수의 컨텐트 재생 서비스 중 해당 컨텐트 재생 서비스를 제공하도록 제어할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는, 해당 컨텐트 재생 서비스의 컨텐트 재생 동안에 상기 선택된 적어도 하나의 출력 장치가 상기 컨텐트 재생에 따른 오디오를 출력하도록 제어할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 둘 이상의 출력 장치에 대한 선택에 대응하여, 상기 선택된 둘 이상의 출력 장치 각각이 해당 컨텐트 재생 서비스의 컨텐트 재생 동안에 상기 컨텐트 재생에 따른 오디오를 출력하도록 제어할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 해당 컨텐트 재생 서비스에 대한 전송 서비스 프로토콜에 기반하여 상기 선택된 적어도 하나의 출력 장치와 연결을 수행할 수 있다.
일 실시 예에 따르면, 전자 장치(101)는, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치와 제1 전송 서비스 프로토콜에 기반하여 연결할 수 있다. 또한, 전자 장치(101)는, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 나머지 다른 출력 장치와 제2 전송 서비스 프로토콜에 기반하여 연결할 수 있다.
일 실시 예에 따르면, 상기 전송 서비스 프로토콜은, 스트리밍 미디어 플레이어 방식, 음원 스트리밍 서비스 방식, 오디오 미러링 방식, DLNA(digital living network alliance) 방식 또는 블루투스 방식 중 적어도 하나의 전송 방식을 포함할 수 있다.
도 6은 일 실시 예에 따른 전자 장치에서의 상세 동작 흐름도이다. 도 6을 참조하면, 동작 방법은 605 동작 내지 625 동작을 포함할 수 있다. 일 실시 예에서, 605 동작 내지 625 동작 중 적어도 하나가 생략되거나, 일부 동작들의 순서가 바뀌거나, 다른 동작이 추가될 수 있다.
605 동작에서, 전자 장치(101)는, 컨텐트 전송이 가능한 전송 서비스 프로토콜을 식별할 수 있다. 예를 들어, 전자 장치(101)는 컨텐트를 재생할 컨텐트 재생 앱(또는 컨텐트 재생 서비스)이 어떠한 앱인지를 식별하기 위해 앱의 속성 정보를 획득할 수 있다. 이에 따라 전자 장치(101)는 컨텐트 재생 앱과 관련된 전송 서비스 프로토콜이 어떠한 것인지를 식별할 수 있다.
610 동작에서, 전자 장치(101)는, 전자 장치(101)와 연결 가능한 출력 장치의 목록을 획득할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 전자 장치(101) 주변에 어떠한 출력 장치가 검색되고 연결 가능한 상태인지에 대한 출력 장치의 정보를 획득할 수 있으며, 이를 기반으로 출력 장치의 목록을 생성할 수 있다. 이에 따라 전자 장치(101)는, 컨텐트 재생 앱 각각에 대응하는 적어도 하나의 출력 장치의 정보를 획득할 수 있다.
일 실시 예에 따르면, 상기 출력 장치의 목록의 순서는 통신 모듈(390)의 UWB(ultra wide band) 통신 방식 또는 BLE(bluetooth low energy) 통신 방식 중 적어도 하나에 기반하여, 전자 장치(101)를 기준으로 한 근접 거리 순으로 정해질 수 있다. 예를 들어, 연결 가능한 출력 장치가 n 개가 검색되는 경우, 전자 장치(101)를 기준으로 전자 장치(101)에 더 근접한 외부 장치의 순으로 목록의 순서가 정해질 수 있다.
일 실시 예에 따르면, 상기 출력 장치의 목록의 순서는 전자 장치(101)와의 연결 이력에 따라 정해질 수 있다. 예를 들어, 최근에 연결한 순서로 출력 장치의 목록이 정렬될 수 있다. 또한 전자 장치(101)와의 근접 거리와 연결 이력 중 적어도 하나에 기반하여 출력 장치의 목록의 순서가 정해질 수도 있다.
상기한 바 이외에, 상기 출력 장치의 목록의 순서는 전자 장치와의 연결 상태 여부와, 출력 장치의 특성(예: 그룹, 단일, 타입) 또는 이름순으로 정렬될 수 있다. 또한 사용자가 서비스 별로 출력을 원하는 장치에 대한 우선 순위를 미리 정해놓을 수 있으며, 사용자에 의해 지정된 우선 순위로 출력 장치의 목록의 순서가 정해질 수도 있으며, 따라서 목록 내 출력 장치의 정렬 순서는 이에 한정되지 않을 수 있다.
615 동작에서, 전자 장치(101)는, 컨텐트 재생 요청에 대응하여, 컨텐트 재생 서비스와 세션 정보를 획득할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는, 컨텐트 재생 서비스(또는 컨텐트 재생 앱)로부터 실시간으로 스트리밍 받는 컨텐트를 재생하거나 다운로드(또는 저장된) 컨텐트를 재생할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는, 재생을 실행 중인 컨텐트 재생 앱이 어떠한 앱인지와 컨텐트 재생과 관련한 정보 예컨대, 세션 정보(예: 샘플레이트, 비트, 채널)를 획득할 수 있다.
620 동작에서, 전자 장치(101)는, 컨텐트 재생 서비스와 세션 정보에 기반한 전송 서비스 프로토콜을 결정할 수 있다. 예를 들어, 전자 장치(101)는, 컨텐트 재생 앱과 세션 정보에 기반하여 전송 서비스 프로토콜이 스트리밍 미디어 플레이어 방식, 음원 스트리밍 서비스 방식, 오디오 미러링 방식, DLNA 방식 또는 블루투스 방식 중 어느 것인지를 식별할 수 있다.
625 동작에서, 전자 장치(101)는, 적어도 하나의 출력 장치를 통해 상기 컨텐트 재생에 따른 미디어를 출력하도록 제어할 수 있다. 예를 들어, 전송 서비스 프로토콜이 스트리밍 미디어 플레이어 방식인 경우, 전자 장치(101)는, 스트리밍 미디어 플레이어 방식에 기반하여 컨텐트 재생에 따른 영상 및/또는 오디오가 적어도 하나의 출력 장치를 통해 출력되도록 제어할 수 있다. 또한, 전송 서비스 프로토콜이 음원 스트리밍 서비스 방식인 경우, 전자 장치(101)는, 음원 스트리밍 서비스 방식에 기반하여 컨텐트 재생에 따른 오디오가 적어도 하나의 출력 장치를 통해 출력되도록 제어할 수 있다. 또한, 전송 서비스 프로토콜이 오디오 미러링 방식인 경우, 전자 장치(101)는, 오디오 미러링 방식에 기반하여 컨텐트 재생에 따른 오디오가 적어도 하나의 출력 장치를 통해 출력되도록 제어할 수 있다. 또한, 전송 서비스 프로토콜이 DLNA 방식인 경우, 전자 장치(101)는, DLNA 방식에 기반하여 컨텐트 재생에 따른 오디오가 적어도 하나의 출력 장치를 통해 출력되도록 제어할 수 있다. 또한, 전송 서비스 프로토콜이 블루투스 방식인 경우, 전자 장치(101)는, 블루투스 방식에 기반하여 이미 적어도 하나의 출력 장치와 통신 연결된 상태이므로, 통신 연결된 출력 장치를 통해 컨텐트 재생에 따른 오디오가 출력되도록 제어할 수 있다.
도 7은 일 실시 예에 따른 초기 과정 및 재생 시작 시의 각 구성요소들 간의 신호 송수신 흐름도이다. 도 7의 동작 방법은 711 동작 내지 725 동작을 포함할 수 있다. 이하 실시 예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 711 동작 내지 725 동작 중 적어도 하나가 생략되거나, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행되거나, 다른 동작이 추가될 수도 있다.
도 7을 참조하면, 전자 장치(101)(예: 도 1 내지 도 3의 전자 장치(101))는, 미디어 출력부(media output)(또는 미디어 출력 모듈)(701), 미디어 세션부(media session)(703)(또는 미디어 세션 모듈), 미디어 어플리케이션부(media application)(705)(또는 미디어 어플리케이션 모듈) 및 커넥션 서비스부(connection service)(707)(또는 커넥션 서비스 모듈)를 포함할 수 있다.
미디어 출력부(701)는 전자 장치(101)의 오디오 패스를 변경할 수 있고, 미디어 정보를 제공하는 기능을 수행할 수 있다. 예를 들어, 미디어 출력부(701)는 어떠한 컨텐트가 재생되고 있는지를 확인할 수 있다.
미디어 세션부(703)는 미디어 어플리케이션에서 등록한 미디어(영상 및/또는 오디오)의 세션 정보(playback state, 및/또는 메타데이터)를 관리하고, 미디어 정보를 제공하는 프레임워크의 기능을 수행할 수 있다. 예를 들어, 곡 정보와 같이 재생되는 컨텐트에 대한 정보는 프레임워크 내의 미디어 세션부(703)로부터 가져올 수 있다.
미디어 어플리케이션부(705)는 서버(예: 컨텐트 프로바이더)를 통해 실시간으로 오디오 및/또는 영상을 제공(또는 재생)할 수 있는 어플리케이션을 나타낼 수 있다.
커넥션 서비스부(707)는 전자 장치(101)에서의 컨텐트 재생에 따른 출력(영상 및/또는 오디오)을 출력할 수 있는 출력 장치(예: 외장 스피커(예: 블루투스 스피커, 사운드 바), 이어폰, 헤드폰, 헤드셋, 또는 TV)를 관리할 수 있다. 커넥션 서비스부(707)는 각 출력 장치의 정보를 제공하는 구성부로, 전송 서비스 프로토콜에 따라 복수개일 수 있다. 예를 들어, 스트리밍 미디어 플레이어 방식, 음원 스트리밍 서비스 방식, 오디오 미러링 방식, DLNA 방식 또는 블루투스 방식과 같은 각각의 전송 서비스 프로토콜마다 해당 출력 장치에 관한 정보를 관리하는 커넥션 서비스부(707)가 복수개일 수 있다. 따라서 외장 스피커(예: 블루투스 스피커, 사운드 바), 이어폰, 헤드폰, 헤드셋, 또는 TV와 같은 외부 출력 장치(709)의 종류는 커넥션 서비스부(707)에서의 서비스에 대응하여 결정될 수 있다.
만일 음원 스트리밍 서비스 방식에 기반하여 연결 가능한 복수의 출력 장치가 식별된 경우, 전자 장치(101)는 상기 식별된 복수의 출력 장치들 중 실제로 연결된 출력 장치의 정보는 커넥션 서비스부(707)로부터 업데이트되어 제공받을 수 있다. 이와 같이 연결 가능한 출력 장치에 대한 정보는 전송 서비스 프로토콜과 컨텐트 재생 앱에 기반하여 커넥션 서비스부(707)의 해당 서비스부에 의해 검색될 수 있다. 여기서, 커넥션 서비스부(707)의 해당 서비스부는 예컨대, 스트리밍 미디어 플레이어 방식, 음원 스트리밍 서비스 방식, 오디오 미러링 방식, DLNA 방식 또는 블루투스 방식 중 어느 하나에 해당하는 서비스부일 수 있다. 이를 통해 검색된 출력 장치의 목록은 미디어 출력부(701)를 통해 사용자에게 제공될 수 있다.
예를 들어, 컨텐트 재생 앱이 'S 뮤직 앱'과 같은 음악 서비스를 제공하는 앱이며, 상기 S 뮤직 앱이 스트리밍 미디어 플레이어 방식을 지원하는 경우에는, 전자 장치(101)는 커넥션 서비스부(707)의 스트리밍 미디어 플레이어 방식에 해당하는 서비스부로 출력 장치의 목록을 요청할 수 있다. 또한, 상기 S 뮤직 앱이 음원 스트리밍 서비스 방식을 지원하는 경우에는, 전자 장치(101)는 커넥션 서비스부(707)의 음원 스트리밍 서비스 방식에 해당하는 서비스부로 출력 장치의 목록을 요청할 수 있다. 또한 오디오 미러링의 경우에는, 전자 장치(101)는 커넥션 서비스부(707)의 오디오 미러링 방식에 해당하는 서비스부로 출력 장치의 목록을 요청할 수 있다. 또한, DLNA 방식 또는 블루투스 방식의 경우에는, 전자 장치(101)는 각 프레임워크를 통해 출력 장치의 목록을 요청할 수 있다.
일 실시 예에 따르면, 외부 출력 장치(709) 이외의 미디어 출력부(701), 미디어 세션부(703), 미디어 어플리케이션부(705) 및 커넥션 서비스부(707)는 전자 장치(101) 내의 구성 요소일 수 있다. 예를 들면, 미디어 출력부(701), 미디어 세션부(703), 미디어 어플리케이션부(705) 및 커넥션 서비스부(707)는 전자 장치(101)의 프로세서(예: 도 1의 프로세서(120) 및/또는 도 3의 프로세서(320))에 포함되거나 별도로 구성될 수 있다. 도 7에서의 미디어 출력부(701), 미디어 세션부(703), 미디어 어플리케이션부(705) 또는 커넥션 서비스부(707) 각각의 기능 및/또는 동작은, 전자 장치(101)의 프로세서(예: 도 1의 프로세서(120) 및/또는 도 3의 프로세서(320))에 의해 동일하게 수행될 수 있다.
도 7을 참조하면, 초기 과정(710)은 컨텐트 재생을 수행하기 이전에 컨텐트 재생 앱 및 출력 장치에 대한 정보를 등록하는 과정으로, 711 동작 내지 719 동작을 포함할 수 있다.
711 동작에서, 전자 장치(101)는 미디어 출력부(701)를 통해 각 컨텐트 재생 앱의 세션 정보를 획득하기 위한 '세션 리스너'(session listener)를 미디어 세션부(703)(또는 프레임워크)에 등록할 수 있다. 이러한 세션 정보는 예컨대, 재생 상태(playback state) 및/또는 메타데이터와 같은 컨텐트 재생과 관련한 정보로, 어떠한 컨텐트가 재생 중인지 나타내는 정보를 포함할 수 있다.
713 동작에서, 전자 장치(101)는 미디어 출력부(701)를 통해 연결 가능한 즉, 컨텐트 재생에 따른 오디오의 출력이 가능한 출력 장치의 정보를 획득하기 위한 '라우터 리스너'(router listener)를 커넥션 서비스부(707)(또는 프레임워크)에 등록할 수 있다. 또는 전자 장치(101)는 상기 라우터 리스너를 컨텐트 재생 앱을 제공하는 서버(예: 컨텐트 프로바이더)에 등록할 수도 있다.
715 동작에서, 전자 장치(101)는'디스커버리 디바이스'(discovery device)를 커넥션 서비스부(707)(또는 프레임워크)로 전송함으로써 연결 가능한 출력 장치의 확인을 요청할 수 있다. 이때, 블루투스 방식에 기반한 출력 장치는 이미 전자 장치(101)와 연결된 상태일 수 있다. 따라서, 커넥션 서비스부(707)는 717 동작에서 블루투스 방식에 기반한 출력 장치를 디스커버리할 수 있다.
718 동작에서, 커넥션 서비스부(707)는 전송 서비스 프로토콜별 기기를 검색 및 업데이트할 수 있으며, 719 동작에서 미디어 출력부(701)에 제공할 수 있다. 예를 들어, 컨텐트 재생 앱과 관련하여 어떠한 출력 장치가 검색되고 있는지에 대한 정보를 획득할 수 있으며, 또한 컨텐트 재생 앱 각각에서 지원하는 전송 서비스 프로토콜을 식별할 수 있다. 따라서 전송 서비스 프로토콜 각각에 대응하는 출력 장치의 목록을 생성할 수 있다. 전자 장치(101)는 커넥션 서비스부(707)의 각 서비스부로부터 컨텐트 재생 앱 각각에 대응하는 출력 장치의 정보 즉, 전송 서비스 프로토콜 각각에 대응하는 출력 장치의 정보를 획득할 수 있다.
한편, 컨텐트 재생에 따른 동작(720)을 살펴보면, 721동작에서, 미디어 어플리케이션부(705)는, 사용자(700)로부터 컨텐트 재생 요청에 따른 이벤트를 수신할 수 있다. 예를 들어, 사용자(700)는 컨텐트 재생 앱 화면 상에 표시되는 재생 버튼 'play music' 버튼을 선택함으로써 컨텐트 재생을 요청할 수 있다.
723 동작에서, 미디어 어플리케이션부(705)는, 컨텐트 재생 요청에 대응하여, 상기 미디어 세션부(703)로 미디어 세션 정보(playback state 및/또는 메타데이터)의 등록을 요청할 수 있다. 상기 세션 정보는 재생이 요청된 컨텐트에 대한 것일 수 있다.
725 동작에서, 미디어 세션부(703)는, 상기 세션 정보(playback state 및/또는 메타데이터)를 등록하고, 상기 미디어 출력부(701)로 새로운 등록 정보를 알리는 세션 이벤트(session event)를 전송하여 업데이트시킬 수 있다. 미디어 출력부(701)는, 상기 세션 이벤트(session event)를 기반으로 미디어 세션부(703)로부터 재생되는 컨텐트와 관련된 어플리케이션 이름(application name)과 세션 정보를 검출하여 저장할 수 있다. 예를 들어, 전자 장치(101)는 현재 재생하고 있는 컨텐트가 무엇인지를 초기 과정에서 등록된 정보들을 획득함으로써 식별할 수 있다.
도 8은 일 실시 예에 따른 재생 시작 이후 각 구성요소들 간의 신호 송수신 흐름도이다. 이하 실시 예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행되거나, 다른 동작이 추가될 수도 있다. 도 8은 도 7에 이어지는 동작으로, 사용자로부터의 재생 요청 이후에 전송 서비스 프로토콜 각각에 대응하는 출력 장치들과의 연결 과정을 예시하고 있다.
801 동작에서, 전자 장치(101)는 미디어 출력부(701)를 통해 컨텐트 재생 앱에 대한 연결 프로토콜을 확인할 수 있다. 예를 들어, 전자 장치(101)는 재생이 요청된 컨텐트를 실행하는 컨텐트 재생 앱에 대응하는 전송 서비스 프로토콜을 식별할 수 있다.
스트리밍 미디어 방식을 지원하는 경우, 전자 장치(101)는 스트리밍 미디어 방식에 기반하여 출력 장치와 연결하는 동작(810)을 수행할 수 있다. 예를 들어, 크롬캐스트와 같은 스트리밍 미디어 방식의 경우, 전자 장치(101)는 스트림 전송(stream transfer) 기능이 활성화된 컨텐트 재생 앱의 세션 정보와 트랜스퍼 리시버(transfer receiver) 등록 여부를 통해 외부 출력 장치의 지원이 가능한지의 여부를 확인할 수 있다. 또한 전자 장치(101)는 컨텐트 재생 앱도 스트리밍 미디어 방식을 지원하는지를 식별하여, 스트리밍 미디어 방식에 기반하여 연결 가능한 적어도 하나의 출력 장치에 대한 정보를 획득할 수 있다. 또한, 예를 들어, 뮤직 앱 서비스에 가입한 서비스 가입자(또는 사용자)가 실행한 뮤직 앱을 통해 재생한 음악의 세션 정보를 획득하여, 전자 장치(101)는 커넥션 서비스부(707)의 상기 뮤직 앱에 대응하는 서비스부로부터 연결 가능한 출력 장치의 정보를 획득할 수 있다.
오디오 미러링 방식을 지원하는 경우, 전자 장치(101)는 오디오 미러링 방식에 기반하여 출력 장치와 연결하는 동작(820)을 수행할 수 있다. 예를 들어, 전자 장치(101)는 오디오 미러링 방식의 경우, 미디어 세션부(703)를 통해 컨텐트 재생 여부를 식별하고, 컨텐트 재생에 따른 오디오를 출력하고자 하는 경우 커넥션 서비스부(707)의 해당 서비스부로부터 연결 가능한 출력 장치(예: Wi-Fi 스피커)의 정보를 획득할 수 있다.
DLNA 방식을 지원하는 경우, 전자 장치(101)는 DLNA 방식에 기반하여 출력 장치와 연결하는 동작(830)을 수행할 수 있다. 예를 들어, 전자 장치(101)는 DLNA 방식의 경우, 커넥션 서비스부(707)의 네트워크 서비스부의 IP / UPnp / Wi-Fi 와 같은 방식을 통해 DLNA 방식을 지원하는 연결 가능한 출력 장치의 정보를 획득할 수 있다.
반면, 상기한 바와 같은 전송 서비스 프로토콜을 지원하지 않는 경우, 전자 장치(101)는 블루투스 방식에 기반하여 출력 장치와 연결하는 동작(840)을 수행할 수 있다. 예를 들어, 블루투스 방식의 경우 전자 장치(101)는 세션 정보에 기반하여 검색된 외부 출력 장치(709)와 연결할 수 없는 경우, 블루투스 연결 이력을 커넥션 서비스부(707)의 블루투스 프레임워크로부터 확인하여 블루투스 방식을 지원하는 연결 가능한 출력 장치의 정보를 획득할 수 있다. 이에 따라 전자 장치(101)는 획득된 출력 장치의 정보에 기반하여, 미디어 출력부(701)를 통해 세션별로 즉, 컨텐트 재생 앱 각각에 대해 연결 가능한 출력 장치의 목록을 생성할 수 있다. 세션별 출력 장치의 목록의 표시 예를 도 9 및 도 10을 참조하여 설명하기로 한다.
도 9는 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치들을 레이어 구조를 이용하여 나타낸 도면이며, 도 10은 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치들의 구성 예를 설명하기 위한 도면이다.
도 9를 참조하면, 전자 장치(101)는 미디어 출력부(701)를 통해 세션 별(예: M1, M2, M3, …, N)로 출력 장치의 목록(예: speaker1, speaker2, speaker3, …, speaker N )을 표시할 수 있다. 전자 장치(101)는 사용자에 의해 선택된 전송 서비스 프로토콜에 기반하여 적어도 하나의 출력 장치와 연결할 수 있다. 예를 들어, 컨텐트를 재생하는 컨텐트 재생 앱 각각에 대한 적어도 하나의 출력 장치의 목록이 표시되는 복수의 페이지들(또는 카드)(900, 910, 920)이 통합 사용자 인터페이스로 표시될 수 있다. 이에 따라 전자 장치(101)는 둘 이상의 컨텐트 재생 앱이 실행된 경우에 실행된 앱 각각에 대해 출력 장치들을 선택할 수 있는 통합 사용자 인터페이스를 표시할 수 있다.
도 9에 도시된 바와 같이, 전자 장치(101)에서는 복수의 컨텐트 재생 앱이 실행된 경우에 각 컨텐트 재생 앱에 대한 페이지들도 복수 개일 수 있다. 여기서, 전자 장치(101)는 복수의 컨텐트 재생 앱 중에서 하나의 컨텐트 재생 앱의 컨텐트를 재생하면서 나머지 컨텐트 재생 앱에 대한 컨텐트 재생은 일시 중지된 상태를 유지할 수 있다. 이에 따라 현재 실행 중인 컨텐트 재생 앱의 페이지에서는 컨텐트 재생과 관련한 정보들이 표시될 수 있으며, 나머지 컨텐트 재생 앱의 페이지들에서는 컨텐트 재생이 일시 중지된 상태(예: 'pause' 정보를 표시)에 관한 정보가 표시될 수 있다. 만일 현재 페이지 상에서 사용자에 의해 일시 중지된 컨텐트에 대해 재생 재개가 선택되면, 컨텐트 재생이 재개되면서 상기 컨텐트 재생에 따른 오디오가 전자 장치(101)의 스피커(예: 내장 스피커)를 통해 출력될 수 있다. 이와 같은 방식으로, 복수의 컨텐트 재생 앱들 중 제1 컨텐트 재생 앱의 컨텐트 재생이 일시 중지된 상태로 전환되면, 상기 제1 컨텐트 재생 앱에 대응하는 적어도 하나의 출력 장치를 통한 오디오 출력도 일시 중지될 수 있다. 이와 반대로 상기 제1 컨텐트 재생 앱의 컨텐트 재생이 재개될 경우에는, 상기 제1 컨텐트 재생 앱의 컨텐트 재생에 따른 오디오가 전자 장치(101)에 연결된 출력 장치 즉, 상기 제1 컨텐트 재생 앱에 대응하는 적어도 하나의 출력 장치를 통해 출력될 수 있다.
또한, 도 10에 도시된 바와 같이, 컨텐트 재생 앱 각각에 대응하는 페이지들(1010, 1020, 1030)에는 복수의 출력 장치의 리스트가 표시될 수 있다. 제1 페이지(1010)를 참조하면, 제1 페이지(1010)에 표시되는 리스트에는 전자 장치(101)에 연결 가능한 출력 장치의 리스트 이외에 현재 전자 장치(101)에 내장된 스피커를 이용하여 컨텐트가 재생되고 있음을 나타내는 항목(1005)이 포함될 수 있다. 예를 들어, 전자 장치(101)에 내장된 스피커를 이용하여 재생되는 '현재 휴대전화'에 맵핑된 컨텐트도 함께 표시될 수 있다. '현재 휴대전화'에 맵핑된 컨텐트도 멀티 세션에서 카드 형식으로 추가될 수 있다. 또한 컨텐트가 복수개일 경우, 전자 장치(101)의 출력 가능한 스피커의 수는 물리적으로 1개이므로, 동시에 여러 컨텐트를 재생하기 어렵기 때문에 사용자에 의해 선택된 컨텐트가 재생될 수 있다.
이때, 실행된 컨텐트 재생 앱이 복수이며, 상기 컨텐트 재생 앱에 따른 페이지가 복수임을 나타내기 위해 페이지 인디케이터(1040)가 표시될 수 있다. 예를 들어, 전자 장치(101)는 컨텐트 재생 앱 각각에서 컨텐트 재생 시에 연결 가능한 출력 장치의 목록이 서로 다르게 표시되는 페이지 각각을 구별하기 위해 페이지 인디케이터(1040)를 표시할 수 있다. 예를 들어, 전자 장치(101)는 다수의 페이지 개수에 해당하는 점들을 표시하고, 화면에 현재 표시 중인 페이지에 해당하는 점의 색상을 다른 점들의 색상과 다르게 표시할 수 있다.
도 11은 일 실시 예에 따른 컨텐트 재생을 위한 전송 방식을 설명하기 위한 도면이다.
도 11을 참조하면, 일 실시 예에 따르면, 사용자는 체크 박스(1100)를 이용하여 컨텐트 재생 앱과 관련된 출력 장치의 목록에서 하나 또는 그 이상의 출력 장치를 선택할 수 있다. 만일 전자 장치(101)에서 컨텐트를 지정된 전송 서비스 프로토콜에 기반하여 실시간으로 스트리밍 받는 경우에, 컨텐트 재생 시 전자 장치(101)는 상기 컨텐트의 재생에 따른 출력을 수신할 수 있는 주소 정보(예: URL 정보)를 적어도 하나의 출력 장치(1105, 1110, 1115)로 전송할 수 있다. 여기서, 적어도 하나의 출력 장치(1105, 1110, 1115)는 출력 장치의 목록에서 사용자에 의해 선택된 출력 장치일 수 있다. 이에 따라 상기 적어도 하나의 출력 장치(1105, 1110, 1115)는 상기 주소 정보에 기반하여 해당 서버(예: 컨텐트 프로바이더)로부터 수신되는 컨텐트 재생에 따른 출력을 제공할 수 있다. 또한, 상기 컨텐트의 재생에 따른 출력을 수신할 수 있는 주소 정보(예: URL 정보)를 어느 하나의 출력 장치(1105)에 전송하여, 상기 적어도 하나의 출력 장치(1105, 1110, 1115) 중 어느 하나의 출력 장치(1105)가 서버로부터 수신되는 컨텐트 재생에 따른 출력을 다른 출력 장치들(1110, 115)와 공유하여 출력할 수 있다. 만일 전자 장치(101) 내의 다운로드 또는 저장된 컨텐트를 재생하는 경우에도 사용자는 체크 박스(1120)를 이용하여 컨텐트 재생 앱과 관련된 출력 장치의 목록에서 하나 또는 그 이상의 출력 장치를 선택할 수 있다. 전자 장치(101)는 전송 서비스 프로토콜에 기반한 블루투스 방식을 통해 재생 중인 컨텐트에 대한 오디오를 선택된 출력 장치(1125)로 제공할 수도 있다. 일 실시 예에 따르면, 스트리밍 서비스를 제공하는 서버와의 연결이 불가능한 환경에서도 전자 장치(101)는 재생 중인 컨텐트에 대한 오디오를 출력할 수 있는 출력 장치의 목록을 제공할 수 있어, 사용상 편의성이 증대될 수 있다.
일 실시 예에 따르면, 컨텐트를 재생하는 서비스마다 개별적으로 적어도 하나의 외부 장치를 제어할 수 있는 통합 사용자 인터페이스는 다양한 형태로 제공될 수 있다. 이를 구체적으로 설명하기 위해 도 12 내지 도 16을 참조하여 설명하기로 한다.
도 12는 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치의 목록이 제1 방식으로 표시되는 페이지들을 나타낸 화면예시도이다.
도 12를 참조하면, 전자 장치(101)는 복수의 컨텐트 재생 앱의 실행 순서에 따라 제1 페이지(1210), 제2 페이지(1220), 제3 페이지(1230)의 순으로 페이지들을 가로로 배열하여 표시할 수 있다. 컨텐트 재생 앱마다 각각 하나의 페이지가 할당되어 표시될 수 있다. 제1 페이지(1210)는 제1 컨텐트 재생 앱(또는 제1 전송 서비스 프로토콜)에 기반하여 연결 가능한 출력 장치의 목록(예: 이어폰 목록)을 포함할 수 있다. 제2 페이지(1220)는 제2 컨텐트 재생 앱(또는 제2 전송 서비스 프로토콜)에 기반하여 연결 가능한 출력 장치의 목록(예: 스마트 가전)을 포함할 수 있다. 제3 페이지(1230)는 제3 컨텐트 재생 앱(또는 제3 전송 서비스 프로토콜)에 기반하여 연결 가능한 출력 장치의 목록(예: 블루투스 스피커)을 포함할 수 있다. 상기와 같이 각 페이지마다 표시되는 출력 장치의 목록은 서로 다를 수 있다.
복수의 페이지들(1210, 1220, 1230) 중 적어도 하나의 페이지가 표시되는 상태에서, 현재 표시되는 페이지를 기준으로 사용자의 입력의 이동 방향(예: 좌측 방향으로의 스와이프 제스처 또는 우측 방향으로의 스와이프 제스처)에 따라 페이지들 간에 네비게이션하여 표시할 수 있다.
도 13은 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치의 목록이 제2 방식으로 표시되는 페이지들을 나타낸 화면예시도이다. 도 13에 도시된 바와 같이 전자 장치(101)는 복수의 컨텐트 재생 앱의 실행 순서에 따라 제1 페이지(1310), 제2 페이지(1320), 제3 페이지(1330), 제4 페이지(1340)의 순으로 페이지들을 세로로 배열하여 표시할 수 있다.
도 14는 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치의 목록이 제3 방식으로 표시되는 페이지들을 나타낸 화면예시도이다.
도 14에 도시된 바와 같이, 전자 장치(101)는 적층되는 레이어 구조로 각각의 페이지들(1410, 1420, 1430)이 겹쳐서 하나의 페이지(1410)만 외부로 노출되어 표시되도록 제어할 수도 있다. 이러한 하나의 페이지를 위젯이라고 칭할 수 있다.
도 14에 도시된 바와 같이 홈 화면에는 위젯 형태의 페이지들(1410, 1420, 1430)과 함께, 홈 메뉴들(1412)과 즐겨찾기 메뉴 아이콘들(1414)이 배치될 수 있다. 이와 같이 멀티세션 카드를 위젯 형태로 갖는 페이지는 홈 화면을 통해 노출될 수 있다. 홈 화면에 표시되는 위젯을 통해 사용자의 접근성을 높일 수 있어, 사용자 편의성이 증대될 수 있다. 하나의 페이지가 표시되더라도 컨텐트 재생 앱에 따른 페이지가 복수임을 나타내기 위해 페이지 인디케이터(1405)가 표시될 수 있다. 이에 따라 컨텐트 재생 앱 각각에서 컨텐트 재생 시에 연결 가능한 출력 장치의 목록이 서로 다르게 표시되는 페이지 각각을 구별하기 위해 페이지 인디케이터가 표시되어 있는 상태에서, 사용자의 입력의 이동 방향(예: 상측 방향으로의 스와이프 제스처 또는 하측 방향으로의 스와이프 제스처)에 따라 페이지들(1410, 1420, 1430) 간에 네비게이션하여 표시할 수 있다.
도 14에서는 적층 구조의 페이지들(1510, 1520, 1530) 간 이동을 사용자의 상측 또는 하측 방향으로의 입력을 이용하는 경우를 예로 들어 설명하였으나, 도 15에 도시된 바와 같이 사용자의 좌측 또는 우측 방향으로의 입력에 따라 적층 구조의 페이지들(1510, 1520, 1530) 간 이동이 가능할 수 있다. 여기서, 도 15는 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치의 목록이 제4 방식으로 표시되는 페이지들을 나타낸 화면예시도이다. 도 15에 도시된 바와 같이 컨텐트 재생 앱에 따른 페이지가 복수임을 나타내기 위해 페이지 인디케이터(1505)가 표시될 수 있다. 도 15에 도시된 바와 같이 적층 구조의 페이지들(1510, 1520, 1530)도 사용자의 접근성을 높일 수 있게 홈 화면 상에 표시될 수 있다.
도 16은 일 실시 예에 따른 컨텐트 재생 서비스별 제어 가능한 출력 장치의 목록이 제5 방식으로 표시되는 페이지들을 나타낸 화면예시도이다. 도 16에서는 컨텐트 재생 앱에 대응하는 위젯(또는 페이지)에 따라 레이아웃을 동적 확장하여 제공하는 경우를 예시하고 있다.
예를 들어, 도 16의 1600a에 도시된 바와 같이, 제1 위젯(또는 제1 페이지)(1610)이 표시되는 상태에서, 사용자 입력에 따라 도 16의 1600b에 도시된 바와 같이 제1 위젯 이외에 가려져있던 나머지 복수의 위젯들이 일정 영역(1620) 상에 배치될 수 있다. 이와 달리 도 16의 1600c에 도시된 바와 같이 복수의 위젯들을 일정 영역(1630) 상에 표시 시, 전자 장치(101)는 각 위젯의 표시 비율을 서로 다르게 하여 표시할 수 있다. 도 16의 1600a 내지 1600c에 도시된 바와 같이 각 위젯들은 홈 메뉴들과 즐겨찾기 메뉴들이 포함된 홈 화면 상에 배치될 수 있다. 전술한 도 14 내지 도 16에서는 각 위젯들을 가로 배치, 세로 배치, 또는 표시 비율을 다르게 한 경우를 예로 들어 설명하였으나, 각 위젯들의 크기, 배치, 또는 형태는 전술한 바에 한정되지 않고 다양한 형태로 변형 가능할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
일 실시 예에 따르면, 명령들을 저장하고 있는 비휘발성 저장 매체에 있어서, 상기 명령들은 전자 장치(101)의 프로세서(120, 320)에 의하여 실행될 때에 상기 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은, 복수의 컨텐트 재생 서비스 각각에 대한 적어도 하나의 출력 장치에 대한 정보를 획득하는 동작을 포함할 수 있다. 일 실시 예에 따르면, 상기 저장 매체는, 상기 획득된 정보에 기반하여, 상기 복수의 컨텐트 재생 서비스 각각에 대한 적어도 하나의 출력 장치의 목록을 표시하기 위한 복수의 페이지들을 생성하는 동작을 포함할 수 있다. 일 실시 예에 따르면, 상기 저장 매체는, 제1 사용자 입력에 기반하여, 상기 복수의 페이지들 중 적어도 하나를 표시하는 동작을 포함할 수 있다. 일 실시 예에 따르면, 상기 저장 매체는, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 상기 선택된 적어도 하나의 출력 장치가 상기 복수의 컨텐트 재생 서비스 중 해당 컨텐트 재생 서비스를 제공하도록 제어하는 동작을 포함할 수 있다.

Claims (15)

  1. 전자 장치(101)에 있어서,
    디스플레이(160, 360);
    통신 모듈(190, 390);
    상기 디스플레이 및 상기 통신 모듈과 작동적으로 연결된 프로세서(120, 320); 및
    인스트럭션들을 저장하는 메모리(130, 330)를 포함하고,
    상기 인스트럭션들은, 상기 프로세서에 의해 실행 시에, 상기 전자 장치가,
    복수의 컨텐트 재생 서비스 각각에 대응하는 적어도 하나의 출력 장치에 대한 정보를 상기 통신 모듈(390)을 통해 획득하고,
    상기 획득된 정보에 기반하여, 상기 복수의 컨텐트 재생 서비스 각각에 대한 적어도 하나의 출력 장치의 목록을 표시하기 위한 복수의 페이지들을 생성하고,
    제1 사용자 입력에 기반하여, 상기 복수의 페이지들 중 적어도 하나를 상기 디스플레이(360) 상에 표시하고,
    상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 상기 선택된 적어도 하나의 출력 장치가 상기 복수의 컨텐트 재생 서비스 중 해당 컨텐트 재생 서비스를 제공하도록 설정된, 전자 장치.
  2. 제1항에 있어서, 상기 인스트럭션들은, 상기 전자 장치가,
    해당 컨텐트 재생 서비스의 컨텐트 재생 동안에 상기 선택된 적어도 하나의 출력 장치가 상기 컨텐트 재생에 따른 오디오를 출력하도록 설정된, 전자 장치.
  3. 제1항 또는 제2항에 있어서, 상기 인스트럭션들은, 상기 전자 장치가,
    상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 둘 이상의 출력 장치에 대한 선택에 대응하여, 상기 선택된 둘 이상의 출력 장치 각각이 해당 컨텐트 재생 서비스의 컨텐트 재생 동안에 상기 컨텐트 재생에 따른 오디오를 출력하도록 설정된, 전자 장치.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 인스트럭션들은, 상기 전자 장치가,
    상기 복수의 컨텐트 재생 서비스 각각에 대한 전송 서비스 프로토콜을 식별하고,
    상기 식별된 전송 서비스 프로토콜에 기반하여 상기 전자 장치와 연결 가능한 적어도 하나의 출력 장치를 식별하고,
    상기 식별된 전송 서비스 프로토콜 각각에 대응하여, 상기 전자 장치와 연결 가능한 적어도 하나의 출력 장치의 목록을 생성하도록 설정된, 전자 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 인스트럭션들은, 상기 전자 장치가,
    상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 해당 컨텐트 재생 서비스에 대한 전송 서비스 프로토콜에 기반하여 상기 선택된 적어도 하나의 출력 장치와 연결하도록 설정된, 전자 장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 인스트럭션들은, 상기 전자 장치가,
    상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치와 제1 전송 서비스 프로토콜에 기반하여 연결하도록 설정되며, 상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 나머지 다른 출력 장치와 제2 전송 서비스 프로토콜에 기반하여 연결하도록 설정된, 전자 장치.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 전송 서비스 프로토콜은,
    스트리밍 미디어 플레이어 방식, 음원 스트리밍 서비스 방식, 오디오 미러링 방식, DLNA(digital living network alliance) 방식 또는 블루투스 방식 중 적어도 하나의 전송 방식을 포함하는, 전자 장치.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 인스트럭션들은, 상기 전자 장치가,
    상기 복수의 페이지들이 제1 페이지, 제2 페이지 및 제3 페이지의 실행 순서로 배열되어 있으며 상기 제1 페이지가 표시되는 동안, 상기 제1 페이지에 대한 스와이프 제스처에 대응하여, 상기 제1 페이지와는 다른 페이지가 표시되도록 설정된, 전자 장치.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 인스트럭션들은, 상기 전자 장치가,
    상기 전자 장치에서 상기 복수의 컨텐트 재생 서비스 중 해당 컨텐트 재생 서비스의 컨텐트 재생 동안, 상기 컨텐트 재생에 따른 오디오를 출력하기 위한 요청을 수신하고,
    상기 요청에 대응하여 상기 해당 컨텐트 재생 서비스에 대한 적어도 하나의 출력 장치의 목록을 표시하기 위한 페이지를 상기 디스플레이(360) 상에 표시하도록 설정된, 전자 장치.
  10. 컨텐트 재생에 기반한 출력 장치들을 제어하는 전자 장치(101)의 동작 방법에 있어서,
    복수의 컨텐트 재생 서비스 각각에 대응하는 적어도 하나의 출력 장치에 대한 정보를 획득하는 동작;
    상기 획득된 정보에 기반하여, 상기 복수의 컨텐트 재생 서비스 각각에 대한 적어도 하나의 출력 장치의 목록을 표시하기 위한 복수의 페이지들을 생성하는 동작; 및
    제1 사용자 입력에 기반하여, 상기 복수의 페이지들 중 적어도 하나를 표시하는 동작;
    상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 상기 선택된 적어도 하나의 출력 장치가 상기 복수의 컨텐트 재생 서비스 중 해당 컨텐트 재생 서비스를 제공하도록 제어하는 동작을 포함하는, 전자 장치의 동작 방법.
  11. 제10항에 있어서, 상기 해당 컨텐트 재생 서비스를 제공하도록 제어하는 동작은,
    해당 컨텐트 재생 서비스의 컨텐트 재생 동안에 상기 선택된 적어도 하나의 출력 장치가 상기 컨텐트 재생에 따른 오디오를 출력하도록 제어하는 동작을 포함하는, 전자 장치의 동작 방법.
  12. 제10항 또는 제12항에 있어서, 상기 해당 컨텐트 재생 서비스를 제공하도록 제어하는 동작은,
    상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 둘 이상의 출력 장치에 대한 선택에 대응하여, 상기 선택된 둘 이상의 출력 장치 각각이 해당 컨텐트 재생 서비스의 컨텐트 재생 동안에 상기 컨텐트 재생에 따른 오디오를 출력하도록 제어하는 동작을 포함하는, 전자 장치의 동작 방법.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서,
    상기 복수의 컨텐트 재생 서비스 각각에 대한 전송 서비스 프로토콜을 식별하는 동작; 및
    상기 식별된 전송 서비스 프로토콜에 기반하여 상기 전자 장치와 연결 가능한 적어도 하나의 출력 장치를 식별하는 동작; 및
    상기 식별된 전송 서비스 프로토콜 각각에 대응하여, 상기 전자 장치와 연결 가능한 적어도 하나의 출력 장치의 목록을 생성하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  14. 제10항 내지 제13항 중 어느 한 항에 있어서,
    상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 해당 컨텐트 재생 서비스에 대한 전송 서비스 프로토콜에 기반하여 상기 선택된 적어도 하나의 출력 장치와 연결하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  15. 명령들을 저장하고 있는 비휘발성 저장 매체에 있어서, 상기 명령들은 전자 장치(101)의 프로세서(120, 320)에 의하여 실행될 때에 상기 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은,
    복수의 컨텐트 재생 서비스 각각에 대응하는 적어도 하나의 출력 장치에 대한 정보를 획득하는 동작;
    상기 획득된 정보에 기반하여, 상기 복수의 컨텐트 재생 서비스 각각에 대한 적어도 하나의 출력 장치의 목록을 표시하기 위한 복수의 페이지들을 생성하는 동작; 및
    제1 사용자 입력에 기반하여, 상기 복수의 페이지들 중 적어도 하나를 표시하는 동작;
    상기 표시된 페이지의 적어도 하나의 출력 장치의 목록 중 적어도 하나의 출력 장치에 대한 선택에 대응하여, 상기 선택된 적어도 하나의 출력 장치가 상기 복수의 컨텐트 재생 서비스 중 해당 컨텐트 재생 서비스를 제공하도록 제어하는 동작을 포함하는, 저장 매체.
PCT/KR2023/018076 2022-12-27 2023-11-10 컨텐트 재생에 기반한 출력 장치들을 제어하는 전자 장치, 그 동작 방법 및 저장 매체 Ceased WO2024143884A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202380089536.2A CN120380742A (zh) 2022-12-27 2023-11-10 用于控制基于内容再现的输出装置的电子装置及其操作方法和存储介质
EP23912561.0A EP4629604A4 (en) 2022-12-27 2023-11-10 Electronic device for controlling output devices based on content reading, its operating method and storage medium
US19/246,332 US20260104846A1 (en) 2022-12-27 2025-06-23 Electronic device for controlling output devices on basis of content playback, operation method thereof, and storage medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20220185791 2022-12-27
KR10-2022-0185791 2022-12-27
KR10-2023-0000887 2023-01-03
KR1020230000887A KR20240103900A (ko) 2022-12-27 2023-01-03 컨텐트 재생에 기반한 출력 장치들을 제어하는 전자 장치, 그 동작 방법 및 저장 매체

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US19/246,332 Continuation US20260104846A1 (en) 2022-12-27 2025-06-23 Electronic device for controlling output devices on basis of content playback, operation method thereof, and storage medium

Publications (1)

Publication Number Publication Date
WO2024143884A1 true WO2024143884A1 (ko) 2024-07-04

Family

ID=91718215

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/018076 Ceased WO2024143884A1 (ko) 2022-12-27 2023-11-10 컨텐트 재생에 기반한 출력 장치들을 제어하는 전자 장치, 그 동작 방법 및 저장 매체

Country Status (4)

Country Link
US (1) US20260104846A1 (ko)
EP (1) EP4629604A4 (ko)
CN (1) CN120380742A (ko)
WO (1) WO2024143884A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170027999A (ko) * 2015-09-03 2017-03-13 삼성전자주식회사 사용자 단말 장치, 시스템 및 그 제어 방법
KR101749235B1 (ko) * 2013-03-15 2017-07-03 애플 인크. 동시에 열린 소프트웨어 애플리케이션들을 관리하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
KR20210137221A (ko) * 2019-05-31 2021-11-17 애플 인크. 오디오 미디어 제어를 위한 사용자 인터페이스
KR20220104541A (ko) * 2021-01-18 2022-07-26 삼성전자주식회사 연결 가능한 외부 장치를 제어하기 위한 전자 장치 및 방법
US20220400305A1 (en) * 2019-10-24 2022-12-15 Huawei Technologies Co., Ltd. Content continuation method and electronic device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8564543B2 (en) * 2006-09-11 2013-10-22 Apple Inc. Media player with imaged based browsing
EP3952317B1 (en) * 2017-05-16 2025-01-22 Apple Inc. Methods and interfaces for home media control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101749235B1 (ko) * 2013-03-15 2017-07-03 애플 인크. 동시에 열린 소프트웨어 애플리케이션들을 관리하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
KR20170027999A (ko) * 2015-09-03 2017-03-13 삼성전자주식회사 사용자 단말 장치, 시스템 및 그 제어 방법
KR20210137221A (ko) * 2019-05-31 2021-11-17 애플 인크. 오디오 미디어 제어를 위한 사용자 인터페이스
US20220400305A1 (en) * 2019-10-24 2022-12-15 Huawei Technologies Co., Ltd. Content continuation method and electronic device
KR20220104541A (ko) * 2021-01-18 2022-07-26 삼성전자주식회사 연결 가능한 외부 장치를 제어하기 위한 전자 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4629604A4 *

Also Published As

Publication number Publication date
EP4629604A1 (en) 2025-10-08
US20260104846A1 (en) 2026-04-16
EP4629604A4 (en) 2026-03-25
CN120380742A (zh) 2025-07-25

Similar Documents

Publication Publication Date Title
WO2022231135A1 (ko) 오디오 신호를 출력하는 방법 및 이를 수행하는 전자 장치
WO2022030882A1 (ko) 오디오 데이터를 처리하는 전자 장치와 이의 동작 방법
WO2022098190A1 (ko) 전자 장치 및 복수의 오디오 출력 장치와의 연결에 따른 오디오 출력 모드 설정 방법
WO2024029725A1 (ko) 블루투스 연결을 통해 통신하는 전자 장치 및 그 동작 방법
WO2021071222A1 (ko) 복수의 외부 전자 장치들로 오디오 데이터를 전송하는 전자 장치 및 그 제어 방법
WO2022030750A1 (ko) 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
WO2023043073A1 (ko) 복수의 사물 인터넷 장치들을 제어하기 위한 웨어러블 전자 장치, 그 동작 방법 및 저장 매체
WO2024101916A1 (ko) 장치 설정 방법 및 이를 지원하는 전자 장치
WO2023090619A1 (ko) 시청자 참여 가능한 컨텐츠 제공 방법 및 이를 위한 전자 장치
WO2021221317A1 (ko) 광고 공유 방법 및 그 장치
WO2022065707A1 (ko) 외부 전자 장치와의 직접 통신을 위한 전자 장치 및 그의 동작 방법
WO2022203184A1 (ko) 기능 공유를 위한 전자 장치 및 그의 동작 방법
WO2026084394A1 (ko) 컨텐트 전송을 제어하는 전자 장치 및 그 저장 매체
WO2024049088A1 (ko) 미디어 기반의 조명 제어 서비스를 제공하기 위한 전자 장치, 그 동작 방법 및 저장 매체
WO2024025194A1 (ko) 알림과 관련된 동작을 수행하기 위한 방법 및 이를 지원하는 전자 장치
WO2024076008A1 (ko) 파일을 공유하는 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체
KR20240103900A (ko) 컨텐트 재생에 기반한 출력 장치들을 제어하는 전자 장치, 그 동작 방법 및 저장 매체
WO2023054897A1 (ko) 영상 통화를 수행하는 전자 장치 및 방법
WO2023153622A1 (ko) 기기 설정 동기화 방법 및 장치
WO2023219286A1 (ko) 데이터 전송 순서 조정 방법 및 이를 수행하는 장치
WO2024151042A1 (ko) 어플리케이션 목록을 제공하기 위한 전자 장치, 그 동작 방법 및 저장 매체
WO2024136196A1 (ko) 외부 장치로부터의 사운드를 출력하기 위한 전자 장치, 그 동작 방법 및 저장 매체
WO2024117434A1 (ko) 사운드 관련 기능을 수행하기 위한 히어러블 장치 및 휴대 전자 장치
WO2026005566A1 (ko) 멀티 포인트 무선 통신에 기반한 오디오 데이터 송수신 장치 및 그의 동작 방법
WO2024158226A1 (ko) 검색어 기반의 서비스를 제공하기 위한 전자 장치, 그 동작 방법 및 저장 매체

Legal Events

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

Ref document number: 23912561

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202380089536.2

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2023912561

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2023912561

Country of ref document: EP

Effective date: 20250702

WWE Wipo information: entry into national phase

Ref document number: 202517066067

Country of ref document: IN

WWP Wipo information: published in national office

Ref document number: 202517066067

Country of ref document: IN

Ref document number: 202380089536.2

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2023912561

Country of ref document: EP