WO2009106683A1 - An apparatus, a method, a computer program product and a system for encoding video stream - Google Patents

An apparatus, a method, a computer program product and a system for encoding video stream Download PDF

Info

Publication number
WO2009106683A1
WO2009106683A1 PCT/FI2009/050147 FI2009050147W WO2009106683A1 WO 2009106683 A1 WO2009106683 A1 WO 2009106683A1 FI 2009050147 W FI2009050147 W FI 2009050147W WO 2009106683 A1 WO2009106683 A1 WO 2009106683A1
Authority
WO
WIPO (PCT)
Prior art keywords
video clips
video
format
clips
terminal
Prior art date
Application number
PCT/FI2009/050147
Other languages
French (fr)
Inventor
Mikael Kopteff
Alexander Bethke
Minna Bloigu
Kai Lemmetty
Joonas Pekkanen
Jami Pekkanen
Original Assignee
Floobs Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Floobs Oy filed Critical Floobs Oy
Publication of WO2009106683A1 publication Critical patent/WO2009106683A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6131Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6181Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via a mobile phone network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Definitions

  • the invention concerns an apparatus for encoding a video stream. Furthermore, the invention concerns a method for encoding a video stream. Even furthermore, the invention concerns a computer program product for encoding a video stream. Furthermore, the invention concerns a system for encoding a video stream.
  • Next generation mobile terminals such as mobile phones with camera are just now entering the market with the prerequisite processing power to provide real-time encoding of video.
  • the platform to enable a live broadcast can now fit into the pocket of the user.
  • ComVu PocketCaster streams video from a mobile phone to user's video blog or homepage. Video streams are simultaneously archived on a server, thereby others can watch live or at any time. System operates on a PC, Mac or their mobile phone.
  • PocketCaster overcomes the limitations of MMS. PocketCaster provides a one-to-many broadcasting service, which means user can share video streams to many others.
  • PocketCaster lets user notify contacts, live "on air”, add tags to your videos, and track your video streams using dynamic geo-tagging and online maps. Similar known solution come from Qik, ComVu, Kyte or Viif.
  • an apparatus comprising:
  • a receiver configured to receive two or more video clips in a first format from a mobile terminal
  • a storage configured to store the two or more video clips
  • an encoder configured to encode the two or more video clips from the first format into a second format
  • a transmitter configured to stream the two or more video clips in the second format for transmission to a terminal so that the video stream containing the two or more video clips can be played seamlessly.
  • At least one mobile terminal configured to transmit two or more video clips in a first format to a server
  • the server configured to receive the two or more video clips
  • the server further configured to store the two or more video clips
  • an encoder configured to encode the two or more video clips from the first format to a second format
  • the server further configured to stream the two or more video clips in the second format for transmission to a terminal so that the video stream containing the two or more video clips can be played seamlessly at said terminal.
  • Various embodiments of the invention provide versatility of mobile terminals with video streaming capability.
  • Mobile terminal can therefore send video to various kinds of terminals independently of the platform of the terminals. This allows better interoperability, and better use and applicability of the mobile video.
  • Various embodiments of the invention disclose a system for distributing video from a mobile terminal so that, in addition to a mobile phone with specific software platform, various different terminals can be used.
  • various embodiments can be flexibly applied in various terminals, e.g. many kinds of mobile phones with various software platforms.
  • the system has been implemented by a platform independent programming language such as Java or the like. Java technology is widely supported by various terminal manufacturers.
  • the platform independent programming language the system is operable in various terminals, for example enabling further co-operation with operators. Some operates require wide enough interoperability for the terminals, e.g. not just merely Symbian technology, for the provision of the applications to the users.
  • Figure 1 depicts a block diagram of a system for encoding a video stream according to an embodiment of the invention
  • Figure 2 depicts a block diagram of a system for encoding a video stream according to a further embodiment of the invention
  • Figure 3 depicts a block diagram of a system for encoding a video stream, wherein the server contains an encoder according to a further embodiment of the invention
  • Figure 4 depicts an example of a block diagram of a server for encoding a video stream according to an embodiment of the invention
  • Figure 5 depicts an example of a flow chart for encoding a video stream according to an embodiment of the invention.
  • Various embodiments of the invention provide an apparatus for providing video stream conveniently to various terminals.
  • Various embodiments of the invention are based on a streaming protocol or the like, wherein the apparatus, for example a server, is being sent relatively small video clips instead of continuing streaming transmission.
  • the streaming protocol does not necessary refer to any specific or actual protocol.
  • the clips are encoded into a format required by various terminals and streamed to the terminal receiving the stream.
  • the apparatus is monitoring the connection speed and quality between the terminal , wh ich send the cl ips to the apparatus, and the apparatus itself.
  • the apparatus commands or instructs the terminal, which sends the clips to the apparatus, for encoding and packing the video and audio.
  • FIG. 1 there is being depicted a block diagram of a system for encoding a video stream according to an embodiment of the invention.
  • the system comprises a mobile terminal 100, an apparatus 102 such as a server, mediaserver or the like, a terminal 101 and an encoding system 103.
  • various embodiments of the invention supports various kinds of terminals 101 capable thereby receiving the mobile video, for example the terminal 101 may be a computer, a mobile phone, a digital television, or a vehicle receiver, etc.
  • Streaming live transmission starts at the mobile terminal 100, when for example user starts to shoot the video by the mobile terminal 100 containing a client application 110 for the video shooting.
  • the client application 110 can be Floobs mobile client application (FMC) for example.
  • the client application 110 starts to send relatively short video clips to the apparatus 102 (the step 200).
  • the video clips are sent in a terminal dependent packing format. Few non-limiting examples of such formats are 3gp, mp4 or the like.
  • Video clips are as such complete, although the video clips are relatively short, for example having the length of 5 s. Other lengths may be used as well such as 1 s or less than 1 s, even up to several seconds, like nearly 60 s or more.
  • Each video clip comprises a header, or a header data.
  • the video clips are not so-called streaming packets like there is in the traditional video streaming.
  • the apparatus 102 receives the video clips.
  • the apparatus 102 stores the video clips into a temporary storage buffer (not shown), for example into disk storage, RAM memory or the like.
  • the buffer may be shared disk storage or the like.
  • the storage may be within the apparatus 102 or be separated from the apparatus 102.
  • the apparatus 102 may instruct or command the mobile terminal 100 on adjusting the quality of the video and audio according to the data connection between the mobile terminal 100 and the apparatus 102 (the step 201 ).
  • the apparatus 102 requests an encoding system 103 to process the stored video clips.
  • the encoding system 103 starts to process the stored video clips and encodes the video clips so that the format is amended (the steps 203, 204), for example to .flv video format or the like.
  • the encoding system 103 stores the encoded video stream into the buffer memory or disk storage.
  • the apparatus 102 establishes a video stream transmission from the encoded video stream (the step 205).
  • the stream can be established from the encoded video clips so that the clips are played one after another seamlessly.
  • the video stream transmission may be a live transmission, the apparatus 102 and the system is thus capable of processing the video at the required speed of live transmission or the feeling of a live transmission.
  • the another terminal 101 receives the video stream transmission that the apparatus 102 is providing and transmitting (the step 205).
  • the apparatus 102 along with sending the first video clip (for example reference 200) there is being established at the apparatus 102 a session and readiness, by the guidance of which any related video clip conning from the same terminal can be identified as being related.
  • the session is renewed at the apparatus 102.
  • the termination of the video transmission can be identified, for example as follows.
  • the transmitting terminal 100 informs the apparatus 102 that the transmission of the video clips is over.
  • the apparatus 102 is also monitoring the reception of the video clips and may consider that the transmission has ended, unless there is not being received any new video clips within a predetermined time, for example 15 s etc. This is considerable in the case of failures. For example, when the client application 110 shuts-down abnormally or unintentionally, or the battery of the terminal 100 ends during the transmission of the clips, etc.
  • the establishment of the video stream takes place by collecting the encoded video clips into the buffer and creating a playl ist from the buffered video cl ips, on a basis of which the establishment of the video stream to/at the apparatus 102 takes place.
  • the video clips are played seamlessly one after another clip, thereby establishing a feeling of seamless live video stream for the user.
  • a buffering clip is being transmitted to the terminal 101 for presentation.
  • the buffering clip for example, announces to the user that there is delay or the like in the transmission, and that you have to wait for a moment for continuance of the transmission.
  • the apparatus 102 has played and transmitted the buffering clip it checks again whether the following clip can be played, etc.
  • the client application 110 is configured to use the fastest available data connection between the mobile terminal 100 and the apparatus 102.
  • the transmitted video clips have weakest default quality (for example regarding the resolution, sound quality).
  • the apparatus 102 monitors (on a basis of the timestamp of the video clips) how fast the video clips are transmitted, i.e. the time of reception of the clips at the apparatus 102, thereby concluding how fast the data connection is. If the connection enables, the apparatus 102 suggests to the mobile terminal 100 to start using better video and sound quality.
  • Figure 2 depicts a block diagram of a system for encoding a video stream according to a further embodiment of the invention.
  • Figure 2 depicts an example of various implementations of many embodiments of the invention.
  • Figure 3 depicts a block diagram of a system for encoding a video stream, wherein the server 102" contains an encoder 103" according to a further embodiment of the invention.
  • the system contains a router 105,105, or the like and a base station 104,104' or the like.
  • Various different terminals 101 ',101 " can receiver the video stream.
  • FIG. 4 depicts an example of a block diagram of a server for encoding a video stream according to an embodiment of the invention.
  • the apparatus 102 comprises a transceiver 107 configured to receive data from mobile terminal 100. Furthermore the transceiver 107 is configured to transmit data to mobile terminal 100. For example transceiver 107 can receive video clips. Furthermore the transceiver 107 can send information about the quality of the connection or the quality of the received video clips etc.
  • the apparatus 102 comprises CPU for processing data.
  • the apparatus 102 comprises storage 106, for example a buffer memory for storing the video clips.
  • the storage 106 can be a shared disk storage or memory, to which the apparatus 102 and the encoder 103 can read and write.
  • the apparatus 102 may command the encoder 103, however the clips are stored at the storage 106.
  • the encoder 103 may be a separate from the apparatus 102 or within the apparatus 102.
  • the storage may be separate from the apparatus 102 or within the apparatus 102. Therefore the apparatus 102 may in some further embodiments contain the encoder 103 configured to encode the video clips from the first format, e.g. a format of the mobile terminal, to second format, e.g. video streaming format or the like.
  • An example of the video format can be .flv or the like, and there are various other formats.
  • the apparatus 102 may also be without the encoder 103.
  • Figure 5 depicts an example of a flow chart for encoding a video stream according to an embodiment of the invention.
  • a method comprises in the step 300 receiving two or more video clips in a first format from a mobile terminal.
  • the step 301 there is being stored the two or more video clips.
  • the step 302 there is being encoded the two or more video clips from the first format to a second format.
  • the step 303 there is being generated seamless video stream.
  • the stream is generated from the two or more video clips in the second format.
  • the step 304 there is being transmitted the video stream to a terminal so that the video stream containing the two or more video clips can be played seamlessly at the terminal.
  • a further embodiment of the invention comprises clip sequencing.
  • the client such as the mobile terminal 100 adds an ascending index into each header of each video clip.
  • the apparatus 102 received the clip with the header containing the index.
  • the apparatus 102 can identify whether the video clips are received in proper order.
  • the apparatus 102 can fix and alter the order if necessary.
  • the apparatus 102 can wait for appropriate video clip before making the stream although there are other video clips waiting for the streaming. Alternatively the video clip missing can be omitted by the apparatus 102.
  • a further embodiment of the invention comprises an ability to fix corrupted video clips.
  • the encoder 103 can identify the video clip, which is corrupted. For example identifies a corrupted frame at the beginning of the video clip.
  • the corrupted beginning of the video clip can be replaced with, for example the last frame of the previous video clip, thereby making the video stream to appear substantially seamless.
  • a Java based application (not shown) can be installed into the terminal.
  • the application may automatically provide Symbian based additional component beside the client application 1 10.
  • the live transmission can thereby be better optimized to those terminals, having better technical characteristics for live video transm ission .
  • Java provides interoperability between various kinds of terminals, not just specifically Symbian or

