Patent Description:
A screen mirroring technology generally refers to transmitting an image displayed on a current screen in one device (source device) to another device (sink device) without any change between two devices having an image displaying function. For example, the screen mirroring technology involves transmitting an image displayed on the source device <NUM> such as a mobile phone or a tablet to the sink device <NUM> such as a Television (TV) or a Personal Computer (PC), without any change and displaying the image in the sink device <NUM>, as shown in <FIG>.

Such a screen mirroring technology is generally used, for example, to output a game or a webpage image that is displayed in a terminal with a relatively small screen such as a portable terminal, to a larger screen. It is also possible to significantly expand the convenience for use, in particular, the utilization of the portable terminal through the screen mirroring technology.

Accordingly, many more portable terminals are now equipped with the screen mirroring technology such as 'Wi-Fi Display" or "Mirroring AirPlay".

<CIT> discusses a display mirroring method of a user device.

However, the battery consumption of the portable terminal is greatly increased when a mirroring screen operation and a media content reproduction are simultaneously performed.

Accordingly, an aspect of the present invention is to solve the above-mentioned problems occurring in the prior art, and to provide a more efficient screen mirroring method and apparatus.

Another aspect of the present invention is to provide a screen mirroring method and apparatus suitable for use with a portable terminal to reduce battery consumption and improve usability.

Yet another aspect of the present invention is to provide a screen mirroring method and apparatus which can effectively respond when a content reproduction operation is performed while a screen mirroring function is performed.

The screen mirroring operation according the present invention is suitable for the portable terminal due to its ability to reduce battery consumption and improve usability, and can more effectively handle content reproduction operation being performed simultaneously with the screen mirroring function.

Throughout the drawings, the same drawing reference numerals will be understood to refer to the same elements, features and structures.

In the following description, like reference numerals refer to like elements, features and structures, throughout the drawings. Detailed description of known functions and structures is omitted to avoid obscuring the subject matter of the present invention.

<FIG> illustrates the components of a source device and a sink device for performing a screen mirroring function according to an embodiment of the present invention. The source device <NUM> can be, for example, a portable terminal, and the sink device <NUM> can be, for example, a TV.

Referring to <FIG>, the source device <NUM> generally includes a Liquid Crystal Display (LCD) screen to display execution images, various operation states, a menu state, etc. of various applications of the corresponding sink device <NUM>. The source device <NUM> includes a display unit <NUM> which can be implemented in a touch screen structure, a manipulator <NUM> which includes a touch screen controller connected with the display unit <NUM> for receiving inputs of various touch screen manipulations by a user and includes buttons for manipulating a plurality of operations mechanically provided to a keypad, an outside housing of the corresponding device for receiving an input of a manipulation by the user, a main communication unit <NUM> for performing a wireless signal processing operation for a mobile communication function to allow the source device <NUM> to communicate with an outside mobile communication net, the main communication unit including an antenna for mobile communication, a voice processor <NUM>, which includes a speaker, a microphone for receiving an input of a user's voice or outputting an audible sound to the user and outputting processing sounds corresponding to various operations or sounds corresponding to various digital audio contents and dynamic image contents, when a phone call according to a mobile communication function is performed, a sub communication unit <NUM>, which includes Wireless Local Area Network (WLAN) equipment, a near field communication module for performing, for example, wireless communication including an image data transmission according to a mirroring operation with the sink device <NUM> based on a corresponding transport protocol such as a "Wi-Fi Display" standard, a controller <NUM> for controlling the overall operations of the corresponding source apparatus <NUM>, and a storage unit <NUM> for storing such information as an operation program related to an operation of the controller <NUM>, various applications, related contents or image data.

It is also conceivable that the source device <NUM> may further include function units, which are applied to the portable terminal, such as a power supply unit including a battery for charging, a camera unit, a Global Positioning System (GPS) unit, and a vibration motor.

