EP2661863B1 - Apparatus and method for transmitting live media content - Google Patents
Apparatus and method for transmitting live media content Download PDFInfo
- Publication number
- EP2661863B1 EP2661863B1 EP11811482.6A EP11811482A EP2661863B1 EP 2661863 B1 EP2661863 B1 EP 2661863B1 EP 11811482 A EP11811482 A EP 11811482A EP 2661863 B1 EP2661863 B1 EP 2661863B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- segment
- file
- files
- segment files
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 41
- 238000012546 transfer Methods 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims 4
- 230000008569 process Effects 0.000 description 23
- 230000015654 memory Effects 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000012190 activator Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Definitions
- the present invention generally relates to media content transmitting. More specifically, the invention relates to live media content transmitting through regular HTTP protocols.
- Video content delivery over a wide area network as well as over a local area network continues to expand in use.
- the delivery and playback of media in real-time, often known as streaming, places significant burdens on a network as well as on the equipment used for delivering and receiving the content.
- Chunked transfer encoding is a data transfer mechanism in the Hypertext Transfer Protocol (HTTP) that allows HTTP data to be reliably delivered between a service, such as a web server, and a client application running in an end client device, such as a web browser.
- HTTP Hypertext Transfer Protocol
- the chunked encoding modifies the body of a message in order to transfer it as a series of chunks, each with its own size indicator, followed by an optional trailer containing entity-header fields.
- the mechanism allows delivery without knowing in advance of transmission the size of the entire message body. This is achieved by splitting the data payload of the message in small parts (chunks) and transmitting its size with each chunk.
- the data transfer is terminated by a final chunk of length zero.
- Chunked transfer encoding may be applied to video content delivery as well.
- Most servers that use the HTTP 1.1 chunking methodology simply send out the leading edge of the stream, usually contained in a buffer in memory.
- Some implementations might also use a file instead of an in-memory buffer and simply loop on reading from the end of the file as the file grows due to the acquisition of additional live content. The advantage of these approaches is that they are very simple and straightforward to implement. They scale well and are robust.
- segmenting video content using chunked transfer encoding may lead to additional operational inefficiencies, particularly in the receiving device. For instance, seeking within a media stream using the above techniques is more complex than simply streaming the leading edge of the stream. Further, unless the server uses a special file system which allows for live truncation of the beginning of the media file buffer, the file will continue to grow indefinitely and cannot be reduced in size while live content is continuously served. Therefore there is a need for an improved mechanism for efficiently transmitting a live stream through HTTP protocols.
- Apple introduced a system called HTTP Live Streaming, which streams audio and video in segments.
- the server breaks a media stream into segments, and sends out each segment individually. It has advantages over the technique of streaming from the leading edge.
- Apple's technique requires the clients to maintain a playlist of the segments and render them as a continuous stream. Such a requirement makes the Apple's live streaming client a special client which is incompatible with the existing regular HTTP clients.
- the present invention solves the problem of transmitting live streams of media from a media server to clients through the regular HTTP protocol.
- This invention directs to methods and apparatuses for sending a live stream to an HTTP client.
- an apparatus for sending a live stream to an HTTP client comprises a segmenter and a controller.
- the segmenter segments incoming content of the live stream into segment files.
- the controller sends the segment files to the HTTP client when at least one of the segment files is available.
- a method for sending a live stream to an HTTP client comprises the steps of segmenting incoming content of the live stream into segment files; and sending the segment files to the HTTP client when at least one of the segment files is available.
- FIG. 1 shows the block diagram of a media streaming server 100 for sending a live stream according to the present invention.
- the media streaming server comprises a segmenter 110, which segments the content of an input live stream, such as an MPEG transport stream, into segment files.
- the segmenting can be done by using existing segmenter plug-ins or other methods that are known by those skilled in the art.
- the media stream server further comprises a controller 130.
- the controller receives requests for the live stream from regular HTTP clients, processes the requests and sends the requested live stream to the clients. Since the live stream has been segmented into segment files, the controller sends the stream when one or more segment files of the live stream are available, i.e. received and processed by the media streaming server.
- One example implementation of the controller is through the HTTP sink , which is known by those skilled in the art as a GStreamer component which is basically the HTTP server that sends the media segments to the HTTP client(s).
- the segment files are mapped into a virtual file as shown in Fig. 4 , so that to the client the live stream looks like one continuous file.
- each of the segments Spts_rec001, Spts_rec002, Spts_rec003, etc. is a segment file and has a length of around 10 seconds.
- the mapping can be performed by recording the offset of the beginning of each segment file in the virtual file. For example, for Spts_rec002, its offset in the virtual file is 934361 bytes, which indicates that segment file Spts_rec002 is right after segment file Spts_rec001in the virtual file.
- the segmenting is transparent to the clients. Clients receive or perform other operations, such as seeking, on the live stream as if the stream is a single continuous file.
- the virtual mapping is realized by data structures such as a linked list, where each element has a preferred structure of
- the controller 130 is notified of the availability of segment files by an event monitor 140.
- the event monitor 140 monitors the segment files. If one or more segment files have been generated by the segmenter 110, the event monitor 140 sends a notification to the controller 130. Then the controller 130 updates the segment list and retrieves the generated segment files to send them to the clients in response to their requests.
- the segment files are stored on a storage device 120 after being generated by the segmenter 110.
- the event monitor 140 monitors the storage device 120 for any changes on the segment files.
- an asynchronous file system event system is used as the event monitor, such as the inotify , which is a Linux kernel subsystem that acts to extend filesystems to notice changes to the filesystem, and report those changes to applications.
- the oldest segment in the segment list is removed, one at a time. In one embodiment, the oldest segment is removed if 3 * ( L segment_list - L segment_most_recent ) > L desired .
- the desired length of the segment list is a parameter that can be specified by user. An example value of the L desired can be 240 seconds of content. Another example value of L desired can be 130MB.
- Fig. 2 is a flow chart of live stream transmitting process according to one embodiment of the present invention.
- step 210 a request for a live media stream from a client is received.
- the live media stream is then segmented in step 220.
- an event watch is set up for the segmenting to monitor the generation of the segment files.
- a segment list that records the whole set of segment files and maps them into one virtual continuous file is updated/maintained in step 230.
- a decision step 250 determines if the segment list is empty. If yes, the process goes back to step 230 to wait for updates from the segment files.
- step 260 If there is at least one entry in the segment list, the process moves to step 260 to send out the next segment file in the segment list.
- HTTP chunked transfer encoding may be employed to send out one segment file.
- a pointer to the segment list is moved to the next segment file in step 270.
- the process goes back to step 250 to determine if there are more segment files available for transmission.
- older segment files may be removed in step 240 as described elsewhere in this application and the segment list is updated accordingly in step 230.
- the process allows regular HTTP 1.1 clients to support playing a live media stream from a network.
- the process includes the capability for segmentation of a live media stream, and serving the segment files as though they were actually one continuous buffer of data, followed by the deletion of older segment files as they are marked for deletion by a deleting algorithm within the process.
- the process may be performed by the media streaming server shown in FIG. 1 or by other system setups that realize the same functionality.
- the process is further defined by the steps given below:
- steps 6-9 are performed for each sub-segment in a segment file. That is, one sub-segment of a segment file is read and sent out through HTTP chunked transfer encoding. The position indicator within the logical stream or the virtual file is updated for each sub-segment. These steps are repeated until all the sub-segments in a segment file are processed.
- process described above is one exemplary embodiment.
- a different process may omit one or more of the steps above, and further may include additional steps not described. Further, one or more of the steps may be combined or performed in parallel without fundamentally changing the important and advantageous aspects of the described process.
- the decoded output signal is provided to an input stream processor 520.
- the input stream processor performs the final signal selection and processing, and includes separation of video content from audio content for the content stream.
- the audio content is provided to an audio processor 530 for conversion from the received format, such as compressed digital signal, to an analog waveform signal.
- the analog waveform signal is provided to an audio interface 540 and further to the display device or audio amplifier.
- the audio interface may provide a digital signal to an audio output device or display device using a High-Definition Multimedia Interface (HDMI) cable or alternate audio interface such as via a Sony/Philips Digital Interconnect Format (SPDIF).
- HDMI High-Definition Multimedia Interface
- SPDIF Sony/Philips Digital Interconnect Format
- the audio interface may also include amplifiers for driving one more sets of speakers.
- the audio processor also performs any necessary conversion for the storage of the audio signals.
- the video output from the input stream processor is provided to a video processor 550.
- the video signal may be one of several formats.
- the video processor provides, as necessary a conversion of the video content, based on the input signal format.
- the video processor also performs any necessary conversion for the storage of the video signals.
- a storage device 560 stores audio and video content received at the input.
- the storage device allows later retrieval and playback of the content under the control of a controller and also based on commands, e.g., navigation instructions such as fast-forward (FF) and rewind (Rew), received from a user interface and/or touch panel interface 585.
- the storage device may be a hard disk drive, one or more large capacity integrated electronic memories, such as static RAM (SRAM), or dynamic RAM (DRAM), or may be an interchangeable optical disk storage system such as a compact disk (CD) drive or digital video disk (DVD) drive.
- the converted video signal from the video processor, either originating from the input or from the storage device, is provided to the display interface 570.
- the display interface further provides the display signal to a display device, such as a television, computer, or display monitor.
- the display interface may be an analog signal interface such as red-green-blue (RGB) or may be a digital interface such as HDMI.
- the controller 580 is interconnected via a bus to several of the components of the receiving device, including the input stream processor 520, audio processor 530, video processor 550, storage device 560, and a user interface 590.
- the controller manages the conversion process for converting the input stream signal into a signal for storage on the storage device or for display.
- the controller also manages the retrieval and playback of stored content.
- control memory 595 e.g., volatile or nonvolatile memory, including RAM, SRAM, DRAM, ROM, programmable ROM (PROM), flash memory, electronically programmable ROM (EPROM), electronically erasable programmable ROM (EEPROM), etc.
- Control memory may store instructions executed by the controller operating the receiving device as well as the main device (e.g., gateway, set-top box).
- the software components and software interfaces used for operation may be executed by the controller. Additionally, some operations may be transferred, by communication of the software code over a communications interface, and executed by an external device, such as a touch panel device described below.
- Control memory may also store a database of elements, such as graphic elements containing content.
- control memory may include several possible embodiments, such as a single memory device or, alternatively, more than one memory circuit communicatively connected or coupled together to form a shared or common memory. Still further, the memory may be included with other circuitry, such as portions of bus communications circuitry, in a larger circuit.
- the user interface process of the present disclosure employs an input device that can be used to express functions, such as fast forward, rewind, etc.
- a touch panel device, or remote tablet, shown in FIG. 6 may be interfaced via the user interface and/or touch panel interface of the receiving device, as shown in FIG. 5 .
- the touch panel device allows operation of the receiving device or set top box based on hand movements, or gestures, and actions translated through the panel into commands for the set top box or other control device.
- the communications interface between the receiving device described in FIG. 5 , as part of a set-top box or gateway, and the touch panel display or remote tablet described in FIG. 6 may include a client server type protocol operating in a local area network.
- media content e.g., video, audio
- the server e.g., the set-top box or gateway
- the client e.g., the touch panel device
- HTTP 1.1 standard e.g., HTTP 1.1 standard.
- the server may support media delivery to more than one client (e.g., second set-top box, thin client device, etc) simultaneously as disclosed before.
- the above embodiments are very light and can be operated in a local area network as mentioned above between a local server (e.g., set-top box, gateway, etc) and a local client (e.g., remote device, tablet, etc).
- a local server e.g., set-top box, gateway, etc
- a local client e.g., remote device, tablet, etc.
- the concepts may be expanded for use in a wide area network as well. For instance, the process may be easily adapted for use in an internet service utilizing a web server and a set of client devices in user's homes.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Information Transfer Between Computers (AREA)
Description
- The present invention generally relates to media content transmitting. More specifically, the invention relates to live media content transmitting through regular HTTP protocols.
- Video content delivery over a wide area network as well as over a local area network continues to expand in use. The delivery and playback of media in real-time, often known as streaming, places significant burdens on a network as well as on the equipment used for delivering and receiving the content.
- One well known method for managing the delivery of data is to use delivery chunking as part of the signal encoding. Chunked transfer encoding is a data transfer mechanism in the Hypertext Transfer Protocol (HTTP) that allows HTTP data to be reliably delivered between a service, such as a web server, and a client application running in an end client device, such as a web browser. The chunked encoding modifies the body of a message in order to transfer it as a series of chunks, each with its own size indicator, followed by an optional trailer containing entity-header fields. The mechanism allows delivery without knowing in advance of transmission the size of the entire message body. This is achieved by splitting the data payload of the message in small parts (chunks) and transmitting its size with each chunk. The data transfer is terminated by a final chunk of length zero.
- Chunked transfer encoding may be applied to video content delivery as well. Most servers that use the HTTP 1.1 chunking methodology simply send out the leading edge of the stream, usually contained in a buffer in memory. Some implementations might also use a file instead of an in-memory buffer and simply loop on reading from the end of the file as the file grows due to the acquisition of additional live content. The advantage of these approaches is that they are very simple and straightforward to implement. They scale well and are robust.
- However, segmenting video content using chunked transfer encoding may lead to additional operational inefficiencies, particularly in the receiving device. For instance, seeking within a media stream using the above techniques is more complex than simply streaming the leading edge of the stream. Further, unless the server uses a special file system which allows for live truncation of the beginning of the media file buffer, the file will continue to grow indefinitely and cannot be reduced in size while live content is continuously served. Therefore there is a need for an improved mechanism for efficiently transmitting a live stream through HTTP protocols.
- Apple introduced a system called HTTP Live Streaming, which streams audio and video in segments. The server breaks a media stream into segments, and sends out each segment individually. It has advantages over the technique of streaming from the leading edge. However, Apple's technique requires the clients to maintain a playlist of the segments and render them as a continuous stream. Such a requirement makes the Apple's live streaming client a special client which is incompatible with the existing regular HTTP clients.
- Other methods related to media content transmitting are described in documents
US 2010/169303 ,US 2010/312828 and Pantos R et al. "HTTP live streaming; draft-pantos-http-live-streaming-03.txt". - The present invention solves the problem of transmitting live streams of media from a media server to clients through the regular HTTP protocol.
- This invention directs to methods and apparatuses for sending a live stream to an HTTP client.
- According to an aspect of the present invention, there is provided an apparatus for sending a live stream to an HTTP client. The apparatus comprises a segmenter and a controller. The segmenter segments incoming content of the live stream into segment files. The controller sends the segment files to the HTTP client when at least one of the segment files is available.
- According to another aspect of the present invention, there is provided a method for sending a live stream to an HTTP client. The method comprises the steps of segmenting incoming content of the live stream into segment files; and sending the segment files to the HTTP client when at least one of the segment files is available.
- The present principles may be better understood in accordance with the following exemplary figures, in which:
-
FIG. 1 is a block diagram of a media streaming server for sending a live stream according to the present invention. -
FIG. 2 is a flowchart of a process for sending a live stream according to the present invention. -
FIG. 3 shows an example of a preferred implementation of the process for sending live streams according to the present invention. -
FIG. 4 illustrates mapping of segment files to a virtual file. -
FIG. 5 shows a block diagram of an embodiment of a receiving device. -
FIG. 6 illustrates a touch panel display or a remote tablet in which the inventive concepts may be used. -
Figure 1 shows the block diagram of amedia streaming server 100 for sending a live stream according to the present invention. The media streaming server comprises asegmenter 110, which segments the content of an input live stream, such as an MPEG transport stream, into segment files. The segmenting can be done by using existing segmenter plug-ins or other methods that are known by those skilled in the art. - The media stream server further comprises a
controller 130. The controller receives requests for the live stream from regular HTTP clients, processes the requests and sends the requested live stream to the clients. Since the live stream has been segmented into segment files, the controller sends the stream when one or more segment files of the live stream are available, i.e. received and processed by the media streaming server. One example implementation of the controller is through the HTTP sink, which is known by those skilled in the art as a GStreamer component which is basically the HTTP server that sends the media segments to the HTTP client(s). - In one embodiment of the present invention, the segment files are mapped into a virtual file as shown in
Fig. 4 , so that to the client the live stream looks like one continuous file. InFig. 4 , each of the segments Spts_rec001, Spts_rec002, Spts_rec003, etc. is a segment file and has a length of around 10 seconds. The mapping can be performed by recording the offset of the beginning of each segment file in the virtual file. For example, for Spts_rec002, its offset in the virtual file is 934361 bytes, which indicates that segment file Spts_rec002 is right after segment file Spts_rec001in the virtual file. With such a virtual file, the segmenting is transparent to the clients. Clients receive or perform other operations, such as seeking, on the live stream as if the stream is a single continuous file. In one implementation, the virtual mapping is realized by data structures such as a linked list, where each element has a preferred structure of
struct segment_file: { segment_filename; // file name of the segment file segment_start; // the offset within the virtual file segment_length; // length of the segment file }By using this structure, a segment list can be built to realize the mapping operation. In one embodiment of the invention, the segment list is maintained by the
- 1. The client connects to a known URL which points to the live stream which triggers the segmenter 110 (located in the media streaming server 100) to start breaking the live media stream into certain time duration segment files. The segment file size or time duration can vary depending on the desired tradeoff between transmission delay and segment management overhead and for example, could be 10 seconds.
- 2. Use of an asynchronous file system event system or an event monitor, such as inotify, to set up an event watch on the directory of where the segment files will be written to, watching for when each segment file is modified.
- 3. The event system or event monitor will signal when a segment file has been modified. Note that the segmenter generates a segment file by writing multiple sub-segments for that segment file until the configured length or time is reached for the segment file. The collection of the multiple sub-segments forms the segment file. Thus, the modification of a segment file could be caused by creation of a new segment file or addition/update of one or more sub-segments within one segment file. At this point the full file path and the name of the segment file are recorded along with the start and the length of the segment file. If this is the first segment file from the stream, the start will be zero and the length will be the current size of the segment file. For each successive modification event within the same segment file, the starting offset will be 1 + previous segment file start + previous segment file length. This segment file is added to the end of a segment list. If the segment filename changes, which means a new segment file is being created, the previous entry that was added to the segment list should be flagged as being the last segment file for the overall segment list at this moment. In an example implementation of a segmenter, the segment length is updated for every x kbps (i.e. one sub-segment) until the full length of a segment file is reached, at which point a new segment file starts. it is to be noted that small x, i.e. smaller sub-segments, cost more overhead, but provide more timely updates on the segment files. In an extreme case, x equals the full length of a segment file, i.e. a segment file only consists of one sub-segment.
- 4. The next step is to wait until the segment list has at least one entry. In one implementation, another thread within the media streaming server is created to wait for one segment file to be generated from the segmenter. Once this thread is aware of the availability of a segment file, it then signals the main thread to process this segment file to be sent to the HTTP client.
- 5. The first entry in the segment list is examined. Once one entry has been added to the segment list, the segment file needs to be opened for reading from the local storage medium. If there are no segment files in the list, the process shall wait until there is at least one generated and available for examination.
- 6. The segment file under examination is then read and the server will send out the segment file in a predefined chunk size Sc through HTTP chunked transfer encoding. The chunk size Sc is determined based on the tradeoff between the overhead and transmission delay. By way of example, 128 kilobytes for Sc is an appropriate chunk size to send to the client.
- 7. If the segment file's length is greater than the chunk size Sc, the server may iteratively read Sc of the file from the storage medium and send it to the client.
- 8. A pointer denoting the position of the current segment file within the segment list is incremented by one and the next segment file will be examined.
- 9. Once a portion of the current segment file is sent to the client, a position indicator within the logical stream or the virtual file needs to be set to the previous position value plus the total number of bytes sent to the client for the current segment file.
- 10. Repeat the process until the session ends. A session can end when either the media source finishes broadcasting, or when a client disconnects from the HTTP server.
- 1. Start the web server in HTTP chunking mode (step 310).
- 2. Listen for inotify filesystem event of IN_CLOSE_WRITE on web root directory (step 320). The event of IN_CLOSE_WRITE is sent when a file opened for writing is closed.
- 3. Maintain a map of segment filenames and their lengths as a segment list as they are created from the segmenting tool (step 330).
- 4. Wait for requests from the client with a range header like:" range: bytes = 0 - " (
step 340. The client specifies this range header to specify that the web server uses HTTP 1.1 chunked mode for delivery of the segments.) and serve up a configurable chunk size Sc of the first segment file to the HTTP client (step 350). An example value for Sc is128K bytes. - 5. Wait for requests from the client with a range header like:"range: bytes = 12389098 -" (step 340) and serve up a configurable chunk size to the client, starting from the byte offset specified in the range header (step 350). The offset is 12389098 in this example. Note that one chunk may span across two different segment files and will require a lookup in the map mentioned in step 3.
- 6. Define a property that sets how many segments should be kept in the segment list. Remove the rest of the segment files from the segment list and the hard disk in a way as described elsewhere in this application (step 360).
Claims (15)
- An apparatus for streaming content to an HTTP client, the apparatus comprising:a segmenter (110) for segmenting incoming content of a live stream into segment files;a controller (130) for:creating a segment list which maps said segment files in sequential order as a virtual file, wherein an entry in said list comprises at least a segment file name, a segment length and a segment start corresponding to an address of the start of said segment file in the virtual file, wherein said segment start is calculated by adding a segment file length of a previous and contiguous entry in the list to a segment start of said previous entry plus one, andsending said segment files to said HTTP client without sending or presenting the virtual file, when at least one of said segment files is available, wherein said segment files are sent via HTTP chunks as mapped by the addresses of said virtual file and the segments are transparent to said client who perceives a continuous stream.
- The apparatus of claim 1, further comprising:an event monitor (140) for monitoring said segment files for their availability.
- The apparatus of claim 2, further comprising:a storage device (120) for storing said segment files wherein said event monitor monitors said segment files by monitoring said storage device.
- The apparatus of claim 3, further comprising:a segment remover for removing at least one of said segment files from said storage device.
- The apparatus of claim 4, wherein the segment remover removes an old segment file from said storage device if a total length of said segment files exceeds a threshold.
- The apparatus of claim 1, wherein said controller sends said HTTP chunks through HTTP chunked transfer encoding.
- The apparatus of claim 1, wherein a chunk in said HTTP chunked transfer encoding comprises content from at least one of said segment files.
- The apparatus of claim 1, wherein each of said segment files comprises at least one sub-segment and said segmenter generates said each of segment files by generating said at least one sub-segment.
- The apparatus of claim 8, wherein said controller sends said segment files by sending said at least one sub-segment of each of said segment files.
- The apparatus of claim 1 wherein the controller further performs the function of seeking the streaming content as directed by the client, by translating a virtual file address sent by the client to the corresponding position within the corresponding segment file associated with said virtual file address.
- A method for streaming content to an HTTP client, the method comprising:segmenting (220) incoming content of a live stream into segment files;creating a segment list (230, 250, 270) which maps said segment files in sequential order as a virtual file, wherein an entry in said list comprises at least a segment file name, a segment length and a segment start corresponding to an address of the start of said segment file in said virtual file, wherein said segment start is calculated by adding a segment file length of a previous and contiguous entry in the list to a segment start of said previous entry plus one; andsending (260) said segment files to said HTTP client, without sending or presenting the virtual file, when at least one of said segment files is available, wherein said segment files are sent via HTTP chunks as mapped by the addresses of said virtual file and the segments are transparent to said client who perceives a continuous stream.
- The method of claim 11, further comprising
storing said segment files onto a storage device; and
monitoring said segment files for their availability by monitoring said storage device. - The method of claim 12, further comprising:removing (240) at least one of said segment files from said storage device if a total length of said segment files exceeds a threshold.
- The method of claim 11, wherein said HTTP chunks are sent through HTTP chunked transfer encoding and each chunk comprises content from at least one of said segment files.
- The method of claim 11 further comprising seeking of streaming content as directed by the client, by translating a virtual file address sent by the client to the corresponding position within the corresponding segment file associated with said virtual file address.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161429559P | 2011-01-04 | 2011-01-04 | |
PCT/US2011/067478 WO2012094199A1 (en) | 2011-01-04 | 2011-12-28 | Apparatus and method for transmitting live media content |
Publications (2)
Publication Number | Publication Date |
---|---|
EP2661863A1 EP2661863A1 (en) | 2013-11-13 |
EP2661863B1 true EP2661863B1 (en) | 2016-07-20 |
Family
ID=45524975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP11811482.6A Active EP2661863B1 (en) | 2011-01-04 | 2011-12-28 | Apparatus and method for transmitting live media content |
Country Status (6)
Country | Link |
---|---|
US (1) | US10069887B2 (en) |
EP (1) | EP2661863B1 (en) |
JP (1) | JP6030572B2 (en) |
KR (1) | KR101884725B1 (en) |
CN (1) | CN103299600B (en) |
WO (1) | WO2012094199A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110072128A (en) * | 2019-04-22 | 2019-07-30 | 北京开广信息技术有限公司 | The real-time method for pushing and server of Media Stream |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8839065B2 (en) * | 2011-07-29 | 2014-09-16 | Blackfire Research Corporation | Packet loss anticipation and pre emptive retransmission for low latency media applications |
US8762452B2 (en) * | 2011-12-19 | 2014-06-24 | Ericsson Television Inc. | Virtualization in adaptive stream creation and delivery |
US9203888B2 (en) * | 2012-05-01 | 2015-12-01 | Ericsson Ab | Server-side class-of-service-based bandwidth management in over-the-top video delivery |
US9641906B2 (en) * | 2012-10-09 | 2017-05-02 | Sharp Kabushiki Kaisha | Content transmission device, content playback device, content distribution system, method for controlling content transmission device, method for controlling content playback device, control program, and recording medium |
JP6139872B2 (en) * | 2012-12-10 | 2017-05-31 | キヤノン株式会社 | Information processing apparatus and control method therefor, program, storage medium, and video processing system |
KR102090493B1 (en) * | 2013-01-22 | 2020-03-18 | 삼성전자주식회사 | Device and method of HTTP Proxy to reduce the HTTP protocol transmission delay and the HTTP processing load in Mobile Communication Networks |
CN103179214B (en) * | 2013-04-10 | 2016-01-13 | 网宿科技股份有限公司 | Based on the live TV stream plug-flow method and system of http protocol |
CN103905695B (en) * | 2014-04-10 | 2018-01-09 | 中央电视台 | Material processing method and device |
WO2016002498A1 (en) * | 2014-06-30 | 2016-01-07 | ソニー株式会社 | Information processing device and method, distribution system, and program |
JP2016208167A (en) * | 2015-04-20 | 2016-12-08 | Quicco Sound株式会社 | Audio visual adapter and audio visual data transmission/reproduction method |
US10567461B2 (en) * | 2016-08-04 | 2020-02-18 | Twitter, Inc. | Low-latency HTTP live streaming |
EP3625943B1 (en) * | 2017-05-16 | 2021-09-08 | Telefonaktiebolaget LM Ericsson (PUBL) | Low latency media ingestion system, devices and methods |
JP7267306B2 (en) | 2018-05-18 | 2023-05-01 | コリンダス、インコーポレイテッド | Remote communication and control system for robotic interventional procedures |
KR102431681B1 (en) * | 2018-12-12 | 2022-08-11 | 네이버 주식회사 | Distributed file system and file managing method for live service |
JP6824949B2 (en) * | 2018-12-26 | 2021-02-03 | キヤノン株式会社 | Communication equipment, control methods and programs |
WO2020223414A1 (en) * | 2019-04-30 | 2020-11-05 | Phantom Auto Inc. | Low latency wireless communication system for teleoperated vehicle environments |
CN113596506B (en) * | 2021-08-09 | 2024-03-12 | 深圳市佳创视讯技术股份有限公司 | Performance optimization method and system for live cache, electronic device and storage medium |
CN114201237A (en) * | 2021-12-14 | 2022-03-18 | 北京欧珀通信有限公司 | Application program running method and device, electronic equipment and storage medium |
US20240371380A1 (en) * | 2023-05-01 | 2024-11-07 | Genpact Luxembourg S.à r.l. II | Scalable and in-memory information extraction and analytics on streaming radio data |
CN118488099B (en) * | 2024-05-30 | 2025-03-25 | 广东保伦电子股份有限公司 | A message publishing method and device based on MQTT |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496543B1 (en) * | 1996-10-29 | 2002-12-17 | Qualcomm Incorporated | Method and apparatus for providing high speed data communications in a cellular environment |
US20050028194A1 (en) | 1998-01-13 | 2005-02-03 | Elenbaas Jan Hermanus | Personalized news retrieval system |
JP2003233976A (en) * | 1998-09-30 | 2003-08-22 | Toshiba Corp | Data reproducing device and data reproducing control method |
JP3396639B2 (en) | 1998-09-30 | 2003-04-14 | 株式会社東芝 | Hierarchical storage device and hierarchical storage control method |
EP1057129A1 (en) * | 1998-12-23 | 2000-12-06 | Koninklijke Philips Electronics N.V. | Personalized video classification and retrieval system |
US6560620B1 (en) * | 1999-08-03 | 2003-05-06 | Aplix Research, Inc. | Hierarchical document comparison system and method |
EP1215834A1 (en) * | 2000-12-15 | 2002-06-19 | Sony France S.A. | Information sequence extraction and building apparatus e.g. for producing personalised music title sequences |
US20030135507A1 (en) * | 2002-01-17 | 2003-07-17 | International Business Machines Corporation | System and method for managing and securing meta data using central repository |
SE0200417D0 (en) * | 2002-02-13 | 2002-02-13 | Ericsson Telefon Ab L M | A method and apparatus for reconfiguring a server system |
JP4285101B2 (en) * | 2003-06-20 | 2009-06-24 | ソニー株式会社 | Real-time data communication system, real-time data communication apparatus, and real-time data communication method |
DE10353564A1 (en) | 2003-11-14 | 2005-06-16 | Deutsche Thomson-Brandt Gmbh | Method for the intermittent, discontinuous transmission of data in a network of distributed stations and network subscriber station as a request device in the implementation of such a method as well as network subscriber station as a source device in the implementation of such a method |
JP2005303927A (en) | 2004-04-15 | 2005-10-27 | Sony Corp | Information processing system, information processing apparatus and method, recording medium, and program |
WO2007099939A1 (en) * | 2006-03-01 | 2007-09-07 | Mitsubishi Electric Corporation | Gateway device |
US20070268121A1 (en) * | 2006-05-18 | 2007-11-22 | Daryush Vasefi | On-line portal system and method for management of devices and services |
US8291122B2 (en) | 2006-06-16 | 2012-10-16 | Nvidia Corporation | Methods and systems for uninterrupted media change |
US9438860B2 (en) * | 2007-06-26 | 2016-09-06 | Verizon Patent And Licensing Inc. | Method and system for filtering advertisements in a media stream |
CN101141627A (en) * | 2007-10-23 | 2008-03-12 | 深圳市迅雷网络技术有限公司 | System and method for storing streaming media files |
US20100179973A1 (en) * | 2008-12-31 | 2010-07-15 | Herve Carruzzo | Systems, methods, and computer programs for delivering content via a communications network |
US20100169303A1 (en) * | 2008-12-31 | 2010-07-01 | David Biderman | Playlists for real-time or near real-time streaming |
KR101743123B1 (en) * | 2009-05-21 | 2017-06-15 | 삼성전자주식회사 | Digital broadcast transmitter, digital broadcast receiver, methods for constructing and processing streams thereof |
US20100312828A1 (en) * | 2009-06-03 | 2010-12-09 | Mobixell Networks Ltd. | Server-controlled download of streaming media files |
AU2010260303B2 (en) * | 2009-06-15 | 2014-08-28 | Blackberry Limited | Methods and apparatus to facilitate client controlled sessionless adaptation |
US8635184B2 (en) * | 2009-06-25 | 2014-01-21 | Emc Corporation | System and method for providing long-term storage for data |
CN107911332B (en) * | 2009-11-04 | 2021-01-08 | 阿莫泰克有限公司 | Method, system and computer readable medium for media content streaming |
US20110296048A1 (en) * | 2009-12-28 | 2011-12-01 | Akamai Technologies, Inc. | Method and system for stream handling using an intermediate format |
US8806050B2 (en) * | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
US20120041963A1 (en) * | 2010-08-12 | 2012-02-16 | Chintakunta Guruprasad | Providing selected attributes of streaming data for display by a visualization engine |
US8677428B2 (en) * | 2010-08-20 | 2014-03-18 | Disney Enterprises, Inc. | System and method for rule based dynamic server side streaming manifest files |
KR101206698B1 (en) * | 2010-10-06 | 2012-11-30 | 한국항공대학교산학협력단 | Apparatus and method for providing streaming contents |
JP5423661B2 (en) * | 2010-12-09 | 2014-02-19 | 株式会社Jvcケンウッド | Network system, server, playback device, and content playback method |
US20120265853A1 (en) * | 2010-12-17 | 2012-10-18 | Akamai Technologies, Inc. | Format-agnostic streaming architecture using an http network for streaming |
ES2429222B1 (en) * | 2011-05-12 | 2014-06-05 | Telefónica, S.A. | METHOD AND END NODE TO DISTRIBUTE CONTINUOUS FLOW OF CONTENT IN REAL TIME IN A CONTENT DISTRIBUTION NETWORK |
US9681160B2 (en) * | 2011-06-22 | 2017-06-13 | Tout Inc. | Method and apparatus for automatically associating media segments with broadcast media streams |
US9026670B2 (en) * | 2011-08-22 | 2015-05-05 | Allot Communications Ltd. | System and method for efficient caching and delivery of adaptive bitrate streaming |
WO2015058389A1 (en) * | 2013-10-24 | 2015-04-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method, multimedia streaming service node, computer program and computer program product for combining content |
US20160294763A1 (en) * | 2015-03-31 | 2016-10-06 | Facebook, Inc. | Multi-user media presentation system |
-
2011
- 2011-12-28 US US13/989,991 patent/US10069887B2/en active Active
- 2011-12-28 WO PCT/US2011/067478 patent/WO2012094199A1/en active Application Filing
- 2011-12-28 KR KR1020137017396A patent/KR101884725B1/en active Active
- 2011-12-28 JP JP2013548433A patent/JP6030572B2/en active Active
- 2011-12-28 EP EP11811482.6A patent/EP2661863B1/en active Active
- 2011-12-28 CN CN201180063911.3A patent/CN103299600B/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110072128A (en) * | 2019-04-22 | 2019-07-30 | 北京开广信息技术有限公司 | The real-time method for pushing and server of Media Stream |
CN110072128B (en) * | 2019-04-22 | 2021-01-15 | 北京开广信息技术有限公司 | Real-time pushing method of media stream and server |
Also Published As
Publication number | Publication date |
---|---|
KR20140024262A (en) | 2014-02-28 |
JP2014505295A (en) | 2014-02-27 |
JP6030572B2 (en) | 2016-11-24 |
US10069887B2 (en) | 2018-09-04 |
CN103299600B (en) | 2016-08-10 |
US20130304916A1 (en) | 2013-11-14 |
EP2661863A1 (en) | 2013-11-13 |
WO2012094199A1 (en) | 2012-07-12 |
CN103299600A (en) | 2013-09-11 |
KR101884725B1 (en) | 2018-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2661863B1 (en) | Apparatus and method for transmitting live media content | |
US7797633B2 (en) | Streaming to media device during acquisition with random access | |
US7272300B2 (en) | Method and apparatus for storing content | |
US9521446B2 (en) | Providing remote access to segments of a transmitted program | |
US20080168516A1 (en) | Facilitating Random Access In Streaming Content | |
US20150131972A1 (en) | Method and apparatus for progressively deleting media objects from storage | |
MXPA04006412A (en) | Sparse caching for streaming media. | |
US9055268B2 (en) | Multi-tier recorder to enable seek-back unique copy recording | |
US9910857B2 (en) | Data management | |
US9201883B1 (en) | Remote file archiving using package files | |
CN101038589A (en) | Method and apparatus for contents management | |
US20230007322A1 (en) | Techniques for composite media storage and retrieval | |
CN115250266B (en) | Video processing method and device, streaming media equipment and storage on-demand system | |
EP2750020B1 (en) | Systems and methods for managing files in a computer system by segmenting files | |
WO2020228128A1 (en) | Method and device for storing streaming media data and storage medium | |
JP2016136676A (en) | Reception device, buffer management method, and program | |
KR20180039575A (en) | Data Management | |
CN115581124A (en) | Extended W3C Media Extensions for handling DASH and CMAF in-band events |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20130802 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAX | Request for extension of the european patent (deleted) | ||
17Q | First examination report despatched |
Effective date: 20141107 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
INTG | Intention to grant announced |
Effective date: 20150515 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
INTG | Intention to grant announced |
Effective date: 20150924 |
|
INTG | Intention to grant announced |
Effective date: 20160215 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 814879 Country of ref document: AT Kind code of ref document: T Effective date: 20160815 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 746 Effective date: 20160728 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602011028426 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: FP |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 814879 Country of ref document: AT Kind code of ref document: T Effective date: 20160720 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R084 Ref document number: 602011028426 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 6 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20161120 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20161020 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20161121 Ref country code: BE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20161021 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602011028426 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20161020 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 |
|
26N | No opposition filed |
Effective date: 20170421 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20161231 Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20161228 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20161231 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20161228 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 7 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20111228 Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20161228 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: TP Owner name: THOMSON LICENSING DTV, FR Effective date: 20180830 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 732E Free format text: REGISTERED BETWEEN 20180927 AND 20181005 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20160720 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R082 Ref document number: 602011028426 Country of ref document: DE Representative=s name: DEHNS, DE Ref country code: DE Ref legal event code: R081 Ref document number: 602011028426 Country of ref document: DE Owner name: INTERDIGITAL MADISON PATENT HOLDINGS, FR Free format text: FORMER OWNER: THOMSON LICENSING, ISSY-LES-MOULINEAUX, FR Ref country code: DE Ref legal event code: R082 Ref document number: 602011028426 Country of ref document: DE Representative=s name: DEHNS PATENT AND TRADEMARK ATTORNEYS, DE |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: PD Owner name: INTERDIGITAL MADISON PATENT HOLDINGS; FR Free format text: DETAILS ASSIGNMENT: CHANGE OF OWNER(S), ASSIGNMENT; FORMER OWNER NAME: THOMSON LICENSING Effective date: 20190222 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Ref document number: 602011028426 Country of ref document: DE Free format text: PREVIOUS MAIN CLASS: H04L0029080000 Ipc: H04L0065000000 |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230514 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: NL Payment date: 20241224 Year of fee payment: 14 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20241217 Year of fee payment: 14 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20241227 Year of fee payment: 14 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: IT Payment date: 20241220 Year of fee payment: 14 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20241227 Year of fee payment: 14 |