Abstract

Various embodiments of the invention providean apparatusfor providing video stream conveniently to various terminals. Various embodiments of the invention are based on a streaming protocol or the like, wherein the apparatus, for example a server, is being sent relatively small video clips instead of continuing streaming transmission. The streaming protocol does not necessary refer to any specific or actual protocol. Accordingly at the apparatus the clips are encoded into a format required by various terminals and streamed to the terminal receiving the stream. The apparatus is monitoring the connection speed and quality between the terminal, which send the clips to the apparatus, and the apparatus itself. Furthermore the apparatus commands or instructs the terminal, which sends the clips to the apparatus, for encoding and packing the video and audio.

Description

An apparatus, a method, a computer program product and a system for encoding video stream
TECHNICAL FIELD OF THE INVENTION
The invention concerns an apparatus for encoding a video stream. Furthermore, the invention concerns a method for encoding a video stream. Even furthermore, the invention concerns a computer program product for encoding a video stream. Furthermore, the invention concerns a system for encoding a video stream.
BACKGROUND
Next generation mobile terminals such as mobile phones with camera are just now entering the market with the prerequisite processing power to provide real-time encoding of video. With onboard mega-pixel cameras and wireless Internet connectivity, the platform to enable a live broadcast can now fit into the pocket of the user. However, there is a lack of cross-platform solutions for streaming live- video from mobile devices.
A known solution to the problem has come from ComVu's PocketCaster. ComVu PocketCaster streams video from a mobile phone to user's video blog or homepage. Video streams are simultaneously archived on a server, thereby others can watch live or at any time. System operates on a PC, Mac or their mobile phone. By utilizing streaming, PocketCaster overcomes the limitations of MMS. PocketCaster provides a one-to-many broadcasting service, which means user can share video streams to many others. In addition, PocketCaster lets user notify contacts, live "on air", add tags to your videos, and track your video streams using dynamic geo-tagging and online maps. Similar known solution come from Qik, ComVu, Kyte or Viif. A common feature for all these known solutions is that they are explicitly very platform specific, thereby requiring pre-adaptation / - programming in order to operate properly. A problem has thus particularly being different software or programming platforms, for example Symbian, Linux, Windows etc., and differences of the platforms relating to the video streaming protocols. SUMMARY
It is the object of the invention to provide a versatility of terminals with video streaming.
In accordance with an aspect of the invention there is provided an apparatus, comprising:
a receiver configured to receive two or more video clips in a first format from a mobile terminal,
a storage configured to store the two or more video clips,
an encoder configured to encode the two or more video clips from the first format into a second format,
a transmitter configured to stream the two or more video clips in the second format for transmission to a terminal so that the video stream containing the two or more video clips can be played seamlessly.
In accordance with another aspect of the invention there is provided a method, comprising:
receiving two or more video clips in a first format from a mobile terminal,
storing the two or more video clips,
encoding the two or more video clips from the first format into a second format, streaming the two or more video clips in the second format for transmission to a terminal so that the video stream containing the two or more video clips can be played seamlessly.
In accordance with another aspect of the invention there is provided a computer program product, comprising
computer codes configured to
receive two or more video clips in a first format from a mobile terminal,
store the two or more video clips,
encode the two or more video clips from the first format into a second format, stream the two or more video clips in the second format for transmission to a terminal so that the video stream containing the two or more video clips can be played seamlessly.
In accordance with another aspect of the invention there is provided a system, comprising
at least one mobile terminal configured to transmit two or more video clips in a first format to a server,
the server configured to receive the two or more video clips,
the server further configured to store the two or more video clips,
an encoder configured to encode the two or more video clips from the first format to a second format,
the server further configured to stream the two or more video clips in the second format for transmission to a terminal so that the video stream containing the two or more video clips can be played seamlessly at said terminal.
Various embodiments of the invention provide versatility of mobile terminals with video streaming capability. Mobile terminal can therefore send video to various kinds of terminals independently of the platform of the terminals. This allows better interoperability, and better use and applicability of the mobile video.
Various embodiments of the invention disclose a system for distributing video from a mobile terminal so that, in addition to a mobile phone with specific software platform, various different terminals can be used. Thus various embodiments can be flexibly applied in various terminals, e.g. many kinds of mobile phones with various software platforms. In a further embodiment of the invention the system has been implemented by a platform independent programming language such as Java or the like. Java technology is widely supported by various terminal manufacturers. Thus according to the platform independent programming language, the system is operable in various terminals, for example enabling further co-operation with operators. Some operates require wide enough interoperability for the terminals, e.g. not just merely Symbian technology, for the provision of the applications to the users. BRIEF DESCRIPTION OF THE DRAWINGS
Various further embodiments of the invention will now be described, by way of examples only, with reference to the accompanying drawings, in which:
Figure 1 depicts a block diagram of a system for encoding a video stream according to an embodiment of the invention,
Figure 2 depicts a block diagram of a system for encoding a video stream according to a further embodiment of the invention,
Figure 3 depicts a block diagram of a system for encoding a video stream, wherein the server contains an encoder according to a further embodiment of the invention,
Figure 4 depicts an example of a block diagram of a server for encoding a video stream according to an embodiment of the invention, and
Figure 5 depicts an example of a flow chart for encoding a video stream according to an embodiment of the invention.
DESCRIPTION OF FURTHER EMBODIMENTS
Various embodiments of the invention provide an apparatus for providing video stream conveniently to various terminals. Various embodiments of the invention are based on a streaming protocol or the like, wherein the apparatus, for example a server, is being sent relatively small video clips instead of continuing streaming transmission. The streaming protocol does not necessary refer to any specific or actual protocol. Accordingly at the apparatus the clips are encoded into a format required by various terminals and streamed to the terminal receiving the stream. The apparatus is monitoring the connection speed and quality between the terminal , wh ich send the cl ips to the apparatus, and the apparatus itself. Furthermore the apparatus commands or instructs the terminal, which sends the clips to the apparatus, for encoding and packing the video and audio.
Referring to figure 1 there is being depicted a block diagram of a system for encoding a video stream according to an embodiment of the invention. The system comprises a mobile terminal 100, an apparatus 102 such as a server, mediaserver or the like, a terminal 101 and an encoding system 103. It should be noted that various embodiments of the invention supports various kinds of terminals 101 capable thereby receiving the mobile video, for example the terminal 101 may be a computer, a mobile phone, a digital television, or a vehicle receiver, etc. Streaming live transmission starts at the mobile terminal 100, when for example user starts to shoot the video by the mobile terminal 100 containing a client application 110 for the video shooting. In a further embodiment of the invention the client application 110 can be Floobs mobile client application (FMC) for example. The client application 110 starts to send relatively short video clips to the apparatus 102 (the step 200). The video clips are sent in a terminal dependent packing format. Few non-limiting examples of such formats are 3gp, mp4 or the like. Video clips are as such complete, although the video clips are relatively short, for example having the length of 5 s. Other lengths may be used as well such as 1 s or less than 1 s, even up to several seconds, like nearly 60 s or more. Each video clip comprises a header, or a header data. The video clips are not so-called streaming packets like there is in the traditional video streaming.
The apparatus 102 receives the video clips. The apparatus 102 stores the video clips into a temporary storage buffer (not shown), for example into disk storage, RAM memory or the like. In a further embodiment of the invention the buffer may be shared disk storage or the like. The storage may be within the apparatus 102 or be separated from the apparatus 102. Furthermore the apparatus 102 may instruct or command the mobile terminal 100 on adjusting the quality of the video and audio according to the data connection between the mobile terminal 100 and the apparatus 102 (the step 201 ). The apparatus 102 requests an encoding system 103 to process the stored video clips. The encoding system 103 starts to process the stored video clips and encodes the video clips so that the format is amended (the steps 203, 204), for example to .flv video format or the like. The encoding system 103 stores the encoded video stream into the buffer memory or disk storage. After the encoding, the apparatus 102 establishes a video stream transmission from the encoded video stream (the step 205). Thus in the step 205 the stream can be established from the encoded video clips so that the clips are played one after another seamlessly. Thereby the observer obtains the feeling of continuous video streaming transmission or the like. The video stream transmission may be a live transmission, the apparatus 102 and the system is thus capable of processing the video at the required speed of live transmission or the feeling of a live transmission. The another terminal 101 , or many terminals, receives the video stream transmission that the apparatus 102 is providing and transmitting (the step 205). In some further embodiments of the invention, along with sending the first video clip (for example reference 200) there is being established at the apparatus 102 a session and readiness, by the guidance of which any related video clip conning from the same terminal can be identified as being related. In the context of each new incoming video clip, the session is renewed at the apparatus 102. Thereby it can be known that the video transmission continues. The termination of the video transmission can be identified, for example as follows. In a normal situation, the transmitting terminal 100 informs the apparatus 102 that the transmission of the video clips is over. The apparatus 102 is also monitoring the reception of the video clips and may consider that the transmission has ended, unless there is not being received any new video clips within a predetermined time, for example 15 s etc. This is considerable in the case of failures. For example, when the client application 110 shuts-down abnormally or unintentionally, or the battery of the terminal 100 ends during the transmission of the clips, etc.
In further embodiments of the invention, the establishment of the video stream (step 204), takes place by collecting the encoded video clips into the buffer and creating a playl ist from the buffered video cl ips, on a basis of which the establishment of the video stream to/at the apparatus 102 takes place. The video clips are played seamlessly one after another clip, thereby establishing a feeling of seamless live video stream for the user. In case the apparatus 102 does not timely receive a video clip from the mobile terminal 100, a buffering clip is being transmitted to the terminal 101 for presentation. The buffering clip, for example, announces to the user that there is delay or the like in the transmission, and that you have to wait for a moment for continuance of the transmission. When the apparatus 102 has played and transmitted the buffering clip it checks again whether the following clip can be played, etc.
In further embodiments of the invention, the client application 110 is configured to use the fastest available data connection between the mobile terminal 100 and the apparatus 102. At the beginning of the transmission the transmitted video clips have weakest default quality (for example regarding the resolution, sound quality). The apparatus 102 monitors (on a basis of the timestamp of the video clips) how fast the video clips are transmitted, i.e. the time of reception of the clips at the apparatus 102, thereby concluding how fast the data connection is. If the connection enables, the apparatus 102 suggests to the mobile terminal 100 to start using better video and sound quality.
Figure 2 depicts a block diagram of a system for encoding a video stream according to a further embodiment of the invention. Figure 2 depicts an example of various implementations of many embodiments of the invention. Figure 3 depicts a block diagram of a system for encoding a video stream, wherein the server 102" contains an encoder 103" according to a further embodiment of the invention. In the further embodiments of of figure 2 and 3, the system contains a router 105,105, or the like and a base station 104,104' or the like. Various different terminals 101 ',101 " can receiver the video stream.
Figure 4 depicts an example of a block diagram of a server for encoding a video stream according to an embodiment of the invention. The apparatus 102 comprises a transceiver 107 configured to receive data from mobile terminal 100. Furthermore the transceiver 107 is configured to transmit data to mobile terminal 100. For example transceiver 107 can receive video clips. Furthermore the transceiver 107 can send information about the quality of the connection or the quality of the received video clips etc. The apparatus 102 comprises CPU for processing data. Furthermore the apparatus 102 comprises storage 106, for example a buffer memory for storing the video clips. The storage 106 can be a shared disk storage or memory, to which the apparatus 102 and the encoder 103 can read and write. The apparatus 102 may command the encoder 103, however the clips are stored at the storage 106. The encoder 103 may be a separate from the apparatus 102 or within the apparatus 102. The storage may be separate from the apparatus 102 or within the apparatus 102. Therefore the apparatus 102 may in some further embodiments contain the encoder 103 configured to encode the video clips from the first format, e.g. a format of the mobile terminal, to second format, e.g. video streaming format or the like. An example of the video format can be .flv or the like, and there are various other formats. As said the apparatus 102 may also be without the encoder 103. Figure 5 depicts an example of a flow chart for encoding a video stream according to an embodiment of the invention. A method according to an embodiment of the invention comprises in the step 300 receiving two or more video clips in a first format from a mobile terminal. In the step 301 there is being stored the two or more video clips. In the step 302 there is being encoded the two or more video clips from the first format to a second format. In the step 303 there is being generated seamless video stream. The stream is generated from the two or more video clips in the second format. In the step 304 there is being transmitted the video stream to a terminal so that the video stream containing the two or more video clips can be played seamlessly at the terminal. A further embodiment of the invention comprises clip sequencing. The client such as the mobile terminal 100 adds an ascending index into each header of each video clip. The apparatus 102 received the clip with the header containing the index. Therefore the apparatus 102 can identify whether the video clips are received in proper order. The apparatus 102 can fix and alter the order if necessary. Furthermore the apparatus 102 can wait for appropriate video clip before making the stream although there are other video clips waiting for the streaming. Alternatively the video clip missing can be omitted by the apparatus 102.
A further embodiment of the invention comprises an ability to fix corrupted video clips. The encoder 103 can identify the video clip, which is corrupted. For example identifies a corrupted frame at the beginning of the video clip. The corrupted beginning of the video clip can be replaced with, for example the last frame of the previous video clip, thereby making the video stream to appear substantially seamless.
In a further embodiment of the invention, terminals explicitly wishing to use Java, a Java based application (not shown) can be installed into the terminal. The application may automatically provide Symbian based additional component beside the client application 1 10. The live transmission can thereby be better optimized to those terminals, having better technical characteristics for live video transm ission . I n various em bod iments of the invention Java provides interoperability between various kinds of terminals, not just specifically Symbian or
Windows ME platforms.
Ramifications and Scope
Although the description above contains many specifics, these are merely provided to illustrate the invention and should not be construed as limitations of the invention's scope. It should be also noted that the many specifics can be combined in various ways in a single or multiple embodiments. Thus it will be apparent to those skilled in the art that various modifications and variations can be made in the apparatuses and processes of the present invention without departing from the spirit or scope of the invention.