The sink device <NUM> includes a sub communication unit <NUM>, which includes Wireless Local Area Network (WLAN) equipment, a near filed communication module for performing wireless communication with (the sub communication unit of) the source device <NUM> according to a corresponding transport protocol, a controller <NUM> for controlling an operation of the sub communication unit <NUM> and converting a format of the image data according to the screen mirroring operation provided by the source device <NUM> to a format suitable for being processed in the corresponding sink device <NUM>, and a main module <NUM>, which includes basic equipment for performing a main function of the corresponding sink device <NUM>, such as a TV function for displaying the image data according to the mirroring operation provided by the controller <NUM>.

In the above description, the controller <NUM> of the source device <NUM> and the controller <NUM> of the sink device <NUM> perform the mirroring operation according to features of the present invention. When a reproduction operation of media content is requested while the screen mirroring operation is performed, the controller <NUM> of the source device <NUM> controls such that the corresponding media content is transmitted to the sink device <NUM> by performing a content streaming operation without performing the reproduction operation of the corresponding media content, and the controller <NUM> of the sink device <NUM> receives the transmitted media content to control such that the reproduction operation of the media content is performed.

<FIG> illustrates a media content processing state when a screen mirroring function is performed according to an embodiment of the present invention. When the mirroring operation is performed, the source device <NUM> encodes currently displayed data, which is recorded in a frame buffer, in real time in step <NUM>, packetizes the encoded data and encapsulates the encoded data with a transport protocol in step <NUM>, and transmits the encapsulated data to the sink device <NUM>.

When the reproduction operation of the media content is simultaneously performed while the mirroring operation is performed, it is possible to decode content stored in the storage unit to record the content in the frame buffer in step <NUM>, encode the data recorded in the frame buffer in real time in step <NUM> while displaying the data in step <NUM>, encapsulate the data in step <NUM>, and transmit the data in step <NUM>.

However, performing the screen mirroring operation while the media content is reproduced increases battery consumption and burdens processing in the source device <NUM>. Accordingly, when the media content is reproduced while the screen mirroring operation is performed in the source device <NUM>, the screen mirroring is dynamically replaced with a content streaming manner and the content streaming is performed, which increases battery use time and improves usability of the source device <NUM>.

The content streaming refers to a manner of transmitting (streaming or downloading and playing) a multimedia content file stored in a device such as a mobile phone, a tablet, or a PC, to a device such as a TV, and reproducing the transmitted multimedia content file. In the content streaming, the stored content file is encapsulated with a transport protocol and then transmitted. Then, the transmitted content file is received and reassembled in the device and then is decoded and reproduced. Such a content streaming is used to reproduce remotely stored content generated by a user or downloaded content.

In the present invention, when there is a request for content reproduction while the screen mirroring operation is performed in the source device <NUM>, the source device <NUM> performs the content streaming operation without operating the screen mirroring operation by using such a content streaming manner. Referring back to <FIG> for description, when the content reproduction operation is requested while the screen mirroring operation is performed, only an operation of encapsulating the content stored in the storage unit in step <NUM> and transmitting the encapsulated data in step <NUM> is performed. The aforementioned procedures of decoding the content to record the content in the frame buffer in step <NUM>, displaying the data recorded in the frame buffer in step <NUM>, encoding the data in real time in step <NUM>, and encapsulating the encoded data in step <NUM> are not performed and omitted.

Once the screen mirroring operation according to the present invention is performed, an image of the content which is being reproduced in the source device <NUM> is not displayed during the content reproduction. However, since the corresponding content is reproduced and displayed in the sink device <NUM> and a particular manipulation of the device is not required in general while a multimedia content is reproduced, the screen mirroring operation according to the present invention does not restrict a particular function in an aspect of the user and is very useful in an aspect of the device resources.

<FIG> illustrates in detail a screen mirroring function performed between devices according to an embodiment of the present invention.

Respective sequential steps of <FIG> can be performed according to, for example, a Real Time Streaming Protocol (RTSP). The sequential steps <NUM> to <NUM> in <FIG> may also correspond to the general screen mirroring operation. Subsequent sequential steps <NUM> to <NUM> correspond to the content streaming performed when there is a request for the content reproduction while the screen mirroring operation according to the present invention is performed. Subsequent sequential steps <NUM> to <NUM> are for stopping the content streaming operation while the screen mirroring operation according to the present invention is performed.

