# US 2018/0027264 A1 · Selective media playing method and apparatus according to live streaming and recorded streaming

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0027264 A1
- Document ID: US20180027264A1
- Status: Published application
- Kind: A1
- Application number: 15/647,671
- Filed: 2017-07-12
- Published: 2018-01-25
- Earliest claimed: 2016-07-21
- Assignees: Hanwha Techwin Co., Ltd.
- Applicants: Hanwha Techwin Co., Ltd.
- Inventors: Sweung Won CHEUNG; Do Hyun KIM; Jong Chan PARK
- Web page: https://patentgrep.com/patent/US20180027264A1

## CPC

- H04N 21/2187: Live feed
- G06F 9/44526: {Plug-ins; Add-ons}
- G06F 9/45529: {Embedded in an application, e.g. JavaScript in a Web browser}
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- H04L 65/611: for multicast or broadcast (systems for broadcast or conference H04L12/18; arrangements for broadcast or distribution combined with broadcast H04H20/00; arrangements for broadcast applications with a direct linkage to broadcast information or to broadcast space-time H04H60/00; selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS], H04W4/06)
- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- H04N 21/23103: {using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers (storage management G06F3/0604; allocation of resources considering the load in multiprogramming arrangements G06F9/505; techniques for rebalancing the load in a distributed system G06F9/5083; access to distributed or replicated servers, e.g. load balancing, in data networks H04L67/1001)}
- H04N 21/23116: {involving data replication, e.g. over plural servers (synchronization of replicated data G06F11/1658; error detection or correction by means of data replication G06F11/2053; replication in distributed file systems G06F16/10; replication in distributed file systems G06F16/27; replication or mirroring of data in data networks H04L67/1095)}
- H04N 21/2312: Data placement on disk arrays {(data placement in general G06F3/0604)}
- H04N 21/234: Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N 21/2396: {characterized by admission policies (admission control, resource allocation in open networks H04L12/5692; arrangements for network security using user profiles for access control H04L63/102; access security in wireless networks H04W12/08)}
- H04N 21/6437: Real-time Transport Protocol [RTP]
- H04N 21/8173: {End-user applications, e.g. Web browser, game}
- H04N 21/236: Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream {(multiplexing of data packets for data networks, e.g. RTP/UDP H04L65/00)}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N 21/85406: {involving a specific file format, e.g. MP4 format}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An apparatus and a method for transmitting media data through live streaming or recorded streaming are provided. Live streaming refers to a case where media being captured in real time by a media service apparatus is played in a user's web browser, and recorded streaming refers to a case where media pre-recorded and stored in a server is played in a user's web browser. In the case of live streaming, since real-time is an important factor, there is provided a media playing method with no initial delay by using a decoder written in a script that can be parsed by a web browser. In the case of recorded streaming, there is provided a media playing method capable of using a decoder embedded in a web browser with no compatibility issue related to a container even when the media service apparatus has no container creation functionality.

## Claims

### Claim 1

A media streaming apparatus for playing media on a web browser, comprising at least one processor to implement:
a receiving unit configured to receive media data by using a communication protocol which supports web services, the media data being generated by a media service apparatus;
a first media restoring unit configured to decode the media data by a first decoder written in a script which can be parsed by the web browser;
a second media restoring unit configured to decode the media data by a second decoder embedded in the web browser; and
an output unit configured to output the media data decoded by at least one of the first media restoring unit and the second media restoring unit,
wherein the media data is decoded by the at least one of the first media restoring unit and the second media restoring unit based on a streaming mode.

### Claim 2 (depends on 1)

The media streaming apparatus of claim 1, further comprising:
a user interface configured to receive, from a user, an indication of the streaming mode for the media data,
wherein the media data is decoded by the first media restoring unit when the streaming mode is a live streaming mode, and the media data is decoded by the at least one of the first media restoring unit and the second media restoring unit when the streaming mode is a recorded streaming mode.

### Claim 3 (depends on 2)

The media streaming apparatus of claim 2, wherein when the streaming mode is the recorded streaming mode,
the media data is decoded by the second media restoring unit in response to a profile element including at least one of a resolution and a frame rate being greater than a predetermined threshold value, and the media data is decoded by the first media restoring unit in response to the profile element being less than the predetermined threshold value.

### Claim 4 (depends on 2)

The media streaming apparatus of claim 2, wherein when the streaming mode is the recorded streaming mode, the media data is decoded by any one selected from the first media restoring unit and the second media restoring unit according to a type of codec applied to the media data.

### Claim 5 (depends on 1)

The media streaming apparatus of claim 1, wherein the communication protocol is a real-time streaming protocol/real-time transport protocol (RTSP/RTP) transmitted over a WebSocket.

### Claim 6 (depends on 1)

The media streaming apparatus of claim 1, wherein the first decoder is written in JavaScript.

### Claim 7 (depends on 6)

The media streaming apparatus of claim 6, wherein the first decoder is configured to convert native code written in at least one of C and C++ into JavaScript using a code converter.

### Claim 8 (depends on 1)

The media streaming apparatus of claim 1, wherein the second decoder is a video tag supported by hypertext markup language version 5 (HTML5).

### Claim 9 (depends on 1)

The media streaming apparatus of claim 1, wherein the output unit is further configured to output the media data on the web browser through at least one of a web audio application programming interface (API) and a canvas tag of HTML5.