Claims

Claims
1. An apparatus, comprising:
a receiver configured to receive two or more video clips in a first format from a mobile terminal,
a storage configured to store the two or more video clips,
an encoder configured to encode the two or more video clips from the first format into a second format,
a transmitter configured to stream the two or more video clips in the second format for transmission to a terminal so that the video stream containing the two or more video clips can be played seamlessly.
2. An apparatus according to claim 1 , wherein the encoder is arranged to encode the two or more video clips into the second format pertaining to a video streaming so that the transmitter can stream the two or more video clips so as to establish a single video stream.
3. An apparatus according to claim 1 , wherein the first format comprises a data format according to the mobile terminal, the two or more video clips are arranged to be encoded by an encoding of the mobile terminal and the receiver is configured to receive said first format.
4. An apparatus according to claim 1 , wherein the transmitter is further configured to establish a playlist from the two or more video clips for providing the video stream.
5. An apparatus according to claim 1 , wherein each video clip of the two or more video clips is arranged to contain a header so as to provide an independent video data file.
6. An apparatus according to claim 1 , wherein the apparatus is configured to establish a session for the two or more video clips so that the two or more video clips can be identified as being related.
7. An apparatus according to claim 6, wherein the apparatus is further configured to renew the session when the receiver receives further video clips relating to said two or more video clips.
8. An apparatus according to claim 6, wherein the apparatus is configured to terminate the session, when the receiver receives an indicia for termination from the mobile terminal.
9. An apparatus according to claim 6, further comprising a timer configured to trigger a termination of the session once a predetermined time has elapsed and no video clip has been received.
10. An apparatus according to claim 1 , wherein the apparatus further comprises a second transmitter configured to send data information to said mobile terminal about a quality of the two or more video clips received.
11. An apparatus according to claim 10, wherein said data information is further arranged to contain information for adjusting the two or more video clips according to the connection between the mobile terminal and the apparatus.
12. An apparatus according to claim 1 , wherein the encoder is arranged to be situated at said apparatus.
13. An apparatus according to claim 1 , wherein the encoder is arranged to be situated within an encoding system, which is separate from said apparatus.
14. An apparatus according to claim 1 , wherein the storage is arranged to be situated at said apparatus.
15. An apparatus according to claim 1 , wherein the storage is arranged to be situated separately from said apparatus.
16. An apparatus according to claim 1 , wherein said apparatus comprises a media server.
17. An apparatus according to claim 1 , the apparatus is further configured to transmit a buffer clip to said terminal, when the apparatus detects that the next video clip of the two or more video clips of a same session has not been obtained.
18. An apparatus according to claim 6, wherein the header is further configured to contain an ascending index so that the apparatus can identify whether the video clips are received in proper order.
19. An apparatus according to claim 1 , wherein the encoder is further configured to identify a corrupted video clip and further to replace a portion of the corrupted video clip with a portion of another video clip.
20. A method, comprising:
receiving two or more video clips in a first format from a mobile terminal,
storing the two or more video clips,
encoding the two or more video clips from the first format to a second format,
streaming the two or more video clips in the second format to a terminal so that the video stream containing the two or more video clips can be played seamlessly.
21. A computer program product, comprising
computer codes configured to
receive two or more video clips in a first format from a mobile terminal,
store the two or more video clips,
encode the two or more video clips from the first format to a second format,
stream the two or more video clips in the second format for transmission to a terminal so that the video stream containing the two or more video clips can be played seamlessly.
22. A system, comprising
at least one mobile terminal configured to transmit two or more video clips in a first format to a server,
the server configured to receive the two or more video clips,
the server further configured to store the two or more video clips,
an encoder configured to encode the two or more video clips from the first format to a second format, the server further configured to stream the two or more video clips in the second format for transmission to a terminal so that the video stream containing the two or more video clips can be played seamlessly at said terminal.
23. An apparatus, comprising:
means for receiving two or more video clips in a first format from a mobile terminal,
means for storing the two or more video clips,
means for encoding the two or more video clips from the first format to a second format,
means for streaming the two or more video clips in the second format to a terminal so that the video stream containing the two or more video clips can be played seamlessly.
PCT/FI2009/050147 2008-02-25 2009-02-24 An apparatus, a method, a computer program product and a system for encoding video stream WO2009106683A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20080150 2008-02-25
FI20080150A FI20080150L (en) 2008-02-25 2008-02-25 Apparatus, method, computer program product and system for encoding a video stream