Referring to respective steps <NUM> to <NUM> corresponding to performing the general screen mirroring operation, a device and service discovery operation is performed between the source device <NUM> and the sink device <NUM> in step <NUM>, and then a connection setup operation is performed between the source device <NUM> and the sink device <NUM> in step <NUM>. Then, the source device <NUM> triggers the setup to the sink device <NUM> by using a "SET PARAMETER" method of the Real Time Streaming Protocol (RTSP) in order to generate a session in step <NUM>. Next, the sink device <NUM> requests an RTSP "SETUP" to the source device <NUM> in step <NUM>, and the source device <NUM> sends a response to the RTSP "SETUP" to the sink device <NUM> in step <NUM>. At this time, a session ID and a port number are set (e.g. session id <NUM>, port_0), and the session is generated. The sink device <NUM> requests an RTSP "PLAY" to the source device <NUM> in step <NUM>, the source device <NUM> sends a response to the RTSP "PLAY" to the sink device <NUM> in step <NUM>, and then the screen mirroring operation is performed in step <NUM>.

Referring to respective steps <NUM> to <NUM> corresponding to the procedures of the content streaming performed during the screen mirroring operation, if there is a manipulation for reproducing the content by the user in the source device <NUM> in step <NUM>, the source device <NUM> obtains related Application Programming Interface (API) information and determines whether a current screen mirroring function is in an active status in step <NUM>. Then, the source device <NUM> requests information on whether a mirroring/streaming switching is supported and information on a media profile supporting the mirroring/streaming switching by using a "GET_PARAMETER" method of the RTSP in order to determine whether the sink device <NUM> supports a content streaming conversion in step <NUM>, and the sink device <NUM> provides corresponding information to the source device <NUM> in response to the request in step <NUM>. The sink device <NUM> can support the mirroring/streaming switching (yes), and informs the source device <NUM> of such information as Advanced Video Coding (AVC), MPEG-Layer Audio <NUM> (MP4), MP, SD, and Advanced Audio Coding (AAC), as the information on the media profile supporting the mirroring/streaming switching.

A parameter for the information on whether the mirroring/streaming switching is supported is not defined in the "GET _ PARAMETER" method of the RTSP, but the corresponding parameter can be added according to the present invention. Thereafter, the source device <NUM> matches a format of the content to be streamed according to the rendering capability and a format according to the media profile which can be supported in the sink device <NUM> in step <NUM>.

Steps <NUM> to <NUM> may correspond to steps for determining whether the current mirroring function is activated, whether the sink device <NUM> supports the content streaming conversion, and whether the sink device <NUM> can decode (reproduce) the format of the streaming content. When conditions in the above steps are not satisfied, only the general screen mirroring function is performed without performing the content streaming operation according to the present invention. When the conditions are all satisfied, a session for the content streaming is additionally generated and the session is switched as discussed in the following description.

That is, the source device <NUM> sets a parameter for receiving a request for the content streaming in the sink device <NUM> in step <NUM>. For example, the source device <NUM> sets such parameters as streaming-url and streaming-rtp-port, by using the SET PARAMETER method of the RTSP, and triggers the setup to the sink device <NUM>.

The source device <NUM> can operate such that switch items for receiving an input of a manipulation for selecting operations (through a touch screen input) in addition to a preset appropriate manipulation guide message are displayed in the display unit, for receiving a manipulation of whether the streaming operation is performed from the user in step <NUM>. For example, the displayed manipulation guide message may be "Do you want to change the screen mirroring into the streaming operation? [yes] [no]", and contents for describing the corresponding operation more easily for a general user can be further added. Such an operation performed in step <NUM> is only an illustrative implementation for selectively receiving the manipulation of whether to perform the streaming operation during the screen mirroring operation from the user.

