CN1316398C - System and method for modifying a video stream based on a client or network environment - Google Patents

System and method for modifying a video stream based on a client or network environment Download PDF

Info

Publication number
CN1316398C
CN1316398C CNB028251229A CN02825122A CN1316398C CN 1316398 C CN1316398 C CN 1316398C CN B028251229 A CNB028251229 A CN B028251229A CN 02825122 A CN02825122 A CN 02825122A CN 1316398 C CN1316398 C CN 1316398C
Authority
CN
China
Prior art keywords
computing machine
video flowing
data
network
parameters
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.)
Expired - Fee Related
Application number
CNB028251229A
Other languages
Chinese (zh)
Other versions
CN1605075A (en
Inventor
詹斯·卡恩布莱
约翰·W·理查森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
InterDigital CE Patent Holdings SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN1605075A publication Critical patent/CN1605075A/en
Application granted granted Critical
Publication of CN1316398C publication Critical patent/CN1316398C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • 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/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A Video Server (100) encodes a video stream according to the values of parameters and transmits the video stream over a Network (200) to a Video Client (300) that decodes the received video stream for presentation to a user. As the video stream is being received, the Video Client (300) continually gathers data regarding at least the condition of Network (200) sends this data to Video Server (100). The Video Server (100) modifies the values of the parameters based on the data received from Video Client (300), which in turn modifies the encoding of the video stream.

Description

System and method based on client or network environment adjustment video flowing
The application requires the right of priority of No. the 60/341st, 672, the U.S. Provisional Application submitted to Dec 15 calendar year 2001, and described provisional application is incorporated among the application hereby by reference.
Technical field
Invention disclosed herein relates to a kind of system and method that is used for transmitting by data communication network video flowing.
Background technology
At the client device place, present the restriction that quality can be subjected to the available bandwidth in the network based on the video of the video flowing that receives by network.The network congestion meeting causes data to lose (drop) from the data transmission that is transmitted by network.Therefore, when network experiences congestion, the video flowing that is transmitted by network can suffer LOF, thereby causes the degeneration of the video quality that presents based on this video flowing.
And,, present the restriction that quality can be subjected to the ability that this client device decodes to described video flowing based on the video of the video flowing that receives by network at the client device place.When client device lacked the ability that the video flowing that is received is fully decoded, untapped data were corresponding to the network bandwidth of waste.
Summary of the invention
The invention provides the dynamic adjustment of the ability of based on network situation and computer decoding video flowing during encoding process for video flowing, wherein said video flowing is encoded according to one or more parameters and is sent to computing machine by network.The invention provides a kind of method, system and computer program, be used to adjust the video flowing that is encoded and is transmitted by network according to one or more parameters.At first, obtain relevant with the ability of the described data stream of Network Transmission at least data.Then, adjust the value of one or more parameters, wherein described video flowing is encoded according to the value of these one or more parameters based on the data of being obtained.
In one embodiment of the invention, the video flowing that is encoded according to one or more parameters is sent to computing machine by network.Obtain at least and the ability of the described data stream of Network Transmission and the data relevant with the ability of this video flowing of computer decoding.Then, adjust the value of one or more parameters, wherein described video flowing is encoded according to the value of these one or more parameters based on the data of being obtained.
According to one embodiment of present invention, come described one or more parameters of encoded video streams to comprise and controlled frame resolution according to it based on the data of being obtained.
In another embodiment of the present invention, come described one or more parameters of encoded video streams to comprise and controlled frame rate according to it based on the data of being obtained.
According to another embodiment of the invention, the RTCP bag by receiving from computing machine obtains relevant with the ability of the network that video flowing is transferred to computing machine and relevant with the ability of this video flowing of computer decoding data.
In one embodiment of the invention, relevant with the ability of the network that video flowing is transferred to computing machine and relevant with the ability of this video flowing of computer decoding data comprise a tolerance, and this tolerance represents that being used in the computing machine decodes and be transferred into the available horsepower (availablepower) of computer processor of the video flowing of this computing machine.
In another embodiment of the present invention, relevant with the ability of the network that video flowing is transferred to computing machine and relevant with the ability of this video flowing of computer decoding data comprise a tolerance, representative of this tolerance and the packet loss that is associated by network to the transmission of the video flowing of computing machine.
In another embodiment of the present invention, relevant with the ability of the network that video flowing is transferred to computing machine and relevant with the ability of this video flowing of computer decoding data comprise a tolerance, the representative of this tolerance and the transmission byte and the reception byte that are associated by network to the transmission of the video flowing of computing machine.
According to another embodiment of the invention, relevant with the ability of the network that video flowing is transferred to computing machine and relevant with the ability of this video flowing of computer decoding data comprise a tolerance, the representative of this tolerance and the bit error rate that is associated by network to the transmission of the video flowing of computing machine.
Description of drawings
Illustrate the present invention in the accompanying drawings, described accompanying drawing is intended to example and also unrestricted, and wherein identical reference number is to be used to refer to identical or corresponding parts, wherein:
Fig. 1 shows the embodiment of the invention and the block scheme of operating environment of the present invention therein;
Fig. 2 is the table that shows the example of tentation data scope and relevant parameter value;
Fig. 3 is the process flow diagram that shows an operation embodiment of the present invention;
Fig. 4 is the process flow diagram that shows another operation embodiment of the present invention.
Embodiment
Describe the method according to this invention, system with reference to the accompanying drawings and comprise the preferred embodiment of the product of software program.
As shown in Figure 1, video server (" VS ") system 100 communicates with videoconference client (" VC ") system 300 by network 200.VS system 100 comprises any computer system that can carry out following function: (a) according to one or more parameters video flowing is encoded, (b) stream that will encode by network is sent to another computing machine, (c) thus receive about the data of the state of network and another computing machine with (d) and adjust the coding that one or more parameters are adjusted video flowings based on the data that received.
In one embodiment of the invention, VS system 100 comprises video coding and transmission (" VET ") system 110 and video coding control (" VEC ") system 120.VET system 100 comprises any computer system that can carry out above-mentioned coding and sending function, can also comprise the computer code that is used to carry out those functions.For example, VET system 100 can comprise can be according to one or more parameters to such as MEPG with H.263 wait the video flowing of any known format to encode, and send the computer system of video flowing via network by known technology such as IP, TCP/IP and the agreement of the transmission of udp protocol and relevant flow data, wherein said one or more parameter comprises for example frame resolution and frame rate, and the agreement of the transmission of described relevant flow data for example is real-time streaming host-host protocol (RTSP), real-time transport protocol (rtp) and real time control protocol (RTCP).Above-mentioned one or more parameters for example can be stored in the storer, thereby can adjust and access them by other computer systems of for example VEC system 120.
VEC system 120 comprises any computer system that can carry out above-mentioned reception and adjust function, and can comprise the computer code that is used to carry out these functions.For example, VEC system 120 can comprise the computer system that can carry out following function: receive about the data of the state of the network that sends video flowing and receive about being used for the data of receiver, video stream as the state of the computing machine of the application program specific data that comprises at RTCP, and based on adjusting one or more parameters about the preset range of reception data with the table of the corresponding preset parameter value of this preset range, wherein said RTCP bag is to receive from the computing machine that described receiver, video flows, and according to described one or more parameters described video flowing is encoded.
Fig. 2 shows about the preset range that receives data and corresponding to the sample table of the preset parameter value of this preset range.In the example of Fig. 2, first row of table show the CPU available horsepower that will be further described below, as the predetermined percentage scope.The secondary series of table shows the predetermined frame resolution corresponding to predetermined C PU available horsepower percentage range.Therefore, as described further below, under the situation that for example receives data indication CPU available horsepower 60%, VEC system 120 can be with reference to the table of figure 2, so that determine and the frame resolution that comprises the preset range corresponding 352 * 288 of described reception data.If the used present frame resolution of VET system 110 encoded video streams is different, then VEC system 120 is adjusted to 352 * 288 with the frame resolution parameter, thereby makes VET system 110 encode to frame of video with described frame resolution.
Should be appreciated that as described further below, can use similar table about the data of other type of being received by VEC system 120.And, be to be understood that value only is an example shown in figure 2, value in this table and can be used in value in the similar table relevant with the data of other type that is received by VEC system 120, except that the CPU available horsepower only be exemplary, and for the purpose of implementer of the present invention and user's design alternative, can change it.
Network 200 comprise any can transmitting video-frequency flow and the communication network of related control data.For example, network 200 can comprise LAN, WAN or the Internet.
VC system 300 comprises any computer system that can carry out following function: (a) video flowing by network receiver, video stream and this reception of decoding is to present to the user, (b) assemble the relevant data of available resources that are used for the state of the network that receiver, video flows and (ii) are used to decode and receive video flowing in the VC system 300 with (i), and (c) data of assembling are sent to computer system, wherein this computer system sends the video flowing that receives by VC system 300.VC system 300 can comprise the computer code that is used to carry out above-mentioned functions.
In one embodiment of the invention, VC system 300 comprises video reception and decoding (" VRD ") system 310 and status report (" CR ") system 320.VRD system 310 comprise any can be by network receiving video data stream and this video flowing that receives of decoding to present to the user's computer system.For example, VRD system 310 can comprise known video streaming transmission client software, for example, from RealNetwoks, the RealOne of Inc TMPlayer and from the Windows Media Player of Microsoft Corporation TM
CR system 320 comprises any computer system that can carry out following function: assemble with the state of the network of receiver, video stream and VC system 300 in be used to the decode relevant data of available resources of the video flowing that receives, and the data of being assembled are sent to the computer system that is used to send by the video flowing of VC system 300 receptions.CR system 320 can comprise according to any known method or technology and assembling about the data of network conditions and about the data computing machine code of the available resources in the computer system.The type of the data of situation that assemble by CR system 320, in the related network for example can comprise with current received video flowing via the relevant tolerance of the reception of network, described tolerance comprises the tolerance of packet loss, byte transmission/reception and the bit error rate that for example expression is relevant with the current video flowing that receives by network.The type of the data of the available resources of the VC system 300 of the video flowings that receive of being used for decoding that assemble by CR system 320, relevant comprises, for example expression be used to the decode storer of the video flowing that receives and the tolerance of CPU available horsepower.
In addition, CR system 320 can comprise computer code, and this computer code is used to carry out data that transmission the assembles function to the computer system that is used to send the video flowing that is received by VC system 300.For example, CR system 320 can comprise computer code, application program specific data during the data that this computer code makes 320 transmissions of CR system be assembled when being performed are wrapped as RTCP, it is sent to the computer system that is used to send the video flowing that is received by VC system 300.
Broadly use term " computer system " herein, this term " computer system " comprises computer hardware and computer software or includes only computer software.For example, VET system 110 and VEC system 120 each can comprise the computer code that stores on the same computer hardware of VS system 100.Perhaps, VET system 110 and VEC system 120 each can realize with different computer hardwares.
Fig. 3 and 4 is that demonstration can be operated the process flow diagram of a kind of method of the present invention therein, and wherein Fig. 3 shows the operation of carrying out at VS 100, and Fig. 4 shows the operation of carrying out at VC 300.Referring to Fig. 3, at first, as shown in square frame 1000, set up with VC system 300 and to communicate by letter.For example, VS system 100 can be connected with RTCP/UDP and is connected to set up RTP/UDP with VC system 300 communication, the video that connects coding by this RTP/UDP can be sent to VC system 300, connects and can receive diagnostic message from VC system 300 by this RTCP/UDP.
Then, as shown in square frame 1050, determine whether to exist any source data with its coding with send a part as video data.For example, be under the situation of live video in source data, VET system 110 determines whether to continue live video is carried out encoding process; Come in source data under the situation of video data of file of storage of free VS system 100 decodings, VET system 110 determines whether there are data in wanting the video file of decoded storage.
If the definite result who produces from the operation shown in the square frame 1050 negates, then in VS system 100 terminations.On the other hand, if the result who is produced by the operation shown in the square frame 1050 is sure, then carry out the operation shown in square frame 1100,1200 and 1300.
As shown in square frame 1100, the value of one or more parameters that retrieval is stored is wherein come encoded video streams according to the value of described one or more parameters.For example, VET system 110 can be from retrieving each value described one or more parameter with the memory location of each parameter correlation connection.Then, shown in square frame 1200, the value according to described one or more parameters of retrieving is encoded to video flowing with source data.For example, VET system 110 can be according to for example MPEG or known video compression algorithm H.263, according to coming the coding source data for the value of aforesaid one or more parameters (for example frame resolution and frame rate) retrieval.Then, shown in square frame 1300, send the video flowing of coding.For example, VET system 110 can be sent to VC system 300 with the video flowing of encoding via network 200.Processing subsequent is back to the operation shown in the square frame 1050.
As shown in Figure 3, if the definite result who produces from the operation shown in the square frame 1050 is sure, then except the operation shown in square frame 1100,1200 and 1300, also carrying out in the operation shown in square frame 1400,1500 and 1600.Can and carry out independently with the operation while shown in square frame 1100,1200 and 1300 in the operation shown in square frame 1400,1500 and 1600.
Shown in square frame 1400, determine whether to receive data about the state network 200 or the VC system 300 from VC system 300.For example, the VEC system 120 of VS system 100 can check via the RTCT/UDP that is set up and connect the RTCP bag that receives from VC system 300, received about the situation the network 200 or about the data of the situation of VC system 300 from VC system 300 determining whether, wherein the data of this relevant situation are the abilities of the video flowing the application program specified portions of the RTCP bag that receives from VC system 300 about its decoding.If the definite result who produces from the operation shown in the square frame 1400 negates then to handle being back to the operation shown in the square frame 1050.
If the definite result who produces from the operation shown in the square frame 1400 is sure, then handle and continue the operation shown in the square frame 1500, wherein determine each value with the corresponding one or more parameters of data that receive.For example, VEC system 120 can compare data and table that receives from VC system 300, each respective value described in conjunction with Figure 2 as the front, that described table has been specified the preset range of the data type that receives and has been used for one or more parameters of each preset range.For example, the tolerance of CPU available horsepower of the current video flowing that sends to VC system 300 from VS system 100 is used to decode from the data represented VC system 300 that VC system 300 receives, VEC system 120 can compare the data that receive from VC system 300 and the table Fig. 2 subsequently, with the preset range of determining to comprise the data that receive with corresponding to the value of the frame resolution parameter of this scope.For example, if be used to decode the current tolerance that is sent to CPU available horsepower video flowing, 60% of VC system 300 by VS system 100 data that receive from the VC system 300 indication VC system 300, then VEC system 120 will determine 352 * 288th, corresponding to the suitable value of the frame resolution parameter of these data that receive.In a similar fashion, VEC system 120 can determine corresponding to each the value one or more parameters of the data that receive from VC system 300.
Then, as shown in square frame 1600, if desired, adjust the value of a plurality of parameters.For example, VEC system 120 can compare each the value in each value and the one or more parameters of being stored from one or more parameters that the operation shown in the square frame 1500 is determined.If any one in the value of determining is different with the value of stored parameters, then VEC system 120 with the storage area of parameter correlation connection in the definite value of storage.Then, processing turns back to the operation shown in the square frame 1050.
Simultaneously, when VS system 100 codings and transmission video flowing, VC system 300 decodes by network 200 receiver, videos stream and to it and presents to operate VC system 300 to the user.As shown in Figure 4, at first as shown in square frame 2000, set up and communicate by letter with VS system 100.For example, similar with in the operation shown in the square frame 1000 of Fig. 3, VC system 300 can be connected with RTCP/UDP and is connected to set up RTP/UDP with VS system 100 communication herein, wherein can connect video, and can connect via RTCP/UDP diagnostic message is sent to VS system 100 via RTP/UDP from VS system 100 received codes.VRD system 310 beginnings subsequently also continue described receiving the decode from the processing of the video flowing of VS system 100 transmissions.Receive the decode when handling when VRD system 310 is in, CR system 320 continues to carry out in the operation shown in the square frame 2050,2100 and 2200 of Fig. 4.
Once you begin the operation of the video flowing that receives from VS system 100 of decoding, as shown in square frame 2050, CR system 320 is by determining whether that continuing this in VRD system 310 receives the decode to handle and begin to monitor this processing.If determine that the result negates then to stop the processing of CR system 320.
If it is sure determining the result, then handle and continue the operation shown in the square frame 2100, wherein assemble data about the available resources of decoded video streams in the situation of network 200 and the VC system 300.For example, situation about network 200, CR system 320 can use known technology to obtain data, described data comprise the tolerance of for example representing following situation: (a) with the packet loss that is associated from the transmission of the video flowing of 100 to VC systems 300 of VS system by network 200, (b) be associated from the transmission of the video flowing of 100 to VC systems 300 of VS system by network 200, byte number that is sent by VS system 100 and the byte number that is received by VC system 300 are (c) with the bit error rate that is associated from the transmission of the video flowing of 100 to VC systems 300 of VS system by network 200.And, available resources about decoded video streams in the VC system 300, the CR system can use known technology to obtain data, and described data comprise the available memory of for example representing in the VC system 300 video flowing that decoding receives from VS system 100 or the tolerance of CPU available horsepower.Should be noted that storer and CPU available horsepower can be along with using for other purposes of VC system 300 and discharging those resources and fluctuate, for example, opening and finish along with other application programs of VC system 300.And, be to be understood that, can (for example measure above-mentioned data in any known mode, the byte of packet loss, transmission/reception, the bit error rate, available memory, available cpu power), the standard that needs only the tolerance of being used by CR system 320 is identical (for example with the standard of being used by VEC system 120, be expressed as the CPU available horsepower of the number percent of total cpu power by CR system 320 and VEC system 120, as shown in the table of Fig. 2).
Then, as shown in square frame 2200, the data of assembling are sent to VS system 100.For example, CR system 320 can connect via the RTCT/UDP that is set up, with with network 200 in situation and VC system 300 in be that the data of the relevant gathering of the available resources of application program specific data of RTCP bag are sent to VS system 100 with decoding video stream, wherein said RTCP bag is sent out go back to VS system 100.Processing subsequent continues the operation in the square frame 2050.
Therefore, during the stream that 100 pairs of video flowings of VS system are encoded and will be encoded is sent to the processing of VC system 300, the data about the situation in network 200 and the VC system 300 can constantly be assembled by VC system 300, and these data are sent to the coding that VS system 100 is used for adjusting described video flowing.Thereby when the available resources of congested growth in the network 200 or the video flowing that receives when being used to encode in the VC system 300 reduced, the data that receive in VS system 100 can make the frame resolution of the video flowing that for example is encoded reduce.On the contrary, the video decode of the stream that can be used for receiving when the congested improvement in the network 200 or the resource in the VC system 300 and when associated, the data that receive in VS system 100 can be so that the frame resolution of the video flowing that for example is encoded increases so.
Although described and illustrated the present invention in conjunction with the preferred embodiments, but can not deviate from the spirit and scope of the present invention and carry out tangible for a person skilled in the art many variations and modification, therefore the invention is not restricted to the fine detail of said method or structure, because of being is used for such variation and modification are included within the scope of the present invention.

Claims (25)

1. a value that is used to adjust according to one or more parameters is encoded and the method for the video flowing that transmits by network, and described method comprises:
Obtain relevant with the ability of the described video flowing of Network Transmission at least data; With
Adjust the value of one or more parameters based on the data of being obtained, wherein described video flowing is encoded according to the value of these one or more parameters.
2. a value that is used to adjust according to one or more parameters is encoded and is transferred into computer method by network, and described method comprises:
Obtain relevant with the ability of the network that video flowing is transferred to computing machine and relevant data with the ability of this video flowing of computer decoding; With
Adjust the value of one or more parameters based on the data of being obtained, wherein described video flowing is encoded according to the value of these one or more parameters.
3. method as claimed in claim 2 wherein comes described one or more parameters of encoded video streams to comprise frame resolution according to it; With
Wherein said adjustment comprises based on the data of being obtained adjusts frame resolution.
4. method as claimed in claim 2 wherein comes described one or more parameters of encoded video streams to comprise frame rate according to it; With
Wherein said adjustment comprises based on the data of being obtained adjusts frame rate.
5. method as claimed in claim 2, wherein said obtaining comprises: obtain the data relevant with computing machine or network from the RTCP bag that computing machine receives.
6. method as claimed in claim 5, wherein said obtaining comprises: obtain the data relevant with computing machine or network the application program specified portions of the RTCP bag that receives from computing machine.
7. method as claimed in claim 2, wherein said obtaining comprises: obtain the measure of available resources of representing that being used in the computing machine decodes and be transferred into the video flowing of this computing machine.
8. method as claimed in claim 7, wherein said obtaining comprises: the tolerance of obtaining the computer processor available horsepower of the video flowing of representing that being used in the computing machine decodes and be transferred into this computing machine.
9. method as claimed in claim 2, wherein said obtaining comprises: the tolerance of obtaining representative and the packet loss that is associated by network to the transmission of the video flowing of computing machine.
10. method as claimed in claim 2, wherein said obtaining comprises: the tolerance of obtaining representative and transmission byte that is associated by network to the transmission of the video flowing of computing machine and reception byte.
11. method as claimed in claim 2, wherein said obtaining comprises: the tolerance of obtaining representative and the bit error rate that is associated by network to the transmission of the video flowing of computing machine.
12. method as claimed in claim 2, wherein said obtaining comprises:
Aggregate data in computing machine; With
Receive the data of described gathering from described computing machine.
13. be convenient to the method that video flowing is adjusted for one kind, described video flowing is encoded according to the value of one or more parameters by first computing machine and is sent to second computing machine by this first computing machine by network, described method comprises step:
Assemble relevant with the ability of the network that video flowing is transferred to second computing machine and relevant data at second computing machine with the ability of second this video flowing of computer decoding; With
The data of being assembled are sent to first computing machine, and to enable the adjustment of one or more parameter values, described first computing machine comes encoded video streams according to the value of these one or more parameters.
14. method as claimed in claim 13, wherein said transmission comprises: the data that send the gathering in the application program specified portions of the RTCP bag be transferred into first computing machine.
15. the system of the video flowing that a value that is used to adjust according to one or more parameters is encoded and be transmitted by network, this system comprises:
Be used to obtain the device of relevant with the ability of Network Transmission video flowing at least data; With
Adjusting gear is adjusted the value of one or more parameters based on the data of being obtained, and wherein according to the value of these one or more parameters described video flowing is encoded.
16. a value that is used to adjust according to one or more parameters is encoded and be transferred into the system of the video flowing of computing machine by network, this system comprises:
Be used to obtain the device of relevant with the ability of the network that video flowing is transferred to computing machine and relevant data with the ability of this video flowing of computer decoding; With
Adjusting gear is adjusted the value of one or more parameters based on the data of being obtained, and wherein according to the value of these one or more parameters described video flowing is encoded.
17. system as claimed in claim 16 wherein comes described one or more parameters of encoded video streams to comprise frame resolution according to it; With
Its middle regulator comprises the device of adjusting frame resolution based on the data of being obtained.
18. system as claimed in claim 16 wherein comes described one or more parameters of encoded video streams to comprise frame rate according to it; With
Its middle regulator comprises the device of adjusting frame rate value based on the data of being obtained.
19. system as claimed in claim 16, the device that wherein is used for obtaining comprises: be used to obtain the RTCP that receives from computing machine and wrap the device of the data relevant with network or computing machine.
20. system as claimed in claim 16, the device that wherein is used for obtaining comprises: the device of tolerance that is used to obtain the computer processor available horsepower of the video flowing of representing computing machine decoding to be transferred into this computing machine.
21. system as claimed in claim 16, the device that wherein is used to obtain comprises: the device that is used to obtain representative and the tolerance of the packet loss that is associated by network to the transmission of the video flowing of computing machine.
22. system as claimed in claim 16, the device that wherein is used to obtain comprises: the device that is used to obtain representative and the tolerance of transmission byte that is associated by network to the transmission of the video flowing of computing machine and reception byte.
23. system as claimed in claim 16, the device that wherein is used to obtain comprises: the device that is used to obtain representative and the tolerance of the bit error rate that is associated by network to the transmission of the video flowing of computing machine.
24. be convenient to the system that video flowing is adjusted for one kind, described video flowing is encoded according to the value of one or more parameters by first computing machine and is sent to second computing machine by this first computing machine by network, described system comprises:
Be used for assembling the device of relevant with the ability of the network that video flowing is transferred to second computing machine and relevant data with the ability of second this video flowing of computer decoding at second computing machine; With
Dispensing device, the data that are used for assembling are sent to first computing machine, and to enable the adjustment of one or more parameter values, described first computing machine comes encoded video streams according to the value of these one or more parameters.
25. system as claimed in claim 24, wherein said dispensing device comprises: the device of data of gathering that is used for sending the application program specified portions of the RTCP bag that is transferred into first computing machine.
CNB028251229A 2001-12-15 2002-12-13 System and method for modifying a video stream based on a client or network environment Expired - Fee Related CN1316398C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US34167201P 2001-12-15 2001-12-15
US60/341,672 2001-12-15

Publications (2)

Publication Number Publication Date
CN1605075A CN1605075A (en) 2005-04-06
CN1316398C true CN1316398C (en) 2007-05-16

Family

ID=23338551

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028251229A Expired - Fee Related CN1316398C (en) 2001-12-15 2002-12-13 System and method for modifying a video stream based on a client or network environment

Country Status (7)

Country Link
EP (1) EP1454250A4 (en)
JP (1) JP2005513876A (en)
KR (1) KR101080237B1 (en)
CN (1) CN1316398C (en)
AU (1) AU2002361665A1 (en)
MX (1) MXPA04005740A (en)
WO (1) WO2003053040A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101215118B (en) * 2008-01-14 2010-06-09 张建荣 Copolymerization type polycarboxylic acids water reducing agent and method for preparing same

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4789401B2 (en) 2003-06-25 2011-10-12 トヨタ自動車株式会社 Content distribution system
KR100526183B1 (en) * 2003-07-15 2005-11-03 삼성전자주식회사 Apparatus and Method for efficient data transmission/reception in Mobile Ad-hoc Network
US20070024705A1 (en) * 2005-08-01 2007-02-01 Richter Roger K Systems and methods for video stream selection
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
CN100588249C (en) * 2006-07-27 2010-02-03 腾讯科技(深圳)有限公司 Method, system and terminal for adjusting video quality
CN101282141B (en) * 2007-04-05 2012-06-06 华为技术有限公司 Method, apparatus and system for transmitting and receiving data
JP2009152952A (en) * 2007-12-21 2009-07-09 Nec Corp Distribution system, distribution method, and program
CN101365125B (en) 2008-09-27 2012-03-21 腾讯科技(深圳)有限公司 Multipath video communication method and system
CN101552913B (en) 2009-05-12 2011-07-06 腾讯科技(深圳)有限公司 Multi-channel video communication system and processing method
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US8806050B2 (en) * 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US20120082209A1 (en) * 2010-10-05 2012-04-05 Ruijia Li Method and apparatus for dynamically adjusting video quality
KR101744355B1 (en) 2011-01-19 2017-06-08 삼성전자주식회사 Apparatus and method for tranmitting a multimedia data packet using cross layer optimization
WO2012154157A1 (en) * 2011-05-06 2012-11-15 Google Inc. Apparatus and method for dynamically changing encoding scheme based on resource utilization
JP5660983B2 (en) 2011-06-28 2015-01-28 トヨタ自動車株式会社 Content distribution system
CN103313095A (en) * 2012-03-16 2013-09-18 腾讯科技(深圳)有限公司 Video transmission method, play method, terminal and server
WO2014122693A1 (en) * 2013-02-08 2014-08-14 三菱電機株式会社 Client device, server device, and screen transmission system
US20140347376A1 (en) * 2013-05-24 2014-11-27 Nvidia Corporation Graphics server and method for managing streaming parameters
US20150117516A1 (en) * 2013-10-30 2015-04-30 Vered Bar Bracha Dynamic video encoding based on channel quality
CN104935971B (en) * 2015-06-02 2018-08-07 阔地教育科技有限公司 Transmission of video dynamic adjusting method and system in a kind of Online class

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10126771A (en) * 1996-10-15 1998-05-15 Toshiba Corp Image data sending rate controlling method and image data transfer method in image data transfer system
JPH11341063A (en) * 1998-05-29 1999-12-10 Digital Vision Laboratories:Kk Stream communication system and stream transfer control method
US6006241A (en) * 1997-03-14 1999-12-21 Microsoft Corporation Production of a video stream with synchronized annotations over a computer network
JP2000270330A (en) * 1999-03-18 2000-09-29 Fujitsu Ltd System and method for video image distribution
US6233017B1 (en) * 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100345497B1 (en) * 1994-06-07 2002-10-04 유니시스 코포레이션 Multi-cast digital video data server using synchronization groups
KR19990072122A (en) * 1995-12-12 1999-09-27 바자니 크레이그 에스 Method and apparatus for real-time image transmission
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
US6192032B1 (en) * 1998-01-02 2001-02-20 International Business Machines Corporation Rate attenuation systems, methods and computer program products for reducing low priority video frame packets transmitted over a network
JPH11266229A (en) * 1998-03-18 1999-09-28 Matsushita Electric Ind Co Ltd Data transmitter of spread spectrum communication system
SG77650A1 (en) * 1998-09-07 2001-01-16 Victor Company Of Japan A scalable delivery scheme of compressed video
JP2000228676A (en) * 1998-11-30 2000-08-15 Matsushita Electric Ind Co Ltd Data transmission method
US6529475B1 (en) * 1998-12-16 2003-03-04 Nortel Networks Limited Monitor for the control of multimedia services in networks
JP2000295597A (en) * 1999-04-09 2000-10-20 Oki Electric Ind Co Ltd Reception and transmission system for media data
JP2001025013A (en) * 1999-07-12 2001-01-26 Matsushita Electric Ind Co Ltd Transmission/reception method and equipment therefor
US20010047517A1 (en) * 2000-02-10 2001-11-29 Charilaos Christopoulos Method and apparatus for intelligent transcoding of multimedia data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233017B1 (en) * 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
JPH10126771A (en) * 1996-10-15 1998-05-15 Toshiba Corp Image data sending rate controlling method and image data transfer method in image data transfer system
US6006241A (en) * 1997-03-14 1999-12-21 Microsoft Corporation Production of a video stream with synchronized annotations over a computer network
JPH11341063A (en) * 1998-05-29 1999-12-10 Digital Vision Laboratories:Kk Stream communication system and stream transfer control method
US6445679B1 (en) * 1998-05-29 2002-09-03 Digital Vision Laboratories Corporation Stream communication system and stream transfer control method
JP2000270330A (en) * 1999-03-18 2000-09-29 Fujitsu Ltd System and method for video image distribution

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101215118B (en) * 2008-01-14 2010-06-09 张建荣 Copolymerization type polycarboxylic acids water reducing agent and method for preparing same

Also Published As

Publication number Publication date
MXPA04005740A (en) 2004-12-06
EP1454250A2 (en) 2004-09-08
WO2003053040A2 (en) 2003-06-26
CN1605075A (en) 2005-04-06
AU2002361665A1 (en) 2003-06-30
KR20040074997A (en) 2004-08-26
WO2003053040A3 (en) 2003-12-18
EP1454250A4 (en) 2010-08-25
JP2005513876A (en) 2005-05-12
KR101080237B1 (en) 2011-11-08
AU2002361665A8 (en) 2003-06-30

Similar Documents

Publication Publication Date Title
CN1316398C (en) System and method for modifying a video stream based on a client or network environment
US8352991B2 (en) System and method for modifying a video stream based on a client or network environment
AU2007313931B2 (en) Dynamic modification of video properties
US8218657B2 (en) System and method for automatic adjustment of streaming video bit rate
CN102742245B (en) For resolving network abstract layer to realize the method and apparatus of reliable data communication
EP2364017B1 (en) Method, system and user device for obtaining key frame in streaming media service
US10944973B2 (en) Estimation of video quality of experience on media servers
US20080091838A1 (en) Multi-level congestion control for large scale video conferences
US9578179B2 (en) Method, apparatus and system for transmitting multimedia data
WO2004077785A1 (en) A method of reporting quality metrics for packet switched streaming
CN1886968B (en) Device and method for the preparation of sending data and corresponding products
CN105072506B (en) The transmission method and system of live teaching broadcast video
EP2178261B1 (en) Communication apparatus, communication method for communication apparatsu, and computer-readable medium storing communication control program for communication apparatus
CN102318311A (en) Allocated bandwidth control in the multiple video strems transmission
US20120303833A1 (en) Methods for transmitting and receiving a digital signal, transmitter and receiver
MX2013013373A (en) Method for dynamic adaptation of the reception bitrate and associated receiver.
CN114339445B (en) Real-time video stream self-adaptive coordination system and method
CN108322773B (en) Self-adaptive network bandwidth real-time data stream transmission method based on multi-card binding
CN106790030B (en) Multi-screen cooperative audio transmission server, client, system and processing method thereof
US20180192088A1 (en) Transmitting/receiving audio and/or video data over a wireless network
US20020174437A1 (en) Method and apparatus for controlling image quality by culling transmitted image information
KR20050087936A (en) Streaming service control method of mobile communication terminal
Monteiro et al. Rate adaptation for wireless video streaming based on error statistics
Kato et al. A proposal of a streaming video system adapting to various system environments and its implementation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: I Si Eli Murli Nor, France

Patentee after: THOMSON LICENSING

Address before: French Boulogne

Patentee before: THOMSON LICENSING

CP02 Change in the address of a patent holder

Address after: I Si Eli Murli Nor, France

Patentee after: THOMSON LICENSING

Address before: French Boulogne

Patentee before: THOMSON LICENSING

CP02 Change in the address of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20190624

Address after: Paris France

Patentee after: Interactive digital CE patent holding Co.

Address before: I Si Eli Murli Nor, France

Patentee before: THOMSON LICENSING

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070516

Termination date: 20201213

CF01 Termination of patent right due to non-payment of annual fee