Publications (1)

Publication Number Publication Date
WO2009106683A1 true WO2009106683A1 (en) 2009-09-03

Family

ID=39148930

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FI2009/050147 WO2009106683A1 (en) 2008-02-25 2009-02-24 An apparatus, a method, a computer program product and a system for encoding video stream

Country Status (2)

Country Link
FI (1) FI20080150L (en)
WO (1) WO2009106683A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996015A (en) * 1997-10-31 1999-11-30 International Business Machines Corporation Method of delivering seamless and continuous presentation of multimedia data files to a target device by assembling and concatenating multimedia segments in memory
US20020141740A1 (en) * 2001-03-29 2002-10-03 Yoshinori Matsui Data reproduction apparatus and data reproduction method
US20040119814A1 (en) * 2002-12-20 2004-06-24 Clisham Allister B. Video conferencing system and method
US20060029051A1 (en) * 2004-07-30 2006-02-09 Harris John C System for providing IP video telephony
WO2006058544A1 (en) * 2004-11-30 2006-06-08 Telefonaktiebolaget Lm Ericsson (Publ) Method for delivering multimedia files
WO2006086717A1 (en) * 2005-02-11 2006-08-17 Vidiator Enterprises Inc. Method of multiple file streaming service through playlist in mobile environment and system thereof
US20070276917A1 (en) * 2006-05-25 2007-11-29 Sony Ericsson Mobile Communications Ab Buffering streaming content

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996015A (en) * 1997-10-31 1999-11-30 International Business Machines Corporation Method of delivering seamless and continuous presentation of multimedia data files to a target device by assembling and concatenating multimedia segments in memory
US20020141740A1 (en) * 2001-03-29 2002-10-03 Yoshinori Matsui Data reproduction apparatus and data reproduction method
US20040119814A1 (en) * 2002-12-20 2004-06-24 Clisham Allister B. Video conferencing system and method
US20060029051A1 (en) * 2004-07-30 2006-02-09 Harris John C System for providing IP video telephony
WO2006058544A1 (en) * 2004-11-30 2006-06-08 Telefonaktiebolaget Lm Ericsson (Publ) Method for delivering multimedia files
WO2006086717A1 (en) * 2005-02-11 2006-08-17 Vidiator Enterprises Inc. Method of multiple file streaming service through playlist in mobile environment and system thereof
US20070276917A1 (en) * 2006-05-25 2007-11-29 Sony Ericsson Mobile Communications Ab Buffering streaming content