In subsequent steps, a session switching operation for the streaming is performed in the screen mirroring, that is, the sink device <NUM> requests an RTSP "SETUP" to the source device <NUM> in step <NUM>, and the source device <NUM> sends a response to the RTSP "SETUP" to the sink device <NUM>, in step <NUM>. At this time, a new session ID and a port number are set (e.g. session_id_1, port_1) and the session is generated. Then, the source device <NUM> determines whether there is a selection manipulation for performing the streaming operation by the user, and performs a subsequent operation in step <NUM>. If the user does not select the streaming operation, the streaming operation is not performed.

In step <NUM>, the sink device <NUM> requests, for example, an RTSP "STOP" to the source device <NUM> with a session (session id_0) formed for the screen mirroring in order to stop the screen mirroring. Accordingly, the source device <NUM> sends a response to the RTSP "STOP" to the sink device <NUM> in step <NUM>. Then, the sink device <NUM> requests an RTSP "PLAY" with a newly formed session (session id_1) for the streaming in step <NUM>, and the source device <NUM> sends a response to the RTSP "PLAY" to the sink device <NUM> in step <NUM>, and the streaming operation is performed in step <NUM>. At this time, the source device <NUM> stops the reproduction of the media content and can display an appropriately preset message, which informs that the screen mirroring has been changed into the streaming operation, on the screen. Further, when the sink device <NUM> receives a session switching instruction through the above steps, the sink device <NUM> receives the streamed content from the source device <NUM> and successively reproduces the content in a seamless video.

Referring to respective steps <NUM> to <NUM> corresponding to the procedures of stopping the content streaming operation during the screen mirroring operation, when there is a manipulation for stopping the content reproduction by the user as defined in step <NUM> or the content reproduction is completed, the source device <NUM> triggers a "STOP" to the sink device <NUM> by using the "SET_PARAMETER" method of the RTSP for the session stop in step <NUM>. Then, the sink device <NUM> requests the RTSP "STOP" to the source device <NUM> in order to stop the streaming operation with the streaming session (session id <NUM>) in step <NUM>, the source device <NUM> sends a response to the RTSP "STOP" to the sink device <NUM> in step <NUM>, and the streaming operation is stopped. The sink device <NUM> requests the RTSP "PLAY" to the source device <NUM> in order to perform the screen mirroring with the screen mirroring session (session id_0) in step <NUM>, the source device <NUM> sends a response to the RTSP "PLAY" to the sink device <NUM> in step <NUM>, and the screen mirroring operation is performed again in step <NUM>.

Although the above description has been described with reference to specific embodiments of the present invention, various embodiments or their variations can be used.

For example, the above description describes that the user can selectively input a manipulation of whether to switch the screen mirroring operation to the streaming operation during the screen mirroring operation as defined in step <NUM>. However, the streaming operation can be automatically performed without user manipulation, and the user can also preset the manipulation through a menu item for a separate function setup.

Further, when the user does not select to switch the screen mirroring to the content streaming operation in step <NUM>, the source device <NUM> stores the content in the frame buffer by decoding the content stored in the storage unit, and can perform the operation of directly encapsulating the content stored in the storage unit and transmitting the content to the sink device <NUM> while performing the operation of displaying the data stored in the frame buffer, that is, the operation of reproducing the content. Therefore, at least the real time encoding operation performed in step <NUM> of <FIG> can be omitted.

As described above, the screen mirroring operation according the present invention is suitable for the portable terminal due to its ability to reduce battery consumption and improve usability, and can more effectively handle content reproduction operation being performed simultaneously with the screen mirroring function.

Claim 1:
A method for transmitting data to a sink device (<NUM>) by a source device (<NUM>), the method comprising:
establishing (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>) a mirroring mode with the sink device;
in the mirroring mode, identifying (<NUM>, <NUM>) a playback of a media content;
in response to determining that the mirroring mode is activated, that the sink device supports a switch from the mirroring mode to the streaming mode for the media content, and that the sink device can reproduce the format of the streaming content (<NUM>, <NUM>, <NUM>, <NUM>) transmitting (<NUM>), to the sink device, a first request message for setting at least one parameter corresponding to the media content; and
establishing a streaming mode for the media content to be streamed, by additionally generating a session for the content streaming (<NUM>), switching from mirroring mode to streaming mode (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>), and providing (<NUM>) the media content to the sink device using the streaming mode.