### Claim 10 (depends on 1)

The media streaming apparatus of claim 1, wherein the first media restoring unit is further configured to decide the media data on a frame-by-frame basis.

### Claim 11 (depends on 1)

The media streaming apparatus of claim 1, wherein the second media restoring unit is further configured to decode the media data transmitted in containers, each container of the containers comprising a plurality of frames.

### Claim 12 (depends on 11)

The media streaming apparatus of claim 11, wherein the media data is packaged in the containers before the decoding by the second media restoring unit.

### Claim 13

A media service apparatus for transmitting one of real-time live media data and stored media data to a media streaming apparatus, the media service apparatus comprising at least one processor to implement:
a playing module storage unit configured to store a script module for playing the one of the real-time live media data and the stored media data on a web browser of the media streaming apparatus, the script module being written in a script which can be parsed by the web browser;
a playing module transmitting unit configured to transmit the script module to the media streaming apparatus in response to connecting to the media streaming apparatus;
a packetizing unit configured to packetize the one of the real-time live media data and the stored media data to generate a transmission packet; and
a web server configured to establish a communication session with the media streaming apparatus and transmit the transmission packet to the media streaming apparatus in response to a streaming request from the media streaming apparatus.

### Claim 14 (depends on 13)

The media service apparatus of claim 13, wherein the script module is code written in JavaScript.

### Claim 15 (depends on 13)

The media service apparatus of claim 13, wherein the packetizing unit is further configured to:
generate the transmission packet such that the transmission packet can be decoded by the script module in response to the streaming request indicating live streaming, and
generate the transmission packet such that the transmission packet can be decoded by one of the script module and a decoder embedded in the web browser in response to the streaming request indicating recorded streaming.

### Claim 16 (depends on 15)

The media service apparatus of claim 15, wherein the packetizing unit is further configured to generate the transmission packet on a frame-by-frame basis.

### Claim 17 (depends on 13)

The media service apparatus of claim 13, wherein when the streaming request indicates recorded streaming, the packetizing unit is further configured to generate the transmission packet such that the transmission packet can be decoded by a decoder embedded in the web browser in response to a profile element including at least one of a resolution and a frame rate is greater than a predetermined threshold value, and generate the transmission packet such that the media data can be decoded by the script module in response to the profile element being less than the predetermined threshold value.

### Claim 18 (depends on 13)

The media service apparatus of claim 13, wherein when the streaming request indicates recorded streaming, the packetizing unit is further configured to generate the transmission packet such that the media data can be decoded by any one selected from the script module and a decoder embedded in the web browser according to a type of codec applied to the one of the real-time live media data and the stored media data.

### Claim 19 (depends on 15)

The media service apparatus of claim 15, wherein the packetizing unit is further configured to generate the transmission packet in containers, each container of the containers comprising a plurality of frames.

### Claim 20 (depends on 13)

The media service apparatus of claim 13, wherein the script module includes at least one of:
an RTSP/RTP client module configured to support RTSP/RTP communication with the media service apparatus,
a depacketizing module configured to depacketize the transmission packet,
a decoder module configured to decode video frames obtained by depacketizing the transmission packet, and
a renderer module configured to render the transmission packet.

### Claim 21 (depends on 13)

The media service apparatus of claim 13, wherein the script module includes at least one of:
an RTSP/RTP client module configured to support RTSP/RTP communication with the media service apparatus,
a depacketizing module configured to depacketize the transmission packet, and
a container creating module configured to package video frames, obtained by depacketizing the transmission packet, in containers.

### Claim 22 (depends on 13)

The media service apparatus of claim 13, further comprising one of a video camera and a network video recorder.

### Claim 23 (depends on 22)

The media service apparatus of claim 22, further comprising a media encoder configured to compress and encode media data captured by the video camera.

### Claim 24

A non-transitory computer-readable storage medium storing a computer program for performing a method of transmitting one of real-time live media data and stored media data to a media streaming apparatus, the method comprising:
storing a script module for playing the one of the real-time live media data and the stored media data on a web browser of the media streaming apparatus, the script module being written in a script which can be parsed by the web browser;
transmitting the script module to the media streaming apparatus in response to connecting to the media streaming apparatus;
packetizing the one of the real-time live media data and the stored media data to generate a transmission packet;
establishing a communication session with the media streaming apparatus; and
transmitting the transmission packet to the media streaming apparatus by a web server in response to a request from the media streaming apparatus for one of live streaming and recorded streaming.

### Claim 25 (depends on 24)

The storage medium of claim 24, wherein the script module is code written in JavaScript.

### Claim 26 (depends on 24)

The storage medium of claim 24, wherein the script module includes at least one of:
an RTSP/RTP client module configured to support RTSP/RTP communication with a media service apparatus,
a depacketizing module configured to depacketize the transmission packet,
a decoder module configured to decode video frames obtained by depacketizing the transmission packet, and
a renderer module configured to render the transmission packet.

### Claim 27 (depends on 24)

The storage medium of claim 24, wherein the script module includes at least one of:
an RTSP/RTP client module configured to support RTSP/RTP communication with the media service apparatus,
a depacketizing module configured to depacketize the transmission packet, and
a container creating module configured to package video frames, obtained by depacketizing the transmission packet, in containers.
