WO2019039748A1 - Client device, companion screen device, and operation method therefor - Google Patents

Client device, companion screen device, and operation method therefor Download PDF

Info

Publication number
WO2019039748A1
WO2019039748A1 PCT/KR2018/008475 KR2018008475W WO2019039748A1 WO 2019039748 A1 WO2019039748 A1 WO 2019039748A1 KR 2018008475 W KR2018008475 W KR 2018008475W WO 2019039748 A1 WO2019039748 A1 WO 2019039748A1
Authority
WO
WIPO (PCT)
Prior art keywords
companion screen
client device
screen device
video content
display
Prior art date
Application number
PCT/KR2018/008475
Other languages
French (fr)
Korean (ko)
Inventor
알더크리스토퍼
몰턴리차드
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GB1713550.0A external-priority patent/GB2565807B/en
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to EP18847978.6A priority Critical patent/EP3661220B1/en
Priority to US16/639,234 priority patent/US11128926B2/en
Priority to CN201880054658.7A priority patent/CN110999310B/en
Priority to ES18847978T priority patent/ES2970259T3/en
Publication of WO2019039748A1 publication Critical patent/WO2019039748A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network

Definitions

  • Various embodiments relate to a client device, a companion screen device and a method of operation thereof, and more particularly to a client device, a companion screen device and a method of operation thereof for controlling 360-degree video content.
  • a video display device is a device having a function of displaying an image that a user can view. The user can view the broadcast through the video display device.
  • a video display device displays a broadcast selected by a user among broadcast signals transmitted from a broadcast station on a display.
  • broadcasting is changing from analog broadcasting to digital broadcasting around the world.
  • a smart TV providing various contents is provided.
  • the smart TV aims at analyzing and providing what the user desires without user's operation, rather than manually operating according to the user's selection.
  • a 360-degree image is an image in which views in all directions are simultaneously recorded using an omnidirectional camera or a plurality of camera sets. During playback of a 360 degree image, the user can control the orientation of the view.
  • Various embodiments are directed to a client device, a companion screen device, and a method of operating the same that are capable of providing control of 360 degree video content more conveniently and effectively.
  • a client device upon browsing 360-degree video content locates and connects to a companion screen device capable of performing control of 360-degree video content
  • the companion screen device includes a client capable of performing display of 360- By finding and connecting devices, 360-degree video content can be controlled more conveniently and effectively.
  • the embodiments of the present invention can control the 360 degree video content more conveniently and efficiently.
  • FIG. 1 is a block diagram illustrating a client device 100 and a control apparatus for displaying a 360-degree image according to an exemplary embodiment of the present invention.
  • 2 is a view for explaining an angle of view of a 360-degree image.
  • FIG. 3 is a diagram illustrating a method of displaying a 360-degree image according to an example.
  • FIG. 4 illustrates a client device and a companion screen device in accordance with one embodiment.
  • FIG. 5 illustrates a client device and a plurality of companion screen devices in accordance with one embodiment.
  • FIG. 6 is a schematic block diagram of a client device 100 and a companion screen device 400 in accordance with one embodiment.
  • FIG. 7 is a flow diagram of an operation method for displaying 360 degree video content in a client device 100 in accordance with an embodiment.
  • FIG. 8 illustrates an example of an operation in which a client device 100 identifies a companion screen device 400 in accordance with one embodiment.
  • FIG. 9 illustrates an example of an operation in which a client device 100 identifies a plurality of companion screen devices 400 and selects one of them, in accordance with one embodiment.
  • FIG. 10 is a flow chart detailing the steps of establishing a communication channel between a client device 100 and a companion screen device 400 in accordance with one embodiment.
  • FIG. 11 is a flow diagram illustrating operation in a companion screen device 400 for establishing a communication channel between a client device 100 and a companion screen device 400, according to one embodiment.
  • FIG. 12 illustrates an example of an operation in which a companion screen device 400 identifies a client device 100 in accordance with one embodiment.
  • FIG. 13 is a schematic diagram of a client device 100a and a companion screen device 400a in accordance with one embodiment.
  • FIG. 14 is a schematic diagram of a client device 100a and a companion screen device 400a in accordance with one embodiment.
  • 15 is a schematic diagram of control operations that may be performed on a companion screen device 400 in accordance with one embodiment.
  • 16 is a schematic diagram of control operations that may be performed in companion screen device 400 in accordance with one embodiment.
  • 17 is a schematic diagram of control operations that may be performed on companion screen device 400 in accordance with one embodiment.
  • FIG. 18 illustrates a different wide-angle mode that may be selected to render 360 degree video content in client device 100 in accordance with one embodiment.
  • a processor may request to execute an application that performs control operations of displaying the 360 degree video content to the identified companion screen device by executing the one or more instructions.
  • the processor is further configured to: receive a signal from a plurality of companion screen devices comprising information indicating that the 360 degree control capability is by executing the at least one instruction, And control the communication interface to connect with the selected at least one companion screen device.
  • a processor may select at least one of the plurality of companion screen devices based on a user profile associated with the companion screen device by executing the one or more instructions.
  • the processor may select at least one of the plurality of companion screen devices based on the proximity of the client device and the companion screen device by executing the one or more instructions.
  • a processor may select at least one of the plurality of companion screen devices based on a learning algorithm by executing the one or more instructions.
  • a processor is configured to receive device orientation information regarding the orientation of the companion screen device over the communication channel by executing the one or more instructions, and wherein the viewpoint of the displayed 360- Adjusts the viewpoint of the displayed 360 degree video content in response to the device orientation information so as to be rotated according to the orientation of the companion device and controls the display to display an area of the 360 degree video content corresponding to the adjusted viewpoint .
  • the processor is further configured such that the device orientation information comprises a plurality of azimuth values measured by one or more sensors arranged to detect the orientation of the companion device, and wherein the processor, by executing the one or more instructions, The plurality of azimuth values may be flattened to obtain flattened azimuth data and the viewpoint rotation speed of the 360 degree video content may be determined based on the flattened azimuth data.
  • a companion screen device includes a communication interface; display; A memory for storing one or more instructions; And a processor executing the one or more instructions stored in the memory, wherein the processor identifies a client device having the ability to display the 360-degree video content by executing the one or more instructions, And controls the communication interface to transmit a control command to the client device to control the display of the 360-degree video content displayed on the connected client device.
  • the processor identifies the client device by receiving a signal from the client device that includes information indicating that the client device has display capability of the 360-degree video content by executing the one or more instructions .
  • a processor is configured to detect an orientation of the companion screen device by executing the one or more instructions, and to cause the viewpoint of 360 degree video content displayed on the client device to be displayed in accordance with the orientation of the companion screen device Device orientation information regarding the orientation of the companion screen device to the client device over the communication channel so as to be rotated.
  • a method of operating a client device in accordance with an embodiment includes: displaying at least a portion of a 360 degree video content; identifying a companion screen device having 360 degree control capability of the 360 degree video content; And controlling the display of the 360-degree video content according to a control command received from the connected companion screen device.
  • a method of operating a client screen device in accordance with an embodiment includes: identifying a client device having display capability of 360-degree video content; connecting a communication channel with the identified client device; And transmitting a control command to the client device to control display of the 360-degree video content.
  • a computer program product comprising a computer readable medium having recorded thereon one or more programs for performing a method of operating a client device according to an embodiment, the method of operating the client device comprising: displaying at least a portion of 360 degree video content Identifying a companion screen device having a 360 degree control capability of the 360 degree video content, associating a communication channel with the identified companion screen device, and a control command received from the connected companion screen device, And controlling the display of the 360 degree video content.
  • the term "user" in the present description means a person who controls the function or operation of the image display device using the control device, and may include a viewer, an administrator, or a installer.
  • FIG. 1 is a block diagram illustrating a client device 100 and a control apparatus for displaying a 360-degree image according to an exemplary embodiment of the present invention.
  • a client device 100 may display a 360-degree image.
  • a 360 degree image may be an image having an angle of view of 360 degrees.
  • the 360 degree image may be a still image, a moving image, or a panorama image.
  • a 360 degree image may be a generated image based on a plurality of images taken in 360 degrees direction using at least one camera.
  • the photographed images can be mapped to sphere, and the contacts of the mapped images are connected (stitched), so that a sphere-type 360-degree image can be generated.
  • a 360-degree image in the form of a sphere can be converted to a 360-degree image 10 in a planar form, as shown in FIG. 1, for transmission or storage to other devices.
  • the client device 100 may perform graphic processing on a 360-degree image 10 in a plane format, and convert a 360-degree image 10 in a plane format to a 360-degree image 20 in a spherical format.
  • the client device 100 can select a partial area 30 corresponding to a certain view point, for example, a certain angle of view, of the transformed spherical 360-degree image, and display the image corresponding to the selected area 30 on the display unit.
  • the client device 100 can display an image corresponding to the selected region 30 according to the resolution of the display and display the image.
  • a detailed description of the angle of view of the 360-degree image will be given later with reference to FIG.
  • the client device 100 may be a TV, but this is merely an example and may be implemented in an electronic device including a display.
  • the client device 100 may be a mobile phone, a tablet PC, a digital camera, a camcorder, a laptop computer, a tablet PC, a desktop, an electronic book terminal, a digital broadcast terminal, a PDA (Personal Digital Assistants) ), Navigation, MP3 players, wearable devices, and the like.
  • the embodiments can be easily implemented in a display device having a large display such as a TV, but the present invention is not limited thereto.
  • the video display device 100 may be a fixed or mobile type, and may be a digital broadcasting receiver capable of receiving digital broadcasting.
  • the client device 100 may be controlled by the control device 50, and the control device 50 may be implemented by various devices for controlling the video display device 100, such as a remote control or a mobile phone.
  • the controller 50 may control the image display apparatus 100 using a short distance communication including infrared or bluetooth.
  • the control device 50 includes at least one of a key (including a button), a touch pad, a microphone (not shown) capable of receiving a user's voice, and a sensor (not shown) It is possible to control the function of the image display apparatus 100 by using one.
  • the control device 50 may include a four direction key (or a four direction button).
  • the four-way key can be used to move the position of some area 30 displayed on the display part in a 360 degree image.
  • control device 50 may be a pointing device.
  • the control device 50 may operate as a pointing device when receiving a specific key input.
  • the image display device 100 can be controlled by a user input that moves the control device 50 up, down, left, right or tilts in an arbitrary direction.
  • Information on the motion of the control device 50 sensed through the sensor of the control device 50 can be transmitted to the client device 100.
  • the client device 100 can move the partial area 30 displayed on the display unit in the 360 degree image based on the information about the motion of the controller 50.
  • the position of the partial area 30 displayed on the display unit in the 360-degree image can be moved according to the displacement value of the subject such as the finger of the user moving on the touch pad.
  • 2 is a view for explaining an angle of view of a 360-degree image.
  • the 360-degree image may be an image generated based on the plurality of images photographed in the 360-degree direction using at least one camera.
  • the photographed images can be mapped to sphere, and the contacts of the mapped images are connected (stitched), so that a sphere-type 360-degree image can be generated.
  • a 360 degree image may mean an image having an angle of view of 360 degrees.
  • the angle of view of the 360-degree image may be composed of the x-axis coordinate and the y-axis coordinate.
  • the x-axis coordinate can represent an angle formed by a vertical plane passing through the center of the sphere, rotating along the sphere surface.
  • the y-axis coordinate can represent an angle formed by a horizontal plane passing through the center of the sphere, rotating along the sphere surface.
  • the x-axis coordinates can range from 0 degrees to 360 degrees.
  • the y-axis coordinates may range from -90 degrees to 90 degrees, or from 0 degrees to 180 degrees.
  • FIG. 3 is a diagram illustrating a method of displaying a 360-degree image according to an example.
  • the user can navigate the 360 degree image 300 to view an image corresponding to a desired angle of the 360 degree image.
  • a user wants to view an image of a region 311 corresponding to a specific angle of view 310 and a region of the image 311 in a more rightward direction
  • the user may adjust the angle of view
  • the user input can be selected.
  • the client device 100 may display the area 321 corresponding to the area 320 corresponding to the angle of view of 40 degrees.
  • the user can move the angle of view of the 360-degree image using the four-way key of the controller 50.
  • a 360-degree image can be moved left and right using the left and right arrow keys of the four-way key.
  • a 360-degree image can be moved up and down using the up and down arrow keys of the four-way key.
  • the user can adjust the angle of view of the 360-degree image by moving the control device 50 including the acceleration sensor or the gyroscope up, down, left, or right or in any direction.
  • the user can adjust the angle of view of the 360-degree image according to the direction of movement while touching the user's finger with the touch pad provided on the control device 50.
  • the user can adjust the angle of view of the 360 degree image using the touch movement of the user's finger on the touch sensitive screen of the client device 100.
  • a user may zoom in or zoom out a 360 degree image through a specific key or button of the control device 50 or a gesture using the control device 50.
  • the client device 100 may enlarge and display the currently displayed area.
  • the client device 100 can reduce and display the currently displayed area.
  • the zoom-out degree exceeds a predetermined threshold value, the client device 100 can display the image in a spherical shape.
  • the zoom may range from -4 to 4 times.
  • FIG. 4 illustrates a client device and a companion screen device in accordance with one embodiment.
  • a client device 100 such as a television, displays a portion of a 360 degree video content.
  • the client device 100 may also control the 360 degree video content to change the viewpoint of the displayed 360 degree video content.
  • a communication channel may be established between the client device 100 displaying the 360 degree video content and the companion screen device 400 controlling the video content in accordance with an embodiment.
  • the client device 100 may be, for example, a television. However, the client device 100 may be any suitable display device.
  • the client device 100 supports video and audio playback over a broadcast or broadband connection.
  • the client device 100 may include an application that supports display and control of 360 degree video content. These applications can inform the media player that the content is in a 360-degree format so that the media player can correctly decode the content.
  • An example of an application is an HbbTV application, and any suitable application capable of supporting 360 degree content can be used.
  • the client device 100 may provide a viewing window in which the user can view the 360 degree content at a particular point in time. Thus, the user can see a given angular range of 360 degree content.
  • the 360 degree content displayed on the client device 100 may be controlled to change the point of view through which the user views the 360 degree content through the field of view of the client device 100.
  • the control may include rotating the viewpoint in the horizontal or vertical direction through the 360 degree video content. Control of the viewpoint of the 360-degree video content is as described with reference to FIG. 2 and FIG. Control may also include changing the sensed zoom level of the content so that the user appears to be farther or closer to the object displayed in the 360 degree content.
  • 360 degree video content may be rendered on the server and streamed to the client device 100.
  • the client device 100 may provide location information about the 360 degree content to the server, and the server may render the 360 degree content with a time corresponding to the location information provided by the client device 100.
  • high resolution can be achieved using server-side rendering.
  • the 360 degree video content may be rendered at client device 100.
  • applications that can perform 360 degree video rendering on the client device 100 include, but are not limited to, WebGL and HbbTV.
  • the present invention may use applications that can support server-side rendering, client-side rendering, or both.
  • the companion screen device 400 may be, for example, a mobile phone, or a tablet.
  • the companion screen device 400 is a device with a screen that can provide interactions between the client device 100 and the companion screen device 400.
  • the companion screen device 400 is capable of controlling 360 degree video content.
  • the companion screen device 400 may include an application that supports control of 360 degree video content.
  • the communication channel between the client device 100 and the companion screen device 400 may be set in any suitable manner.
  • the communication channel may be established via an IP network.
  • the client device 100 and the companion screen device 400, respectively, are connected to a wireless network through which the signaling between the client device 100 and the companion screen device 400 can be transmitted.
  • Bluetooth may be used between the client device 100 and the companion screen device 400 to establish a communication channel over which signaling may be sent.
  • any suitable means for establishing a communication channel may be used.
  • the means for establishing the communication channel may be wireless, but may alternatively be established via a wired connection.
  • a communication channel may be established for the companion device that the client device 100 has identified.
  • the companion screen device 400 may provide an indication to the client device 100 that it can control 360 degrees.
  • FIG. 5 illustrates a client device and a plurality of companion screen devices in accordance with one embodiment.
  • the client device 100 may identify a plurality of companion screen devices 400 capable of 360 degree control. In this case, the client device 100 may select at least one of the plurality of companion screen devices 400 and connect to the selected companion screen device 400. The client device 100 may connect to one or more companion screen devices 400.
  • the client device 100 when the client device 100 sends a discovery request signal around the client device 100, the companion screen devices 400a, 400b, and 400c around the client device 100 respectively transmit a signal indicating that the companion screen devices 400a, 400b, 100 < / RTI >
  • the client device 100 can select the companion screen device by various methods according to its policy.
  • the client device 100 may automatically select the companion screen device 400 according to one or more predetermined selection criteria.
  • the client device 100 may select the companion screen device 400 based on a user profile associated with the companion screen device 400.
  • the client device 100 may select one or more companion screen devices 400 in accordance with proximity to the client device 100.
  • FIG. 6 is a schematic block diagram of a client device 100 and a companion screen device 400 in accordance with one embodiment.
  • the companion screen device 400 includes a control unit 410, a communication interface 420, a video processing unit 430, a display 440, a sensing unit 450, and a memory 460.
  • the communication interface 420 enables the companion screen device 400 to communicate with the client device 100 using a variety of communication technologies such as screen mirroring, DLNA, Bluetooth, mirror cast, Wi-Fi direct.
  • the video processing unit 430 processes the image to be displayed by the display 440 and can perform various image processing such as decoding, scaling, noise filtering, frame rate conversion, resolution conversion, and the like on the video data.
  • the display 440 converts a video signal, a data signal, an OSD signal, a control signal, etc. processed in the video processing unit 430 to generate a driving signal.
  • the display unit 440 may be implemented as a PDP, an LCD, an OLED, a flexible display, or the like, and may also be implemented as a 3D display. Also, the display 440 may be configured as a touch screen and used as an input device in addition to the output device.
  • the sensing unit 450 may sense the user input and transmit the sensed signal to the control unit 410.
  • the sensing unit 450 may include a microphone for receiving the user's voice, a camera for receiving the user's image, or a light receiving unit for sensing the user's interaction or a touch pad.
  • the sensing unit 450 may include an input for moving a position of a partial region displayed on the display 640 among the 360-degree images, that is, a user input for controlling a viewpoint of a 360-degree image, An input for zooming in or out, and an input for displaying an image corresponding to a specific area of a 360-degree image.
  • the sensing unit 450 may include an orientation sensor to measure the orientation of the companion screen device 400.
  • the memory 460 may include an operating system, data processed in the control unit 410, and one or more instructions executed in the control unit 410.
  • the memory 460 identifies a client device having the capability of displaying 360-degree video content, controls the communication interface to connect a communication channel with the identified client device, And one or more instructions to control the communication interface to transmit a control command to the client device to control the display of the 360-degree video content.
  • the term " memory” includes a memory card (e. G., Micro SD card, USB memory, not shown) mounted in the storage, control ROM, RAM or companion screen device 400.
  • the memory 460 may also include non-volatile memory, volatile memory, a hard disk drive (HDD), or a solid state drive (SSD).
  • the control unit 410 controls the overall operation of the companion screen device 400 and the signal flow between the internal components of the companion screen device 400 and performs processing of data.
  • the control unit 410 can execute an OS (Operation System) and various applications stored in the memory 460 when the user inputs or pre-set conditions are satisfied.
  • OS Operaation System
  • the control unit 410 stores signals or data input from the outside of the companion screen device 400, a RAM used as a storage area corresponding to various operations performed in the companion screen device 400, and a control program for controlling the companion screen device 400 ROM and a processor.
  • the controller 410 may perform communication operations between the client device and the companion screen device 400 disclosed herein by performing one or more instructions stored in memory.
  • control unit 410 controls the communication interface to identify a client device having the capability of displaying the 360-degree video content by executing the one or more instructions, to connect the communication channel with the identified client device, And control the communication interface to transmit to the client device a control command to control display of the 360-degree video content displayed on the connected client device.
  • the controller 410 identifies the client device by receiving a signal from the client device that includes information indicating that the client device has display capability of the 360-degree video content by executing the one or more instructions .
  • the controller 410 detects the orientation of the companion screen device by executing the one or more instructions, and if the viewpoint of the 360 degree video content displayed on the client device is in accordance with the orientation of the companion screen device Device orientation information regarding the orientation of the companion screen device to the client device over the communication channel so as to be rotated.
  • the companion screen device 400 includes an audio processing unit for processing audio data, an audio output unit for outputting audio, an input / output unit for receiving video, audio, and additional information from outside the companion screen device 400, And an output unit.
  • the companion screen device 400 is not limited to the term, and any electronic device such as a laptop, a smart phone, a tablet, a wearable device, and a PDA can be used as the device that executes an application including a processor and a memory.
  • the client device 100 includes a control unit 110, a communication interface 120, a video processing unit 130, a display 140, and a memory 150.
  • the communication interface 120 enables the client device 100 to communicate with the companion screen device 400 using a variety of communication technologies such as screen mirroring, DLNA, Bluetooth, mirror cast, Wi-Fi direct.
  • the video processing unit 130 processes the image to be displayed by the display 140 and can perform various image processing such as decoding, scaling, noise filtering, frame rate conversion, resolution conversion, and the like on the video data.
  • the display 140 converts a video signal, a data signal, an OSD signal, a control signal, etc. processed in the video processing unit 130 to generate a driving signal.
  • the display unit 140 may be implemented as a PDP, an LCD, an OLED, a flexible display, or the like, and may also be implemented as a 3D display. Also, the display 140 may be configured as a touch screen and used as an input device in addition to the output device.
  • the memory 150 may include an operating system, data processed in the controller 110, and one or more instructions executed in the controller 110.
  • memory 150 identifies a companion screen device having 360 degree control capability of 360 degree video content, controls the communication interface to connect a communication channel with the identified companion screen device, And one or more instructions to control the display to control the display of the 360 degree video content in accordance with control commands received from the device.
  • the memory 150 may include an operating system, data processed in the controller 110, and one or more instructions executed in the controller 110.
  • the term " memory” includes a memory card (e. G., Micro SD card, USB memory, not shown) mounted in the storage, control ROM, RAM or companion screen device 400.
  • the memory 150 may also include non-volatile memory, volatile memory, a hard disk drive (HDD), or a solid state drive (SSD).
  • the controller 110 controls the overall operation of the client device 100 and the signal flow between the internal components of the client device 100 and performs processing of data.
  • the controller 110 can execute an OS (Operation System) and various applications stored in the memory 120 when the user has input or pre-set conditions.
  • OS Operating System
  • the controller 110 stores a signal or data input from the outside of the client device 100, a RAM used as a storage area corresponding to various jobs performed by the client device 100, a ROM storing a control program for controlling the client device 100, . ≪ / RTI >
  • the controller 110 controls the display to display at least a portion of the 360 degree video content by performing one or more instructions stored in memory, and provides a companion screen device with 360 degree control capability of the 360 degree video content Control the display to control the display of the 360-degree video content in accordance with a control command received from the connected companion screen device, and to control the communication interface to connect the communication channel with the identified companion screen device have.
  • the controller 110 may request to execute an application that performs control operations of displaying the 360-degree video content to the identified companion screen device by executing the one or more instructions.
  • control unit 110 executes the one or more instructions to receive a signal from the plurality of companion screen devices, the signal including information indicating that the 360 degree control capability is present, and at least one of the plurality of companion screen devices And control the communication interface to connect with the selected at least one companion screen device.
  • the controller 110 may execute the one or more instructions to select at least one of the plurality of companion screen devices based on a user profile associated with the companion screen device.
  • the controller 110 may execute the one or more instructions to select at least one of the plurality of companion screen devices based on the proximity of the client device and the companion screen device.
  • the controller 110 may execute the one or more instructions to select at least one of the plurality of companion screen devices based on a learning algorithm.
  • the controller 110 receives the device orientation information regarding the orientation of the companion screen device through the communication channel by executing the one or more instructions, and the viewpoint of the displayed 360- Adjusts the viewpoint of the displayed 360 degree video content in response to the device orientation information so as to be rotated according to the orientation of the companion device and controls the display to display an area of the 360 degree video content corresponding to the adjusted viewpoint .
  • the device orientation information comprises a plurality of azimuth values measured by one or more sensors arranged to detect the orientation of the companion device, and the controller 410 is configured to perform the one or more instructions,
  • the plurality of azimuth values may be flattened to obtain data and the viewpoint rotation speed of the 360 degree video content may be determined based on the flattened azimuth data.
  • the client device 100 includes an audio processing unit for processing audio data, an audio output unit for outputting audio, an input / output unit for receiving video, audio, A tuner 140 for receiving a broadcast signal, a user's voice, a user's image, and a sensing unit for sensing the user's interaction.
  • a block diagram of the video display device 100 and the companion screen device 400 shown in FIG. 6 is a block diagram for an embodiment.
  • Each component of the block diagram may be integrated, added, or omitted according to the specifications of the video display device 100 actually implemented. That is, two or more constituent elements may be combined into one constituent element, or one constituent element may be constituted by two or more constituent elements, if necessary.
  • the functions performed in each block are intended to illustrate embodiments, and the specific operation or apparatus does not limit the scope of the present invention.
  • FIG. 7 is a flow diagram of an operation method for displaying 360 degree video content in a client device 100 in accordance with an embodiment.
  • the apparatus for performing the method includes a processing unit including one or more processors and a computer readable memory for storing computer program instructions for performing the respective methods when executed by the processing unit . ≪ / RTI >
  • the client device 100 may obtain a 360 degree video content event.
  • the 360 degree video content event may be obtained in various ways, for example by receiving user input to display 360 degree video content from a user or displaying 360 degree video content by setting information inside the client device 100 Timing may be reached or an external device containing 360-degree video content is connected and the client device 100 receives the 360-degree video content.
  • the client device 100 may display the 360-degree video content on the display when the 360-degree video content display event occurs. Alternatively, the client device may display 360 degree video content at any stage of the operations shown in FIG.
  • the client device 100 may identify a companion screen device having 360 degree control capability in accordance with a 360 degree video content event.
  • the client device 100 sends a discovery request signal to find a companion screen device having 360 degrees control capability, and receives an indication from the companion screen device that it has 360 degree control capability in response to this discovery request signal , And can identify a companion screen device with 360 degree control capability.
  • the client device 100 may identify one companion screen device 400 as shown in FIG.
  • the client device 100 can identify a plurality of companion screen devices 400 and select one or more of them, as shown in FIG.
  • the client device 100 may connect the communication channel with the identified companion screen device 400.
  • the client device 100 may control the display of the 360 degree video content according to the control command received from the connected companion screen device.
  • a 360 degree video may include a 360 degree field of view in both horizontal and vertical directions.
  • a portion of the 360 degree video content may be displayed on the client device 100, as shown in FIG.
  • the content displayed on the client device 100 may be changed by rotating the viewpoint so that a portion of the 360 degree video content displayed through the client device 100 may be changed.
  • the displayed portion of the 360 degree content may have a point in time from the given zoom level for the 360 degree video content.
  • the 360 degree video content can be controlled to change the zoom level of the viewpoint.
  • the 360 degree video content can be controlled by the companion screen device 400.
  • a portion of the 360 degree video content may be displayed on the client device 100 before a communication channel is established between the client device 100 and the companion screen device 400.
  • 360 degree content can be selected and controlled using television remote control before a communication channel is established between the client device 100 and the companion screen device 400.
  • a companion screen device 400 capable of controlling 360 degree content becomes available, a communication link can be established and operation S740 can be performed.
  • the method further comprises controlling the viewpoint of the displayed 360 degree video content in response to signaling received from the companion screen device 400 over the communication channel.
  • the signaling provided to the client device 100 from the companion screen device may include instructions regarding the viewpoint of the 360 degree video content.
  • the user may enter this command in the companion screen device 400.
  • the user interface may be displayed on the companion screen device 400.
  • the user interface can be configured so that the user can enter an instruction regarding viewpoint control of the 360 degree content.
  • the companion screen device 400 may be configured to provide the client device 100 with a command received over the user interface via signaling on the communication channel.
  • the control commands that can be input through the user interface will be described in detail with reference to Figs. 15 to 17.
  • Fig. The control command may be a navigation command to change the view of the 360 degree video content. Accordingly, the viewpoint of the 360-degree video content displayed on the client device 100 can be adjusted according to the navigation command.
  • the user interface may be displayed on the screen of the companion screen device, and the user may interact with the displayed user interface to enter commands for controlling the 360 degree content.
  • a companion screen device is a touch screen phone or tablet device, and a user can touch the screen of the companion screen device to enter commands.
  • the companion screen device 400 may display full-screen 360 degree content.
  • a user command that points to an area of the 360 degree content may be received via the companion screen device 400.
  • the viewpoint of the 360 degree video content can be controlled such that a portion of the 360 degree video content displayed on the client device 100 includes the indicated area.
  • the command regarding the viewpoint may correspond to the orientation of the companion screen device and the signaling that the client device 100 receives through the communication channel may include orientation information about the orientation of the companion screen device 400.
  • the viewpoint of the 360 degree video content can be adjusted in response to the received device orientation information so that the viewpoint of the 360 degree video content can be rotated based on the orientation of the companion screen device 400.
  • One or more sensors in the companion screen device 400 arranged to detect the orientation of the companion screen device 400 may measure a plurality of azimuth values.
  • a plurality of azimuth values may be smoothed at the client device 100 to obtain smoothed azimuth data and the rotational speed of the 360 degree video content view at the client device 100 may be determined based on the smoothed azimuth data.
  • FIG. 8 illustrates an example of an operation in which a client device 100 identifies a companion screen device 400 in accordance with one embodiment.
  • a 360 degree video content event may occur at the client device 100.
  • 360 degree video content events may include any type of operation that triggers playback of 360 degree video content.
  • the client device 100 may send a discovery request signal to search for a companion screen device capable of controlling 360 degrees of video content.
  • the companion screen device 400 may send a signal to the client device 100 that includes information indicating that it has 360 degrees control capability.
  • the client device 100 identifies the companion screen device 400 by receiving a signal containing information indicating that it has 360 degrees control capability from the companion screen device 400, thereby establishing a communication channel between the client device 100 and the companion screen device 400 Can be connected.
  • the companion screen device 400 may generate navigation information to control the 360 degree video content and send the generated navigation information to the client device 100 at operation 860.
  • the client device 100 may control the display of the 360 degree video content in accordance with the navigation information received from the companion screen device 400.
  • FIG. 9 illustrates an example of an operation in which a client device 100 identifies a plurality of companion screen devices 400 and selects one of them, in accordance with one embodiment.
  • a 360 degree video content event may occur at the client device 100.
  • 360 degree video content events may include any type of operation that triggers playback of 360 degree video content.
  • the client device 100 may send a discovery request signal to search for a companion screen device capable of controlling 360-degree video content in the vicinity of the client device 100.
  • the companion screen devices 400a and 400b may send a signal to the client device 100 that includes information indicating that it has 360 degree control capability.
  • the client device 100 may select at least one of a plurality of companion screen devices.
  • the client device 100 may select one or more than one of the plurality of companion screen devices.
  • client device 100 may connect the communication channel with companion screen device 400a.
  • the companion screen device 400a may generate navigation information to control the 360 degree video content and send the generated navigation information to the client device 100 at operation 945.
  • the client device 100 may control the display of 360 degree video content in accordance with navigation information received from the companion screen device 400a.
  • the device for performing the method comprises a processing unit comprising one or more processors, and a computer readable medium storing computer program instructions for performing the respective method steps when executed by the processing unit Lt; / RTI > memory.
  • the client device 100 may search for a companion screen device 400 capable of controlling 360 degree content. For example, the client device 100 may perform a search request to search a companion screen device 400 that may control 360 degrees of content. After locating the appropriate companion screen device 400, the client device may send a launch request. For example, an execution request may be sent from the client device 100 by the client application. The search and execution request may be sent over an IP network or may be transmitted via any suitable means for establishing a communication channel, for example.
  • the protocol for discovery of the companion screen device 400 may be any suitable protocol and may for example follow the protocol set by the manufacturer of the client device 100.
  • a client application suitable for sending a search and / or execution request may be, for example, an HbbTV application.
  • This specification defines an application programming interface (API) that an application can use to discover a companion screen device 400.
  • API application programming interface
  • the application used for discovery of the companion screen device 400 may be any suitable application.
  • the manufacturer of the client device 100 and / or the companion screen device 400 may define a protocol that provides the functionality needed to perform a search of the companion screen device 400.
  • the client device 100 may determine whether any companion screen device 400 with 360 degree content control capability is available.
  • the companion screen device 400 may include a launcher application.
  • the launcher application is configured to receive an execution request from the client device 100. These launcher applications may be as defined in HbbTV 2.0.1.
  • the launcher application of the client device 100 in response to receiving an execution request from the client device 100, the launcher application of the client device 100 may be configured to execute the control application in response to a request from the client device 100.
  • the launcher application may run an application store or website in response to a request from a client, and the user may provide a control program to control the 360 degree video content displayed on the client device 100 via this store or site You can download it.
  • the launcher application may be a known launcher application that may be modified to provide functionality to support control of 360 degree content.
  • the launcher application may be run in the background in the companion screen device 400 to receive a request from the client device 100.
  • the launcher application may notify the client device 100 that the companion screen device has 360 degree control capabilities.
  • the companion screen device may indicate that it has 360 degree control capability in any suitable manner, and this is not limited to the use of the launcher application.
  • An indication that the companion screen device 400 has 360 degrees control capability may be transmitted from the companion screen device 400 to the client device 100 via a communication channel (e.g., an IP network) through which an execution request from the client device 100 is sent.
  • a communication channel e.g., an IP network
  • the client device 100 may determine that an appropriate control application is available.
  • the client device 100 and the companion screen device 400 establish a communication channel between them and send control signaling information from the companion screen device 400 to the client device 100.
  • a client application running on client device 100 may establish app to app communication with a control application running on companion screen device 400. This app to app communication can be established via a web socket, for example.
  • the companion screen device 400 can signal availability using zero configuration networking.
  • the client device 100 may then discover the devices on the network and query their capabilities.
  • the capabilities of the devices can be found through the companion screen ID string.
  • the string In HbbTV, the string may be defined as a CS_OS_ID string.
  • This string may be extended to signal the client application that the application on the companion screen device 400 has 360 degrees control capability.
  • the string may be extended in a manner that is backward compatible with the previous version so as not to affect the client devices 100 that are not capable of displaying 360 degrees of content.
  • HbbTV CS OS ID string is:
  • launcher launcher_product [launcher_comment]
  • launcher_product launcher_name "/” launcher_version
  • launcher_comment WS "(" comment_body ”)"
  • comment_body comment 0 * (";" WS comment)
  • launcher_comment "(" 360_control_supported ”)"
  • operation S1006 If a single companion screen device 400 is available in accordance with the determination of operation S1002, the operation proceeds to operation S1006 to establish a communication channel between the single companion screen device 400 and the client device 100, and a single companion screen device 400 controls the 360- can do.
  • operation S1002 if the client device 100 does not determine that there is any available companion screen device 400 suitable for controlling the 360 degree content, the operation proceeds to operation S1002a. This may occur when the client device 100 fails to receive any indication that the 360 degree video content can be controlled from the companion screen device 400.
  • operation S1002a the 360 degree video content displayed on the client device 100 may be controlled by a conventional remote control device for controlling the client device 100.
  • the remote control device can be, for example, a remote controller if the client device 100 is a television.
  • operation S1002 when an indication capable of controlling the 360-degree video content is received from each of the plurality of companion screen devices 400, the operation proceeds to operation S1003.
  • the client device 100 can confirm the user configuration of the client device 100.
  • the operation S1003a proceeds to establish a communication channel between the client device 100 and each of the companion screen devices 400 indicating that the 360 degree control is possible.
  • the connection to the plurality of companion screen devices 400 may be used in a number of applications such as, for example, a gaming application.
  • companion screen devices 400 are available, all of them may not be in the same space as the client device 100. In this case, if the client device 100 automatically selects all available companion screen devices 400 and launches the launcher application on both of these devices, the user may be inconvenient. This is especially true when devices that are not in the same room are selected. Therefore, one option to solve this problem is to display on the client device 100 a pop-up that allows the user to select a specific device in operation S1003b of the method. According to the displayed pop-up, the user can select one specific companion screen device.
  • the client device 100 may be configured to automatically launch the launcher application from one of the plurality of companion screen devices 400, the companion screen device 400. This can be done in several ways.
  • the client device 100 may be configured to determine whether it is capable of checking proximity of the available companion screen device 400 itself. If the proximity check is possible, the operation S1004a is performed. At operation 1004a, the client device 100 may be configured to select the companion screen device 400 based on the proximity of the companion screen device 400 to the client device 100.
  • Proximity detection may be performed using, for example, a BLE beacon.
  • the client device 100 may automatically select the companion screen device 400 closest to the client device 100 physically.
  • the user may disable the proximity sensing selection of the companion screen device 400 via the user interface option on the client device 100. [ If the proximity detection selection is disabled as such, or if the proximity check can not be used for any other reason, then operation S1005 may be performed.
  • the client device 100 may select the companion screen device 400 based on the learning algorithm.
  • AI Artificial intelligence
  • AI is a computer system that implements human-level intelligence. Unlike existing Rule-based smart systems, AI is a system in which machines learn, judge and become smart. Artificial intelligence systems are increasingly recognized and improving their understanding of user preferences as they are used, and existing rule-based smart systems are gradually being replaced by deep-run-based artificial intelligence systems.
  • Artificial intelligence technology consists of element technologies that utilize deep learning and machine learning.
  • Machine learning is an algorithm technology that classifies / learns the characteristics of input data by itself.
  • Element technology is a technology that simulates functions such as recognition and judgment of human brain using machine learning algorithms such as deep learning. Understanding, reasoning / prediction, knowledge representation, and motion control.
  • the client device 100 can learn by using, for example, reasoning prediction among various fields to which artificial intelligence technology is applied. Inference prediction is a technique for judging and logically inferring and predicting information, including knowledge / probability based reasoning, optimization prediction, preference base planning, and recommendation.
  • the client device 100 can select the companion screen device in the current situation using the companion screen device selection process and results previously performed in the client device 100.
  • the client application When a client application first discovers a plurality of compatible launcher applications, the client application displays a pop-up to the user, through which the user can select the preferred companion screen device 400 to which he wants to connect. As time passes, the client device 100 learns the companion screen device 400 that is most connected to the client device 100, and establishes a communication channel with the most used companion screen device 400 among them. For example, the launcher application may be automatically started on the companion screen device 400, which is perceived to be the most frequently connected to the client device 100.
  • the client device 100 may store the IDs of all the companion screen devices 400 that have previously connected to the client device 100.
  • the client device 100 may record the time of this connection. If multiple devices are available, the client device 100 may select the companion screen device 400 based on a user profile that may be built over a period of time.
  • the client device 100 can prevent the content notification from being automatically transmitted to the user profile that is incompatible with the content. For example, the client device 100 may not select the user profile of the child when the 360 degree content related to the adult content is displayed on the client device 100.
  • the user profile of the companion screen device 400 provides relevant information to the client device 100 to prevent access to the client device 100 in the case of incompatible content.
  • Parental control may also be set on the companion screen device 400, for example, through the setting of the companion screen device 400.
  • the companion screen device 400 displays the parent control to the client device 100, and the companion screen device 400 may be selected based on information about the parent control.
  • a communication channel is established between the selected companion screen device 400 and the client device 100, so that the 360-degree video content displayed on the client device 100 can be controlled by the signaling received at the companion screen device 400.
  • FIG. 11 is a flow diagram illustrating operation in a companion screen device 400 for establishing a communication channel between a client device 100 and a companion screen device 400, according to one embodiment.
  • all steps of the method may be performed on the same device, or several steps may be performed on different devices. All of the steps shown in Fig. 11 may be performed with software or hardware according to a specific embodiment.
  • the apparatus for performing the method comprises a processing unit including one or more processors, and computer program instructions for executing each step of the method when executed by the processing unit, Readable < / RTI > memory.
  • the companion screen device 400 may initiate establishment of a communication channel between the client device 100 and the companion screen device 400.
  • an application running on the companion screen device 400 may launch a 360 degree video client on the client device 100.
  • a companion screen application can launch an HbbTV application.
  • a 360 degree video content event may occur in the companion screen device 400.
  • the companion screen device 400 is configured to search for client devices 100.
  • the companion screen device 400 may be configured to search for client devices 100 on the same IP network.
  • the companion screen device 400 can determine whether the client device 100 with the 360 degree support function is available. If a suitable client device 100 is not detected, the companion screen device 40 may display only its own display of 360 degree video content.
  • the companion screen device 400 may connect the communication channel with the identified client device.
  • the companion screen device 400 may use DIAL (Discovery and Launch) to discover the client device 100 and launch the 360 degree client application on the client device 100.
  • DIAL Discovery and Launch
  • the client device 100 may notify the companion screen device 400 that it has a 360 degree control function.
  • the companion screen device 400 may be configured to request launching of a client application on the client device 100.
  • the method can be extended as follows by extending the XML document returned from the URL resource.
  • xmlns "http://www.w3.org/2001/XMLSchema"
  • the user agent string can be extended to signal the 360 degree capability as follows.
  • the 360 degree function can be signaled in any suitable way.
  • the companion screen device 400 may enter the control mode.
  • the companion screen device 400 allows the client device 100 to display 360 degree content.
  • the companion screen device 400 may then send signaling to the client device 100 to control the viewpoint of the 360 degree video content displayed on the client device 100.
  • FIG. 12 illustrates an example of an operation in which a companion screen device 400 identifies a client device 100 in accordance with one embodiment.
  • a 360 degree video content event may occur in the companion screen device 400.
  • the 360 degree video content event may include any type of operation that triggers playback of the 360 degree video content.
  • the client device 100 may send a discovery request signal to search for a client device capable of displaying 360 degrees of video content.
  • the client device 100 may send a signal to the companion screen device 400 that includes information indicating that it has 360 degree display capability.
  • the companion screen device 400 identifies the client device 100 by receiving a signal containing information indicating that it has 360 degrees control capability from the client device 100, thereby causing a communication channel between the client device 100 and the companion screen device 400 You can connect.
  • client device 100 may display 360 degree video content.
  • the client device 100 may obtain 360 degree video content in a variety of ways.
  • the client device 100 may receive 360-degree video content directly from the server or via the companion screen device 400.
  • the companion screen device 400 may generate navigation information to control the 360 degree video content and send the generated navigation information to the client device 100 at operation 1270.
  • the client device 100 may control the display of the 360 degree video content in accordance with navigation information received from the companion screen device 400.
  • FIG. 13 is a schematic diagram of a client device 100a and a companion screen device 400a in accordance with one embodiment.
  • the 360 degree video content 1310 may be provided to a client device 100a such as a TV.
  • Content 1310 may be uploaded to server 1320 for transmission over a broadband or broadcast network.
  • Content 1310 may be provided to client device 100a running a client application.
  • the client device 100a may cause the companion screen device 400a to launch the control application according to the method described above with respect to FIG.
  • the companion screen device 400a may receive a user command to control the viewpoint of the 360 degree video content 1310 displayed on the client device 100a.
  • the companion screen device 400a may include an input 24, such as a touch screen, through which a user command may be input.
  • the input unit 24 may also include buttons to which commands can be input.
  • the user command may include instructions that are described in detail with reference to Figures 15-17.
  • Companion screen device 400a may include computer program code that may be stored in memory 21b, such as a processing unit 21 including a processor 21a, and a non-volatile computer readable memory. When executed by the processor 21a, the computer program code stored on the memory 21b may cause the apparatus to perform the steps of the method described with reference to Figures 11-12.
  • Client device 100a may include computer program code that may be stored in memory 11b, such as a processing unit 11 including processor 11a, and a non-volatile computer readable memory. When executed by the processor 11a, the computer program code stored in the memory 11b may cause the apparatus to perform the steps of the method described with reference to Figures 7-10.
  • the companion screen device 400a may include sensors 22 for measuring the orientation of the companion screen device.
  • the companion screen device 400 may include a communication interface 23 for transmitting and receiving signaling with the client device 100a.
  • the client device 100a may include a communication interface 13 for transmitting and receiving signaling with the companion screen device 400a.
  • FIG. 14 is a schematic diagram of a client device 100a and a companion screen device 400a in accordance with one embodiment.
  • the 360 degree content 1310 is provided to a companion screen device 400a, such as a mobile phone.
  • Content 1310 may be provided to the companion screen device 400a from the server 1320 via a broadband or broadcast network.
  • the companion screen device 400a may cause the client device 100a to execute a 360 degree application program.
  • the user may provide a command through the companion screen device 400a to control the viewpoint of the 360 degree content 1310 displayed on the client device 100a.
  • the companion screen device 400a may include an input 24, such as a screen, on which a user command may be entered.
  • the input unit 24 may also include buttons to which commands can be input.
  • the user command may include instructions as described in detail with reference to Figures 15-17.
  • Companion screen device 400a may include computer program code that may be stored in memory 21b, such as a processing unit 21 including processor 21a and a non-volatile computer readable memory. When executed by the processor 21a, the computer program code stored in the memory 21b may cause the apparatus to perform the steps of the method described with reference to Figures 11-12.
  • the companion screen device 400a may include a sensor 22 for measuring the orientation of the companion screen device.
  • the companion screen device 400a may include a communication interface 23 for transmitting and receiving signaling with the client device 100.
  • Client device 100a may include computer program code that may be stored in memory 11b, such as a processing unit 11 including processor 11a and a non-volatile computer readable memory. When executed by the processor 11a, the computer program code stored in the memory 11b may cause the apparatus to perform the steps of the method described with reference to Figures 7-10.
  • the client device 100a may include a communication interface 13 for transmitting and receiving signaling with the companion screen device 400a.
  • 15 is a schematic diagram of control operations that may be performed on a companion screen device 400 in accordance with one embodiment.
  • the companion screen device 400 may display a user interface 1510.
  • the user interface 1510 includes icons corresponding to search commands that the user can select.
  • the user interface 1510 may include a direction arrow 1511 that allows the user to scroll around the content.
  • the user can navigate horizontally and / or vertically with respect to the content using direction arrow 1511.
  • the viewpoint of the 360 degree video content can be adjusted according to the navigation command. For example, if the user selects the left arrow, the view of the 360 degree content may be rotated to the left.
  • the user interface 1510 may also include a zoom indicator 1512 for adjusting the zoom level of the content. Therefore, the user can view part of the content at a specific magnification.
  • the content viewing window of the client device 100 can be kept constant so that, for example, if the viewing window of the client device 100 is the entire screen of the client device 100, the angular extent of the content being viewed is changed in accordance with the zoom factor. have. However, if the viewing window of the client device 100 is smaller than the full screen of the client device 100, the size of the viewing window may vary depending on the zoom level such that the angular extent of the content remains constant.
  • the user interface 1510 also allows the user to select a different zoom mode (i.e., a different wide-angle rendering mode).
  • Fig. 18 shows another example of wide-angle rendering that the user can select.
  • the 360-degree video content may also be displayed on the companion screen device 400.
  • a user selectable navigation command may be sent to the client device 100 via signaling.
  • a navigation command may be sent over a web socket to a client application running on the client device 100.
  • the viewpoint of the 360 degree video content may be adjusted in accordance with the navigation command.
  • 16 is a schematic diagram of control operations that may be performed in companion screen device 400 in accordance with one embodiment.
  • the companion screen device 400 may be configured to transmit orientation information to the client device 100 through signaling.
  • the companion screen device 400 may be rotated about x and / or y and / or z axes.
  • the companion screen device 400 may include at least one sensor configured to detect a change in orientation or orientation of the device.
  • the companion screen device 400 may then send a value corresponding to the orientation of the device to the client device 100.
  • the X, Y, and Z rotation vectors may be read from the sensor of the companion screen device 400.
  • the azimuth value may be sent to the client application via the web socket.
  • the client device 100 may rotate the viewpoint of the 360-degree video content in response to receiving the device orientation information of the companion screen device 400, such that the viewpoint of the 360- .
  • the client device 100 may interpret the received location data in a manner that is most appropriate for providing the user with an enhanced experience. For example, a client device may jump rapidly to its positions when it receives absolute positions defined by the companion screen device 400, but this may result in a "sudden" user experience .
  • the client application may apply some smoothing logic to smoothly transition the 360 navigation from the companion screen device 400 to the final position received at a constant rate. For example, smoothed azimuth data can be obtained by smoothing the azimuth value. Smoothing may involve changing the value to have an even spacing over the range of values received.
  • the rotational speed at the time of the 360 degree video content can be determined based on the flattened azimuth data.
  • 17 is a schematic diagram of control operations that may be performed on companion screen device 400 in accordance with one embodiment.
  • the companion screen device 400 may be configured to display 360-degree video content synchronized with the content displayed on the client device 100.
  • the companion screen device 400 may mirror the video content displayed on the client device 100 to the screen device 400.
  • Various mirroring technologies may include, for example, screen mirroring, Digital Living Network Alliance (DLNA), Bluetooth, Miracast, WiFi Direct, DMR (Digital Mobile Radio)
  • the entire 360 degree content 30 may be rendered full-screen on the companion screen device 400 so that the user can view the entire frame of video through the screen of the companion screen device 400. [ That is, the full view of the 360 degree content can be viewed on the companion screen device 400.
  • the user may point to the video area on the screen of the companion screen device 400.
  • the client device 100 is configured to control the view of the 360 degree video so that a portion of the 360 degree video displayed on the client device 100 includes the indicated area .
  • the user may zoom in or out in response to a received indication on the screen when the companion screen device 400 displays the full view.
  • a user may use two fingers to pull, stretch, or tap the screen to zoom in or out the content displayed on the client device 100.
  • a 360-degree image is displayed on the client device 100 and the companion screen device 400 using the mirroring technique, and the client device 100 displays the image 450 corresponding to a certain region of the 360-degree image ,
  • the companion screen device 400 displays a wider range of 360 degree images so that the user can view a wider range of areas from the images displayed on the companion screen device 400 and use them to more easily view the 360 degree image Can be controlled.
  • FIG. 18 illustrates a different wide-angle mode that may be selected to render 360 degree video content in client device 100 in accordance with one embodiment.
  • the wide-angle rendering mode that may be selected in the companion screen device 400 includes a fisheye stereo, as shown in 1800a, a fisheye equisolid as shown in 1800b, a fisheye equidistant as shown in 1800c, But are not limited to, the illustrated fisheye orthographic.
  • the method of operation of the client device and the companion screen device may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination.
  • the program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software.
  • Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

According to the embodiments, a client device, a companion screen device, and an operation method therefor are disclosed. The disclosed client device comprises: a communication interface; a display; a memory for storing one or more instructions; and a processor for executing the one or more instructions that are stored in the memory, wherein the processor controls the display so as to display at least a part of 360-degree video content by executing the one or more instructions, identifies a companion screen device that has a 360-degree control capability for the 360-degree video content, controls the communication interface so as to connect the identified companion screen device with a communication channel, and controls the display so as to control display of the 360-degree video content according to a control command that is received from the connected companion screen device.

Description

클라이언트 디바이스, 컴패니언 스크린 디바이스 및 그 동작방법Client devices, companion screen devices and how they work
다양한 실시예들은 클라이언트 디바이스, 컴패니언 스크린 디바이스 및 그 동작방법에 관한 것으로서, 더욱 상세하게는 360도 비디오 컨텐츠의 제어를 위한 클라이언트 디바이스, 컴패니언 스크린 디바이스 및 그 동작방법에 관한 것이다.Various embodiments relate to a client device, a companion screen device and a method of operation thereof, and more particularly to a client device, a companion screen device and a method of operation thereof for controlling 360-degree video content.
영상표시장치는 사용자가 시청할 수 있는 영상을 표시하는 기능을 갖춘 장치이다. 사용자는 영상표시장치를 통하여 방송을 시청할 수 있다. 영상표시장치는 방송국에서 송출되는 방송신호 중 사용자가 선택한 방송을 디스플레이에 표시한다. 현재 방송은 전세계적으로 아날로그 방송에서 디지털 방송으로 전환하고 있는 추세이다. A video display device is a device having a function of displaying an image that a user can view. The user can view the broadcast through the video display device. A video display device displays a broadcast selected by a user among broadcast signals transmitted from a broadcast station on a display. Currently, broadcasting is changing from analog broadcasting to digital broadcasting around the world.
디지털 방송 기능에 더하여 다양한 컨텐츠를 제공하는 스마트 티브이가 제공되고 있다. 스마트 티브이는 사용자의 선택에 따라 수동적으로 동작하는 것이 아니라, 사용자의 조작 없이도 사용자가 원하는 것을 분석하여 제공하는 것을 목표로 한다. In addition to the digital broadcasting function, a smart TV providing various contents is provided. The smart TV aims at analyzing and providing what the user desires without user's operation, rather than manually operating according to the user's selection.
360도 영상은 전방향 카메라 또는 복수의 카메라 셋을 이용하여 모든 방향으로의 뷰가 동시에 기록된 영상을 말한다. 360도 영상의 재생 동안 사용자는 뷰의 방향을 제어할 수 있다.        A 360-degree image is an image in which views in all directions are simultaneously recorded using an omnidirectional camera or a plurality of camera sets. During playback of a 360 degree image, the user can control the orientation of the view.
최근의 사용자들은 다양한 스마트 기기 즉, 스마트 폰 이나 태블릿, PC 등을 통해 360도 영상을 경험하고 있으며, 또한 360도 영상을 재생할 수 있는 스마트 티브이도 개발되고 있다. Recently, users are experiencing 360-degree images through various smart devices, such as smartphones, tablets, and PCs, and smart TVs capable of playing 360-degree images are also being developed.
다양한 실시예들은, 360도 비디오 컨텐츠의 제어를 보다 편리하고 효과적으로 제공할 수 있는 클라이언트 디바이스, 컴패니언 스크린 디바이스 및 그 동작 방법을 제공하고자 한다.Various embodiments are directed to a client device, a companion screen device, and a method of operating the same that are capable of providing control of 360 degree video content more conveniently and effectively.
다양한 실시예들은, 360도 비디오 컨텐츠의 재생시 클라이언트 디바이스는 360도 비디오 컨텐츠의 제어를 수행할 수 있는 컴패니언 스크린 디바이스를 찾아서 연결하고, 컴패니언 스크린 디바이스는 360도 비디오 컨텐츠의 표시를 수행할 수 있는 클라이언트 디바이스를 찾아서 연결함으로써 360도 비디오 컨텐츠의 제어를 보다 편리하고 효과적으로 제공할 수 있다.      In various embodiments, a client device upon browsing 360-degree video content locates and connects to a companion screen device capable of performing control of 360-degree video content, and the companion screen device includes a client capable of performing display of 360- By finding and connecting devices, 360-degree video content can be controlled more conveniently and effectively.
실시예들에 따라 360도 비디오 컨텐츠의 제어를 보다 편리하고 효율적으로 할 수 있다.The embodiments of the present invention can control the 360 degree video content more conveniently and efficiently.
도 1은 일 실시예에 따른 360도 영상을 표시하는 클라이언트 디바이스 100 및 제어 장치를 나타내는 도면이다.      1 is a block diagram illustrating a client device 100 and a control apparatus for displaying a 360-degree image according to an exemplary embodiment of the present invention.
도 2는 360도 영상의 화각을 설명하기 위한 도면이다.       2 is a view for explaining an angle of view of a 360-degree image.
도 3은 일 예에 따라 360도 영상을 표시하는 방법을 나타내는 도면이다.       3 is a diagram illustrating a method of displaying a 360-degree image according to an example.
도 4는 일 실시예에 따라 클라이언트 디바이스와 컴패니언 스크린 디바이스를 나타낸다.       4 illustrates a client device and a companion screen device in accordance with one embodiment.
도 5는 일 실시예에 따라 클라이언트 디바이스와 복수의 컴패니언 스크린 디바이스를 나타낸다.        5 illustrates a client device and a plurality of companion screen devices in accordance with one embodiment.
도 6은 일 실시예에 따라 클라이언트 디바이스 100와 컴패니언 스크린 디바이스 400의 개략적인 블록도이다.        6 is a schematic block diagram of a client device 100 and a companion screen device 400 in accordance with one embodiment.
도 7은 일 실시예에 따라 클라이언트 디바이스 100에서 360도 비디오 컨텐츠를 표시하는 동작 방법의 흐름도이다.        7 is a flow diagram of an operation method for displaying 360 degree video content in a client device 100 in accordance with an embodiment.
도 8은 일 실시예에 따라 클라이언트 디바이스 100가 컴패니언 스크린 디바이스 400를 식별하는 동작의 일 예를 나타낸다.        8 illustrates an example of an operation in which a client device 100 identifies a companion screen device 400 in accordance with one embodiment.
도 9는 일 실시예에 따라 클라이언트 디바이스 100가 복수의 컴패니언 스크린 디바이스 400를 식별하고 이중 하나를 선택하는 동작의 일 예를 나타낸다.        9 illustrates an example of an operation in which a client device 100 identifies a plurality of companion screen devices 400 and selects one of them, in accordance with one embodiment.
도 10은 일 실시예에 따라 클라이언트 디바이스 100와 컴패니언 스크린 디바이스400 사이 통신 채널을 확립하는 단계를 상세히 설명하는 흐름도이다.        10 is a flow chart detailing the steps of establishing a communication channel between a client device 100 and a companion screen device 400 in accordance with one embodiment.
도 11은 일 실시예에 따라, 클라이언트 디바이스 100 와 컴패니언 스크린 디바이스400 사이에 통신 채널을 확립하기 위한, 컴패니언 스크린 디바이스 400에서의 동작을 설명하는 흐름도이다.        11 is a flow diagram illustrating operation in a companion screen device 400 for establishing a communication channel between a client device 100 and a companion screen device 400, according to one embodiment.
도 12는 일 실시예에 따라 컴패니언 스크린 디바이스 400가 클라이언트 디바이스 100를 식별하는 동작의 일 예를 나타낸다.        12 illustrates an example of an operation in which a companion screen device 400 identifies a client device 100 in accordance with one embodiment.
도 13은 일 실시예에 따라 클라이언트 디바이스 100a와 컴패니언 스크린 디바이스 400a의 개략도이다.        13 is a schematic diagram of a client device 100a and a companion screen device 400a in accordance with one embodiment.
도 14는 일 실시예에 따라 클라이언트 디바이스 100a 및 컴패니언 스크린 디바이스 400a의 개략도이다.        14 is a schematic diagram of a client device 100a and a companion screen device 400a in accordance with one embodiment.
도 15는 일 실시예에 따라 컴패니언 스크린 디바이스 400에서 수행될 수 있는 제어 동작의 개략도이다.        15 is a schematic diagram of control operations that may be performed on a companion screen device 400 in accordance with one embodiment.
도 16은 일 실시예에 따라 컴패니언 스크린 디바이스 400에서 수행될 수 있는 제어 동작의 개략도이다.        16 is a schematic diagram of control operations that may be performed in companion screen device 400 in accordance with one embodiment.
도 17은 일 실시예에 따라 컴패니언 스크린 디바이스 400에서 수행될 수 있는 제어 동작의 개략도이다.        17 is a schematic diagram of control operations that may be performed on companion screen device 400 in accordance with one embodiment.
도 18은 일 실시예에 따라 클라이언트 디바이스 100 에서 360도 비디오 콘텐츠를 렌더링하기 위해 선택될 수 있는 상이한 광각 모드를 도시한다.        18 illustrates a different wide-angle mode that may be selected to render 360 degree video content in client device 100 in accordance with one embodiment.
일 실시예에 따른 클라이언트 디바이스는, 통신 인터페이스; 디스플레이; 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 360도 비디오 컨텐츠의 적어도 일부를 표시하도록 상기 디스플레이를 제어하고, 상기 360도 비디오 컨텐츠의 360도 제어 능력을 가지는 컴패니언 스크린 디바이스를 식별하고, 상기 식별된 컴패니언 스크린 디바이스와 통신 채널을 연결하도록 상기 통신 인터페이스를 제어하고, 상기 연결된 컴패니언 스크린 디바이스로부터 수신한 제어 명령에 따라 상기 360도 비디오 컨텐츠의 표시를 제어하도록 상기 디스플레이를 제어한다. A client device according to an embodiment includes: a communication interface; display; A memory for storing one or more instructions; And a processor executing the one or more instructions stored in the memory, wherein the processor controls the display to display at least a portion of the 360 degree video content by executing the one or more instructions, And a controller for controlling the communication interface to connect the communication channel with the identified companion screen device and to control the communication interface according to a control command received from the connected companion screen device, Lt; RTI ID = 0.0 > the < / RTI >
일 실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 식별된 컴패니언 스크린 디바이스로 상기 360도 비디오 컨텐츠의 표시의 제어 동작을 수행하는 어플리케이션을 실행하도록 요청할 수 있다.        In accordance with one embodiment, a processor may request to execute an application that performs control operations of displaying the 360 degree video content to the identified companion screen device by executing the one or more instructions.
일 실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 컴패니언 스크린 디바이스의 발견을 위한 요청 신호를 전송하고, 상기 컴패니언 스크린 디바이스로부터 상기 컴패니언 스크린 디바이스가 상기 360도 제어 능력을 가짐을 나타내는 정보를 포함하는 신호를 수신함으로써 상기 컴패니언 스크린 디바이스를 식별할 수 있다.        According to one embodiment, the processor is configured to send a request signal for discovery of the companion screen device by executing the one or more instructions, and to receive information indicating that the companion screen device has the 360 degree control capability from the companion screen device Lt; RTI ID = 0.0 > a < / RTI > companion screen device.
일 실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 360도 제어 능력을 가짐을 나타내는 정보를 포함하는 신호를 복수의 컴패니언 스크린 디바이스로부터 수신하고, 상기 복수의 컴패니언 스크린 디바이스 중 적어도 하나를 선택하고, 상기 선택된 적어도 하나의 컴패니언 스크린 디바이스와 연결하도록 상기 통신 인터페이스를 제어할 수 있다.        According to one embodiment, the processor is further configured to: receive a signal from a plurality of companion screen devices comprising information indicating that the 360 degree control capability is by executing the at least one instruction, And control the communication interface to connect with the selected at least one companion screen device.
일 실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 컴패니언 스크린 디바이스와 연관된 사용자 프로파일에 기초하여 상기 복수의 컴패니언 스크린 디바이스 중 적어도 하나를 선택할 수 있다.        In accordance with one embodiment, a processor may select at least one of the plurality of companion screen devices based on a user profile associated with the companion screen device by executing the one or more instructions.
일 실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 클라이언트 디바이스와 상기 컴패니언 스크린 디바이스와의 근접도에 기초하여 상기 복수의 컴패니언 스크린 디바이스 중 적어도 하나를 선택할 수 있다.        According to one embodiment, the processor may select at least one of the plurality of companion screen devices based on the proximity of the client device and the companion screen device by executing the one or more instructions.
일 실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 학습 알고리즘에 기초하여 상기 복수의 컴패니언 스크린 디바이스 중 적어도 하나를 선택할 수 있다.        According to one embodiment, a processor may select at least one of the plurality of companion screen devices based on a learning algorithm by executing the one or more instructions.
일 실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 컴패니언 스크린 디바이스의 방위(orientation)에 관한 디바이스 방위 정보를 상기 통신 채널을 통해 수신하고, 상기 디스플레이된 360도 비디오 컨텐츠의 시점이 상기 컴패니언 디바이스의 방위에 따라 회전되도록, 상기 디스플레이된 360도 비디오 컨텐츠의 시점을 상기 디바이스 방위 정보에 응답하여 조정하고, 상기 조정된 시점에 대응하는 360도 비디오 컨텐츠의 영역을 표시하도록 상기 디스플레이를 제어할 수 있다.        According to one embodiment, a processor is configured to receive device orientation information regarding the orientation of the companion screen device over the communication channel by executing the one or more instructions, and wherein the viewpoint of the displayed 360- Adjusts the viewpoint of the displayed 360 degree video content in response to the device orientation information so as to be rotated according to the orientation of the companion device and controls the display to display an area of the 360 degree video content corresponding to the adjusted viewpoint .
일 실시예에 따라 프로세서는, 상기 디바이스 방위 정보는 상기 컴패니언 디바이스의 방위를 검출하도록 배치된 하나 이상의 센서에 의해 측정된 복수의 방위값을 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 평탄화된 방위 데이터를 획득하기 위하여 상기 복수의 방위값을 평탄화하고, 상기 평탄화된 방위 데이터에 기초하여 상기 360도 비디오 콘텐츠의 시점 회전 속도를 결정할 수 있다.        According to one embodiment, the processor is further configured such that the device orientation information comprises a plurality of azimuth values measured by one or more sensors arranged to detect the orientation of the companion device, and wherein the processor, by executing the one or more instructions, The plurality of azimuth values may be flattened to obtain flattened azimuth data and the viewpoint rotation speed of the 360 degree video content may be determined based on the flattened azimuth data.
일 실시예에 따른 컴패니언 스크린 디바이스는, 통신 인터페이스; 디스플레이; 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 360도 비디오 컨텐츠의 표시 능력을 가지는 클라이언트 디바이스를 식별하고, 상기 식별된 클라이언트 디바이스와 통신 채널을 연결하도록 상기 통신 인터페이스를 제어하고, 상기 연결된 클라이언트 디바이스에 표시되는 상기 360도 비디오 컨텐츠의 표시를 제어하는 제어 명령을 상기 클라이언트 디바이스로 전송하도록 상기 통신 인터페이스를 제어한다.        A companion screen device according to one embodiment includes a communication interface; display; A memory for storing one or more instructions; And a processor executing the one or more instructions stored in the memory, wherein the processor identifies a client device having the ability to display the 360-degree video content by executing the one or more instructions, And controls the communication interface to transmit a control command to the client device to control the display of the 360-degree video content displayed on the connected client device.
일 실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 클라이언트 디바이스로부터 상기 클라이언트 디바이스가 상기 360도 비디오 컨텐츠의 표시 능력을 가짐을 나타내는 정보를 포함하는 신호를 수신함으로써 상기 클라이언트 디바이스를 식별할 수 있다.        According to one embodiment, the processor identifies the client device by receiving a signal from the client device that includes information indicating that the client device has display capability of the 360-degree video content by executing the one or more instructions .
일 실시예에 따라 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 컴패니언 스크린 디바이스의 방위(orientation)를 검출하고, 상기 클라이언트 디바이스에 디스플레이된 360도 비디오 컨텐츠의 시점이 상기 컴패니언 스크린 디바이스의 방위에 따라 회전되도록, 상기 컴패니언 스크린 디바이스의 방위에 관한 디바이스 방위 정보를 상기 통신 채널을 통해 상기 클라이언트 디바이스로 전송할 수 있다.        According to one embodiment, a processor is configured to detect an orientation of the companion screen device by executing the one or more instructions, and to cause the viewpoint of 360 degree video content displayed on the client device to be displayed in accordance with the orientation of the companion screen device Device orientation information regarding the orientation of the companion screen device to the client device over the communication channel so as to be rotated.
일 실시예에 따른 클라이언트 디바이스의 동작 방법은, 360도 비디오 컨텐츠의 적어도 일부를 표시하는 동작, 상기 360도 비디오 컨텐츠의 360도 제어 능력을 가지는 컴패니언 스크린 디바이스를 식별하는 동작, 상기 식별된 컴패니언 스크린 디바이스와 통신 채널을 연결하는 동작, 및 상기 연결된 컴패니언 스크린 디바이스로부터 수신한 제어 명령에 따라 상기 360도 비디오 컨텐츠의 표시를 제어하는 동작을 포함한다.        A method of operating a client device in accordance with an embodiment includes: displaying at least a portion of a 360 degree video content; identifying a companion screen device having 360 degree control capability of the 360 degree video content; And controlling the display of the 360-degree video content according to a control command received from the connected companion screen device.
일 실시예에 따른 클라이언트 스크린 디바이스의 동작 방법은, 360도 비디오 컨텐츠의 표시 능력을 가지는 클라이언트 디바이스를 식별하는 동작, 상기 식별된 클라이언트 디바이스와 통신 채널을 연결하는 동작, 상기 연결된 클라이언트 디바이스에 표시되는 상기 360도 비디오 컨텐츠의 표시를 제어하는 제어 명령을 상기 클라이언트 디바이스로 전송하는 동작을 포함한다.        A method of operating a client screen device in accordance with an embodiment includes: identifying a client device having display capability of 360-degree video content; connecting a communication channel with the identified client device; And transmitting a control command to the client device to control display of the 360-degree video content.
일 실시예에 따른 클라이언트 디바이스의 동작 방법을 수행하는 하나 이상의 프로그램이 기록된 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품에 있어서, 상기 클라이언트 디바이스의 동작 방법은, 360도 비디오 컨텐츠의 적어도 일부를 표시하는 동작, 상기 360도 비디오 컨텐츠의 360도 제어 능력을 가지는 컴패니언 스크린 디바이스를 식별하는 동작, 상기 식별된 컴패니언 스크린 디바이스와 통신 채널을 연결하는 동작, 및 상기 연결된 컴패니언 스크린 디바이스로부터 수신한 제어 명령에 따라 상기 360도 비디오 컨텐츠의 표시를 제어하는 동작을 포함한다.       A computer program product comprising a computer readable medium having recorded thereon one or more programs for performing a method of operating a client device according to an embodiment, the method of operating the client device comprising: displaying at least a portion of 360 degree video content Identifying a companion screen device having a 360 degree control capability of the 360 degree video content, associating a communication channel with the identified companion screen device, and a control command received from the connected companion screen device, And controlling the display of the 360 degree video content.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.        The terms used in this specification will be briefly described and the present invention will be described in detail.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.        While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. Also, in certain cases, there may be a term selected arbitrarily by the applicant, in which case the meaning thereof will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term, not on the name of a simple term, but on the entire contents of the present invention.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.       When an element is referred to as " including " an element throughout the specification, it is to be understood that the element may include other elements as well, without departing from the spirit or scope of the present invention. Also, the terms " part, " " module, " and the like described in the specification mean units for processing at least one function or operation, which may be implemented in hardware or software or a combination of hardware and software .
아래에서는 첨부한 도면을 참고하여 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형식으로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.       Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.
본 명세서의 실시예에서 "사용자"라는 용어는 제어 장치를 이용하여 영상 표시 장치의 기능 또는 동작을 제어하는 사람을 의미하며, 시청자, 관리자 또는 설치 기사를 포함할 수 있다.       The term " user " in the present description means a person who controls the function or operation of the image display device using the control device, and may include a viewer, an administrator, or a installer.
도 1은 일 실시예에 따른 360도 영상을 표시하는 클라이언트 디바이스 100 및 제어 장치를 나타내는 도면이다.       1 is a block diagram illustrating a client device 100 and a control apparatus for displaying a 360-degree image according to an exemplary embodiment of the present invention.
도 1을 참조하면, 일 실시예에 따른 클라이언트 디바이스100는 360도 영상을 표시할 수 있다. 일 실시예에 따른 360도 영상은, 360도의 화각(angle of view)을 가지는 영상일 수 있다. 360도 영상은 정지 영상, 동영상, 또는 파노라마 영상일 수 있다. 예를 들어, 360도 영상은 적어도 하나의 카메라를 이용하여 360도 방향으로 촬영된 복수의 영상들에 기초하여, 생성된 영상일 수 있다. 이때, 촬영된 복수의 영상들은 구(sphere)에 맵핑될 수 있으며, 맵핑된 영상들의 접점들이 연결(스티칭(stitching))되어, 구(sphere) 형식의 360도 영상이 생성될 수 있다. 또한, 구(sphere) 형식의 360도 영상은, 다른 디바이스로 전송하거나 저장하기 위해 도 1에 도시된 바와 같이, 평면 형식의 360도 영상 10으로 변환될 수 있다.       Referring to FIG. 1, a client device 100 according to an exemplary embodiment may display a 360-degree image. A 360 degree image according to one embodiment may be an image having an angle of view of 360 degrees. The 360 degree image may be a still image, a moving image, or a panorama image. For example, a 360 degree image may be a generated image based on a plurality of images taken in 360 degrees direction using at least one camera. At this time, the photographed images can be mapped to sphere, and the contacts of the mapped images are connected (stitched), so that a sphere-type 360-degree image can be generated. Further, a 360-degree image in the form of a sphere can be converted to a 360-degree image 10 in a planar form, as shown in FIG. 1, for transmission or storage to other devices.
일 실시예에 따른 클라이언트 디바이스 100는 평면 형식의 360도 영상10에 그래픽 처리를 하여, 평면 형식의 360도 영상 10을 구 형식의 360도 영상 20으로 변환할 수 있다. 클라이언트 디바이스 100는 변환된 구 형식의 360도 영상 중 어떤 시점, 예를 들어 어떤 화각에 대응하는 일부 영역30을 선택하고, 선택된 영역 30에 대응하는 영상을 디스플레이부에 표시할 수 있다. 이때, 클라이언트 디바이스 100는 선택된 영역30에 대응하는 영상을 디스플레이의 해상도에 따라 스케일링하여 표시할 수 있다. 360도 영상의 화각에 대한 상세한 설명은 도 2를 참조하여 후술하기로 한다.        The client device 100 according to an exemplary embodiment may perform graphic processing on a 360-degree image 10 in a plane format, and convert a 360-degree image 10 in a plane format to a 360-degree image 20 in a spherical format. The client device 100 can select a partial area 30 corresponding to a certain view point, for example, a certain angle of view, of the transformed spherical 360-degree image, and display the image corresponding to the selected area 30 on the display unit. At this time, the client device 100 can display an image corresponding to the selected region 30 according to the resolution of the display and display the image. A detailed description of the angle of view of the 360-degree image will be given later with reference to FIG.
한편, 일 실시예에 따른 클라이언트 디바이스100는 TV일 수 있으나, 이는 일 실시예에 불과하며, 디스플레이를 포함하는 전자 장치로 구현될 수 있다. 예를 들어, 클라이언트 디바이스100는 휴대폰, 태블릿 PC, 디지털 카메라, 캠코더, 노트북 컴퓨터(laptop computer), 태블릿 PC, 데스크탑, 전자책 단말기, 디지털 방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 착용형 기기(wearable device) 등과 같은 다양한 전자 장치로 구현될 수 있다. 특히, 실시예들은 TV와 같이 디스플레이가 대형인 디스플레이 장치에서 용이하게 구현될 수 있으나, 이에 한정되는 것은 아니다. 또한, 영상 표시 장치100는 고정형 또는 이동형일 수 있으며, 디지털 방송 수신이 가능한 디지털 방송 수신기일 수 있다.       On the other hand, the client device 100 according to one embodiment may be a TV, but this is merely an example and may be implemented in an electronic device including a display. For example, the client device 100 may be a mobile phone, a tablet PC, a digital camera, a camcorder, a laptop computer, a tablet PC, a desktop, an electronic book terminal, a digital broadcast terminal, a PDA (Personal Digital Assistants) ), Navigation, MP3 players, wearable devices, and the like. In particular, the embodiments can be easily implemented in a display device having a large display such as a TV, but the present invention is not limited thereto. In addition, the video display device 100 may be a fixed or mobile type, and may be a digital broadcasting receiver capable of receiving digital broadcasting.
한편, 클라이언트 디바이스100는 제어 장치50에 의해 제어될 수 있으며, 제어 장치50는 리모컨 또는 휴대폰과 같이 영상 표시 장치100를 제어하기 위한 다양한 형태의 장치로 구현될 수 있다.        Meanwhile, the client device 100 may be controlled by the control device 50, and the control device 50 may be implemented by various devices for controlling the video display device 100, such as a remote control or a mobile phone.
또한, 제어 장치 50는 적외선(infrared) 또는 블루투스(bluetooth)를 포함하는 근거리 통신을 이용하여 영상 표시 장치 100를 제어할 수 있다. 제어 장치 50는 구비된 키(버튼을 포함), 터치 패드(touchpad), 사용자의 음성의 수신이 가능한 마이크(도시되지 아니함), 및 제어 장치 50의 모션 인식이 가능한 센서(도시되지 아니함) 중 적어도 하나를 이용하여 영상 표시 장치 100의 기능을 제어할 수 있다.       In addition, the controller 50 may control the image display apparatus 100 using a short distance communication including infrared or bluetooth. The control device 50 includes at least one of a key (including a button), a touch pad, a microphone (not shown) capable of receiving a user's voice, and a sensor (not shown) It is possible to control the function of the image display apparatus 100 by using one.
일 실시예에 따른 제어 장치50는 4방향 키(또는, 4방향 버튼)를 포함할 수 있다. 4방향 키는 360도 영상 내에서 디스플레이부에 표시되는 일부 영역30의 위치를 이동시키는 데 이용될 수 있다.        The control device 50 according to one embodiment may include a four direction key (or a four direction button). The four-way key can be used to move the position of some area 30 displayed on the display part in a 360 degree image.
또한, 제어 장치50는 포인팅 장치일 수 있다. 예를 들어, 제어 장치50는 특정 키 입력을 수신하는 경우에, 포인팅 장치로 동작할 수 있다. 제어 장치50가 포인팅 장치로 동작하는 경우, 영상 표시 장치100는 제어 장치50를 상, 하, 좌, 우로 움직이거나 임의의 방향으로 기울이는 사용자 입력에 의해 제어될 수 있다. 제어 장치50의 센서를 통하여 감지된 제어 장치50의 움직임에 관한 정보는, 클라이언트 디바이스100로 전송될 수 있다. 클라이언트 디바이스100는 제어 장치50의 움직임에 관한 정보에 기초하여, 360도 영상 내에서 디스플레이부에 표시되는 일부 영역30을 이동시킬 수 있다.       Further, the control device 50 may be a pointing device. For example, the control device 50 may operate as a pointing device when receiving a specific key input. When the control device 50 operates as a pointing device, the image display device 100 can be controlled by a user input that moves the control device 50 up, down, left, right or tilts in an arbitrary direction. Information on the motion of the control device 50 sensed through the sensor of the control device 50 can be transmitted to the client device 100. [ The client device 100 can move the partial area 30 displayed on the display unit in the 360 degree image based on the information about the motion of the controller 50. [
또는, 제어 장치50가 터치 패드를 포함하는 경우, 터치 패드 상에서 움직이는 사용자의 손가락과 같은 피사체의 변위 값에 따라 360도 영상 내에서 디스플레이부에 표시되는 일부 영역 30의 위치를 이동시킬 수 있다.       Alternatively, when the control device 50 includes a touch pad, the position of the partial area 30 displayed on the display unit in the 360-degree image can be moved according to the displacement value of the subject such as the finger of the user moving on the touch pad.
도 2는 360도 영상의 화각을 설명하기 위한 도면이다.       2 is a view for explaining an angle of view of a 360-degree image.
전술한 바와 같이, 360도 영상은 적어도 하나의 카메라를 이용하여 360도 방향으로 촬영된 복수의 영상들에 기초하여 생성된 영상일 수 있다. 이때, 촬영된 복수의 영상들은 구(sphere)에 맵핑될 수 있으며, 맵핑된 영상들의 접점들이 연결(스티칭(stitching))되어, 구(sphere) 형식의 360도 영상이 생성될 수 있다.        As described above, the 360-degree image may be an image generated based on the plurality of images photographed in the 360-degree direction using at least one camera. At this time, the photographed images can be mapped to sphere, and the contacts of the mapped images are connected (stitched), so that a sphere-type 360-degree image can be generated.
그리고, 360도 영상은 360도의 화각(angle of view)을 가지는 영상을 의미할 수 있다. 360도 영상을 구 형식의 영상 200으로 표현할 때, 360도 영상의 화각은, x축 좌표와 y축 좌표로 구성될 수 있다. x축 좌표는 구의 중심을 지나는 세로 평면이 구의 표면을 따라 회전하면서 형성되는 각도를 나타낼 수 있다. y 축 좌표는 구의 중심을 지나는 가로 평면이 구의 표면을 따라 회전하면서 형성되는 각도를 나타낼 수 있다. 예를 들어 x축 좌표는 0도에서 360도 범위를 가질 수 있다. 예를 들어y축 좌표는 -90도 에서 90도 또는 0도에서 180 도의 범위를 가질 수 있다.        A 360 degree image may mean an image having an angle of view of 360 degrees. When the 360-degree image is expressed by the spherical image 200, the angle of view of the 360-degree image may be composed of the x-axis coordinate and the y-axis coordinate. The x-axis coordinate can represent an angle formed by a vertical plane passing through the center of the sphere, rotating along the sphere surface. The y-axis coordinate can represent an angle formed by a horizontal plane passing through the center of the sphere, rotating along the sphere surface. For example, the x-axis coordinates can range from 0 degrees to 360 degrees. For example, the y-axis coordinates may range from -90 degrees to 90 degrees, or from 0 degrees to 180 degrees.
예를 들어, 도 2를 참조하면, 구 형식의 영상200에서 구의 표면에 위치하는 소정의 지점 210의 화각 (x,y) 을 (0도, 0도)로 설정할 때, 지점 220의 화각은 (30도, 30도)가 될 수 있다.        2, when the angle of view (x, y) of a predetermined point 210 located on the surface of a sphere in the spherical image 200 is set to (0 degrees, 0 degrees), the angle of view of the point 220 is 30 degrees, 30 degrees).
도 3은 일 예에 따라 360도 영상을 표시하는 방법을 나타내는 도면이다.      3 is a diagram illustrating a method of displaying a 360-degree image according to an example.
사용자는 360도 영상 중 원하는 각도에 대응하는 영상을 보기 위하여 360도 영상 300을 네비게이션 할 수 있다. 도 3을 참조하면, 예를 들어 사용자가 특정 화각에 대응하는 영역 310에 대응하는 영상311을 보다가 좀 더 오른쪽 방향에 있는 영역의 영상을 보고 싶을 때 사용자는 제어 장치 50를 이용하여 화각을 조정하는 사용자 입력을 선택할 수 있다. 예를 들어 사용자가 화각을 40도로 변경하는 사용자 입력을 선택할 때 클라이언트 디바이스 100는 화각이 40도에 대응하는 영역 320에 대응하는 영역 321을 표시할 수 있다.        The user can navigate the 360 degree image 300 to view an image corresponding to a desired angle of the 360 degree image. Referring to FIG. 3, for example, when a user wants to view an image of a region 311 corresponding to a specific angle of view 310 and a region of the image 311 in a more rightward direction, the user may adjust the angle of view The user input can be selected. For example, when the user selects a user input that changes the angle of view by 40 degrees, the client device 100 may display the area 321 corresponding to the area 320 corresponding to the angle of view of 40 degrees.
일 실시예에 따라 사용자는 제어 장치 50의 4방향 키를 이용하여 360도 영상의 화각을 이동시킬 수 있다. 예를 들어 4방향 키의 좌 우 방향키를 이용하여 360도 영상을 좌우 방향으로 이동시킬 수 있다. 예를 들어 4 방향 키의 상 하 방향키를 이용하여 360도 영상을 상하 방향으로 이동시킬 수 있다.        According to one embodiment, the user can move the angle of view of the 360-degree image using the four-way key of the controller 50. For example, a 360-degree image can be moved left and right using the left and right arrow keys of the four-way key. For example, a 360-degree image can be moved up and down using the up and down arrow keys of the four-way key.
일 실시예에 따라 사용자는 가속도 센서나 자이로스코프를 포함하는 제어 장치 50를 상하좌우 또는 임의의 방향으로 움직임으로써 360도 영상의 화각을 조정할 수 있다.        According to an exemplary embodiment, the user can adjust the angle of view of the 360-degree image by moving the control device 50 including the acceleration sensor or the gyroscope up, down, left, or right or in any direction.
일 실시예에 따라 사용자는 제어 장치 50에 마련된 터치패드에 사용자의 손가락을 터치하면서 움직이는 방향에 따라 360도 영상의 화각을 조정할 수 있다.        According to one embodiment, the user can adjust the angle of view of the 360-degree image according to the direction of movement while touching the user's finger with the touch pad provided on the control device 50.
일 실시예에 따라 클라이언트 디바이스 100가 터치 센서티브 스크린으로 구성된 경우, 사용자는 클라이언트 디바이스 100의 터치 센서티브 스크린 상에서의 사용자의 손가락의 터치 움직임을 이용하여 360도 영상의 화각을 조정할 수 있다.        According to one embodiment, when the client device 100 is configured as a touch sensitive screen, the user can adjust the angle of view of the 360 degree image using the touch movement of the user's finger on the touch sensitive screen of the client device 100. [
일 실시예에 따라 사용자는 제어 장치 50의 특정한 키나 버튼 또는 제어 장치 50을 이용한 제스쳐를 통하여 360도 영상을 줌인 하거나 줌 아웃 할 수 있다. 줌 인 입력에 응답해서 클라이언트 디바이스 100는 현재 표시되는 영역을 확대하여 표시할 수 있다. 줌 아웃 입력에 응답해서 클라이언트 디바이스 100는 현재 표시되는 영역을 축소하여 표시할 수 있다. 일 예에 따라 줌 아웃 정도가 미리 정한 임계치를 넘어가면 클라이언트 디바이스 100는 영상을 구 형상으로 표시할 수 있다. 일 예로 줌은 -4 배에서 4 배까지의 범위를 가질 수 있다.        According to one embodiment, a user may zoom in or zoom out a 360 degree image through a specific key or button of the control device 50 or a gesture using the control device 50. In response to the zoom-in input, the client device 100 may enlarge and display the currently displayed area. In response to the zoom-out input, the client device 100 can reduce and display the currently displayed area. According to an example, if the zoom-out degree exceeds a predetermined threshold value, the client device 100 can display the image in a spherical shape. For example, the zoom may range from -4 to 4 times.
도 4는 일 실시예에 따라 클라이언트 디바이스와 컴패니언 스크린 디바이스를 나타낸다.       4 illustrates a client device and a companion screen device in accordance with one embodiment.
도 4를 참조하면, 텔레비전과 같은 클라이언트 디바이스 100는 360도 비디오 콘텐츠의 일부를 표시한다.  또한 클라이언트 디바이스 100는 360도 비디오 콘텐츠를 제어하여 디스플레이되는 360도 비디오 콘텐츠의 시점을 변경할 수 있다.         4, a client device 100, such as a television, displays a portion of a 360 degree video content. The client device 100 may also control the 360 degree video content to change the viewpoint of the displayed 360 degree video content.
 일 실시예에 따라 360도 비디오 콘텐츠를 디스플레이하는 클라이언트 디바이스 100 및 360도 비디오 컨텐츠를 제어하는 컴패니언 스크린 디바이스400 사이에 통신 채널을 확립할 수 있다.        A communication channel may be established between the client device 100 displaying the 360 degree video content and the companion screen device 400 controlling the video content in accordance with an embodiment.
클라이언트 디바이스 100는 예를 들면 텔레비전 일 수 있다.  그러나, 클라이언트 디바이스 100는 임의의 적절한 디스플레이 디바이스일 수 있다.  클라이언트 디바이스 100는 브로드캐스트 또는 광대역 연결을 통해 비디오 및 오디오 재생을 지원한다. 클라이언트 디바이스 100는 360도 비디오 콘텐츠의 디스플레이 및 제어를 지원하는 애플리케이션을 포함할 수 있다. 이러한 애플리케이션은 미디어 플레이어가 내용을 올바르게 디코딩 할 수 있도록 콘텐츠가 360도 포맷이라는 것을 미디어 플레이어에 알릴 수 있다. 애플리케이션의 예는 HbbTV 애플리케이션이며, 360도 콘텐츠를 지원할 수 있는 임의의 적합한 애플리케이션이 사용될 수 있다.        The client device 100 may be, for example, a television. However, the client device 100 may be any suitable display device. The client device 100 supports video and audio playback over a broadcast or broadband connection. The client device 100 may include an application that supports display and control of 360 degree video content. These applications can inform the media player that the content is in a 360-degree format so that the media player can correctly decode the content. An example of an application is an HbbTV application, and any suitable application capable of supporting 360 degree content can be used.
클라이언트 디바이스 100는 사용자가 특정 시점에서 360도 콘텐츠를 볼 수 있는 시야 윈도우를 제공할 수 있다.  따라서, 사용자는 360도 컨텐츠의 주어진 각도 범위를 볼 수 있다.  클라이언트 디바이스 100에 표시된 360도 콘텐츠는 사용자가 클라이언트 디바이스 100 의 시야 윈도우를 통해 360도 콘텐츠를 보는 시점(point of view)을 변경하기 위해 제어될 수 있다.  제어는 360도 비디오 컨텐츠를 통해 가로 또는 세로 방향으로 시점을 회전시키는 것을 포함할 수 있다.  360도 비디오 컨텐츠의 시점의 제어는 도 2 및 도 3을 참조하여 설명한 바와 같다. 제어는 360도 컨텐츠에 디스플레이된 객체로부터 사용자가 더 멀리 또는 더 가까이에 있는 것처럼 보이도록 콘텐츠의 감지된 줌 레벨을 변경하는 것을 또한 포함할 수 있다.       The client device 100 may provide a viewing window in which the user can view the 360 degree content at a particular point in time. Thus, the user can see a given angular range of 360 degree content. The 360 degree content displayed on the client device 100 may be controlled to change the point of view through which the user views the 360 degree content through the field of view of the client device 100. [ The control may include rotating the viewpoint in the horizontal or vertical direction through the 360 degree video content. Control of the viewpoint of the 360-degree video content is as described with reference to FIG. 2 and FIG. Control may also include changing the sensed zoom level of the content so that the user appears to be farther or closer to the object displayed in the 360 degree content.
360도 비디오 콘텐츠는 서버에서 렌더링되고 클라이언트 디바이스 100로 스트리밍될 수 있다.  예를 들어, 클라이언트 디바이스 100는 360도 콘텐츠에 관한 위치 정보를 서버에 제공하고, 서버는 클라이언트 디바이스 100에 의해 제공된 위치 정보에 대응하는 시점을 갖는 360도 콘텐츠를 렌더링할 수 있다. 예를 들어, 고해상도는 서버측 렌더링을 활용하여 얻을 수 있다.       360 degree video content may be rendered on the server and streamed to the client device 100. [ For example, the client device 100 may provide location information about the 360 degree content to the server, and the server may render the 360 degree content with a time corresponding to the location information provided by the client device 100. [ For example, high resolution can be achieved using server-side rendering.
 대안적으로, 360도 비디오 컨텐츠는 클라이언트 디바이스 100에서 렌더링 될 수 있다.  클라이언트 디바이스 100 에서 360도 비디오 렌더링을 할 수 있는 애플리케이션의 예로는 WebGL 및 HbbTV가 있지만 이에 국한되지는 않는다. 본 발명은 서버측 렌더링, 클라이언트측 렌더링 또는 이들 모두를 지원할 수 있는 애플리케이션을 사용할 수 있다.       Alternatively, the 360 degree video content may be rendered at client device 100. [ Examples of applications that can perform 360 degree video rendering on the client device 100 include, but are not limited to, WebGL and HbbTV. The present invention may use applications that can support server-side rendering, client-side rendering, or both.
 컴패니언 스크린 디바이스 400는 예를 들어 휴대 전화, 또는 태블릿일 수 있다.  컴패니언 스크린 디바이스 400는 클라이언트 디바이스 100 및 컴패니언 스크린 디바이스 400 사이의 상호 작용을 제공할 수 있는 스크린을 구비한 디바이스이다.  본 개시서에서, 컴패니언 스크린 디바이스 400는 360도 비디오 콘텐츠를 제어할 수 있다.  컴패니언 스크린 디바이스400는 360도 비디오 콘텐츠의 제어를 지원하는 애플리케이션을 포함 할 수 있다.       The companion screen device 400 may be, for example, a mobile phone, or a tablet. The companion screen device 400 is a device with a screen that can provide interactions between the client device 100 and the companion screen device 400. In this disclosure, the companion screen device 400 is capable of controlling 360 degree video content. The companion screen device 400 may include an application that supports control of 360 degree video content.
 클라이언트 디바이스 100 와 컴패니언 스크린 디바이스 400 간의 통신 채널은 임의의 적절한 방식으로 설정될 수 있다. 일부 실시예에서, 통신 채널은 IP 네트워크를 통해 설정 될 수 있다. 예를 들어, 클라이언트 디바이스 100 및 컴패니언 스크린 디바이스 400 각각은 무선 네트워크에 연결되고, 이를 통해 클라이언트 디바이스 100와 컴패니언 스크린 디바이스 400간의 시그널링이 전송될 수 있다.       The communication channel between the client device 100 and the companion screen device 400 may be set in any suitable manner. In some embodiments, the communication channel may be established via an IP network. For example, the client device 100 and the companion screen device 400, respectively, are connected to a wireless network through which the signaling between the client device 100 and the companion screen device 400 can be transmitted.
 대안적으로, 블루투스는 클라이언트 디바이스 100 와 컴패니언 스크린 디바이스400 사이에서 시그널링이 송신 될 수 있는 통신 채널을 확립하는데 사용될 수 있다.  그러나, 통신 채널을 설정하기 위한 임의의 적절한 수단이 사용될 수 있다.  통신 채널을 확립하는 수단은 무선일 수도 있지만, 대안적으로 유선 접속을 통해 확립될 수도 있다.       Alternatively, Bluetooth may be used between the client device 100 and the companion screen device 400 to establish a communication channel over which signaling may be sent. However, any suitable means for establishing a communication channel may be used. The means for establishing the communication channel may be wireless, but may alternatively be established via a wired connection.
 실시예에서, 통신 채널은 클라이언트 디바이스 100가 식별한 컴패니언 디바이스에 대해 확립될 수 있다. 예를 들어, 컴패니언 스크린 디바이스400는 자신이 360도 제어할 수 있다는 표시를 클라이언트 디바이스 100에 제공할 수 있다.       In an embodiment, a communication channel may be established for the companion device that the client device 100 has identified. For example, the companion screen device 400 may provide an indication to the client device 100 that it can control 360 degrees.
도 5는 일 실시예에 따라 클라이언트 디바이스와 복수의 컴패니언 스크린 디바이스를 나타낸다.        5 illustrates a client device and a plurality of companion screen devices in accordance with one embodiment.
 일 실시예에 따라, 클라이언트 디바이스 100는 360도 제어가 가능한 복수의 컴패니언 스크린 디바이스400를 식별할 수 있다.  이 경우, 클라이언트 디바이스 100는 복수의 컴패니언 스크린 디바이스400 중 적어도 하나를 선택하고 선택된 컴패니언 스크린 디바이스400에 접속할 수 있다. 클라이언트 디바이스 100는 하나 이상의 컴패니언 스크린 디바이스400에 연결할 수 있다.         According to one embodiment, the client device 100 may identify a plurality of companion screen devices 400 capable of 360 degree control. In this case, the client device 100 may select at least one of the plurality of companion screen devices 400 and connect to the selected companion screen device 400. The client device 100 may connect to one or more companion screen devices 400.
도 5를 참조하면, 클라이언트 디바이스 100가 주위에 디스커버리 요청 신호를 보낸 경우에 클라이언트 디바이스 100 주위에 있던 컴패니언 스크린 디바이스 400a, 400b, 400c는 각각 자신이 360도 제어 능력을 가짐을 표시하는 시그널을 클라이언트 디바이스 100으로 전송할 수 있다. 이와 같이 복수의 컴패니언 스크린 디바이스들로부터 360도 제어 능력 표시 시그널을 수신한 경우에 클라이언트 디바이스 100는 자신의 정책에 따라 다양한 방법에 의해 컴패니언 스크린 디바이스를 선택할 수 있다.        Referring to FIG. 5, when the client device 100 sends a discovery request signal around the client device 100, the companion screen devices 400a, 400b, and 400c around the client device 100 respectively transmit a signal indicating that the companion screen devices 400a, 400b, 100 < / RTI > When the 360 degree control capability display signal is received from the plurality of companion screen devices, the client device 100 can select the companion screen device by various methods according to its policy.
일 실시예에 따라 클라이언트 디바이스 100는 하나 이상의 소정의 선택 기준에 따라 컴패니언 스크린 디바이스400를 자동으로 선택할 수 있다.         According to one embodiment, the client device 100 may automatically select the companion screen device 400 according to one or more predetermined selection criteria.
일 실시예에 따라 클라이언트 디바이스 100는 컴패니언 스크린 디바이스400와 연관된 사용자 프로파일에 기초하여 컴패니언 스크린 디바이스400를 선택할 수 있다.        According to one embodiment, the client device 100 may select the companion screen device 400 based on a user profile associated with the companion screen device 400.
일 실시예에 따라 클라이언트 디바이스 100는 클라이언트 디바이스 100과의 근접도에 따라서 하나 이상의 컴패니언 스크린 디바이스 400를 선택할 수 있다.       According to one embodiment, the client device 100 may select one or more companion screen devices 400 in accordance with proximity to the client device 100.
 도 6은 일 실시예에 따라 클라이언트 디바이스 100와 컴패니언 스크린 디바이스 400의 개략적인 블록도이다.        6 is a schematic block diagram of a client device 100 and a companion screen device 400 in accordance with one embodiment.
도 6을 참조하면, 컴패니언 스크린 디바이스 400는 제어부 410, 통신 인터페이스 420, 비디오 처리부 430, 디스플레이 440, 감지부 450, 메모리 460을 포함한다.        Referring to FIG. 6, the companion screen device 400 includes a control unit 410, a communication interface 420, a video processing unit 430, a display 440, a sensing unit 450, and a memory 460.
통신 인터페이스 420은 스크린 미러링, DLNA, 블루투스, 미라캐스트, 와이파이 다이렉트 등 다양한 통신 기술을 이용하여 컴패니언 스크린 디바이스 400가 클라이언트 디바이스 100와 통신하는 것을 가능하게 한다.        The communication interface 420 enables the companion screen device 400 to communicate with the client device 100 using a variety of communication technologies such as screen mirroring, DLNA, Bluetooth, mirror cast, Wi-Fi direct.
비디오 처리부 430은 디스플레이 440에 의해 표시될 영상을 신호 처리하며, 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.       The video processing unit 430 processes the image to be displayed by the display 440 and can perform various image processing such as decoding, scaling, noise filtering, frame rate conversion, resolution conversion, and the like on the video data.
디스플레이440는, 비디오 처리부 430에서 처리된 영상 신호, 데이터 신호, OSD 신호, 제어 신호 등을 변환하여 구동 신호를 생성한다. 디스플레이부440는 PDP, LCD, OLED, 플렉시블 디스플레이(flexible display)등으로 구현될 수 있으며, 또한, 3차원 디스플레이(3D display)로 구현될 수 있다. 또한, 디스플레이440는, 터치 스크린으로 구성되어 출력 장치 이외에 입력 장치로 사용되는 것도 가능하다.       The display 440 converts a video signal, a data signal, an OSD signal, a control signal, etc. processed in the video processing unit 430 to generate a driving signal. The display unit 440 may be implemented as a PDP, an LCD, an OLED, a flexible display, or the like, and may also be implemented as a 3D display. Also, the display 440 may be configured as a touch screen and used as an input device in addition to the output device.
감지부450는, 사용자 입력을 감지하여, 감지된 신호를 제어부 410로 전달할 수 있다.        The sensing unit 450 may sense the user input and transmit the sensed signal to the control unit 410. [
감지부450는 사용자의 음성을 수신하는 마이크, 사용자의 영상을 수신하는 카메라 또는 사용자의 인터랙션을 감지하는 광 수신부나 터치 패드를 포함할 수 있다.       The sensing unit 450 may include a microphone for receiving the user's voice, a camera for receiving the user's image, or a light receiving unit for sensing the user's interaction or a touch pad.
일 실시예에 따른 감지부450는 360도 영상 중 디스플레이640에 표시되는 일부 영역의 위치를 이동시키기 위한 입력, 즉, 360도 영상의 시점을 제어하기 위한 사용자 입력, 디스플레이부에 표시되는 영상을 줌 인 시키거나 줌 아웃시키기 위한 입력, 360도 영상 중 특정 위치의 영역에 대응하는 영상을 표시시키기 위한 입력 등을 감지할 수 있다.        The sensing unit 450 may include an input for moving a position of a partial region displayed on the display 640 among the 360-degree images, that is, a user input for controlling a viewpoint of a 360-degree image, An input for zooming in or out, and an input for displaying an image corresponding to a specific area of a 360-degree image.
일 실시예에 따른 감지부 450는 방위 센서를 포함하여 컴패니언 스크린 디바이스 400의 방위를 측정할 수 있다.        The sensing unit 450 according to an exemplary embodiment may include an orientation sensor to measure the orientation of the companion screen device 400.
메모리 460는 오퍼레이팅 시스템, 제어부 410에서 처리되는 데이터, 제어부 410에서 실행되는 하나 이상의 인스트럭션을 포함할 수 있다.        The memory 460 may include an operating system, data processed in the control unit 410, and one or more instructions executed in the control unit 410.
특히 일 실시예에 따른 메모리 460는 360도 비디오 컨텐츠의 표시 능력을 가지는 클라이언트 디바이스를 식별하고, 상기 식별된 클라이언트 디바이스와 통신 채널을 연결하도록 상기 통신 인터페이스를 제어하고, 상기 연결된 클라이언트 디바이스에 표시되는 상기 360도 비디오 컨텐츠의 표시를 제어하는 제어 명령을 상기 클라이언트 디바이스로 전송하도록 상기 통신 인터페이스를 제어하는 하나 이상의 인스트럭션을 포함할 수 있다.        In particular, the memory 460 according to one embodiment identifies a client device having the capability of displaying 360-degree video content, controls the communication interface to connect a communication channel with the identified client device, And one or more instructions to control the communication interface to transmit a control command to the client device to control the display of the 360-degree video content.
일 실시예에서 "메모리"라는 용어는 저장소, 제어부의 롬, 램 또는 컴패니언 스크린 디바이스 400에 장착되는 메모리 카드(예를 들어, micro SD 카드, USB 메모리, 도시되지 아니함)를 포함한다. 또한, 메모리 460는 비휘발성 메모리, 휘발성 메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD)를 포함할 수 있다.       In one embodiment, the term " memory " includes a memory card (e. G., Micro SD card, USB memory, not shown) mounted in the storage, control ROM, RAM or companion screen device 400. The memory 460 may also include non-volatile memory, volatile memory, a hard disk drive (HDD), or a solid state drive (SSD).
제어부 410는 컴패니언 스크린 디바이스 400의 전반적인 동작 및 컴패니언 스크린 디바이스 400의 내부 구성 요소들 사이의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행한다. 제어부 410는 사용자의 입력이 있거나 기 설정되어 저장된 조건을 만족하는 경우, 메모리 460에 저장된 OS(Operation System) 및 다양한 애플리케이션을 실행할 수 있다.        The control unit 410 controls the overall operation of the companion screen device 400 and the signal flow between the internal components of the companion screen device 400 and performs processing of data. The control unit 410 can execute an OS (Operation System) and various applications stored in the memory 460 when the user inputs or pre-set conditions are satisfied.
제어부 410는 컴패니언 스크린 디바이스 400의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 컴패니언 스크린 디바이스 400에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램, 컴패니언 스크린 디바이스 400의 제어를 위한 제어 프로그램이 저장된 롬 및 프로세서를 포함할 수 있다.       The control unit 410 stores signals or data input from the outside of the companion screen device 400, a RAM used as a storage area corresponding to various operations performed in the companion screen device 400, and a control program for controlling the companion screen device 400 ROM and a processor.
일 실시예에 따라 제어부 410은 메모리에 저장된 하나 이상의 인스트럭션을 수행함으로써 본 명세서에 개시된 컴패니언 스크린 디바이스 400과 클라이언트 디바이스 간의 통신 동작을 수행할 수 있다.        According to one embodiment, the controller 410 may perform communication operations between the client device and the companion screen device 400 disclosed herein by performing one or more instructions stored in memory.
일 실시예에 따라 제어부 410은 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 360도 비디오 컨텐츠의 표시 능력을 가지는 클라이언트 디바이스를 식별하고, 상기 식별된 클라이언트 디바이스와 통신 채널을 연결하도록 상기 통신 인터페이스를 제어하고, 상기 연결된 클라이언트 디바이스에 표시되는 상기 360도 비디오 컨텐츠의 표시를 제어하는 제어 명령을 상기 클라이언트 디바이스로 전송하도록 상기 통신 인터페이스를 제어할 수 있다.        According to one embodiment, the control unit 410 controls the communication interface to identify a client device having the capability of displaying the 360-degree video content by executing the one or more instructions, to connect the communication channel with the identified client device, And control the communication interface to transmit to the client device a control command to control display of the 360-degree video content displayed on the connected client device.
일 실시예에 따라 제어부 410은 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 클라이언트 디바이스로부터 상기 클라이언트 디바이스가 상기 360도 비디오 컨텐츠의 표시 능력을 가짐을 나타내는 정보를 포함하는 신호를 수신함으로써 상기 클라이언트 디바이스를 식별할 수 있다.       According to one embodiment, the controller 410 identifies the client device by receiving a signal from the client device that includes information indicating that the client device has display capability of the 360-degree video content by executing the one or more instructions .
일 실시예에 따라 제어부 410은 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 컴패니언 스크린 디바이스의 방위(orientation)를 검출하고, 상기 클라이언트 디바이스에 디스플레이된 360도 비디오 컨텐츠의 시점이 상기 컴패니언 스크린 디바이스의 방위에 따라 회전되도록, 상기 컴패니언 스크린 디바이스의 방위에 관한 디바이스 방위 정보를 상기 통신 채널을 통해 상기 클라이언트 디바이스로 전송할 수 있다.        According to one embodiment, the controller 410 detects the orientation of the companion screen device by executing the one or more instructions, and if the viewpoint of the 360 degree video content displayed on the client device is in accordance with the orientation of the companion screen device Device orientation information regarding the orientation of the companion screen device to the client device over the communication channel so as to be rotated.
컴패니언 스크린 디바이스 400는 도 6에 도시된 구성 외에도 오디오 데이터에 대한 처리를 수행하는 오디오 처리부, 오디오를 출력하는 오디오 출력부, 컴패니언 스크린 디바이스 400의 외부에서부터 비디오, 오디오 및 부가 정보 등을 수신하는 입/출력부를 더 포함할 수 있다.        In addition to the configuration shown in FIG. 6, the companion screen device 400 includes an audio processing unit for processing audio data, an audio output unit for outputting audio, an input / output unit for receiving video, audio, and additional information from outside the companion screen device 400, And an output unit.
또한, 컴패니언 스크린 디바이스 400는 그 용어에 한정되지 않고, 프로세서와 메모리를 포함하여 애플리케이션을 실행하는 장치이면, 랩탑, 스마트 폰, 태블릿, 웨어러블 장치, PDA 등 어떤 전자 장치라도 가능하다.        In addition, the companion screen device 400 is not limited to the term, and any electronic device such as a laptop, a smart phone, a tablet, a wearable device, and a PDA can be used as the device that executes an application including a processor and a memory.
클라이언트 디바이스 100은 제어부 110, 통신 인터페이스 120, 비디오 처리부 130, 디스플레이 140, 메모리 150을 포함한다.        The client device 100 includes a control unit 110, a communication interface 120, a video processing unit 130, a display 140, and a memory 150.
통신 인터페이스 120은 스크린 미러링, DLNA, 블루투스, 미라캐스트, 와이파이 다이렉트 등 다양한 통신 기술을 이용하여 클라이언트 디바이스 100가 컴패니언 스크린 디바이스 400와 통신하는 것을 가능하게 한다.        The communication interface 120 enables the client device 100 to communicate with the companion screen device 400 using a variety of communication technologies such as screen mirroring, DLNA, Bluetooth, mirror cast, Wi-Fi direct.
비디오 처리부 130은 디스플레이 140에 의해 표시될 영상을 신호 처리하며, 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.       The video processing unit 130 processes the image to be displayed by the display 140 and can perform various image processing such as decoding, scaling, noise filtering, frame rate conversion, resolution conversion, and the like on the video data.
디스플레이140는, 비디오 처리부 130에서 처리된 영상 신호, 데이터 신호, OSD 신호, 제어 신호 등을 변환하여 구동 신호를 생성한다. 디스플레이부140는 PDP, LCD, OLED, 플렉시블 디스플레이(flexible display)등으로 구현될 수 있으며, 또한, 3차원 디스플레이(3D display)로 구현될 수 있다. 또한, 디스플레이140는, 터치 스크린으로 구성되어 출력 장치 이외에 입력 장치로 사용되는 것도 가능하다.       The display 140 converts a video signal, a data signal, an OSD signal, a control signal, etc. processed in the video processing unit 130 to generate a driving signal. The display unit 140 may be implemented as a PDP, an LCD, an OLED, a flexible display, or the like, and may also be implemented as a 3D display. Also, the display 140 may be configured as a touch screen and used as an input device in addition to the output device.
메모리 150는 오퍼레이팅 시스템, 제어부 110에서 처리되는 데이터, 제어부 110에서 실행되는 하나 이상의 인스트럭션을 포함할 수 있다.        The memory 150 may include an operating system, data processed in the controller 110, and one or more instructions executed in the controller 110.
특히 일 실시예에 따른 메모리 150는 360도 비디오 컨텐츠의 360도 제어 능력을 가지는 컴패니언 스크린 디바이스를 식별하고, 상기 식별된 컴패니언 스크린 디바이스와 통신 채널을 연결하도록 상기 통신 인터페이스를 제어하고, 상기 연결된 컴패니언 스크린 디바이스로부터 수신한 제어 명령에 따라 상기 360도 비디오 컨텐츠의 표시를 제어하도록 상기 디스플레이를 제어하는 하나 이상의 인스트럭션을 포함할 수 있다.        In particular, memory 150 according to one embodiment identifies a companion screen device having 360 degree control capability of 360 degree video content, controls the communication interface to connect a communication channel with the identified companion screen device, And one or more instructions to control the display to control the display of the 360 degree video content in accordance with control commands received from the device.
메모리 150는 오퍼레이팅 시스템, 제어부 110에서 처리되는 데이터, 제어부 110에서 실행되는 하나 이상의 인스트럭션을 포함할 수 있다.              The memory 150 may include an operating system, data processed in the controller 110, and one or more instructions executed in the controller 110.
일 실시예에서 "메모리"라는 용어는 저장소, 제어부의 롬, 램 또는 컴패니언 스크린 디바이스 400에 장착되는 메모리 카드(예를 들어, micro SD 카드, USB 메모리, 도시되지 아니함)를 포함한다. 또한, 메모리 150는 비휘발성 메모리, 휘발성 메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD)를 포함할 수 있다.       In one embodiment, the term " memory " includes a memory card (e. G., Micro SD card, USB memory, not shown) mounted in the storage, control ROM, RAM or companion screen device 400. The memory 150 may also include non-volatile memory, volatile memory, a hard disk drive (HDD), or a solid state drive (SSD).
제어부 110는 클라이언트 디바이스 100의 전반적인 동작 및 클라이언트 디바이스 100의 내부 구성 요소들 사이의 신호 흐름을 제어하고, 데이터를 처리하는 기능을 수행한다. 제어부 110는 사용자의 입력이 있거나 기 설정되어 저장된 조건을 만족하는 경우, 메모리 120에 저장된 OS(Operation System) 및 다양한 애플리케이션을 실행할 수 있다.        The controller 110 controls the overall operation of the client device 100 and the signal flow between the internal components of the client device 100 and performs processing of data. The controller 110 can execute an OS (Operation System) and various applications stored in the memory 120 when the user has input or pre-set conditions.
제어부 110는 클라이언트 디바이스 100의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 클라이언트 디바이스 100에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 램, 클라이언트 디바이스 100의 제어를 위한 제어 프로그램이 저장된 롬 및 프로세서를 포함할 수 있다.       The controller 110 stores a signal or data input from the outside of the client device 100, a RAM used as a storage area corresponding to various jobs performed by the client device 100, a ROM storing a control program for controlling the client device 100, . ≪ / RTI >
일 실시예에 따라 제어부 110은 메모리에 저장된 하나 이상의 인스트럭션을 수행함으로써, 360도 비디오 컨텐츠의 적어도 일부를 표시하도록 상기 디스플레이를 제어하고, 상기 360도 비디오 컨텐츠의 360도 제어 능력을 가지는 컴패니언 스크린 디바이스를 식별하고, 상기 식별된 컴패니언 스크린 디바이스와 통신 채널을 연결하도록 상기 통신 인터페이스를 제어하고, 상기 연결된 컴패니언 스크린 디바이스로부터 수신한 제어 명령에 따라 상기 360도 비디오 컨텐츠의 표시를 제어하도록 상기 디스플레이를 제어할 수 있다.        According to one embodiment, the controller 110 controls the display to display at least a portion of the 360 degree video content by performing one or more instructions stored in memory, and provides a companion screen device with 360 degree control capability of the 360 degree video content Control the display to control the display of the 360-degree video content in accordance with a control command received from the connected companion screen device, and to control the communication interface to connect the communication channel with the identified companion screen device have.
일 실시예에 따라 제어부 110은 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 식별된 컴패니언 스크린 디바이스로 상기 360도 비디오 컨텐츠의 표시의 제어 동작을 수행하는 어플리케이션을 실행하도록 요청할 수 있다.        According to one embodiment, the controller 110 may request to execute an application that performs control operations of displaying the 360-degree video content to the identified companion screen device by executing the one or more instructions.
일 실시예에 따라 제어부 110은 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 컴패니언 스크린 디바이스의 발견을 위한 요청 신호를 전송하고, 상기 컴패니언 스크린 디바이스로부터 상기 컴패니언 스크린 디바이스가 상기 360도 제어 능력을 가짐을 나타내는 정보를 포함하는 신호를 수신함으로써 상기 컴패니언 스크린 디바이스를 식별할 수 있다.        According to one embodiment, the controller 110 transmits a request signal for discovery of the companion screen device by executing the one or more instructions, and receives from the companion screen device information indicating that the companion screen device has the 360 degree control capability Lt; RTI ID = 0.0 > a < / RTI > companion screen device.
일 실시예에 따라 제어부 110은 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 360도 제어 능력을 가짐을 나타내는 정보를 포함하는 신호를 복수의 컴패니언 스크린 디바이스로부터 수신하고, 상기 복수의 컴패니언 스크린 디바이스 중 적어도 하나를 선택하고, 상기 선택된 적어도 하나의 컴패니언 스크린 디바이스와 연결하도록 상기 통신 인터페이스를 제어할 수 있다.        According to one embodiment, the control unit 110 executes the one or more instructions to receive a signal from the plurality of companion screen devices, the signal including information indicating that the 360 degree control capability is present, and at least one of the plurality of companion screen devices And control the communication interface to connect with the selected at least one companion screen device.
일 실시예에 따라 제어부 110은 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 컴패니언 스크린 디바이스와 연관된 사용자 프로파일에 기초하여 상기 복수의 컴패니언 스크린 디바이스 중 적어도 하나를 선택할 수 있다.        According to one embodiment, the controller 110 may execute the one or more instructions to select at least one of the plurality of companion screen devices based on a user profile associated with the companion screen device.
일 실시예에 따라 제어부 110은 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 클라이언트 디바이스와 상기 컴패니언 스크린 디바이스와의 근접도에 기초하여 상기 복수의 컴패니언 스크린 디바이스 중 적어도 하나를 선택할 수 있다.        According to one embodiment, the controller 110 may execute the one or more instructions to select at least one of the plurality of companion screen devices based on the proximity of the client device and the companion screen device.
일 실시예에 따라 제어부 110은 상기 하나 이상의 인스트럭션을 실행함으로써, 학습 알고리즘에 기초하여 상기 복수의 컴패니언 스크린 디바이스 중 적어도 하나를 선택할 수 있다.        According to one embodiment, the controller 110 may execute the one or more instructions to select at least one of the plurality of companion screen devices based on a learning algorithm.
일 실시예에 따라 제어부 110은 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 컴패니언 스크린 디바이스의 방위(orientation)에 관한 디바이스 방위 정보를 상기 통신 채널을 통해 수신하고, 상기 디스플레이된 360도 비디오 컨텐츠의 시점이 상기 컴패니언 디바이스의 방위에 따라 회전되도록, 상기 디스플레이된 360도 비디오 컨텐츠의 시점을 상기 디바이스 방위 정보에 응답하여 조정하고, 상기 조정된 시점에 대응하는 360도 비디오 컨텐츠의 영역을 표시하도록 상기 디스플레이를 제어할 수 있다.        According to one embodiment, the controller 110 receives the device orientation information regarding the orientation of the companion screen device through the communication channel by executing the one or more instructions, and the viewpoint of the displayed 360- Adjusts the viewpoint of the displayed 360 degree video content in response to the device orientation information so as to be rotated according to the orientation of the companion device and controls the display to display an area of the 360 degree video content corresponding to the adjusted viewpoint .
일 실시예에 따라 디바이스 방위 정보는 상기 컴패니언 디바이스의 방위를 검출하도록 배치된 하나 이상의 센서에 의해 측정된 복수의 방위값을 포함하고, 상기 제어부 410은, 상기 하나 이상의 인스트럭션을 실행함으로써, 평탄화된 방위 데이터를 획득하기 위하여 상기 복수의 방위값을 평탄화하고, 상기 평탄화된 방위 데이터에 기초하여 상기 360도 비디오 콘텐츠의 시점 회전 속도를 결정할 수 있다.        According to one embodiment, the device orientation information comprises a plurality of azimuth values measured by one or more sensors arranged to detect the orientation of the companion device, and the controller 410 is configured to perform the one or more instructions, The plurality of azimuth values may be flattened to obtain data and the viewpoint rotation speed of the 360 degree video content may be determined based on the flattened azimuth data.
클라이언트 디바이스 100는 도 6에 도시된 구성 외에도 오디오 데이터에 대한 처리를 수행하는 오디오 처리부, 오디오를 출력하는 오디오 출력부, 클라이언트 디바이스 100의 외부에서부터 비디오, 오디오 및 부가 정보 등을 수신하는 입/출력부, 방송 신호를 수신하는 튜너부 140, 사용자의 음성, 사용자의 영상, 사용자의 인터랙션을 감지하는 감지부를 더 포함할 수 있다.        In addition to the configuration shown in FIG. 6, the client device 100 includes an audio processing unit for processing audio data, an audio output unit for outputting audio, an input / output unit for receiving video, audio, A tuner 140 for receiving a broadcast signal, a user's voice, a user's image, and a sensing unit for sensing the user's interaction.
한편, 도 6에 도시된 영상표시장치 100나 컴패니언 스크린 디바이스 400의 블록도는 일 실시예를 위한 블록도이다. 블록도의 각 구성요소는 실제 구현되는 영상표시장치100의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 또한, 각 블록에서 수행하는 기능은 실시예들을 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.       Meanwhile, a block diagram of the video display device 100 and the companion screen device 400 shown in FIG. 6 is a block diagram for an embodiment. Each component of the block diagram may be integrated, added, or omitted according to the specifications of the video display device 100 actually implemented. That is, two or more constituent elements may be combined into one constituent element, or one constituent element may be constituted by two or more constituent elements, if necessary. In addition, the functions performed in each block are intended to illustrate embodiments, and the specific operation or apparatus does not limit the scope of the present invention.
도 7은 일 실시예에 따라 클라이언트 디바이스 100에서 360도 비디오 컨텐츠를 표시하는 동작 방법의 흐름도이다.        7 is a flow diagram of an operation method for displaying 360 degree video content in a client device 100 in accordance with an embodiment.
실시예에 따라서는, 본 방법의 모든 단계들은 동일한 장치에서 수행 될 수 있거나, 또는 상이한 단계들이 상이한 장치에서 수행 될 수 있다. 도 7에 도시된 임의의 단계는 특정 실시예에 따라서 소프트웨어 또는 하드웨어로 수행 될 수 있다. 하나 이상의 단계가 소프트웨어로 수행 될 때, 본 방법을 수행하기 위한 장치는 하나 이상의 프로세서를 포함하는 프로세싱 유닛 및 상기 프로세싱 유닛에 의해 실행될 때 각각의 방법을 수행하는 컴퓨터 프로그램 명령을 저장하는 컴퓨터 판독 가능 메모리를 포함 할 수 있다.       Depending on the embodiment, all steps of the method may be performed in the same apparatus, or different steps may be performed in different apparatuses. Any of the steps shown in FIG. 7 may be performed with software or hardware according to a particular embodiment. When one or more steps are performed in software, the apparatus for performing the method includes a processing unit including one or more processors and a computer readable memory for storing computer program instructions for performing the respective methods when executed by the processing unit . ≪ / RTI >
도 7을 참조하면, 동작 S710에서, 클라이언트 디바이스 100는 360도 비디오 컨텐츠 이벤트를 획득할 수 있다.        Referring to FIG. 7, in operation S710, the client device 100 may obtain a 360 degree video content event.
360도 비디오 컨텐츠 이벤트는 다양한 방법에 의해 얻어질 수 있는데, 예를 들어, 사용자로부터 360도 비디오 컨텐츠를 표시하라는 사용자 입력을 수신하거나 또는 클라이언트 디바이스 100 내부의 설정 정보에 의해 360도 비디오 컨텐츠를 표시하는 타이밍이 도달했다거나 또는 360도 비디오 컨텐츠를 담고 있는 외부 장치가 연결되어 360도 비디오 컨텐츠를 클라이언트 디바이스 100가 수신하는 경우 등이 될 수 있다.        The 360 degree video content event may be obtained in various ways, for example by receiving user input to display 360 degree video content from a user or displaying 360 degree video content by setting information inside the client device 100 Timing may be reached or an external device containing 360-degree video content is connected and the client device 100 receives the 360-degree video content.
클라이언트 디바이스 100는 이와 같은 360도 비디오 컨텐츠 표시 이벤트가 발생한 경우에 360도 비디오 컨텐츠를 디스플레이에 표시할 수 있다. 대안적으로, 클라이언트 디바이스는 도 7에 도시된 동작들의 어느 단계에서 360도 비디오 컨텐츠를 표시할 수 있다.        The client device 100 may display the 360-degree video content on the display when the 360-degree video content display event occurs. Alternatively, the client device may display 360 degree video content at any stage of the operations shown in FIG.
동작 S720에서, 클라이언트 디바이스 100는 360도 비디오 컨텐츠 이벤트에 따라 360도 제어 능력을 가지는 컴패니언 스크린 디바이스를 식별할 수 있다.        In operation S720, the client device 100 may identify a companion screen device having 360 degree control capability in accordance with a 360 degree video content event.
일 실시예에 따라 클라이언트 디바이스 100는 360도 제어 능력을 가지는 컴패니언 스크린 디바이스를 찾기 위한 디스커버리 요청 신호를 전송하고, 이러한 디스커버리 요청 신호에 응답하여 360도 제어 능력을 가진다는 표시를 컴패니언 스크린 디바이스로부터 수신함으로써, 360도 제어 능력을 가지는 컴패니언 스크린 디바이스를 식별할 수 있다.        According to one embodiment, the client device 100 sends a discovery request signal to find a companion screen device having 360 degrees control capability, and receives an indication from the companion screen device that it has 360 degree control capability in response to this discovery request signal , And can identify a companion screen device with 360 degree control capability.
일 실시예에 따라, 클라이언트 디바이스 100는 도 8에 도시된 바와 같이 하나의 컴패니언 스크린 디바이스 400를 식별할 수 있다.        According to one embodiment, the client device 100 may identify one companion screen device 400 as shown in FIG.
일 실시예에 따라, 클라이언트 디바이스 100는 도 9에 도시된 바와 같이 복수개의 컴패니언 스크린 디바이스 400를 식별하고 이중에서 하나 이상을 선택할 수 있다.        According to one embodiment, the client device 100 can identify a plurality of companion screen devices 400 and select one or more of them, as shown in FIG.
동작 S730에서, 클라이언트 디바이스 100는 식별된 컴패니언 스크린 디바이스 400와 통신 채널을 연결할 수 있다.        In operation S730, the client device 100 may connect the communication channel with the identified companion screen device 400. [
동작 S740에서, 클라이언트 디바이스 100는 연결된 컴패니언 스크린 디바이스로부터 수신한 제어 명령에 따라 360도 비디오 컨텐츠의 표시를 제어할 수 있다.       In operation S740, the client device 100 may control the display of the 360 degree video content according to the control command received from the connected companion screen device.
도 1 내지 3에 도시된 바와 같이, 360도 비디오는 수평 및 수직 방향 모두에서 360도 시야를 포함 할 수 있다.  360도 비디오 콘텐츠의 일부는 도 1에 도시 된 바와 같이, 클라이언트 디바이스 100에 디스플레이될 수 있다. 클라이언트 디바이스 100에 디스플레이된 컨텐츠는 시점을 회전시킴으로써 변경되어 클라이언트 디바이스 100를 통해 디스플레이되는 360도 비디오 컨텐츠의 일부가 변경될 수 있다. 360도 컨텐츠의 디스플레이 된 부분은 360도 비디오 컨텐츠에 대해 주어진 줌 레벨로부터의 시점을 가질 수 있다. 360도 비디오 콘텐츠는 시점의 줌 레벨을 변경하도록 제어 될 수 있다. 360도 비디오 콘텐츠는 컴패니언 스크린 디바이스 400에 의해 제어 될 수 있다.       As shown in Figures 1-3, a 360 degree video may include a 360 degree field of view in both horizontal and vertical directions. A portion of the 360 degree video content may be displayed on the client device 100, as shown in FIG. The content displayed on the client device 100 may be changed by rotating the viewpoint so that a portion of the 360 degree video content displayed through the client device 100 may be changed. The displayed portion of the 360 degree content may have a point in time from the given zoom level for the 360 degree video content. The 360 degree video content can be controlled to change the zoom level of the viewpoint. The 360 degree video content can be controlled by the companion screen device 400.
일부 실시예에서, 클라이언트 디바이스 100와 컴패니언 스크린 디바이스400 사이에 통신 채널이 확립되기 전에 360도 비디오 콘텐츠의 일부가 클라이언트 디바이스 100 상에 디스플레이 될 수 있다.  예를 들어, 클라이언트 디바이스 100와 컴패니언 스크린 디바이스400 사이에 통신 채널이 확립되기 전에 텔레비전 원격 제어를 사용하여 360도 콘텐츠가 선택되고 제어될 수 있다.  예를 들어, 360도 컨텐츠를 제어할 수 있는 사용 가능한 컴패니언 스크린 디바이스 400가 없을 수 있다.  360도 컨텐츠를 제어 할 수 있는 컴패니언 스크린 디바이스400 가 이용 가능하게 될 때, 통신 링크가 확립될 수 있고, 동작 S740이 수행 될 수 있다.       In some embodiments, a portion of the 360 degree video content may be displayed on the client device 100 before a communication channel is established between the client device 100 and the companion screen device 400. For example, 360 degree content can be selected and controlled using television remote control before a communication channel is established between the client device 100 and the companion screen device 400. For example, there may not be an available companion screen device 400 that can control 360 degree content. When a companion screen device 400 capable of controlling 360 degree content becomes available, a communication link can be established and operation S740 can be performed.
동작 S740에서, 본 방법은 디스플레이된 360도 비디오 콘텐츠의 시점을, 통신 채널을 통해 컴패니언 스크린 디바이스 400으로부터 수신된 시그널링에 응답하여 제어하는 단계를 더 포함한다. 컴패니언 스크린 디바이스로부터 클라이언트 디바이스 100으로 제공되는 시그널링은 360도 비디오 컨텐츠의 시점에 관한 명령을 포함할 수 있다. 사용자는 이 명령을 컴패니언 스크린 디바이스 400에서 입력할 수 있다.        In operation S740, the method further comprises controlling the viewpoint of the displayed 360 degree video content in response to signaling received from the companion screen device 400 over the communication channel. The signaling provided to the client device 100 from the companion screen device may include instructions regarding the viewpoint of the 360 degree video content. The user may enter this command in the companion screen device 400.
예를 들어, 사용자 인터페이스는 컴패니언 스크린 디바이스400에 디스플레이될 수 있다. 사용자 인터페이스는 사용자가 360도 컨텐츠의 시점 제어에 관한 지시를 입력할 수 있도록 구성 될 수 있다. 컴패니언 스크린 디바이스400는 사용자 인터페이스를 통해 수신된 명령을 상기 통신 채널 상에서 시그널링을 통해 상기 클라이언트 디바이스 100에 제공하도록 구성될 수 있다. 사용자 인터페이스를 통해 입력될 수 있는 제어 명령은 도 15 내지 도 17을 참조하여 상세히 설명된다. 제어 명령은 360도 비디오 콘텐츠의 뷰를 변경하기 위한 네비게이션 명령일 수 있다.  따라서 클라이언트 디바이스 100에 표시되는 360도 비디오 컨텐츠의 시점은 네비게이션 명령에 따라 조정될 수 있다.       For example, the user interface may be displayed on the companion screen device 400. The user interface can be configured so that the user can enter an instruction regarding viewpoint control of the 360 degree content. The companion screen device 400 may be configured to provide the client device 100 with a command received over the user interface via signaling on the communication channel. The control commands that can be input through the user interface will be described in detail with reference to Figs. 15 to 17. Fig. The control command may be a navigation command to change the view of the 360 degree video content. Accordingly, the viewpoint of the 360-degree video content displayed on the client device 100 can be adjusted according to the navigation command.
일부 실시예에서, 사용자 인터페이스는 컴패니언 스크린 디바이스의 스크린에 디스플레이될 수 있고, 사용자는 디스플레이된 사용자 인터페이스와 상호 작용하여 360도 컨텐츠를 제어하기 위한 명령을 입력할 수 있다. 예를 들어, 컴패니언 스크린 디바이스는 터치 스크린 전화 또는 태블릿 디바이스이고, 사용자는 컴패니언 스크린 디바이스의 화면을 터치하여 명령을 입력할 수 있다.       In some embodiments, the user interface may be displayed on the screen of the companion screen device, and the user may interact with the displayed user interface to enter commands for controlling the 360 degree content. For example, a companion screen device is a touch screen phone or tablet device, and a user can touch the screen of the companion screen device to enter commands.
 일부 실시예에서, 컴패니언 스크린 디바이스400는 360도 컨텐츠를 전체 화면으로 디스플레이할 수 있다.  360도 콘텐츠의 영역을 가리키는 사용자 명령은 컴패니언 스크린 디바이스400를 통해 수신될 수 있다.  360도 비디오 콘텐츠의 시점은 클라이언트 디바이스 100에 디스플레이된 360도 비디오 콘텐츠의 부분이 상기 가리켜진 영역을 포함하도록 제어될 수 있다.        In some embodiments, the companion screen device 400 may display full-screen 360 degree content. A user command that points to an area of the 360 degree content may be received via the companion screen device 400. The viewpoint of the 360 degree video content can be controlled such that a portion of the 360 degree video content displayed on the client device 100 includes the indicated area.
시점에 관한 명령은 컴패니언 스크린 디바이스의 방위에 대응할 수 있고, 클라이언트 디바이스 100가 통신 채널을 통해 수신하는 시그널링은 컴패니언 스크린 디바이스 400의 방위에 관한 방위 정보를 포함할 수 있다. 360도 비디오 콘텐츠의 시점은 수신된 디바이스 방위 정보에 응답하여 조정되어, 360도 비디오 콘텐츠의 시점이 컴패니언 스크린 디바이스 400의 방위에 기초하여 회전될 수 있다.       The command regarding the viewpoint may correspond to the orientation of the companion screen device and the signaling that the client device 100 receives through the communication channel may include orientation information about the orientation of the companion screen device 400. [ The viewpoint of the 360 degree video content can be adjusted in response to the received device orientation information so that the viewpoint of the 360 degree video content can be rotated based on the orientation of the companion screen device 400. [
 컴패니언 스크린 디바이스 400의 방위를 검출하도록 배열된 컴패니언 스크린 디바이스 400 내 하나 이상의 센서가 복수의 방위 값을 측정할 수 있다.       One or more sensors in the companion screen device 400 arranged to detect the orientation of the companion screen device 400 may measure a plurality of azimuth values.
 복수의 방위 값은 평활화 방위 데이터를 획득하기 위해 클라이언트 디바이스 100에서 평활화될 수 있고, 클라이언트 디바이스 100에서 360도 비디오 콘텐츠 시점의 회전 속도는 평활화된 방위 데이터에 기반하여 결정될 수 있다.       A plurality of azimuth values may be smoothed at the client device 100 to obtain smoothed azimuth data and the rotational speed of the 360 degree video content view at the client device 100 may be determined based on the smoothed azimuth data.
도 8은 일 실시예에 따라 클라이언트 디바이스 100가 컴패니언 스크린 디바이스 400를 식별하는 동작의 일 예를 나타낸다.        8 illustrates an example of an operation in which a client device 100 identifies a companion screen device 400 in accordance with one embodiment.
도 8을 참조하면, 동작 810에서, 클라이언트 디바이스 100에서 360도 비디오 컨텐츠 이벤트가 발생할 수 있다. 360도 비디오 컨텐츠 이벤트를 360도 비디오 컨텐츠의 재생을 트리거하는 어떠한 형태의 동작도 포함할 수 있다.        Referring to FIG. 8, at operation 810, a 360 degree video content event may occur at the client device 100. 360 degree video content events may include any type of operation that triggers playback of 360 degree video content.
동작 820에서, 클라이언트 디바이스 100는 360도 비디오 컨텐츠의 제어를 할 수 있는 컴패니언 스크린 디바이스를 서치하기 위해 디스커버리 요청 신호를 전송할 수 있다.        At operation 820, the client device 100 may send a discovery request signal to search for a companion screen device capable of controlling 360 degrees of video content.
동작 830에서, 컴패니언 스크린 디바이스 400는 360도 제어 능력을 가짐을 나타내는 정보를 포함하는 시그널을 클라이언트 디바이스 100으로 전송할 수 있다.        At operation 830, the companion screen device 400 may send a signal to the client device 100 that includes information indicating that it has 360 degrees control capability.
동작 840에서, 클라이언트 디바이스 100는 컴패니언 스크린 디바이스 400으로부터 360도 제어 능력을 가짐을 나타내는 정보를 포함하는 시그널을 수신함으로써 컴패니언 스크린 디바이스 400을 식별하고, 이에 따라 클라이언트 디바이스 100과 컴패니언 스크린 디바이스 400 간에 통신 채널을 연결할 수 있다.        At operation 840, the client device 100 identifies the companion screen device 400 by receiving a signal containing information indicating that it has 360 degrees control capability from the companion screen device 400, thereby establishing a communication channel between the client device 100 and the companion screen device 400 Can be connected.
동작 850에서, 컴패니언 스크린 디바이스 400는 360도 비디오 컨텐츠를 제어하는 네비게이션 정보를 생성하고 동작 860에 이 생성된 네비게이션 정보를 클라이언트 디바이스 100으로 전송할 수 있다.        At operation 850, the companion screen device 400 may generate navigation information to control the 360 degree video content and send the generated navigation information to the client device 100 at operation 860.
동작 870에서, 클라이언트 디바이스 100는 컴패니언 스크린 디바이스 400으로부터 수신된 네비게이션 정보에 따라 360도 비디오 컨텐츠의 표시를 제어할 수 있다.        At operation 870, the client device 100 may control the display of the 360 degree video content in accordance with the navigation information received from the companion screen device 400.
도 9는 일 실시예에 따라 클라이언트 디바이스 100가 복수의 컴패니언 스크린 디바이스 400를 식별하고 이중 하나를 선택하는 동작의 일 예를 나타낸다.        9 illustrates an example of an operation in which a client device 100 identifies a plurality of companion screen devices 400 and selects one of them, in accordance with one embodiment.
도 9를 참조하면, 동작 905에서, 클라이언트 디바이스 100에서 360도 비디오 컨텐츠 이벤트가 발생할 수 있다. 360도 비디오 컨텐츠 이벤트를 360도 비디오 컨텐츠의 재생을 트리거하는 어떠한 형태의 동작도 포함할 수 있다.        Referring to FIG. 9, at operation 905, a 360 degree video content event may occur at the client device 100. 360 degree video content events may include any type of operation that triggers playback of 360 degree video content.
동작 910 및 915에서, 클라이언트 디바이스 100는 클라이언트 디바이스 100의 주변에 있는 360도 비디오 컨텐츠의 제어를 할 수 있는 컴패니언 스크린 디바이스를 서치하기 위해 디스커버리 요청 신호를 전송할 수 있다.        At operations 910 and 915, the client device 100 may send a discovery request signal to search for a companion screen device capable of controlling 360-degree video content in the vicinity of the client device 100.
동작 920, 925에서, 컴패니언 스크린 디바이스 400a와 400b는 360도 제어 능력을 가짐을 나타내는 정보를 포함하는 시그널을 클라이언트 디바이스 100으로 전송할 수 있다.        At operations 920 and 925, the companion screen devices 400a and 400b may send a signal to the client device 100 that includes information indicating that it has 360 degree control capability.
동작 930에서, 클라이언트 디바이스 100는 복수의 컴패니언 스크린 디바이스 중 적어도 하나를 선택할 수 있다.        At operation 930, the client device 100 may select at least one of a plurality of companion screen devices.
예를 들어, 클라이언트 디바이스 100는 복수의 컴패니언 스크린 디바이스중 하나를 선택할 수도 있고, 두 개 이상을 선택할 수도 있다.        For example, the client device 100 may select one or more than one of the plurality of companion screen devices.
예를 들어, 클라이언트 디바이스 100가 컴패니언 스크린 디바이스 400a를 선택한 경우에 동작 935에서, 클라이언트 디바이스 100는 컴패니언 스크린 디바이스 400a와 통신 채널을 연결할 수 있다.        For example, if client device 100 selects companion screen device 400a, at operation 935, client device 100 may connect the communication channel with companion screen device 400a.
동작 940에서, 컴패니언 스크린 디바이스 400a는 360도 비디오 컨텐츠를 제어하는 네비게이션 정보를 생성하고 동작 945에 이 생성된 네비게이션 정보를 클라이언트 디바이스 100으로 전송할 수 있다.        At operation 940, the companion screen device 400a may generate navigation information to control the 360 degree video content and send the generated navigation information to the client device 100 at operation 945. [
동작 950에서, 클라이언트 디바이스 100는 컴패니언 스크린 디바이스 400a으로부터 수신된 네비게이션 정보에 따라 360도 비디오 컨텐츠의 표시를 제어할 수 있다.       At operation 950, the client device 100 may control the display of 360 degree video content in accordance with navigation information received from the companion screen device 400a.
도 10은 일 실시예에 따라 클라이언트 디바이스 100와 컴패니언 스크린 디바이스400 사이 통신 채널을 확립하는 단계를 상세히 설명하는 흐름도이다. 실시예에 따라, 본 방법의 모든 단계들은 동일한 장치에서 수행될 수 있거나, 몇몇 단계는 다른 장치에서 수행될 수 있다.  도 10에 도시된 임의의 단계는 특정 실시예에 따라 소프트웨어 또는 하드웨어로 수행될 수 있다. 하나 이상의 단계가 소프트웨어로 수행될 때, 본 방법을 수행하기 위한 디바이스는 하나 이상의 프로세서를 포함하는 프로세싱 유닛과, 상기 프로세싱 유닛에 의해 실행될 때 각각의 방법 단계를 수행하는 컴퓨터 프로그램 명령을 저장한 컴퓨터 판독 가능 메모리를 포함할 수 있다.       10 is a flow chart detailing the steps of establishing a communication channel between a client device 100 and a companion screen device 400 in accordance with one embodiment. Depending on the embodiment, all steps of the method may be performed in the same apparatus, or some steps may be performed in another apparatus. Any of the steps shown in FIG. 10 may be performed with software or hardware according to a specific embodiment. When one or more steps are performed in software, the device for performing the method comprises a processing unit comprising one or more processors, and a computer readable medium storing computer program instructions for performing the respective method steps when executed by the processing unit Lt; / RTI > memory.
 동작 S1001에서, 클라이언트 디바이스 100는 360도 콘텐츠를 제어할 수 있는 컴패니언 스크린 디바이스400를 검색할 수 있다. 예를 들어, 클라이언트 디바이스 100는 360도 콘텐츠를 제어할 수 있는 컴패니언 스크린 디바이스400를 검색하기 위한 검색 요청을 수행할 수 있다. 적절한 컴패니언 스크린 디바이스400를 찾은 후, 클라이언트 디바이스는 실행 요청(launch request)을 보낼 수 있다. 예를 들어, 실행 요청은 클라이언트 애플리케이션에 의해 클라이언트 디바이스 100로부터 전송될 수 있다. 검색 및 실행 요청은 IP 네트워크를 통해 전송되거나 또는 예를 들어, 통신 채널을 확립하기 위한 임의의 적절한 수단을 통해 전송될 수 있다. 컴패니언 스크린 디바이스400의 발견을 위한 프로토콜은 임의의 적합한 프로토콜일 수 있고, 예를 들어 클라이언트 디바이스 100의 제조자에 의해 설정된 프로토콜을 따를 수 있다.       In operation S1001, the client device 100 may search for a companion screen device 400 capable of controlling 360 degree content. For example, the client device 100 may perform a search request to search a companion screen device 400 that may control 360 degrees of content. After locating the appropriate companion screen device 400, the client device may send a launch request. For example, an execution request may be sent from the client device 100 by the client application. The search and execution request may be sent over an IP network or may be transmitted via any suitable means for establishing a communication channel, for example. The protocol for discovery of the companion screen device 400 may be any suitable protocol and may for example follow the protocol set by the manufacturer of the client device 100.
 검색 및/또는 실행 요청을 전송하기에 적합한 클라이언트 애플리케이션은 예를 들어 HbbTV 애플리케이션일 수 있다. 이 규격은 애플리케이션이 컴패니언 스크린 디바이스400의 발견을 위해 사용할 수 있는 애플리케이션 프로그래밍 인터페이스 (API)를 정의한다. 그러나, 컴패니언 스크린 디바이스400의 발견을 위해 사용되는 애플리케이션은 임의의 적합한 애플리케이션일 수 있다. 예를 들어, 클라이언트 디바이스 100 및/또는 컴패니언 스크린 디바이스400의 제조자는 컴패니언 스크린 디바이스400의 검색을 수행하기 위해 필요한 기능을 제공하는 프로토콜을 정의할 수 있다.       A client application suitable for sending a search and / or execution request may be, for example, an HbbTV application. This specification defines an application programming interface (API) that an application can use to discover a companion screen device 400. However, the application used for discovery of the companion screen device 400 may be any suitable application. For example, the manufacturer of the client device 100 and / or the companion screen device 400 may define a protocol that provides the functionality needed to perform a search of the companion screen device 400.
 동작 S1002에서, 클라이언트 디바이스 100는 360도 콘텐츠 제어 능력을 갖는 임의의 컴패니언 스크린 디바이스400가 이용 가능한지를 결정할 수 있다.       In operation S1002, the client device 100 may determine whether any companion screen device 400 with 360 degree content control capability is available.
 컴패니언 스크린 디바이스400는 런처 애플리케이션(launcher application)을 포함할 수 있다. 런처 애플리케이션은 클라이언트 디바이스 100로부터의 실행 요청을 수신하도록 구성된다. 이러한 런처 애플리케이션은 HbbTV 2.0.1에서 정의된 것과 같은 것일 수 있다. 본 개시의 실시예에서, 클라이언트 디바이스 100로부터의 실행 요청 수신에 응답하여, 클라이언트 디바이스 100의 런처 애플리케이션은 클라이언트 디바이스 100로부터의 요청에 따라 제어 애플리케이션을 실행하도록 구성될 수 있다.  대안적으로는, 런처 애플리케이션은 클라이언트로부터의 요구에 응답하여 애플리케이션 스토어 또는 웹 사이트를 실행하고, 사용자는 클라이언트 디바이스 100에 디스플레이된 360도 비디오 콘텐츠를 제어할 수 있는 제어 프로그램을 이 스토어 또는 사이트를 통해 다운로드할 수 있다.    The companion screen device 400 may include a launcher application. The launcher application is configured to receive an execution request from the client device 100. These launcher applications may be as defined in HbbTV 2.0.1. In an embodiment of the present disclosure, in response to receiving an execution request from the client device 100, the launcher application of the client device 100 may be configured to execute the control application in response to a request from the client device 100. [ Alternatively, the launcher application may run an application store or website in response to a request from a client, and the user may provide a control program to control the 360 degree video content displayed on the client device 100 via this store or site You can download it.
런처 애플리케이션은 360도 콘텐츠의 제어를 지원하는 기능을 제공하기 위해 수정될 수 있는 알려진 런처 애플리케이션일 수 있다.       The launcher application may be a known launcher application that may be modified to provide functionality to support control of 360 degree content.
런처 애플리케이션은 클라이언트 디바이스 100로부터 요청을 수신하기 위해 컴패니언 스크린 디바이스400에서 백그라운드로 실행될 수 있다. 클라이언트 디바이스 100로부터 요청의 수신에 응답하여, 런처 애플리케이션은 클라이언트 디바이스 100에 컴패니언 스크린 디바이스가 360도 제어 능력을 갖고 있음을 통지할 수 있다. 그러나, 컴패니언 스크린 디바이스는 자신이 360도 제어 기능을 가지고 있음을 임의의 적절한 방법으로 나타낼 수 있고, 이것은 런처 애플리케이션의 사용에 한정되지 않는다.       The launcher application may be run in the background in the companion screen device 400 to receive a request from the client device 100. In response to receiving the request from the client device 100, the launcher application may notify the client device 100 that the companion screen device has 360 degree control capabilities. However, the companion screen device may indicate that it has 360 degree control capability in any suitable manner, and this is not limited to the use of the launcher application.
 컴패니언 스크린 디바이스400가 360도 제어 능력을 갖는다는 표시는 컴패니언 스크린 디바이스400로부터 클라이언트 디바이스 100로, 클라이언트 디바이스 100로부터의 실행 요청이 송신되는 통신 채널(예를 들어 IP 네트워크)을 통해 송신될 수 있다.       An indication that the companion screen device 400 has 360 degrees control capability may be transmitted from the companion screen device 400 to the client device 100 via a communication channel (e.g., an IP network) through which an execution request from the client device 100 is sent.
컴패니언 스크린 디바이스 400가 360도 제어 능력을 갖는다는 표시를 컴패니언 스크린 디바이스 400로부터 수신하는 것에 응답하여, 클라이언트 디바이스 100는 적절한 제어 애플리케이션이 이용 가능한지 결정할 수 있다. 클라이언트 디바이스 100 및 컴패니언 스크린 디바이 스400는 그들 사이에 통신 채널을 확립하고, 제어 시그널링 정보를 컴패니언 스크린 디바이 스400로부터 클라이언트 디바이스 100에 전송한다. 예를 들어, 클라이언트 디바이스 100에서 실행중인 클라이언트 애플리케이션은 컴패니언 스크린 디바이 스400 상에서 실행되는 제어 애플리케이션과 app to app 통신을 확립할 수 있다. 이 app to app 통신은 예를 들어 웹 소켓을 통해 확립될 수 있다.       In response to receiving an indication from the companion screen device 400 that the companion screen device 400 has 360 degrees control capability, the client device 100 may determine that an appropriate control application is available. The client device 100 and the companion screen device 400 establish a communication channel between them and send control signaling information from the companion screen device 400 to the client device 100. For example, a client application running on client device 100 may establish app to app communication with a control application running on companion screen device 400. This app to app communication can be established via a web socket, for example.
 컴패니언 스크린 디바이스 400는 제로 구성 네트워킹(zero configuration networking)을 사용하여 가용성을 시그널링할 수 있다. 그 후 클라이언트 디바이스 100는 네트워크상에서 디바이스들을 발견하고 그들의 능력을 질의할 수 있다.  디바이스들의 능력은 컴패니언 스크린 ID 문자열을 통해 발견될 수 있다. HbbTV에서 상기 문자열은 CS_OS_ID 문자열로 정의될 수 있다. 이러한 문자열은 컴패니언 스크린 디바이스 400상의 애플리케이션이 360도 제어 능력을 갖는다는 것을 클라이언트 애플리케이션에 시그널링하기 위해 확장될 수 있다. 상기 문자열은 360도 콘텐츠를 표시할 수 있는 기능이 없는 클라이언트 디바이스들 100에 영향을 주지 않기 위해 이전 버전과 하위 호환되는 방식으로 연장될 수 있다.       The companion screen device 400 can signal availability using zero configuration networking. The client device 100 may then discover the devices on the network and query their capabilities. The capabilities of the devices can be found through the companion screen ID string. In HbbTV, the string may be defined as a CS_OS_ID string. This string may be extended to signal the client application that the application on the companion screen device 400 has 360 degrees control capability. The string may be extended in a manner that is backward compatible with the previous version so as not to affect the client devices 100 that are not capable of displaying 360 degrees of content.
HbbTV CS OS ID 문자열의 예는 다음과 같다.       An example of the HbbTV CS OS ID string is:
csoid = launcher WS user_agent_string       csoid = launcher WS user_agent_string
launcher = launcher_product [ launcher_comment ]       launcher = launcher_product [launcher_comment]
launcher_product = launcher_name "/" launcher_version       launcher_product = launcher_name "/" launcher_version
launcher_comment = WS "(" comment_body ")"       launcher_comment = WS "(" comment_body ")"
comment_body = comment 0*(";" WS comment )       comment_body = comment 0 * (";" WS comment)
comment = store_info | manufacturer_specific_comment       comment = store_info | manufacturer_specific_comment
store_info = "appstore" "/" app_store_is       store_info = "appstore" "/" app_store_is
WS = 1*" "       WS = 1 * "
따라서 360도 제어 기능의 시그널링은 아래와 같이 실행 주석에 추가될 수 있다.       Therefore, the signaling of the 360 degree control function can be added to the run comment as follows.
launcher_comment = "("360_control_supported ")"       launcher_comment = "(" 360_control_supported ")"
동작 S1002의 판단에 따라 단일 컴패니언 스크린 디바이스400가 이용 가능한 경우, 동작 S1006으로 진행하여, 단일 컴패니언 스크린 디바이스400와 클라이언트 디바이스 100간에 통신 채널을 확립하고, 단일 컴패니언 스크린 디바이스 400가 360도 비디오 콘텐츠를 제어할 수 있다.        If a single companion screen device 400 is available in accordance with the determination of operation S1002, the operation proceeds to operation S1006 to establish a communication channel between the single companion screen device 400 and the client device 100, and a single companion screen device 400 controls the 360- can do.
동작 S1002에서, 클라이언트 디바이스 100가 360도 콘텐츠를 제어하기에 적합한 임의의 이용 가능한 컴패니언 스크린 디바이스400가 존재한다고 결정하지 않으면, 동작 S1002a로 진행한다.  이는 컴패니언 스크린 디바이스400로부터 360도 비디오 콘텐츠를 제어 할 수 있다는 어떠한 표시도 클라이언트 디바이스 100가 수신하지 못할 때 발생할 수 있다. 동작 S1002a에서, 클라이언트 디바이스 100에 디스플레이된 360도 비디오 콘텐츠는 그 클라이언트 디바이스 100를 제어하기 위한 통상의 원격 제어 장치에 의해 제어 될 수 있다. 상기 원격 제어 장치는 예컨대, 클라이언트 디바이스 100가 텔레비전이면, 리모트 콘트롤러가 될 수 있다.         In operation S1002, if the client device 100 does not determine that there is any available companion screen device 400 suitable for controlling the 360 degree content, the operation proceeds to operation S1002a. This may occur when the client device 100 fails to receive any indication that the 360 degree video content can be controlled from the companion screen device 400. In operation S1002a, the 360 degree video content displayed on the client device 100 may be controlled by a conventional remote control device for controlling the client device 100. [ The remote control device can be, for example, a remote controller if the client device 100 is a television.
예를 들어, 클라이언트 디바이스 100 와 동일한 네트워크에 접속된 복수의 호환 가능한 컴패니언 스크린 디바이스400가 있을 수 있다. 동작 S1002에서, 복수의 컴패니언 스크린 디바이스400 각각으로부터 360도 비디오 콘텐츠를 제어할 수 있는 표시가 각각 수신되면, 동작 S1003으로 진행한다.        For example, there may be a plurality of compatible companion screen devices 400 connected to the same network as the client device 100. In operation S1002, when an indication capable of controlling the 360-degree video content is received from each of the plurality of companion screen devices 400, the operation proceeds to operation S1003.
 동작 S1003에서, 클라이언트 디바이스 100는 그 클라이언트 디바이스 100의 사용자 구성을 확인할 수 있다.        In operation S1003, the client device 100 can confirm the user configuration of the client device 100. [
확인된 사용자 구성에 따라 클라이언트 디바이스 100가 다중 연결을 허용되면, 동작 S1003a가 진행되어, 360도 제어가 가능하다고 표시한 컴패니언 스크린 디바이스400 각각과 클라이언트 디바이스 100 사이에 통신 채널이 확립될 수 있다. 복수의 컴패니언 스크린 디바이스400로의 접속은 예를 들어, 게임 애플리케이션과 같은 다수의 애플리케이션에서 사용될 수 있다.       If the client device 100 permits multiple connections according to the identified user configuration, the operation S1003a proceeds to establish a communication channel between the client device 100 and each of the companion screen devices 400 indicating that the 360 degree control is possible. The connection to the plurality of companion screen devices 400 may be used in a number of applications such as, for example, a gaming application.
 복수의 컴패니언 스크린 디바이스400가 이용 가능한 경우, 이들 모두가 클라이언트 디바이스 100 와 동일한 공간에 있지 않을 수 있다. 이 경우, 클라이언트 디바이스 100가 모든 이용 가능한 컴패니언 스크린 디바이스400를 자동으로 선택하고 이들 장치 모두에서 런처 애플리케이션을 시작한 경우, 사용자는 불편할 수 있다. 이것은 동일한 방에 있지 않은 디바이스들이 선택되는 경우 특히 그렇다. 따라서 이러한 문제점을 해결하기 위한 하나의 옵션은 본 방법의 동작 S1003b에서 사용자가 특정 디바이스를 선택할 수 있게 하는 팝업을 클라이언트 디바이스 100상에 디스플레이하는 것이다. 이와 같이 디스플레이된 팝업에 따라 사용자는 하나의 특정 컴패니언 스크린 디바이스를 선택할 수 있다.        If a plurality of companion screen devices 400 are available, all of them may not be in the same space as the client device 100. In this case, if the client device 100 automatically selects all available companion screen devices 400 and launches the launcher application on both of these devices, the user may be inconvenient. This is especially true when devices that are not in the same room are selected. Therefore, one option to solve this problem is to display on the client device 100 a pop-up that allows the user to select a specific device in operation S1003b of the method. According to the displayed pop-up, the user can select one specific companion screen device.
 클라이언트 디바이스 100는 복수의 컴패니언 스크린 디바이스400 중 하나의 컴패니언 스크린 디바이스400에서 런처 애플리케이션을 자동으로 실행하도록 구성 될 수 있다.  이것은 여러 가지 방법으로 수행될 수 있다.       The client device 100 may be configured to automatically launch the launcher application from one of the plurality of companion screen devices 400, the companion screen device 400. This can be done in several ways.
 동작 S1004에서, 자동 런칭 기능이 이용 가능한 경우, 클라이언트 디바이스 100는 이용 가능한 컴패니언 스크린 디바이스400의 근접성을 자신이 검사할 수 있는지 여부를 판단하도록 구성될 수 있다. 근접성 검사가 가능한 경우, 동작 S1004a가 수행된다. 동작 1004a에서, 클라이언트 디바이스 100는 컴패니언 스크린 디바이스400 의 클라이언트 디바이스 100에 대한 근접성에 기초하여 컴패니언 스크린 디바이스400를 선택하도록 구성될 수 있다.        In operation S1004, if the automatic launching function is available, the client device 100 may be configured to determine whether it is capable of checking proximity of the available companion screen device 400 itself. If the proximity check is possible, the operation S1004a is performed. At operation 1004a, the client device 100 may be configured to select the companion screen device 400 based on the proximity of the companion screen device 400 to the client device 100. [
근접 검출은 예를 들어, BLE 비컨을 사용하여 수행될 수 있다. 물리적 근접성에 기초하여 컴패니언 스크린 디바이스400를 선택할 때, 클라이언트 디바이스 100는 물리적으로 클라이언트 디바이스 100에 가장 가까운 컴패니언 스크린 디바이스400를 자동으로 선택할 수 있다.        Proximity detection may be performed using, for example, a BLE beacon. When selecting the companion screen device 400 based on physical proximity, the client device 100 may automatically select the companion screen device 400 closest to the client device 100 physically.
 어떤 이유로 든 사용자가 근접 검출의 사용을 원하지 않으면, 사용자는 클라이언트 디바이스 100 상의 사용자 인터페이스 옵션을 통해 컴패니언 스크린 디바이스400 의 근접 감지 선택을 디스에이블할 수 있다. 이와 같이 근접 감지 선택이 디스에이블된 경우 또는 근접성 검사가 다른 이유로 사용될 수 없는 경우 동작 S1005가 수행될 수 있다.       If for some reason the user does not wish to use proximity detection, the user may disable the proximity sensing selection of the companion screen device 400 via the user interface option on the client device 100. [ If the proximity detection selection is disabled as such, or if the proximity check can not be used for any other reason, then operation S1005 may be performed.
 동작 S1005에서, 클라이언트 디바이스 100는 학습 알고리즘에 기초하여 컴패니언 스크린 디바이스400를 선택할 수 있다.       In operation S1005, the client device 100 may select the companion screen device 400 based on the learning algorithm.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.       Artificial intelligence (AI) system is a computer system that implements human-level intelligence. Unlike existing Rule-based smart systems, AI is a system in which machines learn, judge and become smart. Artificial intelligence systems are increasingly recognized and improving their understanding of user preferences as they are used, and existing rule-based smart systems are gradually being replaced by deep-run-based artificial intelligence systems.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.       Artificial intelligence technology consists of element technologies that utilize deep learning and machine learning.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.       Machine learning is an algorithm technology that classifies / learns the characteristics of input data by itself. Element technology is a technology that simulates functions such as recognition and judgment of human brain using machine learning algorithms such as deep learning. Understanding, reasoning / prediction, knowledge representation, and motion control.
클라이언트 디바이스 100는 인공지능 기술이 응용되는 다양한 분야 중 예를 들어, 추론 예측 등을 이용하여 학습할 수 있다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 클라이언트 디바이스 100는, 이전에 클라이언트 디바이스 100에서 수행된 컴패니언 스크린 디바이스 선택 과정 및 결과들을 이용하여 현재 상황에서의 컴패니언 스크린 디바이스를 선택할 수 있다.        The client device 100 can learn by using, for example, reasoning prediction among various fields to which artificial intelligence technology is applied. Inference prediction is a technique for judging and logically inferring and predicting information, including knowledge / probability based reasoning, optimization prediction, preference base planning, and recommendation. The client device 100 can select the companion screen device in the current situation using the companion screen device selection process and results previously performed in the client device 100. [
 클라이언트 애플리케이션이 복수의 호환 가능한 런처 애플리케이션을 처음 발견하면, 클라이언트 애플리케이션은 팝업을 사용자에게 디스플레이하고, 이 팝업을 통해 사용자는 자신이 접속하고자 하는 선호 컴패니언 스크린 디바이스400를 선택할 수 있다. 시간이 흐름에 따라 클라이언트 디바이스 100는 자신에게 가장 많이 연결되는 컴패니언 스크린 디바이스400를 학습하고, 그 중 가장 많이 사용된 컴패니언 스크린 디바이스400와의 통신 채널을 확립할 수 있다. 예를 들어, 런처 애플리케이션은 클라이언트 디바이스 100에 가장 빈번하게 접속된 것으로 인식되는 컴패니언 스크린 디바이스400 상에서 자동으로 시작될 수 있다.        When a client application first discovers a plurality of compatible launcher applications, the client application displays a pop-up to the user, through which the user can select the preferred companion screen device 400 to which he wants to connect. As time passes, the client device 100 learns the companion screen device 400 that is most connected to the client device 100, and establishes a communication channel with the most used companion screen device 400 among them. For example, the launcher application may be automatically started on the companion screen device 400, which is perceived to be the most frequently connected to the client device 100.
예를 들어, 클라이언트 디바이스 100는 이전에 그 클라이언트 디바이스 100에 접속한 모든 컴패니언 스크린 디바이스400의 ID를 기억할 수 있다. 클라이언트 디바이스 100는 이러한 연결의 시간을 기록할 수 있다. 다수의 디바이스가 이용 가능한 경우, 클라이언트 디바이스 100는 일정 기간에 걸쳐 구축될 수 있는 사용자 프로파일에 기초하여 컴패니언 스크린 디바이스400를 선택할 수 있다.        For example, the client device 100 may store the IDs of all the companion screen devices 400 that have previously connected to the client device 100. The client device 100 may record the time of this connection. If multiple devices are available, the client device 100 may select the companion screen device 400 based on a user profile that may be built over a period of time.
컴패니언 스크린 디바이스400를 사용자 프로파일에 기초하여 선택함으로써, 클라이언트 디바이스 100는 컨텐츠와 호환되지 않는 사용자 프로파일에 컨텐츠 통지가 자동으로 전송되는 것을 방지할 수 있다. 예를 들어, 클라이언트 디바이스 100는 성인 콘텐츠에 관한 360도 컨텐츠가 클라이언트 디바이스 100에 디스플레이될 때, 아이의 사용자 프로파일을 선택하지 않을 수 있다. 컴패니언 스크린 디바이스400의 사용자 프로파일은 관련 정보를 클라이언트 디바이스 100에 제공하여, 비호환 콘텐츠의 경우에 클라이언트 디바이스 100로의 접속을 방지한다. 또한, 부모 제어(parental control)는 예컨대, 컴패니언 스크린 디바이스 400의 설정을 통해 컴패니언 스크린 디바이스400에 설정될 수 있다. 컴패니언 스크린 디바이스 400는 클라이언트 디바이스 100에 부모 제어를 표시하고, 컴패니언 스크린 디바이스400는 부모 제어에 관한 정보에 기초하여 선택될 수 있다.       By selecting the companion screen device 400 based on the user profile, the client device 100 can prevent the content notification from being automatically transmitted to the user profile that is incompatible with the content. For example, the client device 100 may not select the user profile of the child when the 360 degree content related to the adult content is displayed on the client device 100. The user profile of the companion screen device 400 provides relevant information to the client device 100 to prevent access to the client device 100 in the case of incompatible content. Parental control may also be set on the companion screen device 400, for example, through the setting of the companion screen device 400. The companion screen device 400 displays the parent control to the client device 100, and the companion screen device 400 may be selected based on information about the parent control.
 동작 S1006에서, 선택된 컴패니언 스크린 디바이스400와 클라이언트 디바이스 100 사이에 통신 채널이 확립됨으로써, 클라이언트 디바이스 100에 디스플레이된 360도 비디오 콘텐츠는 컴패니언 스크린 디바이스400에서 수신되는 시그널링에 의해 제어될 수 있다.        In operation S1006, a communication channel is established between the selected companion screen device 400 and the client device 100, so that the 360-degree video content displayed on the client device 100 can be controlled by the signaling received at the companion screen device 400. [
도 11은 일 실시예에 따라, 클라이언트 디바이스 100 와 컴패니언 스크린 디바이스400 사이에 통신 채널을 확립하기 위한, 컴패니언 스크린 디바이스 400에서의 동작을 설명하는 흐름도이다. 실시예에 따라서는, 본 방법의 모든 단계들은 동일한 디바이스에서 수행되거나, 또는 여러 단계들이 다른 디바이스에서 수행될 수 있다. 도 11에 도시된 모든 단계는 특정 실시예에 따라서 소프트웨어 또는 하드웨어로 수행될 수 있다. 하나 이상의 단계가 소프트웨어로 수행될 때, 본 방법을 수행하기 위한 장치는, 하나 이상의 프로세서를 포함하는 프로세싱 유닛, 및 상기 프로세싱 유닛에 의해 실행될 때 본 방법의 각 단계를 수행하는 컴퓨터 프로그램 명령을 내부에 저장하는 컴퓨터 판독 가능 메모리를 포함할 수 있다.        11 is a flow diagram illustrating operation in a companion screen device 400 for establishing a communication channel between a client device 100 and a companion screen device 400, according to one embodiment. Depending on the embodiment, all steps of the method may be performed on the same device, or several steps may be performed on different devices. All of the steps shown in Fig. 11 may be performed with software or hardware according to a specific embodiment. When one or more steps are performed in software, the apparatus for performing the method comprises a processing unit including one or more processors, and computer program instructions for executing each step of the method when executed by the processing unit, Readable < / RTI > memory.
 본 실시예에서, 컴패니언 스크린 디바이스400는 클라이언트 디바이스 100와 컴패니언 스크린 디바이스400간 통신 채널의 확립을 개시할 수 있다. 예를 들어, 컴패니언 스크린 디바이스400 상에서 실행되는 애플리케이션은 클라이언트 디바이스 100 상에서 360도 비디오 클라이언트를 론칭할 수 있다. 예를 들어, HbbTV에서 컴패니언 스크린 애플리케이션이 HbbTV 애플리케이션을 론칭할 수 있다.       In this embodiment, the companion screen device 400 may initiate establishment of a communication channel between the client device 100 and the companion screen device 400. For example, an application running on the companion screen device 400 may launch a 360 degree video client on the client device 100. For example, in HbbTV, a companion screen application can launch an HbbTV application.
 동작 S1110에서, 컴패니언 스크린 디바이스 400에서 360도 비디오 컨텐츠 이벤트가 발생할 수 있다.        In operation S1110, a 360 degree video content event may occur in the companion screen device 400. [
동작 S1120에서, 컴패니언 스크린 디바이스400는 클라이언트 디바이스들 100을 검색하도록 구성된다. 예를 들어, 컴패니언 스크린 디바이스400는 동일한 IP 네트워크상에서 클라이언트 디바이스들 100을 검색하도록 구성될 수 있다. 또한, 컴패니언 스크린 디바이스400는 360도 지원 기능이 있는 클라이언트 디바이스 100를 사용할 수 있는지 여부를 판단할 수 있다. 적합한 클라이언트 디바이스 100가 검출되지 않으면, 컴패니언 스크린 디바이스 40는 360도 비디오 콘텐츠를 자신의 디스플레이만 표시할 수 있다.        In operation S1120, the companion screen device 400 is configured to search for client devices 100. [ For example, the companion screen device 400 may be configured to search for client devices 100 on the same IP network. In addition, the companion screen device 400 can determine whether the client device 100 with the 360 degree support function is available. If a suitable client device 100 is not detected, the companion screen device 40 may display only its own display of 360 degree video content.
동작 S1130에서, 컴패니언 스크린 디바이스 400는 식별된 클라이언트 디바이스와 통신 채널을 연결할 수 있다.        In operation S1130, the companion screen device 400 may connect the communication channel with the identified client device.
컴패니언 스크린 디바이스400는 클라이언트 디바이스 100를 발견하고 그 클라이언트 디바이스 100 상에서 360도 클라이언트 애플리케이션을 론칭하기 위해 DIAL(Discovery and Launch)을 사용할 수 있다. 예를 들어, 클라이언트 디바이스 100는 자신이 360 도 제어 기능을 가지고 있음을 컴패니언 스크린 디바이스400에 알릴 수 있다. 클라이언트 장치 100가 360도 기능을 갖는다는 표시를 수신하는 것에 응답하여, 컴패니언 스크린 장치 400는 클라이언트 디바이스 100 상의 클라이언트 애플리케이션의 론칭을 요청하도록 구성될 수 있다.       The companion screen device 400 may use DIAL (Discovery and Launch) to discover the client device 100 and launch the 360 degree client application on the client device 100. [ For example, the client device 100 may notify the companion screen device 400 that it has a 360 degree control function. In response to receiving an indication that the client device 100 has a 360 degree capability, the companion screen device 400 may be configured to request launching of a client application on the client device 100.
예를 들어, DIAL이 사용된 경우, 본 방법은 URL리소스에서 반환된 XML 문서를 확장하여 아래와 같이 구현할 수 있다.       For example, if DIAL is used, the method can be extended as follows by extending the XML document returned from the URL resource.
 <? xml version = "1.0"encoding = "UTF-8"?       <? xml version = "1.0" encoding = "UTF-8"?
<xs : schema       <xs: schema
xmlns : xs = " http://www.w3.org/2001/XMLSchema "       xmlns: xs = "http://www.w3.org/2001/XMLSchema"
xmlns = "urn : hbbtv : CompanionScreen : 2014"       xmlns = "urn: hbbtv: CompanionScreen: 2014"
targetNamespace = "urn : : CompanionScreen : 2014"       targetNamespace = "urn:: CompanionScreen: 2014"
elementFormDefault = "qualified">       elementFormDefault = "qualified">
<xs : 요소 이름 = "X_HbbTV_360Video"type = "XS : string"/>       <xs: element name = "X_HbbTV_360Video" type = "XS: string" />
</ xs : schema>       </ xs: schema>
 대안적으로, 아래와 같이, 사용자 에이전트 문자열을 확장하여 360도 기능을 시그널링할 수 있다.       Alternatively, the user agent string can be extended to signal the 360 degree capability as follows.
 HbbTV / 1.4.1 (+ DRM, Samsung, SmartTV2017, SoftwareVersion ;;) + MEDIA360 Chrome       HbbTV / 1.4.1 (+ DRM, Samsung, SmartTV2017, SoftwareVersion ;;) + MEDIA360 Chrome
 그러나 360도 기능은 임의의 적절한 방법으로 시그널링될 수 있다.       However, the 360 degree function can be signaled in any suitable way.
 동작 S1140에서, 클라이언트 애플리케이션이 클라이언트 디바이스 100에서 론칭되는 것에 응답하여, 컴패니언 스크린 디바이스400는 제어 모드로 들어갈 수 있다. 컴패니언 스크린 디바이스400는 클라이언트 디바이스 100로 하여금 360도 콘텐츠를 디스플레이하게 한다. 그 다음, 컴패니언 스크린 디바이스400는 클라이언트 디바이스 100에 디스플레이된 360도 비디오 콘텐츠의 시점을 제어하기 위해 클라이언트 디바이스 100에 시그널링을 전송할 수 있다.       In operation S1140, in response to the client application being launched at the client device 100, the companion screen device 400 may enter the control mode. The companion screen device 400 allows the client device 100 to display 360 degree content. The companion screen device 400 may then send signaling to the client device 100 to control the viewpoint of the 360 degree video content displayed on the client device 100.
도 12는 일 실시예에 따라 컴패니언 스크린 디바이스 400가 클라이언트 디바이스 100를 식별하는 동작의 일 예를 나타낸다.        12 illustrates an example of an operation in which a companion screen device 400 identifies a client device 100 in accordance with one embodiment.
도 12를 참조하면, 동작 1210에서, 컴패니언 스크린 디바이스 400에서 360도 비디오 컨텐츠 이벤트가 발생할 수 있다. 360도 비디오 컨텐츠 이벤트는 360도 비디오 컨텐츠의 재생을 트리거하는 어떠한 형태의 동작도 포함할 수 있다.        Referring to FIG. 12, at operation 1210, a 360 degree video content event may occur in the companion screen device 400. The 360 degree video content event may include any type of operation that triggers playback of the 360 degree video content.
동작 1220에서, 클라이언트 디바이스 100는 360도 비디오 컨텐츠의 표시를 할 수 있는 클라이언트 디바이스를 서치하기 위해 디스커버리 요청 신호를 전송할 수 있다.        At operation 1220, the client device 100 may send a discovery request signal to search for a client device capable of displaying 360 degrees of video content.
동작 1230에서, 클라이언트 디바이스 100는 360도 표시 능력을 가짐을 나타내는 정보를 포함하는 시그널을 컴패니언 스크린 디바이스 400으로 전송할 수 있다.        At operation 1230, the client device 100 may send a signal to the companion screen device 400 that includes information indicating that it has 360 degree display capability.
동작 1240에서, 컴패니언 스크린 디바이스 400는 클라이언트 디바이스 100으로부터 360도 제어 능력을 가짐을 나타내는 정보를 포함하는 시그널을 수신함으로써 클라이언트 디바이스 100을 식별하고, 이에 따라 클라이언트 디바이스 100과 컴패니언 스크린 디바이스 400 간에 통신 채널을 연결할 수 있다.        At operation 1240, the companion screen device 400 identifies the client device 100 by receiving a signal containing information indicating that it has 360 degrees control capability from the client device 100, thereby causing a communication channel between the client device 100 and the companion screen device 400 You can connect.
동작 1250에서, 클라이언트 디바이스 100는 360도 비디오 컨텐츠를 표시할 수 있다. 클라이언트 디바이스 100는 360도 비디오 컨텐츠를 다양한 방법으로 획득할 수 있다. 예를 들어 클라이언트 디바이스 100는 360도 비디오 컨텐츠를 서버로부터 직접 수신할 수도 있고 또는 컴패니언 스크린 디바이스 400를 통해서 수신할 수도 있다.        At operation 1250, client device 100 may display 360 degree video content. The client device 100 may obtain 360 degree video content in a variety of ways. For example, the client device 100 may receive 360-degree video content directly from the server or via the companion screen device 400.
동작 1260에서, 컴패니언 스크린 디바이스 400는 360도 비디오 컨텐츠를 제어하는 네비게이션 정보를 생성하고 동작 1270에 이 생성된 네비게이션 정보를 클라이언트 디바이스 100으로 전송할 수 있다.        At operation 1260, the companion screen device 400 may generate navigation information to control the 360 degree video content and send the generated navigation information to the client device 100 at operation 1270.
동작 1280에서, 클라이언트 디바이스 100는 컴패니언 스크린 디바이스 400으로부터 수신된 네비게이션 정보에 따라 360도 비디오 컨텐츠의 표시를 제어할 수 있다.        At operation 1280, the client device 100 may control the display of the 360 degree video content in accordance with navigation information received from the companion screen device 400.
도 13은 일 실시예에 따라 클라이언트 디바이스 100a와 컴패니언 스크린 디바이스 400a의 개략도이다.        13 is a schematic diagram of a client device 100a and a companion screen device 400a in accordance with one embodiment.
360도 비디오 콘텐츠 1310는 TV와 같은 클라이언트 디바이스 100a에 제공될 수 있다. 콘텐츠 1310는 광대역 또는 브로드 캐스트 네트워크를 통한 전송을 위해 서버 1320에 업로드될 수 있다. 컨텐츠 1310는 클라이언트 애플리케이션을 실행하고 있는 클라이언트 디바이스 100a에 제공될 수 있다.        The 360 degree video content 1310 may be provided to a client device 100a such as a TV. Content 1310 may be uploaded to server 1320 for transmission over a broadband or broadcast network. Content 1310 may be provided to client device 100a running a client application.
클라이언트 디바이스 100a는 도 4과 관련하여 상술한 방법에 따라서 컴패니언 스크린 디바이스400a가 제어 애플리케이션을 론칭하게 할 수 있다. 컴패니언 스크린 디바이스400a는 클라이언트 디바이스 100a상에 표시된 360도 비디오 콘텐츠 1310 의 시점을 제어하기 위해 사용자 명령을 수신할 수 있다. 예를 들어, 컴패니언 스크린 디바이스 400a는 터치 스크린과 같은 입력부 24를 포함할 수 있으며, 이 입력부를 통해 사용자 명령이 입력될 수 있다. 입력부24는 명령들이 입력 될 수 있는 버튼들을 또한 포함할 수 있다. 예를 들어, 사용자 명령은 도 15 내지 도 17을 참조하여 상세하게 설명되는 명령들을 포함 할 수 있다.       The client device 100a may cause the companion screen device 400a to launch the control application according to the method described above with respect to FIG. The companion screen device 400a may receive a user command to control the viewpoint of the 360 degree video content 1310 displayed on the client device 100a. For example, the companion screen device 400a may include an input 24, such as a touch screen, through which a user command may be input. The input unit 24 may also include buttons to which commands can be input. For example, the user command may include instructions that are described in detail with reference to Figures 15-17.
 컴패니언 스크린 디바이스 400a는 프로세서 21a를 포함하는 프로세싱 유닛 21, 및 비 일시적인 컴퓨터 판독 가능 메모리와 같은 메모리 21b에 저장될 수 있는 컴퓨터 프로그램 코드를 포함할 수 있다. 프로세서 21a에 의해 실행될 때, 메모리 21b상에 저장된 컴퓨터 프로그램 코드는 도 11 내지 도 12를 참조하여 기술된 방법의 단계들을 장치가 수행하도록 할 수 있다.        Companion screen device 400a may include computer program code that may be stored in memory 21b, such as a processing unit 21 including a processor 21a, and a non-volatile computer readable memory. When executed by the processor 21a, the computer program code stored on the memory 21b may cause the apparatus to perform the steps of the method described with reference to Figures 11-12.
클라이언트 디바이스 100a는 프로세서 11a를 포함하는 프로세싱 유닛 11, 및 비 일시적인 컴퓨터 판독 가능 메모리와 같은 메모리 11b에 저장될 수 있는 컴퓨터 프로그램 코드를 포함할 수 있다. 프로세서11a에 의해 실행될 때, 메모리11b에 저장된 컴퓨터 프로그램 코드는 도 7 내지 10을 참조하여 기술된 방법의 단계들을 장치가 수행하게 할 수 있다. 컴패니언 스크린 디바이스 400a는 컴패니언 스크린 디바이스의 방위를 측정하기 위해 센서들 22을 포함할 수 있다. 컴패니언 스크린 디바이스400는 클라이언트 디바이스 100a와 시그널링을 송신 및 수신하기 위한 통신 인터페이스 23를 포함할 수 있다. 클라이언트 디바이스 100a는 컴패니언 스크린 디바이스400a와 시그널링을 송신 및 수신하기 위한 통신 인터페이스13를 포함할 수 있다.        Client device 100a may include computer program code that may be stored in memory 11b, such as a processing unit 11 including processor 11a, and a non-volatile computer readable memory. When executed by the processor 11a, the computer program code stored in the memory 11b may cause the apparatus to perform the steps of the method described with reference to Figures 7-10. The companion screen device 400a may include sensors 22 for measuring the orientation of the companion screen device. The companion screen device 400 may include a communication interface 23 for transmitting and receiving signaling with the client device 100a. The client device 100a may include a communication interface 13 for transmitting and receiving signaling with the companion screen device 400a.
도 14는 일 실시예에 따라 클라이언트 디바이스 100a 및 컴패니언 스크린 디바이스 400a의 개략도이다.        14 is a schematic diagram of a client device 100a and a companion screen device 400a in accordance with one embodiment.
360도 콘텐츠 1310는 이동 전화와 같은 컴패니언 스크린 디바이스400a 에 제공된다. 콘텐츠1310는 서버 1320로부터 광대역 또는 브로드 캐스트 네트워크를 통해 컴패니언 스크린 디바이스400a에 제공될 수 있다.  도 4와 관련하여 설명한 방법에 따라, 컴패니언 스크린 디바이스400a는 클라이언트 디바이스 100a로 하여금 360도 애플리케이션 프로그램을 실행시킬 수 있다. 사용자는 클라이언트 디바이스 100a에 디스플레이 된 360도 컨텐츠1310 의 시점을 제어하기 위한 명령을, 컴패니언 스크린 디바이스400a를 통해 제공 할 수 있다.  예를 들어, 컴패니언 스크린 디바이스400a는 사용자 명령이 입력될 수 있는 스크린과 같은 입력부 24를 포함할 수 있다. 입력부24는 명령들이 입력될 수 있는 버튼들을 또한 포함할 수 있다. 예를 들어, 사용자 명령은 도15 내지 도 17을 참조하여 상세히 설명한 바와 같은 명령들을 포함할 수 있다.       The 360 degree content 1310 is provided to a companion screen device 400a, such as a mobile phone. Content 1310 may be provided to the companion screen device 400a from the server 1320 via a broadband or broadcast network. According to the method described in connection with FIG. 4, the companion screen device 400a may cause the client device 100a to execute a 360 degree application program. The user may provide a command through the companion screen device 400a to control the viewpoint of the 360 degree content 1310 displayed on the client device 100a. For example, the companion screen device 400a may include an input 24, such as a screen, on which a user command may be entered. The input unit 24 may also include buttons to which commands can be input. For example, the user command may include instructions as described in detail with reference to Figures 15-17.
 컴패니언 스크린 디바이스400a 는 프로세서21a를 포함하는 프로세싱 유닛21 및 비 일시적인 컴퓨터 판독 가능 메모리와 같은 메모리21b에 저장될 수 있는 컴퓨터 프로그램 코드를 포함할 수 있다. 프로세서21a에 의해 실행될 때, 메모리21b에 저장된 컴퓨터 프로그램 코드는 도 11 내지 12를 참조하여 설명한 방법의 단계들을 장치가 수행하도록 할 수 있다. 컴패니언 스크린 디바이스400a는 컴패니언 스크린 디바이스의 방위를 측정하기 위한 센서22를 포함할 수 있다. 컴패니언 스크린 디바이스400a는 클라이언트 디바이스 100와 시그널링을 송신 및 수신하기 위한 통신 인터페이스23를 포함할 수 있다.       Companion screen device 400a may include computer program code that may be stored in memory 21b, such as a processing unit 21 including processor 21a and a non-volatile computer readable memory. When executed by the processor 21a, the computer program code stored in the memory 21b may cause the apparatus to perform the steps of the method described with reference to Figures 11-12. The companion screen device 400a may include a sensor 22 for measuring the orientation of the companion screen device. The companion screen device 400a may include a communication interface 23 for transmitting and receiving signaling with the client device 100. [
 클라이언트 디바이스 100a는 프로세서 11a를 포함하는 프로세싱 유닛 11 및 비 일시적인 컴퓨터 판독 가능 메모리와 같은 메모리11b에 저장될 수 있는 컴퓨터 프로그램 코드를 포함할 수 있다. 프로세서11a에 의해 실행될 때, 메모리11b에 저장된 컴퓨터 프로그램 코드는 도 7 내지 10을 참조하여 설명한 방법의 단계들을 장치가 수행하도록 할 수 있다. 클라이언트 디바이스 100a는 컴패니언 스크린 디바이스400a와 시그널링을 송신 및 수신하기 위한 통신 인터페이스13를 포함할 수 있다.       Client device 100a may include computer program code that may be stored in memory 11b, such as a processing unit 11 including processor 11a and a non-volatile computer readable memory. When executed by the processor 11a, the computer program code stored in the memory 11b may cause the apparatus to perform the steps of the method described with reference to Figures 7-10. The client device 100a may include a communication interface 13 for transmitting and receiving signaling with the companion screen device 400a.
도 15는 일 실시예에 따라 컴패니언 스크린 디바이스 400에서 수행될 수 있는 제어 동작의 개략도이다.        15 is a schematic diagram of control operations that may be performed on a companion screen device 400 in accordance with one embodiment.
도 15를 참조하면, 컴패니언 스크린 디바이스 400는 사용자 인터페이스 1510를 디스플레이 할 수 있다. 사용자 인터페이스 1510는 사용자가 선택할 수 있는 탐색 명령에 대응하는 아이콘을 포함한다. 예를 들어, 사용자 인터페이스 1510는 사용자가 콘텐츠 주위를 스크롤할 수 있게 하는 방향 화살표 1511를 포함할 수 있다. 사용자는 방향 화살표 1511를 이용해 콘텐츠에 대하여 수평 및/또는 수직 방향으로 네비게이션할 수 있다. 따라서, 360도 비디오 콘텐츠의 시점은 네비게이션 명령에 따라 조정될 수 있다. 예를 들어, 사용자가 왼쪽 방향 화살표를 선택하면 360도 컨텐츠의 시점이 왼쪽으로 회전하게 될 수 있다.        Referring to FIG. 15, the companion screen device 400 may display a user interface 1510. The user interface 1510 includes icons corresponding to search commands that the user can select. For example, the user interface 1510 may include a direction arrow 1511 that allows the user to scroll around the content. The user can navigate horizontally and / or vertically with respect to the content using direction arrow 1511. [ Thus, the viewpoint of the 360 degree video content can be adjusted according to the navigation command. For example, if the user selects the left arrow, the view of the 360 degree content may be rotated to the left.
 사용자 인터페이스 1510는 컨텐츠의 줌 레벨을 조정하기 위한 줌 표시기 1512를 또한 포함할 수 있다. 따라서 사용자는 특정 배율로 콘텐츠의 일부를 볼 수 있다. 클라이언트 디바이스 100의 콘텐츠 뷰잉 윈도우는, 예컨대, 클라이언트 디바이스 100 의 뷰잉 윈도우가 클라이언트 디바이스 100의 전체 화면인 경우, 보여지는 콘텐츠의 각도 범위(angular extent)가 줌 배율에 따라 변경되도록, 일정하게 유지될 수 있다. 하지만, 클라이언트 디바이스 100의 뷰잉 윈도우가 클라이언트 디바이스 100의 전체 화면보다 작은 경우, 뷰잉 윈도우의 크기는 콘텐츠의 각도 범위가 일정하게 유지되도록 줌 레벨에 따라 변할 수 있다. 사용자 인터페이스 1510는 또한 사용자가 상이한 줌 모드(즉, 상이한 광각 렌더링 모드)를 선택할 수 있게 한다. 도18에는 사용자가 선택할 수 있는 광각 렌더링의 다른 예가 도시되어 있다.        The user interface 1510 may also include a zoom indicator 1512 for adjusting the zoom level of the content. Therefore, the user can view part of the content at a specific magnification. The content viewing window of the client device 100 can be kept constant so that, for example, if the viewing window of the client device 100 is the entire screen of the client device 100, the angular extent of the content being viewed is changed in accordance with the zoom factor. have. However, if the viewing window of the client device 100 is smaller than the full screen of the client device 100, the size of the viewing window may vary depending on the zoom level such that the angular extent of the content remains constant. The user interface 1510 also allows the user to select a different zoom mode (i.e., a different wide-angle rendering mode). Fig. 18 shows another example of wide-angle rendering that the user can select.
도 15에는 도시되지 않았지만, 360도 비디오 컨텐츠는 컴패니언 스크린 디바이스 400에도 표시될 수 있다.        Although not shown in FIG. 15, the 360-degree video content may also be displayed on the companion screen device 400.
사용자가 선택 가능한 네비게이션 명령은 시그널링을 통해 클라이언트 디바이스 100로 전송될 수 있다. 예를 들어, 네비게이션 명령은 클라이언트 디바이스 100 상에서 실행되는 클라이언트 애플리케이션으로 웹 소켓을 통해 전송될 수 있다.       A user selectable navigation command may be sent to the client device 100 via signaling. For example, a navigation command may be sent over a web socket to a client application running on the client device 100.
 컴패니언 스크린 디바이스400로부터 수신된 시그널링에 응답하여, 360도 비디오 콘텐츠의 시점은 네비게이션 명령에 따라 조정될 수 있다.       In response to the signaling received from the companion screen device 400, the viewpoint of the 360 degree video content may be adjusted in accordance with the navigation command.
 도 16은 일 실시예에 따라 컴패니언 스크린 디바이스 400에서 수행될 수 있는 제어 동작의 개략도이다.        16 is a schematic diagram of control operations that may be performed in companion screen device 400 in accordance with one embodiment.
도 16을 참조하면, 컴패니언 스크린 디바이스400는 클라이언트 디바이스 100에 시그널링을 통해 방위 정보를 송신하도록 구성될 수 있다. 예를 들어, 컴패니언 스크린 디바이스400는 x 및/또는 y 및/또는 z 축을 중심으로 회전될 수 있다.  컴패니언 스크린 디바이스400는 디바이스의 방위 또는 그 방위의 변화를 검출하도록 구성된 적어도 하나의 센서를 포함할 수 있다. 그 다음, 컴패니언 스크린 디바이스400는 디바이스의 방위에 대응하는 값을 클라이언트 디바이스 100에 전송할 수 있다.  예를 들어, X , Y 및 Z 회전 벡터는 컴패니언 스크린 디바이스400의 센서에서 판독될 수 있다.       Referring to FIG. 16, the companion screen device 400 may be configured to transmit orientation information to the client device 100 through signaling. For example, the companion screen device 400 may be rotated about x and / or y and / or z axes. The companion screen device 400 may include at least one sensor configured to detect a change in orientation or orientation of the device. The companion screen device 400 may then send a value corresponding to the orientation of the device to the client device 100. For example, the X, Y, and Z rotation vectors may be read from the sensor of the companion screen device 400.
 방위 값은 웹 소켓을 통해 클라이언트 애플리케이션에 전송될 수 있다. 컴패니언 스크린 디바이스400와 클라이언트 디바이스 100 사이에 전용의 웹 소켓 접속이 있을 수 있다. 컴패니언 스크린 디바이스400로부터 클라이언트 디바이스 100로 송신된 데이터의 일부 스로틀링(throttling)은 웹 소켓에 데이터를 오버로딩하는 것을 방지하기 위해 필요할 수 있다.       The azimuth value may be sent to the client application via the web socket. There may be a dedicated web socket connection between the companion screen device 400 and the client device 100. Some throttling of data sent from the companion screen device 400 to the client device 100 may be necessary to prevent overloading the data to the web socket.
 예를 들어, 클라이언트 디바이스 100는 자신이 디스플레이하는 360도 비디오 콘텐츠의 시점이 컴패니언 스크린 디바이스400의 방위에 기초하여 회전되도록, 컴패니언 스크린 디바이스400의 디바이스 방위 정보를 수신하는 것에 응답하여 360도 콘텐츠의 시점을 조정하도록 구성된다.        For example, in response to receiving the device orientation information of the companion screen device 400, the client device 100 may rotate the viewpoint of the 360-degree video content in response to receiving the device orientation information of the companion screen device 400, such that the viewpoint of the 360- .
클라이언트 디바이스 100는 사용자에게 향상된 경험을 제공하는데 가장 적합한 방식으로 수신된 위치 데이터를 해석할 수 있다. 예를 들어, 클라이언트 디바이스는 컴패니언 스크린 디바이스400가 정의한 절대 위치들을 수신할 때 그 위치들로 급격히 이동(jump)할 수 있지만, 이것은 360도 컨텐츠의 재생 동안 시점의 급격한 변화로 인해 "급격한" 사용자 경험이 된다. 대안적으로, 클라이언트 애플리케이션은 몇몇 평활화 로직을 적용하여, 360 네비게이션을 컴패니언 스크린 디바이스400로부터 수신된 최종 위치로 일정한 속도로 부드럽게 천이시킬 수 있다. 예를 들어, 방위 값을 평활화하여 평활화된 방위 데이터를 얻을 수 있다. 평활화는 수신된 값의 범위에 걸쳐 균등한 간격을 갖도록 값을 변경하는 작업을 포함할 수 있다. 360도 비디오 콘텐츠 시점의 회전 속도는 평탄화된 방위 데이터에 기초하여 결정될 수 있다.       The client device 100 may interpret the received location data in a manner that is most appropriate for providing the user with an enhanced experience. For example, a client device may jump rapidly to its positions when it receives absolute positions defined by the companion screen device 400, but this may result in a "sudden" user experience . Alternatively, the client application may apply some smoothing logic to smoothly transition the 360 navigation from the companion screen device 400 to the final position received at a constant rate. For example, smoothed azimuth data can be obtained by smoothing the azimuth value. Smoothing may involve changing the value to have an even spacing over the range of values received. The rotational speed at the time of the 360 degree video content can be determined based on the flattened azimuth data.
도 17은 일 실시예에 따라 컴패니언 스크린 디바이스 400에서 수행될 수 있는 제어 동작의 개략도이다.        17 is a schematic diagram of control operations that may be performed on companion screen device 400 in accordance with one embodiment.
일부 실시예에서, 컴패니언 스크린 디바이스400는 클라이언트 디바이스 100 상에 디스플레이된 콘텐츠와 동기화된 360도 비디오 콘텐츠를 디스플레이하도록 구성될 수 있다.  컴패니언 스크린 디바이스400는 클라이언트 디바이스 100 상에 디스플레이되는 비디오 콘텐츠를 그 스크린 디바이스400에 미러링할 수 있다. 다양한 미러링 기술은, 예를 들어, 스크린 미러링, DLNA(Digital Living Network Alliance), 블루투스, 미라캐스트, 와이파이 다이렉트, DMR(Digital Mobile Radio) 등을 포함할 수 있다. 대안적으로, 전체 360도 컨텐츠 30가 컴패니언 스크린 디바이스400상에서 전체 화면으로 렌더링되어, 사용자는 컴패니언 스크린 디바이스 400의 스크린을 통해 비디오의 전체 프레임을 볼 수 있다. 즉, 360도 컨텐츠의 전체 시야를 컴패니언 스크린 디바이스400 상에서 볼 수 있다. 사용자는 컴패니언 스크린 디바이스400의 스크린에서 비디오 영역을 가리킬 수 있다. 비디오 콘텐츠의 영역을 가리키는 시그널링을 수신하는 것에 응답하여, 클라이언트 디바이스 100는 360도 비디오의 시점을 제어할 수 있도록 구성되어, 클라이언트 디바이스 100에 디스플레이된 360도 비디오의 부분은 상기 가리켜진 영역을 포함할 수 있다.        In some embodiments, the companion screen device 400 may be configured to display 360-degree video content synchronized with the content displayed on the client device 100. The companion screen device 400 may mirror the video content displayed on the client device 100 to the screen device 400. Various mirroring technologies may include, for example, screen mirroring, Digital Living Network Alliance (DLNA), Bluetooth, Miracast, WiFi Direct, DMR (Digital Mobile Radio) Alternatively, the entire 360 degree content 30 may be rendered full-screen on the companion screen device 400 so that the user can view the entire frame of video through the screen of the companion screen device 400. [ That is, the full view of the 360 degree content can be viewed on the companion screen device 400. The user may point to the video area on the screen of the companion screen device 400. In response to receiving signaling indicating an area of video content, the client device 100 is configured to control the view of the 360 degree video so that a portion of the 360 degree video displayed on the client device 100 includes the indicated area .
또한, 사용자는 컴패니언 스크린 디바이스400가 전체 시야를 표시할 때 스크린 상에 수신된 가리킴에 응답하여 확대 또는 축소할 수 있다. 예를 들어, 사용자는 클라이언트 디바이스 100에 표시된 콘텐츠를 확대 또는 축소하기 위해 두 개의 손가락을 사용하여 스크린을 잡아 당기거나 늘리거나 탭할 수 있다.        In addition, the user may zoom in or out in response to a received indication on the screen when the companion screen device 400 displays the full view. For example, a user may use two fingers to pull, stretch, or tap the screen to zoom in or out the content displayed on the client device 100. [
도 17에 도시된 실시예에서와 같이, 미러링 기술을 이용하여 클라이언트 디바이스 100와 컴패니언 스크린 디바이스 400에 360도 영상을 표시하되, 클라이언트 디바이스 100는 360도 영상의 일정한 영역에 대응되는 영상 450을 표시하고, 컴패니언 스크린 디바이스 400는 더 넓은 범위의 360도 영상을 표시함으로써, 사용자는 컴패니언 스크린 디바이스 400에 표시된 영상 으로부터 좀 더 넓은 범위의 영역을 조망할 수 있고 또한 이를 이용하여 360도 영상의 시점을 보다 용이하게 제어할 수 있다.        17, a 360-degree image is displayed on the client device 100 and the companion screen device 400 using the mirroring technique, and the client device 100 displays the image 450 corresponding to a certain region of the 360-degree image , The companion screen device 400 displays a wider range of 360 degree images so that the user can view a wider range of areas from the images displayed on the companion screen device 400 and use them to more easily view the 360 degree image Can be controlled.
 도 18은 일 실시예에 따라 클라이언트 디바이스 100 에서 360도 비디오 콘텐츠를 렌더링하기 위해 선택될 수 있는 상이한 광각 모드를 도시한다.        18 illustrates a different wide-angle mode that may be selected to render 360 degree video content in client device 100 in accordance with one embodiment.
360도 비디오의 줌잉(zooming)은 비디오의 왜곡을 초래할 수 있으므로, 본 발명은 사용자가 광각 뷰를 제어하도록 하여, 사용자는 컴패니언 스크린 디바이스400를 사용하여 상이한 뷰를 선택할 수 있다. 컴패니언 스크린 디바이스400에서 선택될 수 있는 광각 렌더링 모드는 1800a에 도시된 바와 같이 어안 스테레오 그래픽, 1800b에 도시된 등각 어안(fisheye equisolid), 1800c에 도시된 바와 같이 등거리 어안(fisheye equidistant), 및 1800d에 도시된 직각 어안(fisheye orthographic)을 포함하나, 이들에 한정되지 않는다.         Since zooming of 360 degree video can result in video distortion, the present invention allows the user to control the wide-angle view so that the user can select different views using the companion screen device 400. [ The wide-angle rendering mode that may be selected in the companion screen device 400 includes a fisheye stereo, as shown in 1800a, a fisheye equisolid as shown in 1800b, a fisheye equidistant as shown in 1800c, But are not limited to, the illustrated fisheye orthographic.
실시예들에 따른 클라이언트 디바이스 및 컴패니언 스크린 디바이스의 동작방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.       The method of operation of the client device and the companion screen device according to embodiments may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
이상에서 실시예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.       While the present invention has been particularly shown and described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, .

Claims (15)

  1. 클라이언트 디바이스에 있어서,       In a client device,
    통신 인터페이스;       Communication interface;
    디스플레이;       display;
    하나 이상의 인스트럭션을 저장하는 메모리; 및       A memory for storing one or more instructions; And
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,       And a processor executing the one or more instructions stored in the memory, wherein the processor, by executing the one or more instructions,
    360도 비디오 컨텐츠의 적어도 일부를 표시하도록 상기 디스플레이를 제어하고,       Control the display to display at least a portion of the 360 degree video content,
    상기 360도 비디오 컨텐츠의 360도 제어 능력을 가지는 컴패니언 스크린 디바이스를 식별하고,       Identifying a companion screen device having a 360 degree control capability of the 360 degree video content,
    상기 식별된 컴패니언 스크린 디바이스와 통신 채널을 연결하도록 상기 통신 인터페이스를 제어하고,       Control the communication interface to connect a communication channel with the identified companion screen device,
    상기 연결된 컴패니언 스크린 디바이스로부터 수신한 제어 명령에 따라 상기 360도 비디오 컨텐츠의 표시를 제어하도록 상기 디스플레이를 제어하는, 클라이언트 디바이스.        And controls the display to control the display of the 360 degree video content in accordance with a control command received from the connected companion screen device.
  2. 제1항에 있어서,          The method according to claim 1,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,        Wherein the processor, by executing the one or more instructions,
    상기 식별된 컴패니언 스크린 디바이스로 상기 360도 비디오 컨텐츠의 표시의 제어 동작을 수행하는 어플리케이션을 실행하도록 요청하는, 클라이언트 디바이스.       And requests the identified companion screen device to execute an application that performs a control operation of the display of the 360-degree video content.
  3. 제1항에 있어서,         The method according to claim 1,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,        Wherein the processor, by executing the one or more instructions,
    상기 컴패니언 스크린 디바이스의 발견을 위한 요청 신호를 전송하고,        Transmits a request signal for discovery of the companion screen device,
    상기 컴패니언 스크린 디바이스로부터 상기 컴패니언 스크린 디바이스가 상기 360도 제어 능력을 가짐을 나타내는 정보를 포함하는 신호를 수신함으로써 상기 컴패니언 스크린 디바이스를 식별하는, 클라이언트 디바이스.       Wherein the companion screen device identifies the companion screen device by receiving a signal from the companion screen device that includes information indicating that the companion screen device has the 360 degree control capability.
  4. 제1항에 있어서,          The method according to claim 1,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,        Wherein the processor, by executing the one or more instructions,
    상기 360도 제어 능력을 가짐을 나타내는 정보를 포함하는 신호를 복수의 컴패니언 스크린 디바이스로부터 수신하고,       Receiving a signal from the plurality of companion screen devices, the signal including information indicative of having the 360 degree control capability,
    상기 복수의 컴패니언 스크린 디바이스 중 적어도 하나를 선택하고,       Selecting at least one of the plurality of companion screen devices,
    상기 선택된 적어도 하나의 컴패니언 스크린 디바이스와 연결하도록 상기 통신 인터페이스를 제어하는, 클라이언트 디바이스.        And controls the communication interface to connect with the selected at least one companion screen device.
  5. 제4항에 있어서,         5. The method of claim 4,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,        Wherein the processor, by executing the one or more instructions,
    상기 컴패니언 스크린 디바이스와 연관된 사용자 프로파일에 기초하여 상기 복수의 컴패니언 스크린 디바이스 중 적어도 하나를 선택하는, 클라이언트 디바이스.        And select at least one of the plurality of companion screen devices based on a user profile associated with the companion screen device.
  6. 제4항에 있어서,          5. The method of claim 4,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,        Wherein the processor, by executing the one or more instructions,
    상기 클라이언트 디바이스와 상기 컴패니언 스크린 디바이스와의 근접도에 기초하여 상기 복수의 컴패니언 스크린 디바이스 중 적어도 하나를 선택하는, 클라이언트 디바이스.        Select at least one of the plurality of companion screen devices based on proximity of the client device and the companion screen device.
  7. 제4항에 있어서,         5. The method of claim 4,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,        Wherein the processor, by executing the one or more instructions,
    학습 알고리즘에 기초하여 상기 복수의 컴패니언 스크린 디바이스 중 적어도 하나를 선택하는, 클라이언트 디바이스.        And selects at least one of the plurality of companion screen devices based on a learning algorithm.
  8. 제1항에 있어서,        The method according to claim 1,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,        Wherein the processor, by executing the one or more instructions,
    상기 컴패니언 스크린 디바이스의 방위(orientation)에 관한 디바이스 방위 정보를 상기 통신 채널을 통해 수신하고,       Receiving device orientation information regarding the orientation of the companion screen device over the communication channel,
    상기 디스플레이된 360도 비디오 컨텐츠의 시점이 상기 컴패니언 디바이스의 방위에 따라 회전되도록, 상기 디스플레이된 360도 비디오 컨텐츠의 시점을 상기 디바이스 방위 정보에 응답하여 조정하고,       Adjusting the viewpoint of the displayed 360-degree video content in response to the device orientation information so that the viewpoint of the displayed 360-degree video content is rotated in accordance with the orientation of the companion device,
    상기 조정된 시점에 대응하는 360도 비디오 컨텐츠의 영역을 표시하도록 상기 디스플레이를 제어하는, 클라이언트 디바이스.        And controls the display to display an area of 360 degree video content corresponding to the adjusted point in time.
  9. 제8항에 있어서,        9. The method of claim 8,
    상기 디바이스 방위 정보는 상기 컴패니언 디바이스의 방위를 검출하도록 배치된 하나 이상의 센서에 의해 측정된 복수의 방위값을 포함하고,        The device orientation information includes a plurality of azimuth values measured by one or more sensors arranged to detect the orientation of the companion device,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,       Wherein the processor, by executing the one or more instructions,
    평탄화된 방위 데이터를 획득하기 위하여 상기 복수의 방위값을 평탄화하고,        Flattening the plurality of azimuth values to obtain flattened azimuth data,
    상기 평탄화된 방위 데이터에 기초하여 상기 360도 비디오 콘텐츠의 시점 회전 속도를 결정하는, 클라이언트 디바이스.        And determines a viewpoint rotation speed of the 360-degree video content based on the flattened orientation data.
  10. 컴패니언 스크린 디바이스에 있어서,       In a companion screen device,
    통신 인터페이스;       Communication interface;
    디스플레이;       display;
    하나 이상의 인스트럭션을 저장하는 메모리; 및       A memory for storing one or more instructions; And
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,       And a processor executing the one or more instructions stored in the memory, wherein the processor, by executing the one or more instructions,
    360도 비디오 컨텐츠의 표시 능력을 가지는 클라이언트 디바이스를 식별하고,       Identify client devices having display capabilities of 360 degree video content,
    상기 식별된 클라이언트 디바이스와 통신 채널을 연결하도록 상기 통신 인터페이스를 제어하고,       Controlling the communication interface to connect a communication channel with the identified client device,
    상기 연결된 클라이언트 디바이스에 표시되는 상기 360도 비디오 컨텐츠의 표시를 제어하는 제어 명령을 상기 클라이언트 디바이스로 전송하도록 상기 통신 인터페이스를 제어하는, 컴패니언 스크린 디바이스.               Controls the communication interface to transmit a control command to the client device to control display of the 360-degree video content displayed on the connected client device.
  11. 제10항에 있어서,          11. The method of claim 10,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,        Wherein the processor, by executing the one or more instructions,
    상기 클라이언트 디바이스로부터 상기 클라이언트 디바이스가 상기 360도 비디오 컨텐츠의 표시 능력을 가짐을 나타내는 정보를 포함하는 신호를 수신함으로써 상기 클라이언트 디바이스를 식별하는, 컴패니언 스크린 디바이스.       Wherein the client device identifies the client device by receiving a signal from the client device, the signal including information indicating that the client device has display capability of the 360 degree video content.
  12. 제10항에 있어서,        11. The method of claim 10,
    상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,        Wherein the processor, by executing the one or more instructions,
    상기 컴패니언 스크린 디바이스의 방위(orientation)를 검출하고,       Detecting an orientation of the companion screen device,
    상기 클라이언트 디바이스에 디스플레이된 360도 비디오 컨텐츠의 시점이 상기 컴패니언 스크린 디바이스의 방위에 따라 회전되도록, 상기 컴패니언 스크린 디바이스의 방위에 관한 디바이스 방위 정보를 상기 통신 채널을 통해 상기 클라이언트 디바이스로 전송하는, 컴패니언 스크린 디바이스.        And transmits device orientation information about the orientation of the companion screen device to the client device over the communication channel such that the viewpoint of the 360 degree video content displayed on the client device is rotated in accordance with the orientation of the companion screen device, device.
  13. 클라이언트 디바이스의 동작 방법에 있어서,       A method of operating a client device,
    360도 비디오 컨텐츠의 적어도 일부를 표시하는 동작,       Displaying at least a portion of the 360 degree video content,
    상기 360도 비디오 컨텐츠의 360도 제어 능력을 가지는 컴패니언 스크린 디바이스를 식별하는 동작,       Identifying a companion screen device having 360 degree control capability of the 360 degree video content,
    상기 식별된 컴패니언 스크린 디바이스와 통신 채널을 연결하는 동작, 및        Connecting the communication channel with the identified companion screen device, and
    상기 연결된 컴패니언 스크린 디바이스로부터 수신한 제어 명령에 따라 상기 360도 비디오 컨텐츠의 표시를 제어하는 동작을 포함하는, 클라이언트 디바이스의 동작 방법.        And controlling the display of the 360 degree video content in accordance with a control command received from the connected companion screen device.
  14. 컴패니언 스크린 디바이스의 동작 방법에 있어서,       A method of operating a companion screen device,
    360도 비디오 컨텐츠의 표시 능력을 가지는 클라이언트 디바이스를 식별하는 동작,       Identifying client devices having display capabilities of 360 degree video content,
    상기 식별된 클라이언트 디바이스와 통신 채널을 연결하는 동작,        Communicating the identified client device with a communication channel,
    상기 연결된 클라이언트 디바이스에 표시되는 상기 360도 비디오 컨텐츠의 표시를 제어하는 제어 명령을 상기 클라이언트 디바이스로 전송하는 동작을 포함하는, 컴패니언 스크린 디바이스의 동작 방법.        And transmitting a control command to the client device to control display of the 360-degree video content displayed on the connected client device.
  15. 클라이언트 디바이스의 동작 방법을 수행하는 하나 이상의 프로그램이 기록된 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품에 있어서, 상기 클라이언트 디바이스의 동작 방법은,         A computer program product including a computer readable medium having recorded thereon one or more programs for performing a method of operation of a client device,
    360도 비디오 컨텐츠의 적어도 일부를 표시하는 동작,       Displaying at least a portion of the 360 degree video content,
    상기 360도 비디오 컨텐츠의 360도 제어 능력을 가지는 컴패니언 스크린 디바이스를 식별하는 동작,       Identifying a companion screen device having 360 degree control capability of the 360 degree video content,
    상기 식별된 컴패니언 스크린 디바이스와 통신 채널을 연결하는 동작, 및        Connecting the communication channel with the identified companion screen device, and
    상기 연결된 컴패니언 스크린 디바이스로부터 수신한 제어 명령에 따라 상기 360도 비디오 컨텐츠의 표시를 제어하는 동작을 포함하는, 컴퓨터 프로그램 제품.               And controlling display of the 360 degree video content in accordance with a control command received from the connected companion screen device.
PCT/KR2018/008475 2017-08-23 2018-07-26 Client device, companion screen device, and operation method therefor WO2019039748A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP18847978.6A EP3661220B1 (en) 2017-08-23 2018-07-26 Client device, companion screen device, and operation method therefor
US16/639,234 US11128926B2 (en) 2017-08-23 2018-07-26 Client device, companion screen device, and operation method therefor
CN201880054658.7A CN110999310B (en) 2017-08-23 2018-07-26 Client device, companion screen device, and method of operating the same
ES18847978T ES2970259T3 (en) 2017-08-23 2018-07-26 Client device, complementary display device, and operating procedure thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB1713550.0A GB2565807B (en) 2017-08-23 2017-08-23 Method and apparatus for controlling 360 degree video
GB1713550.0 2017-08-23
KR10-2018-0072347 2018-06-22
KR1020180072347A KR102449878B1 (en) 2017-08-23 2018-06-22 Client device, companion screen device and operating method for the same

Publications (1)

Publication Number Publication Date
WO2019039748A1 true WO2019039748A1 (en) 2019-02-28

Family

ID=65438950

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/008475 WO2019039748A1 (en) 2017-08-23 2018-07-26 Client device, companion screen device, and operation method therefor

Country Status (2)

Country Link
ES (1) ES2970259T3 (en)
WO (1) WO2019039748A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111654753A (en) * 2020-05-22 2020-09-11 青岛海信传媒网络技术有限公司 Application program starting method and display device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056295A (en) * 2003-08-07 2005-03-03 Iwane Kenkyusho:Kk 360-degree image conversion processing apparatus
JP2013174864A (en) * 2012-12-04 2013-09-05 Nintendo Co Ltd Display system, display control device, information processing program and display method
JP2014183379A (en) * 2013-03-18 2014-09-29 Nintendo Co Ltd Information processing device, data structure of moving image data, information processing system, moving image reproduction program, and moving image reproduction method
KR20150140631A (en) * 2013-03-19 2015-12-16 엘지전자 주식회사 Signal transmitting apparatus, signal transmitting method, and system for transmitting and receiving signal
KR20160051794A (en) * 2013-11-04 2016-05-11 엘지전자 주식회사 Electronic device and method for controlling electronic device
KR20160147949A (en) * 2014-05-27 2016-12-23 샤프 가부시키가이샤 Companion device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056295A (en) * 2003-08-07 2005-03-03 Iwane Kenkyusho:Kk 360-degree image conversion processing apparatus
JP2013174864A (en) * 2012-12-04 2013-09-05 Nintendo Co Ltd Display system, display control device, information processing program and display method
JP2014183379A (en) * 2013-03-18 2014-09-29 Nintendo Co Ltd Information processing device, data structure of moving image data, information processing system, moving image reproduction program, and moving image reproduction method
KR20150140631A (en) * 2013-03-19 2015-12-16 엘지전자 주식회사 Signal transmitting apparatus, signal transmitting method, and system for transmitting and receiving signal
KR20160051794A (en) * 2013-11-04 2016-05-11 엘지전자 주식회사 Electronic device and method for controlling electronic device
KR20160147949A (en) * 2014-05-27 2016-12-23 샤프 가부시키가이샤 Companion device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111654753A (en) * 2020-05-22 2020-09-11 青岛海信传媒网络技术有限公司 Application program starting method and display device

Also Published As

Publication number Publication date
ES2970259T3 (en) 2024-05-27

Similar Documents

Publication Publication Date Title
WO2018043985A1 (en) Image display apparatus and method of operating the same
WO2016129784A1 (en) Image display apparatus and method
WO2013191484A1 (en) Remote control apparatus and control method thereof
WO2017171204A1 (en) Terminal device and control method therefor
WO2018034462A1 (en) Image display apparatus and method of operating the same
WO2016080733A1 (en) Electronic device for identifying peripheral apparatus and method thereof
WO2016137167A1 (en) Terminal
WO2017052143A1 (en) Image display device and method of operating the same
WO2012020863A1 (en) Mobile/portable terminal, device for displaying and method for controlling same
WO2012020864A1 (en) Mobile terminal, display device, and method for controlling same
WO2015053445A1 (en) Foldable mobile device and method of controlling the same
WO2018216865A1 (en) Display device and operating method thereof
WO2014017759A1 (en) Method and mobile terminal for displaying information, method and display device for providing information, and method and mobile terminal for generating control signal
WO2017105015A1 (en) Electronic device and method of operating the same
WO2013191351A1 (en) Display apparatus, remote controlling apparatus and control method thereof
WO2014092476A1 (en) Display apparatus, remote control apparatus, and method for providing user interface using the same
WO2020242075A1 (en) Electronic device, method, and computer readable medium for providing screen sharing service through external electronic device
WO2015102250A1 (en) User terminal apparatus and control method thereof
WO2016076570A1 (en) Display apparatus and display method
WO2018080165A1 (en) Image display apparatus, mobile device, and methods of operating the same
WO2017086559A1 (en) Image display device and operating method of the same
WO2016080700A1 (en) Display apparatus and display method
EP3459239A1 (en) Electronic apparatus and method of controlling the same
WO2017159941A1 (en) Display device and method of operating the same
WO2016111464A1 (en) Image display apparatus and method

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: 18847978

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018847978

Country of ref document: EP

Effective date: 20200225