WO2014005488A1 - 视频数据流的发送方法、终端及系统 - Google Patents
视频数据流的发送方法、终端及系统 Download PDFInfo
- Publication number
- WO2014005488A1 WO2014005488A1 PCT/CN2013/077829 CN2013077829W WO2014005488A1 WO 2014005488 A1 WO2014005488 A1 WO 2014005488A1 CN 2013077829 W CN2013077829 W CN 2013077829W WO 2014005488 A1 WO2014005488 A1 WO 2014005488A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data stream
- video data
- video
- terminal
- sending
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/152—Multipoint control units therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/637—Control signals issued by the client directed to the server or network components
- H04N21/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
Definitions
- the present invention relates to the field of data services, and in particular, to a method for transmitting a video data stream, a terminal, and a video data stream transmission system.
- RTCWeb Real-Time Communication Web
- a real-time communication connection is established between different terminals to facilitate the transmission of media streams, including audio data streams and/or video data streams.
- RTCWeb Compared with the traditional VoIP (voice over Internet Protocol) application, RTCWeb is characterized by: The local control of the media plane and the terminal is implemented by a browser running on the terminal, and the signaling plane is composed of a script program embedded in the web page (for example, a Java script program) implementation. Specifically, the process of establishing a media streaming channel between different terminals based on a browser and a script program is specifically: a browser running on the terminal according to a uniform resource locator (URL, Uniform Resource Locator) of the RTC Web service website input by the user.
- URL Uniform Resource Locator
- the script program sends the indication information to the server through the browser; the server sends the call signaling to the corresponding online terminal according to the indication information, thereby After the online terminal successfully receives the call signaling, the terminals at both ends establish an end-to-end media streaming channel.
- the system architecture of the RTCWeb-enabled terminal can be divided into different levels according to the division from the bottom layer to the upper layer, including: the underlying hardware (including voice input devices such as a microphone), Operating system, browser, script (or a functional unit implemented by a script).
- the structure at the upper layer can call the structure of the lower layer through the inter-layer API to implement the business logic function of the structure of the upper layer.
- the data related to the video conference includes video data and audio data.
- the processing mainly includes video data collection, encoding and decoding, encryption, image processing, display, network transmission and flow control, etc.;
- audio data the processing mainly includes audio data.
- the video video conferencing based on RTCWeb is commonly used in SVC (Scaled Video Coding) technology. It is a technology capable of dividing a video data stream into a plurality of different levels of video data streams (including a base layer video stream and an extended layer video stream) having different resolutions, video shields, and frame rates.
- SVC Systemcaled Video Coding
- the H.264 video codec standard is extended. Specifically, a schematic diagram in which the video data stream is divided into a base layer video data stream and an extended layer video data stream is shown in FIG. 1, and the diamond shaped box in FIG. 1 represents data in the video data stream.
- a video conferencing terminal may receive or transmit a base layer video data stream and one (or more) extended layer video data streams based on SVC technology.
- the base layer video data stream can be decoded separately, which is adapted to the lowest network bandwidth, and can ensure the most basic image shield required by the video conference terminal to display the image; the extended layer video data stream can be regarded as the basic layer.
- the additional information obtained by decoding the different extended layer video data streams can be used to increase the resolution, frame rate or image shield of the base layer video data stream, respectively.
- a multi-party video conference can be established for a team and enable conference participants to achieve point-to-point direct connection, that is, each video conference terminal used by the conference participants can send media streams to other conference participants.
- the video conferencing terminal used by the party After the video conference terminal used by the conference participant receives the media stream sent by the other video conference terminal, the high-definition video image for the speaker may be presented in a large window of the browser running by the video conference terminal; Non-HD video images of non-speaker conference participants are presented in a small window of the browser. As the meeting progresses, the speaker will continue to change.
- the video conferencing terminal can adjust the video image displayed by the browser's large window and small window separately with the speaker's change.
- the sender video conference terminal sends the base layer video data stream and the extension layer video data stream to the receiver video conference terminal based on the SVC technology.
- the receiving video conferencing terminal selects to decode the two video data streams for the base layer video data stream and the extended layer video data stream for the speaker, and synthesizes the high-definition video image by using the decoded video image;
- the non-speaker base layer video data stream and the extended layer video data stream, the receiver video conferencing terminal selects to decode only the base layer video data stream and present the corresponding video image.
- the video conferencing terminal transmits two versions of the video data stream, that is, the video data stream obtained by separately encoding the high-definition video image and the non-high-definition video image.
- the receiving video conferencing terminal can alternatively receive, decode, and present the corresponding video image.
- the sender video conference terminal only transmits the video data stream obtained by encoding the high-definition video image. After receiving the video data stream, the receiving video conference terminal may directly decode the video data stream according to its own needs, and present a corresponding high-definition video image, and may also perform a transcoding operation on the video data stream, Decoded The resulting non-HD video images are rendered.
- the disadvantage of the above solution is that when the receiving video conferencing terminal only needs non-high definition video images, the sending video conferencing terminal still sends the base layer video data stream and the extended layer video data stream, or sends two versions of the video data stream. Or send a video data stream encoded by a high-definition video image, thereby generating unnecessary transmission overhead.
- the embodiments of the present invention provide a method, a terminal, and a system for transmitting a video data stream, which are used to solve the problem that an existing video data stream transmission scheme may generate unnecessary transmission overhead.
- a method for transmitting a video data stream comprising:
- the video data stream transmitting terminal obtains status information of the local multimedia device; determines a sending rule of the video data stream according to the status information; and sends a video data stream to the receiving device according to the sending rule.
- a terminal comprising: a status information obtaining unit, configured to obtain status information of a multimedia device for receiving video conference data; a sending rule determining unit, configured to determine, according to the status information obtained by the status information obtaining unit, the sending of the video data stream a sending unit, configured to send a video data stream to the receiver device according to the sending rule determined by the sending rule determining unit.
- a video data stream transmission system comprising: a video data stream transmitting terminal and a receiver device, wherein the video data stream transmitting terminal is configured to obtain state information of the local multimedia device; and determining the video data stream according to the state information Sending a rule; and transmitting a video data stream to the receiver device according to the sending rule; and receiving, by the receiver device, the video data stream sent by the video data stream sending terminal.
- FIG. 1 is a hierarchical diagram of a video data stream
- FIG. 2 is a schematic flowchart of a method for sending a video data stream according to an embodiment of the present invention
- FIG. 3 is a schematic diagram of an application flow of a method for transmitting a video data stream according to an embodiment of the present invention
- FIG. 4 is a schematic structural diagram of a terminal according to an embodiment of the present invention.
- the video conference terminal used by the conference will send the video data stream encoded by the high-definition video image to other video conference terminals.
- the video data stream unidirectional transmission overhead of the conference terminal], which is undoubtedly a very large transmission overhead.
- the sender video conference terminal when the sender video conference terminal sends the base layer video data stream and the extension layer video data stream, the actual requirement of the video conference stream for the receiver video conference terminal is not taken into consideration, so that even the receiver video conference terminal only needs to Decoding the base layer video data stream, the sender video conference terminal also sends the base layer video data stream and the extended layer video data stream to the receiver video conference terminal, thereby causing unnecessary transmission overhead of the extended layer video data stream.
- the embodiment of the present invention provides a novel method for transmitting a video data stream, by using state information of a multimedia device that can reflect current speaker information of the video conference as a video data stream.
- the basis of the sending rule overcomes the blindness of the video conferencing terminal to the transmitted video data stream, so that the video conferencing terminal can send the video data stream according to the needs of the receiver, thus avoiding unnecessary transmission overhead.
- an embodiment of the present invention provides a video data stream transmission method as shown in FIG. 2, including the following steps: Step 21: A video data stream sending terminal obtains state information of a multimedia device.
- the multimedia device may be a device for receiving, collecting, or processing some audio data and/or video data generated in a video conference.
- the multimedia device included in the video data stream transmitting terminal itself, such as a voice signal receiving device (such as a microphone, a camera, etc.) of the video data stream transmitting terminal and a video image display device (such as a display having a certain shape and the like)
- a multimedia device for receiving video conference data such as a device, or a virtual device such as a browser, which is mainly composed of a software program, or a peripheral multimedia device connected to the video conference terminal but not attributable to the video conference terminal, such as A voice signal receiving device, a video image display device, and the like that are independent of, but connected to, the video conferencing terminal.
- the multimedia device can be referred to as a local multimedia device of the video data stream transmitting terminal.
- the video data stream transmitting terminal may be a video conference terminal as described above, or may be another terminal device having a video data stream transmitting function.
- the video data stream transmitting terminal may determine the status information of the multimedia device by monitoring the multimedia device, or may perform the self-monitoring capability by modifying the multimedia device.
- the data stream transmitting terminal transmits status information obtained through self-monitoring.
- Step 22 The video data stream sending terminal determines a sending rule of the video data stream according to the determined status information of the multimedia device.
- step 22 can also be various.
- the multimedia device is a voice receiving device
- the state information of the voice receiving device is a continuous receiving voice signal
- the sending rule of the corresponding video data stream may be further determined to: send a base layer video data stream and an extended layer video that are obtained by encoding the video image obtained by the local video image acquiring device based on the layered video encoding and decoding technology to the receiving device.
- the data stream that is, the video data stream that can be obtained by decoding the layered video codec technology to obtain the high-definition video image.
- the corresponding video data stream transmission rule is further determined to: send, to the receiver device, a base layer video data stream obtained by encoding the video image obtained by the local video image acquiring device based on the layered video codec technology.
- the multimedia device is a video image display device
- the sending rule of the corresponding video data stream may be: Transmitting a base layer video data stream and an extended layer video data stream obtained by encoding a video image obtained by a local video image acquiring device based on a layered video codec technology.
- the sending rule of the corresponding video data stream may be: sending the layered video codec technology to the receiver device, and the local video The base layer video data stream obtained by encoding the video image obtained by the image acquisition device.
- the transmission rule is determined that the status information of the multimedia device can actually reflect some information of the current speaker of the video conference.
- the video data stream transmitting terminal used by the current speaker can determine that the corresponding voice receiving device continuously receives the voice signal, and the non-speaker does not speak, so the video data stream used by the terminal transmits the status information determined by the terminal. Then: The voice receiving device does not continuously receive the voice signal. It can be seen that the above step 22 is feasible in practical applications.
- the correspondence between the state information of the multimedia device and the video data stream sending rule may be preset and stored in the video data stream sending terminal, so that the video data stream sending terminal may be determined according to the determined state information. It is convenient to locate the corresponding video data stream transmission rules.
- the video data stream sending terminal sends the video data stream to the receiver device according to the determined sending rule.
- the video data stream herein may refer to: a video data stream obtained by encoding a video image collected by a video data stream transmitting terminal by using its own image collecting device.
- the specific coding method can have the following conditions:
- the video data stream transmitting terminal may encode the obtained video image based on the SVC technology according to the determined sending rule, and then send the encoded video data stream to the receiving device.
- the corresponding sending rule may be determined as: sending the base layer video data stream and the extended layer video data stream to the receiving device. Therefore, the SVC technology can be used to encode the obtained video image into a base layer video data stream and an extended layer video data stream.
- the video data sending terminal may also select a codec algorithm that matches the sending rule according to the determined sending rule, and then use the selected codec algorithm to encode the video image, and A stream of video data encoded to a recipient device.
- the multimedia device is used as the browser.
- the corresponding sending rule may be determined as: sending the data frame to the receiver device.
- a video data stream with a high transmission rate. Therefore, the video data transmitting terminal may, after negotiating with the receiving device, encode the obtained video image and send it to the receiving device after determining the corresponding codec algorithm.
- the video data stream transmitting terminal may further select an image resolution that matches the sending rule according to the determined sending rule, and adjust the resolution of the obtained video image according to the image resolution, and then encode the video image. And send.
- the corresponding sending rule may be determined as: sending the video image encoded by the lower resolution video image to the receiving device.
- the receiving device here may be another video data stream sending terminal, or may be another device for uniformly receiving and presenting the video data stream sent by each video data stream sending terminal.
- the video data stream transmitting terminal no longer has blindness for the transmission of the video data stream, but The transmission is performed according to the requirements of the recipient device, thus avoiding unnecessary transmission overhead.
- the video data stream transmitting terminal may further determine, according to the determined state information, a display rule for the video image acquired by the local video image acquiring device, so as to display the acquired video image according to the determined display rule.
- a display rule for the video image acquired by the local video image acquiring device, so as to display the acquired video image according to the determined display rule.
- the multimedia device is a voice receiving device
- the state information of the voice receiving device is continuously receiving the voice signal
- it may be determined that the acquired video image is displayed in the first window of the browser running on the video data stream transmitting terminal.
- the status information of the voice receiving device is that the voice signal is not continuously received
- it may be determined that the acquired video image is displayed in the second window of the browser running on the video data stream transmitting terminal.
- the area of the first window is larger than the area of the second window. In this way, when the user who uses the video data stream transmitting terminal is the current speaker,
- the implementation displays the video image about the user in a large window.
- the method may further include the following steps: the video data stream sending terminal receives the other video data stream sending terminal and sends the terminal. And the display rule of the video image obtained by decoding the received video data stream is determined according to the hierarchical information of the received video data stream.
- the hierarchical information described herein specifically refers to which layers of the video data stream (such as the base layer data stream and/or the extended layer data stream) of the video data stream.
- the video data stream sending terminal obtains the state information of the local multimedia device, and may specifically use one of the following methods: API, determining whether the local voice receiving device is set to a silent state;
- the silent state generally refers to a state in which a voice signal is not received.
- the browser determines whether the local voice receiving device is set to the silent state according to the information of the data packet for the video conference transmitted by the browser's own codec output/media data input interface.
- the browser determines the state maintenance information of the browser itself for the video conference state, and determines, according to the state maintenance information, whether the local voice receiving device is in a state of suspending transmission of the voice signal.
- one of the following methods may be specifically used:
- the browser running in the video data stream sending terminal determines the sending rule of the video data stream according to the obtained state information
- the browser running in the video data stream sending terminal provides the obtained status information to the sending rule determining unit implemented by the script program in the video data stream sending terminal through the API; thereby the sending rule determining unit determines the status information according to the status Determine the sending rules for the video data stream.
- the basic idea of applying the above method in video conference is as follows: First, a connection is established between the sender video conference terminal and the receiver video conference terminal, providing a transmission channel for peer-to-peer media stream transmission; the sender video conference terminal is speaking to itself.
- the receiving device performs monitoring to monitor whether the voice receiving device continuously receives the voice signal; according to the monitoring result, the sending video conference terminal determines the sending rule of the video data stream.
- the specific determination manner is as follows: If the voice receiving device continues to receive the voice signal, it indicates that the user using the sender video conference terminal is the current conference speaker, so the transmission rule for determining the video data stream is: sending the base layer video data stream And the extended layer video data stream; if it is detected that the voice receiving device does not continuously receive the voice signal, it indicates that the user using the sender video conference terminal is not the current conference speaker, thereby determining that the video data stream transmission rule is: only sending the base layer Video data stream.
- Step 31 The video conference terminal used by the conference participants A, B, and C respectively (hereinafter referred to as the terminal A and the terminal respectively)
- Terminal C establishes a video data stream transmission channel from the start point to the point.
- Step 32 After the point-to-point video data stream transmission channel between the video conference terminals is successfully established, terminal A, terminal B, and terminal C are obtained through their own cameras (or cameras connected to themselves and providing video images for video conferences). At the same time as the video image, it is monitored whether it continuously receives the speech signal.
- the video conferencing terminal can monitor its own voice receiving device, or monitor the voice receiving device connected to itself and provide a voice signal for the video conference and its own data interface to determine whether it continuously receives the voice signal.
- the video conference terminal can also monitor the data packet sent by the DTX voice endpoint detection module at the voice codec level, and determine whether the video conference terminal continues to receive according to the data packet type (divided into a silent data packet and a voice data packet). To the voice signal.
- Step 33 Terminal A monitors that it continuously receives the voice signal, and both terminals B and C detect that they do not continuously receive the voice signal (that is, the user is in a silent state).
- the monitoring of the voice signal by the video conferencing terminal may be periodic or continuous.
- the video conference terminal may be provided that if the video conference terminal does not detect that the voice signal input by the voice receiving device is received within a predetermined time length, it determines that the voice signal is not continuously received by itself; otherwise, the video conference terminal It can be determined that it continuously receives the voice signal.
- the predetermined length of time can be set empirically, for example, it can be set to 1 minute, or 30 seconds, and so on.
- Step 34 The terminal A encodes the video image acquired by the camera into the first base layer video data stream and the first extended layer video data stream according to the SVC technology according to the monitoring result that the voice signal is continuously received by the terminal A, and respectively Sending to the terminal B and the terminal C; and the terminal B encodes the video image acquired by the camera into the second base layer video data stream based on the SVC technology according to the monitoring result that the voice signal is not continuously received by the terminal B, and sends the video image to the second base layer video data stream separately Terminal A and terminal C; based on the monitoring result that the terminal C does not continuously receive the voice signal, based on the SVC technology, the video image acquired by the camera is encoded into a third base layer video data stream, and sent to the terminal A and respectively.
- Terminal B Step 35, the terminal A receives the second base layer video data stream sent by the terminal B, and receives the third base layer video data stream sent by the terminal C;
- the terminal B receives the first base layer video data stream and the first extended layer video data stream sent by the terminal A, and receives the third base layer video data stream sent by the terminal C;
- the terminal C receives the first base layer video data stream and the first extension layer video data stream sent by the terminal A, and receives the second base layer video data stream sent by the terminal B.
- the terminal A uses the SVC technology to decode the received second and third base layer video data streams, and presents the decoded video image in a window of the browser running on the terminal A.
- the terminal A can also present the video image obtained by the camera in the browser window in a high-definition manner according to the monitoring result of continuously receiving the voice signal.
- the video image obtained by the above decoding may be presented in a smaller window of the browser, and the video image obtained by the camera may be presented in a larger window of the browser.
- the advantage of using this presentation method is that the larger window presents the video image of the conference speaker, and the smaller window presents the video image of the non-conference speaker, which is equivalent to realizing the participation of the conference through the size of the browser window. The importance of the party.
- the SVC technology may be used to decode the received first and third base layer video data streams and the first extended layer video data stream, and the decoded corresponding data stream corresponding to the first base layer is obtained.
- the video image and the video image corresponding to the first extended layer video data stream are synthesized into a high definition video image, and then presented in a browser window, and the decoded video image corresponding to the third base layer video data stream is presented in the browser.
- the terminal ⁇ can also present the video image obtained by the camera itself in the browser window.
- the terminal ⁇ can present the synthesized high definition video image in a larger browser window and the video image corresponding to the third base layer video data stream in a smaller browser window.
- the terminal ⁇ can display the video image obtained by the camera itself in a smaller browser window according to the monitoring result that the voice signal is not continuously received.
- the SVC technology is used to decode the received first and second base layer video data streams and the first extended layer video data stream, and the decoded corresponding first base layer video data is obtained.
- the synthesized video image and the video image corresponding to the first extended layer video data stream are synthesized into a high definition video image, and then presented in the browser window, and the decoded video image corresponding to the second base layer video data stream is presented at the same time.
- terminal C can also present a video image obtained by the camera itself in a browser window.
- terminal C may present the synthesized high definition video image in a larger browser window and the video image corresponding to the third base layer video data stream in a smaller browser window.
- the terminal C can display the video image obtained by the camera itself in a smaller browser window according to the monitoring result that the voice signal is not continuously received.
- Step 36 When the terminal ⁇ detects that it does not continuously receive the voice signal, it still sends the first base layer video data stream to the terminal B and the terminal C, but stops transmitting the first extended layer video data stream at the same time;
- the terminal B When the terminal B detects that it continuously receives the voice signal, it encodes the video image acquired by the camera into the second base layer video data stream and the second extended layer video data stream, and sends the video image to the terminal A and the terminal C.
- the terminal C Since the terminal C detects that it still does not continuously receive the voice signal, it transmits the third layer video data stream to the terminal A and the terminal B.
- the video conference terminal can switch from sending the base layer video data stream to sending by adjusting its own driving working mode, adjusting a codec algorithm of the video data stream, or adjusting a module for transmitting the video data stream included therein.
- Base layer video data stream and extended layer video data stream may also be switched from sending base layer video data stream and extended layer video data stream to transmitting base layer video data stream).
- Step 37 The terminal B uses the SVC technology to decode the received first and third base layer video data streams, and presents the decoded video image in a browser window running on the terminal B.
- the terminal B can also display the video obtained by the camera in the browser window in high definition according to the monitoring result of continuously receiving the voice signal.
- Image the video image obtained by the above decoding may be presented in a smaller browser window, and the video image obtained by the camera may be presented in a larger browser window.
- the SVC technology is used to decode the received second and third base layer video data streams and the second extended layer video data stream, and the decoded corresponding corresponds to the second base layer.
- the video image of the video data stream and the video image corresponding to the second extended layer video data stream are synthesized into a high-definition video image, and then presented in a browser window, and the decoded video image corresponding to the third base layer video data stream is presented.
- terminal A can also present a video image obtained by the camera itself in a browser window.
- the terminal A can present the synthesized high-definition video image in a larger browser window, and the video image obtained by decoding the third base layer video data stream and the video image obtained by the camera itself are presented in a smaller In the browser window.
- the SVC decoding technique is used to decode the received first and second base layer video data streams and the second extended layer video data stream, and the second base layer is
- the video image obtained by decoding the video data stream and the video image obtained by decoding the second extended layer video data stream are synthesized into a high-definition video image, and then presented in a browser window, and the decoded corresponding data stream corresponding to the first base layer is obtained.
- the video image is rendered in a browser window.
- the terminal C can also present the video image obtained by the camera itself in the browser window.
- terminal C may present the synthesized high definition video image in a larger browser window and the video image corresponding to the first basic layer video data stream in a smaller browser window.
- the terminal C can display the video image obtained by the camera itself in a smaller browser window according to the monitoring result that the voice signal is not continuously received.
- the process described above is mainly for the scenario where the conference spokesperson changes once. According to the above process, those skilled in the art can determine that a scheme similar to the above process can be used when the conference speaker changes a plurality of times.
- the above-mentioned application of the solution provided by the embodiment of the present invention can implement the video conference terminal to adaptively adjust the video data stream that is sent according to the information used to reflect the conference state, so as to ensure that the user experience is not affected.
- the transmission overhead of the video conference terminal for the video data stream is greatly reduced.
- the solution provided by the embodiment of the present invention is applicable not only to a fully distributed mixing conference scenario, but also to a conference scenario based on a mixing server.
- the former specifically refers to the video modulation terminal used by each conference participant to participate in the mixed modulation of the video data stream.
- the solution provided by the embodiment of the present invention can significantly reduce the transmission overhead of the video conference channel of the sender and the modulation processing overhead of the video conference stream of the receiver.
- the latter specifically refers to the media surface in addition to the video conferencing terminal, there is also a dedicated mixing server, which is responsible for receiving video data streams sent by all video conference terminals of the video conference (including the base layer video data stream and / or The extended layer video data stream is uniformly decoded and presented to the received video data stream, and the video data stream is delivered.
- the mixing server can be regarded as a centralized sender video conference terminal, and can also be regarded as a centralized receiver video conference terminal.
- the solution provided by the embodiment of the present invention can significantly reduce the transmission overhead of the video conference terminal of the sender for the video data stream, and can also reduce the mixing server. Modulation processing overhead for video data streams.
- the video conference terminal can be implemented by using one of the following soft and hardware structures to implement the foregoing process:
- the selection of the video data stream transmission rule may be based on whether the video conference terminal detects that it continuously receives the voice signal, or whether the video conference terminal receives the user input for indicating that the video conference terminal will be the microphone.
- the indication message set to be mute whether the video conference terminal is connected to the audio signal collection device, or whether the video image presentation window of the video conference is the focus window currently displayed by the video conference terminal.
- the number of coding layers of the video data stream can be adjusted autonomously, that is, the number of the transmitted enhancement layer video data streams is adjusted.
- the video conferencing terminal can also adjust the transmission rate of the video data stream.
- the transmission rate of the extended layer video data stream can be adjusted by adjusting parameters such as a video image frame transmission rate, a video image sampling rate, and a quantization step size.
- the receiver video For a video conference terminal supporting a plurality of different rate video codec algorithms, when the sender video conference terminal is switched from transmitting the base layer video data stream and the extension layer video data stream to transmitting only the base layer video data stream, the receiver video can be received. After the conference terminal performs renegotiation, the video image is encoded as a base layer video data stream by using a lower rate video codec algorithm. Conversely, when the sender video conference terminal is switched from the transmission base layer video data stream to the transmission base layer video data stream and the extension layer video data stream switch, the receiver video conference terminal may be renegotiated with a higher rate.
- the video codec algorithm encodes the video picture into a base layer video data stream and an extended layer video data stream.
- the embodiment of the present invention further provides a terminal.
- the specific structure of the terminal is as shown in FIG. 4, and includes the following functional units:
- a status information obtaining unit 41 configured to obtain status information of the local multimedia device
- the status information obtaining unit 41 may specifically include a browser running in the terminal.
- the main function of the browser is: determining whether the local voice receiving device is set to a silent state through an application programming interface API of the operating system of the terminal; or transmitting according to a codec output/media data input interface of the browser itself Determining whether the local voice receiving device is set to a silent state for the information of the data packet of the video conference; or determining the browser
- the state maintains information for the state of the video conference state, and determines whether the local voice receiving device is in a state of suspending transmission of the voice signal or the like according to the state maintenance information.
- the sending rule determining unit 42 is configured to determine a sending rule of the video data stream according to the state information obtained by the state information obtaining unit 41;
- the sending rule determining unit 42 may be a browser running in the terminal.
- the sending rule determining unit 42 may specifically include a browser running in the terminal and a sending rule determining subunit implemented by the script program.
- the browser is configured to provide status information to the sending rule determining subunit through the API, and the sending rule determining subunit is configured to determine a sending rule of the video data stream according to the status information provided by the browser.
- the sending unit 43 is configured to send a video data stream to the receiver device according to the sending rule determined by the sending rule determining unit 42.
- the sending rule determining unit 42 may be specifically configured to: when the state information of the voice receiving device is continuously receiving the voice signal, determine to send the layered video codec to the receiver device. a basic layer video data stream and an extended layer video data stream obtained by encoding a video image obtained by a local video image acquiring device; when the state information of the voice receiving device is not continuously receiving a voice signal, determining to send to the receiving device A base layer video data stream obtained by encoding a video image obtained by a local video image acquiring device based on a layered video codec technique.
- the foregoing terminal provided by the embodiment of the present invention may further include the following unit, to implement displaying the acquired video image according to the status information:
- a first display rule determining unit configured to determine, according to the state information obtained by the state information obtaining unit 41, a display rule for the video image acquired by the local video image acquiring device;
- a display unit configured to display the video image acquired by the local video image acquiring device according to the display rule determined by the first display rule determining unit.
- the first display rule determining unit may be specifically configured to: when the state information of the voice receiving device is continuously receiving the voice signal, determine a browser running on the terminal Displaying the acquired video image in a window; determining that the acquired video image is displayed in a second window of the browser running on the terminal when the status information of the voice receiving device is not continuously receiving the voice signal; wherein, the first window The area is larger than the area of the second window.
- the terminal may further include the following functional units:
- a receiving unit configured to receive a video data stream sent by another video data stream sending terminal, a hierarchical information determining unit, configured to determine hierarchical information of the video data stream received by the receiving unit, and a second display rule determining unit, configured to use the hierarchical information Determining the hierarchical information determined by the unit, and determining a video image obtained by decoding the video data stream received by the receiving unit Display rules.
- the sending unit 43 is further divided into the following functional subunits, including:
- a coding subunit configured to encode the obtained video image based on the layered video coding and decoding technology according to the sending rule
- a sending subunit configured to send, to the receiving device, a video data stream obtained by encoding the subunit.
- the embodiment of the present invention further provides a video data stream transmission system.
- the system includes a video data stream transmitting terminal and a receiving device, and its specific functions are as follows:
- a video data stream sending terminal configured to obtain status information of the local multimedia device; and, according to the status information, determine a sending rule of the video data stream; and send the video data stream to the receiving device according to the sending rule.
- the receiver device is configured to receive the video data stream sent by the video data stream sending terminal.
- the video data stream sending terminal is specifically configured to: when the state information of the voice receiving device is continuously receiving the voice signal, determine to send the layered video codec technology to the receiver device. a base layer video data stream and an extended layer video data stream obtained by encoding a video image obtained by the local video image acquiring device; when the state information of the voice receiving device is not continuously receiving the voice signal, determining to send to the receiving device based on A layered video codec technology, which is a base layer video data stream obtained by encoding a video image obtained by a local video image acquiring device.
- the video data stream sending terminal is specifically configured to: when the state information of the video image display device is to display a video image about the video conference, determine to send the score to the receiver device.
- Layer video codec technology a base layer video data stream and an extended layer video data stream obtained by encoding a video image obtained by a local video image acquiring device; when the state information of the video image display device is not displaying a video image about the video conference
- the base layer video data stream obtained by encoding the video image obtained by the local video image acquiring device based on the layered video codec technology is sent to the receiving device.
- the video data stream transmitting terminal may be further configured to: determine, according to the state information, a display rule for the video image acquired by the local video image acquiring device. Then, according to the determined display rule, the acquired video image is displayed.
- the video data stream transmitting terminal may be specifically configured to: when the state information of the voice receiving device is continuously receiving the voice signal, determine the first browser running on the video data stream sending terminal.
- the area of the first window is larger than the area of the second window.
- the video data stream sending terminal is further configured to receive a video data stream sent by another video data stream sending terminal. That is, the video data stream transmitting terminal can not only send the video data stream, but also can receive other video data stream transmission. The video data stream sent by the terminal, and thus also the identity of the recipient device.
- the video data stream transmitting terminal may determine a display rule of the video image decoded by the received video data stream according to the layer information of the video data stream.
- the video data stream sending terminal is specifically configured to: invoke a browser running in the video data stream sending terminal to determine whether the local voice receiving device is set to a silent state by using an API of the operating system of the video data stream sending terminal; Or calling the browser to determine whether the local voice receiving device is set to a silent state according to information of the data packet of the video conference transmitted by the browser's own codec output/media data input interface; or calling the browser to determine the browser
- the state maintains information for the state of the video conference state, and determines whether the local voice receiving device is in a state of suspending transmission of the voice signal according to the state maintenance information.
- the video data stream sending terminal may be specifically configured to: invoke a browser running in the video data stream sending terminal to determine a sending rule of the video data stream according to the obtained state information.
- the video data stream sending terminal may be further configured to: invoke a browser running in the video data stream sending terminal to provide the obtained state information to the sending rule implemented by the script program in the video data stream sending terminal through an API. Determining a unit; and invoking a transmission rule determining unit to determine a transmission rule of the video data stream according to the status information.
- embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the present invention can be embodied in the form of a computer program product embodied on one or more computer-usable storage interfaces (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.
- computer-usable storage interfaces including but not limited to disk storage, CD-ROM, optical storage, etc.
- the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
- the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
- These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
- the instructions are provided for implementing one or more processes and/or block diagrams in the flowchart The steps of the function specified in the box or in multiple boxes.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Telephonic Communication Services (AREA)
Description
视频数据流的发送方法、 终端及系统 本申请要求在 2012年 07月 03日提交中国专利局、 申请号为 201210229302.7、发明名称为
"视频数据流的发送方法、 终端及系统"的中国专利申请的优先权, 其全部内容通过引用结合在 本申请中。 技术领域 本发明涉及数据业务领域, 尤其涉及一种视频数据流的发送方法、 终端及视频数据流 的传输系统。 背景技术 基于浏览器的实时通信( RTCWeb, Real-Time Communications Web )是一种运行在浏 览器上的 Web应用, 其通过调用浏览器提供的应用程序编程接口 ( API , Application Programming Interface ) ,可以实现在不同终端之间建立实时通信连接,从而进行媒体流(包 括音频数据流和 /或视频数据流) 的传输。
相对于传统的 VoIP ( Voice over Internet Protocol )应用而言, RTCWeb的特点是: 媒体 面和终端的本地控制由运行在终端上的浏览器实现, 而信令面则由嵌入 Web页面的脚本程 序 (例如 Java脚本程序) 实现。 具体地, 基于浏览器和脚本程序实现在不同终端之间建立 媒体流传输信道的过程具体为: 运行在终端上的浏览器根据用户输入的 RTCWeb服务网站 的统一资源定位符(URL, Uniform Resource Locator ) , 从相应的服务器上下载页面数据 (该页面数据包含脚本程序) 并将相应的页面呈现给用户; 在终端登录到服务器后, 若脚 本程序捕获到用户通过脚本程序呈现的拨号界面输入的指示信息(即用于表示终端呼叫另 一个在线终端的指示信息) , 则脚本程序通过浏览器将该指示信息发送给服务器; 服务器 根据该指示信息, 向相应的在线终端发送呼叫信令, 从而在该在线终端成功接收该呼叫信 令后, 两端的终端建立起端到端的媒体流传输信道。 针对终端在上述过程中所起的作用, 可以按照由底层至上层的划分方式, 将实现 RTCWeb的终端的系统架构划分为处于不同层 面的结构, 包括: 底层硬件(包括麦克等语音输入设备) 、 操作系统、 浏览器、 脚本程序 (或者是由脚本程序实现的功能单元) 。 位于上层的结构可以通过层间 API调用下层的结 构以实现上层的结构的业务逻辑功能。
以 RTCWeb为基础, 可以实现基于网页的视频会议。 与视频会议相关的数据包括视频 数据和音频数据。 针对视频数据, 其处理过程主要包括视频数据的釆集、 编解码、 加密、 图像处理、 显示、 网络传输与流控等; 而针对音频数据, 其处理过程主要包括音频数据的
釆集、 编解码、 加密、 声音处理、 声音输出、 音量频同步、 网络传输与流控等。
基于 RTCWeb实现的视频会议中常用到分层视频编解码( SVC , Scaled Video Coding ) 技术。 其是一种能将一个视频数据流分割为多个具备不同分辨率、 视频盾量和帧速率的不 同层次的视频数据流(包括基本层视频数据流和扩展层视频数据流) 的技术, 以先进视频 编解码器标准(H.264 AVC )为基础, 并对 H.264视频编解码标准进行扩展。 具体地, 视频 数据流被分割为基本层视频数据流和扩展层视频数据流的示意图如图 1所示, 图 1中的菱形 方框代表视频数据流中的数据。 在视频会议中, 视频会议终端可以基于 SVC技术来接收或 者发送由一个基本层视频数据流和一个(或多个)扩展层视频数据流。 其中, 基本层视频 数据流可以单独被解码, 其适应于最低的网络带宽, 可保证视频会议终端对图像进行显示 时所要求的最基本的图像盾量; 扩展层视频数据流可视为基本层视频数据流的补充, 对不 同扩展层视频数据流进行解码得到的附加信息可分别用于提高基本层视频数据流的分辨 率、 帧速率或图像盾量。
基于以上介绍的 RTCWeb和 SVC技术, 可以为一个团队建立一个多方视频会议并且使 得会议参与方能够实现点对点直连, 即每个会议参与方所使用的视频会议终端均能发送媒 体流给其他会议参与方所使用的视频会议终端。 当会议参与方所使用的视频会议终端收到 其他视频会议终端发送的媒体流后 , 可以把针对发言人的高清视频图像呈现在视频会议终 端所运行的浏览器的大窗口中; 同时把针对其他非发言人的会议参与方的非高清视频图像 呈现在浏览器的小窗口中。 随着会议的进行, 发言人会不断发生变化, 视频会议终端可以 随着发言人的变换, 对浏览器的大窗口和小窗口所显示的视频图像分别进行调整。
为了实现釆用不同方式分别呈现针对发言人、 非发言人的视频图像, 现有技术中提出 了如下三种解决方案。
方案一: 发送方视频会议终端基于 SVC技术向接收方视频会议终端发送基本层视频数 据流和扩展层视频数据流。 接收方视频会议终端对于针对发言人的基本层视频数据流和扩 展层视频数据流, 会选择对这两部分视频数据流都进行解码, 并利用解码得到的视频图像 合成高清视频图像; 而对于针对非发言人的基本层视频数据流和扩展层视频数据流, 接收 方视频会议终端会选择只对基本层视频数据流进行解码, 并呈现相应的视频图像。 方视频会议终端发送两个版本的视频数据流, 即对高清视频图像和非高清视频图像分别进 行编码而得到的视频数据流。 接收方视频会议终端可以择一进行接收、 解码, 并呈现相应 的视频图像。
方案三: 发送方视频会议终端仅发送对高清视频图像进行编码得到的视频数据流。 接 收方视频会议终端接收到该视频数据流后, 可以根据自身需求, 直接对该视频数据流进行 解码, 并呈现相应的高清视频图像, 也可以执行对该视频数据流的转码操作后, 对解码得
到的非高清视频图像进行呈现。
上述方案的缺陷在于, 当接收方视频会议终端仅需求非高清视频图像时, 发送方视频 会议终端仍然会发送基本层视频数据流和扩展层视频数据流, 或发送两个版本的视频数据 流, 或发送对高清视频图像编码得到的视频数据流, 从而会产生不必要的传输开销。 发明内容 本发明实施例提供一种视频数据流的发送方法、 终端及系统, 用以解决现有的视频数 据流发送方案会产生不必要的传输开销的问题。
本发明实施例釆用以下技术方案:
一种视频数据流的发送方法, 包括:
视频数据流发送终端获得本地多媒体装置的状态信息; 根据所述状态信息, 确定视频 数据流的发送规则; 并根据所述发送规则, 向接收方设备发送视频数据流。
一种终端, 包括: 状态信息获得单元, 用于获得用于接收视频会议数据的多媒体装置 的状态信息; 发送规则确定单元, 用于根据状态信息获得单元获得的状态信息, 确定视频 数据流的发送规则; 发送单元, 用于根据发送规则确定单元确定的发送规则, 向接收方设 备发送视频数据流。
一种视频数据流的传输系统, 包括视频数据流发送终端和接收方设备, 其中, 视频数 据流发送终端, 用于获得本地多媒体装置的状态信息; 并根据所述状态信息, 确定视频数 据流的发送规则; 以及根据所述发送规则, 向接收方设备发送视频数据流; 接收方设备, 用于接收视频数据流发送终端发送的视频数据流。
本发明实施例的有益效果如下:
通过釆用上述技术方案, 实现了视频数据流发送终端以能够体现视频会议当前发言人 信息的本地多媒体装置的状态信息作为视频数据流的发送依据 , 从而对于视频数据流的发 送不再有盲目性, 而是按照接收方设备的需求来进行发送, 因此避免了不必要的传输开销。 附图说明 图 1为视频数据流的分层示意图;
图 2为本发明实施例提供的一种视频数据流的发送方法的具体流程示意图;
图 3为本发明实施例提供的视频数据流的发送方法在实际中的应用流程示意图; 图 4为本发明实施例提供的一种终端的具体结构示意图。 具体实施方式
为了解决釆用现有技术提供的视频数据流传输方案会产生不必要的传输开销的问题, 发明人对现有技术中的三种视频数据流传输方案进行了深入研究。 经研究发现:
针对方案二, 无论一个会议参与方是否为当前的会议发言人, 其使用的视频会议终端 都需要向其他视频会议终端发送两个版本的视频数据流, 从而相比于方案一、 三, 方案二 会产生最大的传输开销。
针对方案三, 类似地, 无论一个会议参与方是否为当前的会议发言人, 其使用的视频 会议终端都会向其他视频会议终端发送对高清视频图像编码得到的视频数据流。 这对于基 于点对点的视频数据流交互方式参与 N方视频会议的视频会议终端而言, 意味着一个视频 会议终端所产生的视频数据流传输开销 =[2(N-1) X针对一个接收方视频会议终端的视频数 据流单向传输开销] , 这无疑是一个非常大的传输开销。
针对方案一, 发送方视频会议终端在发送基本层视频数据流和扩展层视频数据流时, 也没有考虑到接收方视频会议终端对于视频数据流的实际需求, 从而即使接收方视频会议 终端仅需要解码基本层视频数据流, 发送方视频会议终端也会将基本层视频数据流和扩展 层视频数据流都发送给接收方视频会议终端, 从而导致扩展层视频数据流也产生了不必要 的传输开销。
通过上述研究发现, 方案一〜三之所以会产生较大的传输开销, 主要是没有考虑到视 频会议的特点, 即一一视频会议终端一般只会针对会议发言人呈现相应的高清视频图像, 而针对非会议发言人则呈现相应的非高清视频图像。 基于视频会议的该特点和上述方案 一, 本发明实施例提供了一种新颖的视频数据流的发送方法, 通过以可以反映视频会议当 前发言人信息的多媒体装置的状态信息作为确定视频数据流的发送规则的依据, 从而克服 了视频会议终端对于发送视频数据流的盲目性, 使得视频会议终端可以按照接收方的需求 来发送视频数据流, 因此避免了不必要的传输开销。
以下结合附图, 对本发明实施例提供的视频数据流传输方案进行详细说明。
首先, 本发明实施例提供一种如图 2所示的视频数据流传输方法, 包括下述步骤: 步骤 21 , 视频数据流发送终端获得多媒体装置的状态信息。
其中, 该多媒体装置可以是用于接收、 釆集或者处理视频会议中产生的一些音频数据 和 /或视频数据等的装置。
具体地, 其可以是视频数据流发送终端自身所包含的多媒体装置, 如视频数据流发送 终端的语音信号接收设备(如麦克风、 摄像头等)和视频图像显示设备(如具备确定外形 的显示器等实体设备, 或者浏览器等主要由软件程序完成其功能的虚拟设备)等用于接收 视频会议数据的多媒体装置, 也可以是与视频会议终端相连接但并非归属于视频会议终端 的外围多媒体装置, 如独立于视频会议终端外但与之相连接的语音信号接收设备和视频图 像显示设备等。 本发明实施例中, 视频数据流发送终端自身包含的多媒体装置和上述外围
多媒体装置都可称为该视频数据流发送终端的本地多媒体装置。
此外, 上述视频数据流发送终端可以是前文所述的视频会议终端, 也可以是其他的具 备视频数据流发送功能的终端设备。
本发明实施例中, 视频数据流发送终端可以通过对上述多媒体装置的监控来确定其状 态信息, 或者也可以通过对上述多媒体装置进行改进使之具备自我监控的能力后, 由其主 动向该视频数据流发送终端发送通过自我监控得到的状态信息。
步骤 22 , 视频数据流发送终端根据确定的多媒体装置的状态信息, 确定视频数据流的 发送规则。
由于上述多媒体装置的多样性, 使得步骤 22的具体实现方式也可以有多种。 比如, 当 该多媒体装置为语音接收设备时, 若该语音接收设备的状态信息为持续接收语音信号, 则 可以确定使用视频数据流发送终端的用户为当前的会议发言人。 从而进一步确定相应的视 频数据流的发送规则可以为: 向接收方设备发送基于分层视频编解码技术, 对本地视频图 像获取设备获得的视频图像进行编码得到的基本层视频数据流和扩展层视频数据流, 即发 送通过分层视频编解码技术解码可以得到高清视频图像的视频数据流。 而若该语音接收设 备的状态信息为未持续接收语音信号, 则可以确定使用视频数据流发送终端的用户并非当 前的会议发言人。 从而进一步确定相应的视频数据流发送规则为: 向接收方设备发送基于 分层视频编解码技术, 对本地视频图像获取设备获得的视频图像进行编码得到的基本层视 频数据流。
又比如, 当该多媒体装置为视频图像显示设备时, 若该视频图像显示设备的状态信息 为显示关于视频会议的视频图像, 则可以确定相应的视频数据流的发送规则可以为: 向接 收方设备发送基于分层视频编解码技术, 对本地视频图像获取设备获得的视频图像进行编 码得到的基本层视频数据流和扩展层视频数据流。 而若该视频图像显示设备的状态信息为 没有显示关于视频会议的视频图像, 则可以确定相应的视频数据流的发送规则可以为: 向 接收方设备发送基于分层视频编解码技术, 对本地视频图像获取设备获得的视频图像进行 编码得到的基本层视频数据流。
由上述确定发送规则的方式可知, 上述多媒体装置的状态信息实际上可以体现视频会 议当前发言人的一些信息。 比如, 当前发言人所使用的视频数据流发送终端是可以确定相 应的语音接收设备是持续接收到语音信号的, 而非发言人由于没有发言, 因此其使用的视 频数据流发送终端确定的状态信息则为: 语音接收设备当前没有持续接收到语音信号。 由 此可见, 上述步骤 22在实际应用中是可行的。
可选的, 本发明实施例中, 可以在视频数据流发送终端中预先设置并存储多媒体装置 的状态信息与视频数据流发送规则的对应关系, 这样视频数据流发送终端根据确定的状态 信息就可以很方便地定位到相应的视频数据流发送规则。
步骤 23 , 视频数据流发送终端根据确定的发送规则, 向接收方设备发送视频数据流。 这里的视频数据流可以是指: 对视频数据流发送终端利用自身的图像釆集设备釆集到 的视频图像编码后得到的视频数据流。 具体编码方法可以有下述情况:
比如, 视频数据流发送终端可以根据确定的发送规则, 基于 SVC技术对获得的视频图 像进行编码后, 再向接收方设备发送编码得到的视频数据流。 针对该情况, 以多媒体装置 为语音接收设备为例, 当其状态信息为持续接收语音信号时,可以确定相应的发送规则为: 向接收方设备发送基本层视频数据流和扩展层视频数据流。 从而可以釆用 SVC技术, 将获 得的视频图像编码为基本层视频数据流和扩展层视频数据流后发送。
又比如, 视频数据发送终端也可以根据确定的发送规则, 通过与接收方设备的协商, 来选取与发送规则匹配的编解码算法后, 再釆用选取的编解码算法对视频图像进行编码, 并向接收方设备编码得到的视频数据流。 针对该情况, 以多媒体装置为浏览器为例, 当其 状态信息为: 当前所展示的焦点窗口为视频会议的视频图像呈现窗口时, 可以确定相应的 发送规则为: 向接收方设备发送数据帧传输率较高的视频数据流。 从而视频数据发送终端 可以通过与接收方设备的协商, 在确定出相应的编解码算法后, 对获得的视频图像进行编 码并发送给接收方设备。
又如, 视频数据流发送终端还可以根据确定的发送规则, 选取与发送规则匹配的图像 分辨率, 并根据该图像分辨率, 对获得的视频图像的分辨率进行调整后, 再对其进行编码 并发送。 针对该情况, 以多媒体装置为语音接收设备为例, 当其状态信息为未持续接收语 音信号时, 可以确定相应的发送规则为: 向接收方设备发送对分辨率较低的视频图像编码 得到的视频数据流。 从而可以通过与接收方设备的协商, 在确定出相应的图像分辨率后, 根据该图像分辨率对获得的视频图像进行编码并发送给接收方设备。
其中, 这里的接收方设备可以是其他的视频数据流发送终端, 也可以是用于统一对各 个视频数据流发送终端发送的视频数据流进行接收与呈现的其他设备。
通过上述视频数据流发送方法, 由于其以能够体现视频会议当前发言人信息的状态信 息作为视频数据流的发送依据, 从而视频数据流发送终端对于视频数据流的发送不再有盲 目性, 而是按照接收方设备的需求来进行发送, 因此避免了不必要的传输开销。
可选的, 视频数据流发送终端根据其确定的状态信息, 还可以进一步确定针对通过本 地视频图像获取设备获取的视频图像的显示规则, 从而根据确定的显示规则, 显示获取的 该视频图像。 比如, 当多媒体装置为语音接收设备时, 若语音接收设备的状态信息为持续 接收语音信号, 则可以确定在视频数据流发送终端上运行的浏览器的第一窗口中显示获取 的视频图像; 而当语音接收设备的状态信息为未持续接收语音信号, 则可以确定在视频数 据流发送终端上运行的浏览器的第二窗口中显示获取的视频图像。 其中, 第一窗口的面积 大于第二窗口的面积。 这样就可以在使用该视频数据流发送终端的用户为当前发言人时,
实现将关于该用户的视频图像显示在大窗口中。
可选的, 如视频数据流发送终端还需要对其他视频数据流发送终端发送的视频数据流 进行解码显示, 则上述方法还可以进一步包括步骤: 视频数据流发送终端接收其他视频数 据流发送终端发送的视频数据流; 并根据接收到的视频数据流的层次信息, 确定对接收的 视频数据流解码得到的视频图像的显示规则。 其中, 这里所述的层次信息具体是指视频数 据流是由哪些层的视频数据流(比如基本层数据流和 /或扩展层数据流)构成。
需要特别说明的是, 本发明实施例中, 视频数据流发送终端获得本地多媒体装置的状 态信息具体可以釆用下述方式之一: API, 确定本地语音接收设备是否被设置为静默状态; 这里所述的静默状态一般就是指不 接收语音信号的状态。
2、 由上述浏览器根据浏览器自身的编解码输出 /媒体数据输入接口所传输的针对视频 会议的数据包的信息, 确定本地语音接收设备是否被设置为静默状态。
3、 由上述浏览器确定浏览器自身针对视频会议状态的状态维护信息, 并根据该状态 维护信息确定本地语音接收设备是否处于暂停传输语音信号的状态。
而根据获得的状态信息,确定视频数据流的发送规则,则具体可以釆用下述方式之一:
1、 运行在视频数据流发送终端中的浏览器根据获得的状态信息, 确定视频数据流的 发送规则;
2、 运行在视频数据流发送终端中的浏览器通过 API , 将获得的状态信息提供给视频数 据流发送终端中由脚本程序实现的发送规则确定单元; 从而由该发送规则确定单元根据该 状态信息确定视频数据流的发送规则。
以下以本发明实施例提供的上述视频数据流的发送方法在视频会议中的应用为例, 详 细说明该方法的实现过程。
在视频会议中应用上述方法的基本思想在于: 首先, 发送方视频会议终端与接收方视 频会议终端之间建立连接, 为进行点对点的媒体流传输提供传输通道; 发送方视频会议终 端对自身的语音接收设备进行监测, 监测该语音接收设备是否持续接收到语音信号; 根据 监测结果, 发送方视频会议终端确定视频数据流的发送规则。 具体确定方式为: 如果监测 到语音接收设备持续接收到语音信号, 则说明使用发送方视频会议终端的用户是当前的会 议发言人, 因此确定视频数据流的发送规则为: 发送基本层视频数据流和扩展层视频数据 流; 如果监测到语音接收设备没有持续接收到语音信号, 则说明使用发送方视频会议终端 的用户不是当前的会议发言人, 从而确定视频数据流发送规则为: 仅发送基本层视频数据 流。
基于上述基本思想, 以 、 B、 C三方参与的多方视频会议会话过程为例, 釆用本发明
实施例提供的方法实现视频数据流发送的具体流程包括如图 3所示的以下步骤: 步骤 31 , 会议参与方 A、 B、 C分别使用的视频会议终端 (以下分别筒称终端 A、 终端
B、 终端 C )之间建立起点对点的视频数据流传输通道。
步骤 32,视频会议终端之间的点对点视频数据流传输通道建立成功后,终端 A、终端 B、 终端 C在通过自身的摄像头 (或连接到自身、 并提供针对视频会议的视频图像的摄像头) 获取视频图像的同时, 分别监测自身是否持续接收到语音信号。
视频会议终端可以通过对自身的语音接收设备进行监控, 或对连接到自身、 并提供针 对视频会议的语音信号的语音接收设备与自身的数据接口进行监控, 以确定自身是否持续 接收到语音信号。 或者, 视频会议终端还可以对语音编解码层面的 DTX语音端点检测模块 所发送的数据包进行监测, 并根据数据包类型 (分为静默数据包与语音数据包) , 确定视 频会议终端是否持续接收到语音信号。
步骤 33 , 终端 A监测到自身持续接收到语音信号, 终端 B、 C均监测到自身没有持续接 收到语音信号 (即用户为静默状态) 。
视频会议终端对语音信号的监测可以是周期性的, 也可以是持续性的。
本发明实施例中, 可以规定: 若在预定时间长度内, 视频会议终端未监测到其接收到 通过语音接收设备输入的语音信号, 则确定自身未持续接收到语音信号; 反之, 则视频会 议终端可以确定自身持续接收到语音信号。 其中, 预定时间长度可以按经验进行设置, 比 如可以设置为 1分钟, 或者 30秒等等。
步骤 34 , 终端 A根据自身持续接收到语音信号的这一监测结果, 基于 SVC技术, 将通 过摄像头获取到的视频图像编码为第一基本层视频数据流和第一扩展层视频数据流, 并分 别发送给终端 B、终端 C;而终端 B根据自身未持续接收到语音信号这一监测结果,基于 SVC 技术, 将通过摄像头获取到的视频图像编码成第二基本层视频数据流, 并分别发送给终端 A和终端 C; 终端 C根据自身未持续接收到语音信号这一监测结果, 基于 SVC技术, 将通过 摄像头获取到的视频图像编码成第三基本层视频数据流, 并分别发送给终端 A和终端 B; 步骤 35 , 终端 A接收终端 B发送的第二基本层视频数据流, 并接收终端 C发送的第三基 本层视频数据流;
终端 B接收终端 A发送的第一基本层视频数据流和第一扩展层视频数据流,并接收终端 C发送的第三基本层视频数据流;
终端 C接收终端 A发送的第一基本层视频数据流和第一扩展层视频数据流,并接收终端 B发送的第二基本层视频数据流。
终端 A釆用 SVC技术解码接收到的第二、 第三基本层视频数据流, 并将解码得到的视 频图像呈现在终端 A上运行的浏览器的窗口中。 同时,终端 A还可以根据自身持续接收到语 音信号这一监测结果, 以高清方式在该浏览器窗口中呈现其通过摄像头获得的视频图像。
可选的, 上述解码得到的视频图像可以呈现在浏览器的较小的窗口中, 而通过摄像头获得 的视频图像则可以呈现在浏览器的较大的窗口中。 釆用该呈现方式的优点在于, 较大的窗 口呈现的是会议发言人的视频图像, 较小的窗口呈现的是非会议发言人的视频图像, 从而 相当于实现通过浏览器窗口的大小体现会议参与方的重要程度。
对于终端 Β而言, 其可以釆用 SVC技术解码接收到的第一、 第三基本层视频数据流以 及第一扩展层视频数据流, 并将解码得到的对应于第一基本层视频数据流的视频图像和对 应于第一扩展层视频数据流的视频图像合成为高清视频图像后, 呈现在浏览器窗口中, 同 时将解码得到的对应于第三基本层视频数据流的视频图像呈现在浏览器窗口中。 可选的, 终端 Β还可以在浏览器窗口中呈现自身通过摄像头获得的视频图像。可选的, 终端 Β可以将 合成的高清视频图像呈现在较大的浏览器窗口中, 而将对应于第三基本层视频数据流的视 频图像呈现在较小的浏览器窗口中。 可选的, 终端 Β根据自身未持续接收到语音信号这一 监测结果, 可以将自身通过摄像头获得的视频图像呈现在较小的浏览器窗口中。
类似地, 对于终端 C而言, 其釆用 SVC技术解码接收到的第一、 第二基本层视频数据 流以及第一扩展层视频数据流, 并将解码得到的对应于第一基本层视频数据流的视频图像 和对应于第一扩展层视频数据流的视频图像合成为高清视频图像后, 呈现在浏览器窗口 中, 同时将解码得到的对应于第二基本层视频数据流的视频图像呈现在浏览器窗口中。 可 选的, 终端 C还可以在浏览器窗口中呈现自身通过摄像头获得的视频图像。 可选的, 终端 C 可以将合成的高清视频图像呈现在较大的浏览器窗口中, 而将对应于第三基本层视频数据 流的视频图像呈现在较小的浏览器窗口中。 可选的, 终端 C根据自身未持续接收到语音信 号这一监测结果, 可以将自身通过摄像头获得的视频图像呈现在较小的浏览器窗口中。
步骤 36 , 当终端 Α监测到其未持续接收到语音信号时, 仍然会将第一基本层视频数据 流发送给终端 B、 终端 C , 但同时会停止发送第一扩展层视频数据流;
当终端 B监测到其持续接收到语音信号时, 会将其通过摄像头获取到的视频图像编码 为第二基本层视频数据流和第二扩展层视频数据流, 并发送给终端 A和终端 C。
由于终端 C监测到其仍然未持续接收到语音信号, 从而向终端 A和终端 B发送第三基本 层视频数据流。
具体地, 视频会议终端可用通过调整自身的驱动工作模式、 调整视频数据流的编解码 算法或调整自身包含的用于发送视频数据流的模块等手段, 实现从发送基本层视频数据流 切换为发送基本层视频数据流和扩展层视频数据流(也可能是从发送送基本层视频数据流 和扩展层视频数据流切换为发送基本层视频数据流) 。
步骤 37 , 终端 B釆用 SVC技术解码接收到的第一、 第三基本层视频数据流, 并将解码 得到的视频图像呈现在终端 B上运行的浏览器窗口中。 同时, 终端 B还可以根据自身持续接 收到语音信号这一监测结果, 以高清方式在该浏览器窗口中呈现其通过摄像头获得的视频
图像。 可选的, 上述解码得到的视频图像可以呈现在较小的浏览器窗口中, 而通过摄像头 获得的视频图像则可以呈现在较大的浏览器窗口中。
对于终端 A而言, 在步骤 37中, 其釆用 SVC技术解码接收到的第二、 第三基本层视频 数据流以及第二扩展层视频数据流, 并将解码得到的对应于第二基本层视频数据流的视频 图像和对应于第二扩展层视频数据流的视频图像合成为高清视频图像后 , 呈现在浏览器窗 口, 同时将解码得到的对应于第三基本层视频数据流的视频图像呈现在浏览器窗口中。 可 选的, 终端 A还可以在浏览器窗口中呈现自身通过摄像头获得的视频图像。 可选的, 终端 A 可以将合成的高清视频图像呈现在较大的浏览器窗口中, 而将对第三基本层视频数据流解 码得到的视频图像和自身通过摄像头获得的视频图像呈现在较小的浏览器窗口中。
类似地, 对于终端 C而言, 在步骤 37中, 其釆用 SVC解码技术解码接收到的第一、 第 二基本层视频数据流以及第二扩展层视频数据流, 并将对第二基本层视频数据流解码得到 的视频图像和对第二扩展层视频数据流解码得到的视频图像合成为高清视频图像后 , 呈现 在浏览器窗口, 同时将解码得到的对应于第一基本层视频数据流的视频图像呈现在浏览器 窗口中。 可选的, 终端 C还可以在浏览器窗口中呈现自身通过摄像头获得的视频图像。 可 选的, 终端 C可以将合成的高清视频图像呈现在较大的浏览器窗口中, 而将对应于第一基 本层视频数据流的视频图像呈现在较小的浏览器窗口中。 可选的, 终端 C根据自身未持续 接收到语音信号这一监测结果, 可以将自身通过摄像头获得的视频图像呈现在较小的浏览 器窗口中。
以上介绍的流程主要针对的是会议发言人变化一次的场景。 本领域技术人员根据上述 流程, 可以确定当会议发言人多次变化时, 可以釆用与上述流程类似的方案。
通过本发明实施例提供的方案在实际中的上述应用, 可以实现视频会议终端根据用于 体现会议状态的信息来自适应调整其发送的视频数据流, 从而在保证用户体验不受到影响 的前提下, 大大减少了发送方视频会议终端针对视频数据流的传输开销。
本发明实施例提供的方案不仅适用于完全分布式混频会议场景, 还适用于基于混频服 务器的会议场景。 前者具体是指各个会议参与方使用的视频会议终端均参与视频数据流的 混合调制。 在该场景下, 釆用本发明实施例提供的方案能够显著降低发送方视频会议终端 对于视频数据流的传输开销, 同时降低接收方视频会议终端对于视频数据流的调制处理开 销。 而后者具体是指媒体面除存在视频会议终端外, 还存在一个专用的混频服务器, 其负 责接收全部或视频会议的视频会议终端所发送的视频数据流(包括基本层视频数据流和 / 或扩展层视频数据流) , 并对接收到的视频数据流进行统一解码与呈现, 以及对视频数据 流进行下发。 该混频服务器可以看做是一个集中式的发送方视频会议终端, 同时也可以看 做是一个集中式的接收方视频会议终端。 在该场景下, 釆用本发明实施例提供的方案, 可 以显著降低发送方视频会议终端对于视频数据流的传输开销, 同时还可以降低混频服务器
对于视频数据流的调制处理开销。
本发明实施例中, 视频会议终端可以但不限于釆用下述软、 硬件结构之一来实现上述 流程:
能够实现 VoIP功能的软件; 运行在视频会议终端上的, 且支持实时通信的浏览器; 依 托于本地浏览器 API , 支持实时通信的网页程序(例如, 页面内嵌的 java脚本); 依托于视 频会议平台 API, 为视频会议上层应用提供支持的中间件软件; 为视频会议终端定制, 且 能够实现上述流程的固化硬件设备。
在实际应用中, 如图 3所示的流程还可以进行下述扩展:
实施例 1 :
视频数据流发送规则的选取依据除了可以是如上所述的 "视频会议终端是否监测到其 持续接收到语音信号" , 还可以是视频会议终端是否接收到用户输入的用于指示视频会议 终端将麦克风设置为静音的指示消息、 视频会议终端是否连接有音频信号釆集设备, 或视 频会议的视频图像呈现窗口是否为视频会议终端当前所展示的的焦点窗口等。
实施例 2:
视频会议终端在发送视频数据流时, 可以自主调整视频数据流的编码层数, 即调整发 送的扩展层视频数据流的数量。
此外, 视频会议终端还可用对视频数据流的发送速率进行调整。 比如, 对于支持自适 应速率视频编解码算法的视频会议终端, 可通过调整视频图像帧传输速率、 视频图像的釆 样率、 量化步长等参数来实现对扩展层视频数据流的发送速率的调整;
对于支持多种不同速率视频编解码算法的视频会议终端, 当发送方视频会议终端由发 送基本层视频数据流和扩展层视频数据流切换为只发送基本层视频数据流时, 可与接收方 视频会议终端进行重新协商后, 釆用较低速率的视频编解码算法将视频图编码为基本层视 频数据流后进行发送。 反之, 当发送方视频会议终端由发送基本层视频数据流切换为发送 基本层视频数据流和扩展层视频数据流切换时, 可与接收方视频会议终端进行重新协商 后, 釆用较高速率的视频编解码算法将视频图编码为基本层视频数据流和扩展层视频数据 流后进行发送。
对应于本发明实施例提供的视频数据流的发送方法, 本发明实施例还提供一种终端, 其具体结构示意图如图 4所示, 包括以下功能单元:
状态信息获得单元 41 , 用于获得本地多媒体装置的状态信息;
可选的, 该状态信息获得单元 41具体可以包括运行在该终端中的浏览器。 该浏览器的 主要作用在于: 通过该终端的操作系统的应用程序编程接口 API, 确定本地语音接收设备 是否被设置为静默状态;或根据浏览器自身的编解码输出 /媒体数据输入接口所传输的针对 视频会议的数据包的信息, 确定本地语音接收设备是否被设置为静默状态; 或确定浏览器
自身针对视频会议状态的状态维护信息, 并根据该状态维护信息确定本地语音接收设备是 否处于暂停传输语音信号的状态等。
发送规则确定单元 42, 用于根据状态信息获得单元 41获得的状态信息, 确定视频数据 流的发送规则;
可选的, 该发送规则确定单元 42可以为运行在终端中的浏览器。
可选的, 该发送规则确定单元 42具体可以包括运行在终端中的浏览器和由脚本程序实 现的发送规则确定子单元。 其中, 浏览器用于通过 API, 将状态信息提供给发送规则确定 子单元; 而发送规则确定子单元用于根据浏览器提供的状态信息, 确定视频数据流的发送 规则。
发送单元 43 , 用于根据发送规则确定单元 42确定的发送规则, 向接收方设备发送视频 数据流。
可选的, 当上述多媒体装置为语音接收设备时, 发送规则确定单元 42具体可以用于: 当语音接收设备的状态信息为持续接收语音信号时, 确定向接收方设备发送基于分层 视频编解码技术, 对通过本地视频图像获取设备获得的视频图像进行编码得到的基本层视 频数据流和扩展层视频数据流; 当语音接收设备的状态信息为未持续接收语音信号时, 确 定向接收方设备发送基于分层视频编解码技术, 对通过本地视频图像获取设备获得的视频 图像进行编码得到的基本层视频数据流。
可选的, 本发明实施例提供的上述终端还可以进一步包括下述单元, 以实现根据状态 信息对获取的视频图像进行显示:
第一显示规则确定单元, 用于根据状态信息获得单元 41获得的状态信息, 确定针对通 过本地视频图像获取设备获取的视频图像的显示规则;
显示单元, 用于根据第一显示规则确定单元确定的显示规则, 显示通过本地视频图像 获取设备获取的视频图像。
可选的, 当上述多媒体装置为语音接收设备时,第一显示规则确定单元具体可以用于: 当语音接收设备的状态信息为持续接收语音信号时, 确定在该终端上运行的浏览器的第一 窗口中显示获取的视频图像; 当语音接收设备的状态信息为未持续接收语音信号时, 确定 在该终端上运行的浏览器的第二窗口中显示获取的视频图像; 其中, 第一窗口的面积大于 第二窗口的面积。
可选的, 为了实现对该终端接收到的视频数据流进行显示, 该终端还可以进一步包括 下述功能单元:
接收单元,用于接收其他视频数据流发送终端发送的视频数据流;层次信息确定单元, 用于确定接收单元接收到的视频数据流的层次信息; 第二显示规则确定单元, 用于根据层 次信息确定单元确定的层次信息, 确定对接收单元接收的视频数据流解码得到的视频图像
的显示规则。
可选的, 上述发送单元 43还可以进一步划分为以下功能子单元, 包括:
编码子单元, 用于根据所述发送规则, 基于分层视频编解码技术对获得的视频图像进 行编码;
发送子单元, 用于向接收方设备发送编码子单元编码得到的视频数据流。
为了解决现有的视频数据流发送方案会产生不必要的传输开销的问题, 本发明实施例 还提供一种视频数据流的传输系统。 该系统包括视频数据流发送终端和接收方设备, 其具 体功能如下:
视频数据流发送终端, 用于获得本地多媒体装置的状态信息; 并根据该状态信息, 确 定视频数据流的发送规则; 以及根据该发送规则, 向接收方设备发送视频数据流。
接收方设备, 则用于接收视频数据流发送终端发送的视频数据流。
可选的, 当上述多媒体装置为语音接收设备时, 视频数据流发送终端具体用于: 当语音接收设备的状态信息为持续接收语音信号时, 确定向接收方设备发送基于分层 视频编解码技术, 对通过本地视频图像获取设备获得的视频图像进行编码得到的基本层视 频数据流和扩展层视频数据流; 当语音接收设备的状态信息为未持续接收语音信号时, 确 定向接收方设备发送基于分层视频编解码技术, 对通过本地视频图像获取设备获得的视频 图像进行编码得到的基本层视频数据流。
可选的, 当上述多媒体装置为视频图像显示设备时, 视频数据流发送终端具体用于: 当视频图像显示设备的状态信息为显示关于视频会议的视频图像时, 确定向接收方设 备发送基于分层视频编解码技术, 对通过本地视频图像获取设备获得的视频图像进行编码 得到的基本层视频数据流和扩展层视频数据流; 当视频图像显示设备的状态信息为没有显 示关于视频会议的视频图像时, 确定向接收方设备发送基于分层视频编解码技术, 对通过 本地视频图像获取设备获得的视频图像进行编码得到的基本层视频数据流。
可选的, 为了确定对本地视频图像获取设备获取的视频图像的显示规则, 视频数据流 发送终端具体还可以用于: 根据状态信息, 确定针对通过本地视频图像获取设备获取的视 频图像的显示规则; 然后, 再根据确定的显示规则, 显示该获取的视频图像。 比如, 当多 媒体装置为语音接收设备时, 视频数据流发送终端具体可以用于: 当语音接收设备的状态 信息为持续接收语音信号时, 确定在视频数据流发送终端上运行的浏览器的第一窗口中显 示所述获取的视频图像; 当语音接收设备的状态信息为未持续接收语音信号时, 确定在视 频数据流发送终端上运行的浏览器的第二窗口中显示所述获取的视频图像; 其中, 第一窗 口的面积大于第二窗口的面积。
可选的, 视频数据流发送终端还用于接收其他视频数据流发送终端发送的视频数据 流。 即视频数据流发送终端不仅仅可以发送视频数据流, 也可以接收其他视频数据流发送
终端发送来的视频数据流, 从而也具备接收方设备的身份。 本发明实施例中, 视频数据流 发送终端在接收到视频数据流后, 根据该视频数据流的层次信息, 就可以确定对接收的视 频数据流解码得到的视频图像的显示规则。
可选的, 视频数据流发送终端具体可以用于: 调用运行在视频数据流发送终端中的浏 览器通过视频数据流发送终端的操作系统的 API, 确定本地语音接收设备是否被设置为静 默状态;或调用该浏览器根据浏览器自身的编解码输出 /媒体数据输入接口所传输的针对视 频会议的数据包的信息, 确定本地语音接收设备是否被设置为静默状态; 或调用该浏览器 确定浏览器自身针对视频会议状态的状态维护信息, 并根据该状态维护信息确定本地语音 接收设备是否处于暂停传输语音信号的状态。
可选的, 视频数据流发送终端具体可以用于: 调用运行在视频数据流发送终端中的浏 览器根据获得的状态信息, 确定视频数据流的发送规则。
可选的, 视频数据流发送终端具体还可以用于: 调用运行在视频数据流发送终端中的 浏览器通过 API , 将获得的状态信息提供给视频数据流发送终端中由脚本程序实现的发送 规则确定单元; 并调用发送规则确定单元根据该状态信息确定视频数据流的发送规则。
本领域内的技术人员应明白, 本发明的实施例可提供为方法、 系统、 或计算机程序产 品。 因此, 本发明可釆用完全硬件实施例、 完全软件实施例、 或结合软件和硬件方面的实 施例的形式。 而且, 本发明可釆用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介盾 (包括但不限于磁盘存储器、 CD-ROM、 光学存储器等)上实施的计算机程 序产品的形式。
本发明是参照根据本发明实施例的方法、 设备 (系统) 、 和计算机程序产品的流程图 和 /或方框图来描述的。 应理解可由计算机程序指令实现流程图和 /或方框图中的每一流 程和 /或方框、 以及流程图和 /或方框图中的流程和 /或方框的结合。 可提供这些计算机 程序指令到通用计算机、 专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器 以产生一个机器, 使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用 于实现在流程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的 装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方 式工作的计算机可读存储器中, 使得存储在该计算机可读存储器中的指令产生包括指令装 置的制造品, 该指令装置实现在流程图一个流程或多个流程和 /或方框图一个方框或多个 方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计算机 或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理, 从而在计算机或其他 可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和 /或方框图一个
方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例, 但本领域内的技术人员一旦得知了基本创造性概 念, 则可对这些实施例作出另外的变更和修改。 所以, 所附权利要求意欲解释为包括优选 实施例以及落入本发明范围的所有变更和修改。
显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和 范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。
Claims
1、 一种视频数据流的发送方法, 其特征在于, 包括:
视频数据流发送终端获得本地多媒体装置的状态信息;
根据所述状态信息, 确定视频数据流的发送规则; 并
根据所述发送规则, 向接收方设备发送视频数据流。
2、 如权利要求 1所述的方法, 其特征在于, 所述多媒体装置为语音接收设备; 以及 根据所述状态信息, 确定视频数据流的发送规则, 具体包括:
当所述语音接收设备的状态信息为持续接收语音信号时, 确定向接收方设备发送基于 分层视频编解码技术, 对通过本地视频图像获取设备获得的视频图像进行编码得到的基本 层视频数据流和扩展层视频数据流;
当所述语音接收设备的状态信息为未持续接收语音信号时, 确定向接收方设备发送基 于分层视频编解码技术, 对通过本地视频图像获取设备获得的视频图像进行编码得到的基 本层视频数据流。
3、 如权利要求 1所述的方法, 其特征在于, 所述多媒体装置为视频图像显示设备; 以 及
根据所述状态信息确定视频数据流的发送规则, 具体包括:
当所述视频图像显示设备的状态信息为显示关于视频会议的视频图像时, 确定向接收 方设备发送基于分层视频编解码技术, 对通过本地视频图像获取设备获得的视频图像进行 编码得到的基本层视频数据流和扩展层视频数据流;
当所述视频图像显示设备的状态信息为没有显示关于视频会议的视频图像时, 确定向 接收方设备发送基于分层视频编解码技术, 对通过本地视频图像获取设备获得的视频图像 进行编码得到的基本层视频数据流。
4、 如权利要求 1所述的方法, 其特征在于, 还包括:
视频数据流发送终端根据所述状态信息, 确定针对通过本地视频图像获取设备获取的 视频图像的显示规则; 以及
根据确定的显示规则, 显示所述获取的视频图像。
5、 如权利要求 4所述的方法, 其特征在于, 所述多媒体装置为语音接收设备; 以及视 频数据流发送终端根据所述状态信息, 确定所述获取的视频图像的显示规则, 具体包括: 当所述语音接收设备的状态信息为持续接收语音信号时, 确定在视频数据流发送终端 上运行的浏览器的第一窗口中显示所述获取的视频图像;
当所述语音接收设备的状态信息为未持续接收语音信号时, 确定在视频数据流发送终 端上运行的浏览器的第二窗口中显示所述获取的视频图像;
其中, 所述第一窗口的面积大于第二窗口的面积。
6、 如权利要求 2~5任一所述的方法, 其特征在于, 还包括:
视频数据流发送终端接收其他视频数据流发送终端发送的视频数据流;
根据接收到的视频数据流的层次信息, 确定对接收的视频数据流解码得到的视频图像 的显示规则。
7、 如权利要求 1所述的方法, 其特征在于, 根据所述发送规则, 向接收方设备发送视 频数据流, 具体包括:
根据所述发送规则, 基于分层视频编解码技术对获得的视频图像进行编码; 以及 向接收方设备发送编码得到的视频数据流。
8、 如权利要求 1所述的方法, 其特征在于, 视频数据流发送终端获得本地多媒体装置 的状态信息, 具体包括: 程序编程接口 API, 确定本地语音接收设备是否被设置为静默状态; 或
所述浏览器根据所述浏览器自身的编解码输出 /媒体数据输入接口所传输的针对视频 会议的数据包的信息, 确定本地语音接收设备是否被设置为静默状态; 或
所述浏览器确定所述浏览器自身针对视频会议状态的状态维护信息, 并根据该状态维 护信息确定本地语音接收设备是否处于暂停传输语音信号的状态。
9、 如权利要求 1所述的方法, 其特征在于, 根据所述状态信息, 确定视频数据流的发 送规则, 具体包括:
运行在视频数据流发送终端中的浏览器根据所述状态信息确定所述发送规则; 或 运行在视频数据流发送终端中的浏览器通过 API, 将所述状态信息提供给视频数据流 发送终端中由脚本程序实现的发送规则确定单元; 以及所述发送规则确定单元根据所述状 态信息确定所述发送规则。
10、 一种终端, 其特征在于, 包括:
状态信息获得单元, 用于获得本地多媒体装置的状态信息;
发送规则确定单元, 用于根据状态信息获得单元获得的状态信息, 确定视频数据流的 发送规则;
发送单元, 用于根据发送规则确定单元确定的发送规则, 向接收方设备发送视频数据 流。
11、 如权利要求 10所述的终端, 其特征在于, 所述多媒体装置为语音接收设备; 以及 所述发送规则确定单元具体用于:
当所述语音接收设备的状态信息为持续接收语音信号时, 确定向接收方设备发送基于 分层视频编解码技术, 对通过本地视频图像获取设备获得的视频图像进行编码得到的基本
层视频数据流和扩展层视频数据流;
当所述语音接收设备的状态信息为未持续接收语音信号时, 确定向接收方设备发送基 于分层视频编解码技术, 对通过本地视频图像获取设备获得的视频图像进行编码得到的基 本层视频数据流。
12、 如权利要求 10所述的终端, 其特征在于, 所述多媒体装置为视频图像显示设备; 以及
所述发送规则确定单元具体用于:
当所述视频图像显示设备的状态信息为显示关于视频会议的视频图像时, 确定向接收 方设备发送基于分层视频编解码技术, 对通过本地视频图像获取设备获得的视频图像进行 编码得到的基本层视频数据流和扩展层视频数据流;
当所述视频图像显示设备的状态信息为没有显示关于视频会议的视频图像时, 确定向 接收方设备发送基于分层视频编解码技术, 对通过本地视频图像获取设备获得的视频图像 进行编码得到的基本层视频数据流。
13、 如权利要求 10所述的终端, 其特征在于, 还包括:
第一显示规则确定单元, 用于根据状态信息获得单元获得的状态信息, 确定针对通过 本地视频图像获取设备获取的视频图像的显示规则;
显示单元, 用于根据第一显示规则确定单元确定的显示规则, 显示所述获取的视频图 像。
14、 如权利要求 13所述的终端, 其特征在于, 所述多媒体装置为语音接收设备; 以及 所述第一显示规则确定单元具体用于:
当所述语音接收设备的状态信息为持续接收语音信号时, 确定在所述终端上运行的浏 览器的第一窗口中显示所述获取的视频图像;
当所述语音接收设备的状态信息为未持续接收语音信号时, 确定在所述终端上运行的 浏览器的第二窗口中显示所述获取的视频图像;
其中, 所述第一窗口的面积大于第二窗口的面积。
15、 如权利要求 10 14任一所述的终端, 其特征在于, 还包括:
接收单元, 用于接收其他视频数据流发送终端发送的视频数据流;
层次信息确定单元, 用于确定接收单元接收到的视频数据流的层次信息;
第二显示规则确定单元, 用于根据层次信息确定单元确定的层次信息, 确定对接收单 元接收的视频数据流解码得到的视频图像的显示规则。
16、 如权利要求 10所述的终端, 其特征在于, 所述发送单元具体包括:
编码子单元, 用于根据所述发送规则, 基于分层视频编解码技术对获得的视频图像进 行编码;
发送子单元, 用于向接收方设备发送编码子单元编码得到的视频数据流。
17、 如权利要求 10所述的终端, 其特征在于, 所述状态信息获得单元具体包括: 运行在所述终端中的浏览器, 用于通过所述终端的操作系统的应用程序编程接口 API , 确定本地语音接收设备是否被设置为静默状态;或用于根据浏览器自身的编解码输出 /媒体 数据输入接口所传输的针对视频会议的数据包的信息, 确定本地语音接收设备是否被设置 为静默状态; 或用于确定浏览器自身针对视频会议状态的状态维护信息, 并根据该状态维 护信息确定本地语音接收设备是否处于暂停传输语音信号的状态。
18、 如权利要求 10所述的终端, 其特征在于, 所述发送规则确定单元为运行在所述终 端中的浏览器。
19、 如权利要求 10所述的终端, 其特征在于, 所述发送规则确定单元具体包括: 运行 在所述终端中的浏览器和由脚本程序实现的发送规则确定子单元, 其中:
所述浏览器, 用于通过 API, 将所述状态信息提供给所述发送规则确定子单元; 所述发送规则确定子单元, 用于根据所述浏览器提供的所述状态信息, 确定所述发送 规则。
20、 一种视频数据流的传输系统, 包括视频数据流发送终端和接收方设备, 其特征在 于:
视频数据流发送终端, 用于获得本地多媒体装置的状态信息; 并根据所述状态信息, 确定视频数据流的发送规则; 以及根据所述发送规则, 向接收方设备发送视频数据流; 接收方设备, 用于接收视频数据流发送终端发送的视频数据流。
21、 如权利要求 20所述的系统, 其特征在于, 所述多媒体装置为语音接收设备; 以及 视频数据流发送终端具体用于:
当所述语音接收设备的状态信息为持续接收语音信号时, 确定向接收方设备发送基于 分层视频编解码技术, 对通过本地视频图像获取设备获得的视频图像进行编码得到的基本 层视频数据流和扩展层视频数据流;
当所述语音接收设备的状态信息为未持续接收语音信号时, 确定向接收方设备发送基 于分层视频编解码技术, 对通过本地视频图像获取设备获得的视频图像进行编码得到的基 本层视频数据流。
22、 如权利要求 20所述的系统, 其特征在于, 所述多媒体装置为视频图像显示设备; 以及
视频数据流发送终端具体用于:
当所述视频图像显示设备的状态信息为显示关于视频会议的视频图像时, 确定向接收 方设备发送基于分层视频编解码技术, 对通过本地视频图像获取设备获得的视频图像进行 编码得到的基本层视频数据流和扩展层视频数据流;
当所述视频图像显示设备的状态信息为没有显示关于视频会议的视频图像时, 确定向 接收方设备发送基于分层视频编解码技术, 对通过本地视频图像获取设备获得的视频图像 进行编码得到的基本层视频数据流。
23、 如权利要求 20所述的系统, 其特征在于, 视频数据流发送终端还用于: 根据所述 状态信息, 确定针对通过本地视频图像获取设备获取的视频图像的显示规则; 以及根据确 定的显示规则, 显示所述获取的视频图像。
24、 如权利要求 23所述的系统, 其特征在于, 所述多媒体装置为语音接收设备; 以及 视频数据流发送终端具体用于:
当所述语音接收设备的状态信息为持续接收语音信号时, 确定在视频数据流发送终端 上运行的浏览器的第一窗口中显示所述获取的视频图像;
当所述语音接收设备的状态信息为未持续接收语音信号时, 确定在视频数据流发送终 端上运行的浏览器的第二窗口中显示所述获取的视频图像;
其中, 所述第一窗口的面积大于第二窗口的面积。
25、 如权利要求 20~24任一所述的系统, 其特征在于, 视频数据流发送终端还用于: 接收其他视频数据流发送终端发送的视频数据流; 并根据接收到的视频数据流的层次信 息, 确定对接收的视频数据流解码得到的视频图像的显示规则。
26、 如权利要求 20所述的系统, 其特征在于, 视频数据流发送终端具体用于: 根据所 述发送规则, 基于分层视频编解码技术对获得的视频图像进行编码; 以及向接收方设备发 送编码得到的视频数据流。
27、 如权利要求 20所述的系统, 其特征在于, 视频数据流发送终端具体用于: 应用程序编程接口 API, 确定本地语音接收设备是否被设置为静默状态; 或
调用所述浏览器根据所述浏览器自身的编解码输出 /媒体数据输入接口所传输的针对 视频会议的数据包的信息, 确定本地语音接收设备是否被设置为静默状态; 或
调用所述浏览器确定所述浏览器自身针对视频会议状态的状态维护信息, 并根据该状 态维护信息确定本地语音接收设备是否处于暂停传输语音信号的状态。
28、 如权利要求 20所述的系统, 其特征在于, 视频数据流发送终端具体用于: 调用运行在视频数据流发送终端中的浏览器根据所述状态信息确定所述发送规则。
29、 如权利要求 20所述的系统, 其特征在于, 视频数据流发送终端具体用于: 调用运行在视频数据流发送终端中的浏览器通过 API, 将所述状态信息提供给视频数 据流发送终端中由脚本程序实现的发送规则确定单元; 以及调用发送规则确定单元根据所 述状态信息确定所述发送规则。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201210229302.7A CN103533294B (zh) | 2012-07-03 | 2012-07-03 | 视频数据流的发送方法、终端及系统 |
| CN201210229302.7 | 2012-07-03 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014005488A1 true WO2014005488A1 (zh) | 2014-01-09 |
Family
ID=49881324
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2013/077829 Ceased WO2014005488A1 (zh) | 2012-07-03 | 2013-06-25 | 视频数据流的发送方法、终端及系统 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN103533294B (zh) |
| WO (1) | WO2014005488A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105338290A (zh) * | 2014-06-10 | 2016-02-17 | 杭州海康威视数字技术股份有限公司 | 码流的合成方法及装置 |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108093197B (zh) * | 2016-11-21 | 2021-06-15 | 阿里巴巴集团控股有限公司 | 用于信息分享的方法、系统及机器可读介质 |
| CN110719430A (zh) * | 2018-07-13 | 2020-01-21 | 杭州海康威视数字技术股份有限公司 | 图像数据生成方法、装置、电子设备及存储介质 |
| CN113347391B (zh) * | 2021-05-31 | 2022-12-06 | 北京字跳网络技术有限公司 | 一种数据传输方法、数据传输中断方法及装置 |
| WO2023193126A1 (en) * | 2022-04-05 | 2023-10-12 | Citrix Systems, Inc. | Enhanced video conferencing based on speech detection |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1618233A (zh) * | 2002-01-30 | 2005-05-18 | 摩托罗拉公司 | 视频会议系统和操作方法 |
| CN101123702A (zh) * | 2006-08-10 | 2008-02-13 | 三星电子株式会社 | 图像显示设备及其控制方法 |
| US20080068446A1 (en) * | 2006-08-29 | 2008-03-20 | Microsoft Corporation | Techniques for managing visual compositions for a multimedia conference call |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8385233B2 (en) * | 2007-06-12 | 2013-02-26 | Microsoft Corporation | Active speaker identification |
| US20090210789A1 (en) * | 2008-02-14 | 2009-08-20 | Microsoft Corporation | Techniques to generate a visual composition for a multimedia conference event |
| CN102763408B (zh) * | 2010-02-11 | 2020-01-17 | 上海诺基亚贝尔股份有限公司 | 基于svc的e-mbms流传输方法和设备 |
-
2012
- 2012-07-03 CN CN201210229302.7A patent/CN103533294B/zh active Active
-
2013
- 2013-06-25 WO PCT/CN2013/077829 patent/WO2014005488A1/zh not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1618233A (zh) * | 2002-01-30 | 2005-05-18 | 摩托罗拉公司 | 视频会议系统和操作方法 |
| CN101123702A (zh) * | 2006-08-10 | 2008-02-13 | 三星电子株式会社 | 图像显示设备及其控制方法 |
| US20080068446A1 (en) * | 2006-08-29 | 2008-03-20 | Microsoft Corporation | Techniques for managing visual compositions for a multimedia conference call |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105338290A (zh) * | 2014-06-10 | 2016-02-17 | 杭州海康威视数字技术股份有限公司 | 码流的合成方法及装置 |
| CN105338290B (zh) * | 2014-06-10 | 2019-04-12 | 杭州海康威视数字技术股份有限公司 | 码流的合成方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN103533294B (zh) | 2017-06-20 |
| CN103533294A (zh) | 2014-01-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103229495B (zh) | 针对位于同一位置的参与者提高多点会议可扩展性 | |
| US10015440B2 (en) | Multiple channel communication using multiple cameras | |
| CA2697664C (en) | Method and apparatus for determining preferred image format between mobile video telephones | |
| EP2761809B1 (en) | Method, endpoint, and system for establishing a video conference | |
| CN105763832B (zh) | 一种视频互动、控制方法及装置 | |
| WO2012075937A1 (zh) | 视频通话方法及可视电话 | |
| CN101888519A (zh) | 共享桌面内容的方法和智能设备 | |
| CN103327287B (zh) | 一种会议信号播放方法和装置、视频会议终端、移动设备 | |
| CN102550008A (zh) | 控制多方通信 | |
| CN104685873B (zh) | 编码控制设备以及编码控制方法 | |
| US11290680B1 (en) | High-fidelity freeze-frame for precision video communication applications | |
| CN1859566A (zh) | 一种用于可视电话视频音频信号传输的装置及方法 | |
| WO2013113281A1 (zh) | 传输多媒体数据的方法、装置及系统 | |
| WO2012079510A1 (zh) | 应用于视频会议的静音指示方法及装置 | |
| CN108134915A (zh) | 用于混合式拓扑媒体会议系统的方法和系统 | |
| CN103533294B (zh) | 视频数据流的发送方法、终端及系统 | |
| CN108259813A (zh) | 多功能传屏装置、系统及方法 | |
| US9369511B2 (en) | Telecommunication network | |
| WO2014114085A1 (zh) | 瘦客户机及其通信方法和装置 | |
| EP1875769A2 (en) | Multi-participant conferencing | |
| CN108366044B (zh) | 一种VoIP远程音视频共享方法 | |
| WO2015086193A1 (en) | Process for managing the exchanges of video streams between users of a video conference service | |
| CN110445929B (zh) | 通话连接建立方法、服务器、电子装置及存储介质 | |
| CN103503410B (zh) | 云计算系统中的媒体流数据的传输方法及物理服务器 | |
| WO2012155761A1 (zh) | 一种可视电话动态相框实现方法及移动终端 |
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: 13812648 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: 13812648 Country of ref document: EP Kind code of ref document: A1 |