Also Published As

Publication number Publication date
FI20080150L (en) 2009-08-26
FI20080150A0 (en) 2008-02-25

Similar Documents

Publication Publication Date Title
US10826958B2 (en) Content server media stream management
CN109889543B (en) Video transmission method, root node, child node, P2P server and system
CN107135417B (en) A kind of throwing screen method and system of HLS protocol
US10250949B2 (en) Broadcast content to HTTP client conversion
US9596522B2 (en) Fragmented file structure for live media stream delivery
CN107819809B (en) Method and device for synchronizing content
KR100848128B1 (en) Method of progressive streaming using a real-time streaming protocol
KR20120114016A (en) Method and apparatus for network adaptive streaming user data in a outer terminal
KR102012528B1 (en) Method for dynamic adaptation of the reception bitrate and associated receiver
US20110299586A1 (en) Quality adjustment using a fragmented media stream
CN114245153B (en) Slicing method, slicing device, slicing equipment and readable storage medium
TW201605230A (en) A method and system for transferring real-time audio/video stream
US9635082B2 (en) Method of saving content to a file on a server and corresponding device
US8935320B2 (en) Method, apparatus and system for media position control
WO2014036873A1 (en) Method for sharing transport stream
JP5383316B2 (en) Simplified method for transmitting a signal stream between a transmitter and an electronic device
WO2009106683A1 (en) An apparatus, a method, a computer program product and a system for encoding video stream
KR102349451B1 (en) The method for transmitting or receiving multimedia and apparatus thereof
US20190191195A1 (en) A method for transmitting real time based digital video signals in networks
CN113905025B (en) Method, device, medium and computer equipment for transmitting stream data
US9313253B2 (en) Communication apparatus, communication system, communication method, and program
WO2019166960A1 (en) Apparatus, method and system for multiple audio-video streams reception
JP2019053350A (en) Distribution apparatus, reproduction apparatus, distribution method, reproduction method, reproduction program and data structure

Legal Events

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

Ref document number: 09715373

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09715373

Country of ref document: EP

Kind code of ref document: A1