CN107172376B - Video coding method and device based on screen sharing - Google Patents

Video coding method and device based on screen sharing Download PDF

Info

Publication number
CN107172376B
CN107172376B CN201710496439.1A CN201710496439A CN107172376B CN 107172376 B CN107172376 B CN 107172376B CN 201710496439 A CN201710496439 A CN 201710496439A CN 107172376 B CN107172376 B CN 107172376B
Authority
CN
China
Prior art keywords
frame
screenshot
change
processing unit
frames
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710496439.1A
Other languages
Chinese (zh)
Other versions
CN107172376A (en
Inventor
李晓威
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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201710496439.1A priority Critical patent/CN107172376B/en
Publication of CN107172376A publication Critical patent/CN107172376A/en
Application granted granted Critical
Publication of CN107172376B publication Critical patent/CN107172376B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention discloses a video coding method and device based on screen sharing, and relates to the technical field of computers. The method comprises the following steps: acquiring screenshots from an original screen at a preset frequency; taking a screenshot in a preset time unit as a processing unit, and respectively counting the number of the change frames in the processing unit; setting a coding frame rate according to the number of the changed frames in the processing unit and a preset time unit; and coding the change frame according to the coding frame rate. The method solves the technical problems that when the existing video call coding process is used for screen sharing, a large number of repeated frames cannot be pre-judged in advance, repeated calculation of the large number of repeated frames and waste of network resources are caused, and under the same code rate, part of code rate quota is wasted on the repeated frames, so that the frames of the changed frames are not clear enough. The method has the advantages of reducing the calculation of the repeated frames and the waste of network resources and improving the definition of the changed frames.

Description

Video coding method and device based on screen sharing
Technical Field
The invention relates to the technical field of computers, in particular to a video coding method and device based on screen sharing.
Background
With the popularization of instant communication tools, the screen sharing technology mainly used for document display has become the standard configuration of video conferences at present, and the main realization mode for realizing screen sharing is as follows: 1) a VNC (virtual Network computing) technology, which uses an rfb (remote Frame buffer) protocol, for example, when the VNC is implemented, a server receives an action of a client, generates a corresponding desktop picture, transmits an entire picture to the client at the beginning, and then sends incremental data of a screen change portion. 2) Data is transmitted through point-to-point or transit services using video call mode, screen capture/encoding/sending/receiving/decoding/display mode.
In the instant messaging tool, in order to simplify the design, the screen stream is generally regarded as being indistinguishable from the camera video stream, and the two share a video communication framework to transmit data, so that a client and a server of a VNC protocol are not separately developed for the screen sharing function. Although the screen sharing is consistent with the video call principle, the screen sharing application scene has uniqueness: the content of the screen buffer area generally does not change when no user intervenes, namely the content repetition probability of continuous adjacent frames is very high, and the number of static frames is multiple than that of changing scenes; images in a scene of a common video record basically continuously change, and even if a shooting object is still, the completely repeated images rarely appear due to the reasons of slight shooting angle change, environmental light source change, image noise of acquisition equipment and the like. And the requirement of the screen sharing picture quality is higher than that of the common video call, and under the condition of the same code rate, when the picture quality of the video image is acceptable, the detail distortion degree in the screen sharing picture is often unacceptable. In addition, the screen sharing picture delay is slightly lower than the requirement of video call, and some frame buffering and preprocessing can be performed before encoding.
When the existing video call coding process is used for screen sharing, a large number of repeated frames cannot be pre-judged in advance, and a standard 'coding/encryption/transmission/decryption/decoding' flow is still adopted for frame-by-frame coding, which can result in that: the repeated calculation of a large number of repeated frames and the waste of network resources, and under the same code rate, part of code rate quota is wasted on the repeated frames, so that the pictures of the changed frames are not clear enough.
Disclosure of Invention
In view of the above problems, the present invention has been made to provide a screen sharing-based video encoding method and a corresponding screen sharing-based video encoding apparatus that overcome or at least partially solve the above problems.
According to an aspect of the present invention, there is provided a video encoding method based on screen sharing, including:
acquiring screenshots from an original screen at a preset frequency;
taking a screenshot in a preset time unit as a processing unit, and respectively counting the number of the change frames in the processing unit;
setting a coding frame rate according to the number of the changed frames in the processing unit and a preset time unit;
and coding the change frame according to the coding frame rate.
Optionally, the step of taking the screenshot in a preset time unit as a processing unit and respectively counting the number of the changed frames in the processing unit includes:
setting a first frame screenshot in a processing unit as a change frame by taking the screenshot in a preset time unit as the processing unit;
determining whether the screen capture is a change frame or not according to the brightness component of each screen capture from the second frame screen capture to the last frame screen capture of the processing unit;
and counting the number of the change frames in the processing unit.
Optionally, the step of determining whether the screen shot is a changed frame according to a brightness component of each screen shot from the second frame screen shot to the last frame screen shot of the processing unit includes:
acquiring brightness components of the screenshots from the second frame screenshot to the last frame screenshot of the processing unit;
comparing the brightness component of the current screenshot with the brightness component of the previous screenshot, and counting the number of pixel points with the same gray value of the same pixel point in the current screenshot and the previous screenshot;
judging whether the number of the pixel points is equal to the image resolution of the screenshot;
and if the number of the pixel points is not equal to the image resolution of the screenshot, determining that the current screenshot is a change frame.
Optionally, after the step of determining whether the number of the pixel points is equal to the image resolution of the screenshot, the method further includes:
and if the number of the pixel points is equal to the image resolution of the screenshot, confirming that the current screenshot is a static frame, and filtering the static frame.
Optionally, the step of encoding the changed frame according to the encoding frame rate includes:
and setting the first change frame of each preset coding interval as a decoding immediate refresh frame.
According to another aspect of the present invention, there is provided a screen sharing-based video encoding apparatus including:
the screen capture module is used for obtaining screen captures from an original screen at a preset frequency;
the system comprises a change frame counting module, a change frame processing module and a change frame processing module, wherein the change frame counting module is used for taking a screenshot in a preset time unit as a processing unit and respectively counting the number of change frames in the processing unit;
the coding frame rate setting module is used for setting a coding frame rate according to the number of the changed frames in the processing unit and a preset time unit;
and the coding module is used for coding the change frame according to the coding frame rate.
Optionally, the change frame statistics module includes:
the first change frame setting submodule is used for setting a screenshot in a preset time unit as a processing unit and setting a first frame screenshot in the processing unit as a change frame;
a second change frame setting submodule for determining whether the screen capture is a change frame or not according to the brightness component of each screen capture from the second frame screen capture to the last frame screen capture of the processing unit
And the change frame counting submodule is used for counting the number of the change frames in the processing unit.
Optionally, the second change frame setting sub-module includes:
a brightness component obtaining unit, configured to obtain a brightness component of each screenshot from a second frame screenshot to a last frame screenshot of the processing unit;
the pixel point counting unit is used for comparing the brightness component of the current screenshot with the brightness component of the previous screenshot and counting the number of pixel points with the same gray value at the same pixel point in the current screenshot and the previous screenshot;
the pixel point judging unit is used for judging whether the number of the pixel points is equal to the image resolution of the screenshot;
and the change frame determining unit is used for determining that the current screenshot is a change frame if the number of the pixel points is not equal to the image resolution of the screenshot.
Optionally, after the pixel point determining unit, the method further includes:
and the static frame determination filtering unit is used for determining that the current screenshot is a static frame and filtering the static frame if the number of the pixel points is equal to the image resolution of the screenshot.
Optionally, the encoding module is further configured to set a first change frame of each preset encoding interval as a decoded immediate refresh frame.
According to the video coding method and device based on screen sharing, screenshots can be obtained from an original screen at a preset frequency; taking a screenshot in a preset time unit as a processing unit, and respectively counting the number of the change frames in the processing unit; setting a coding frame rate according to the number of the changed frames in the processing unit and a preset time unit; and coding the change frame according to the coding frame rate. Therefore, the technical problems that when the existing video call coding process is used for screen sharing, a large number of repeated frames cannot be pre-judged in advance, repeated calculation of the large number of repeated frames and waste of network resources are caused, and under the same code rate, partial code rate quota is wasted on the repeated frames, and the changed frame picture is not clear enough are solved. The method has the advantages of reducing the calculation of the repeated frames and the waste of network resources and improving the definition of the changed frames.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
fig. 1 is a flowchart illustrating steps of a video encoding method based on screen sharing according to an embodiment of the present invention;
FIG. 1A shows a system architecture diagram for screen sharing according to one embodiment of the present invention.
FIG. 2 is a flowchart illustrating steps of a video encoding method based on screen sharing according to an embodiment of the present invention; and
fig. 3 is a schematic structural diagram illustrating a video encoding apparatus based on screen sharing according to an embodiment of the present invention; and
fig. 4 is a schematic structural diagram illustrating a video encoding apparatus based on screen sharing according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
Example one
The embodiment of the invention provides a video coding method based on screen sharing.
Referring to fig. 1, a flowchart illustrating steps of a video encoding method based on screen sharing according to an embodiment of the present invention is shown.
Step 110, acquiring screenshots from an original screen at a preset frequency.
As mentioned above, with the popularization of instant messaging tools, the screen sharing technology mainly used for document presentation has become the standard of video conferences, and the main implementation manner for realizing screen sharing is as follows: 1) a VNC (virtual Network computing) technology, which uses an rfb (remote Frame buffer) protocol, for example, when the VNC is implemented, a server receives an action of a client, generates a corresponding desktop picture, transmits an entire picture to the client at the beginning, and then sends incremental data of a screen change portion. 2) Data is transmitted through point-to-point or transit services using video call mode, screen capture/encoding/sending/receiving/decoding/display mode. In the instant messaging tool, in order to simplify the design, the screen stream is generally regarded as being indistinguishable from the camera video stream, and the two share a video communication framework to transmit data, so that a client and a server of a VNC protocol are not separately developed for the screen sharing function. The second method is often used for screen sharing in mobile terminals such as mobile phones and computers. The present application is further optimized with respect to the second implementation described above.
In the embodiment of the present invention, in order to perform screen sharing, a screenshot of an original screen for performing screen sharing is also required to be performed, that is, the screenshot of the original screen is obtained, and specifically, the screenshot can be obtained from the original screen at a preset frequency. The preset frequency may be set before the step or before any step before the step according to requirements, and the embodiment of the present invention is not limited thereto. The original screen may be a screen of a mobile terminal such as a computer, a notebook, a mobile phone, etc., or may be any screen that can display content such as a digital video or a digital picture, etc., such as a projector screen.
Fig. 1A is a system architecture diagram of screen sharing. The screen of the middle computer is the original screen, the four peripheral devices are the shared devices for receiving and displaying the data sent by the original devices, and then the screens of the four devices are the shared screens.
Furthermore, in the embodiments of the present invention, any available method or device may be used to obtain the screenshot from the original screen, and the embodiments of the present invention are not limited thereto.
For example, the content displayed in the screen 1 needs to be shared with other screens 2 and 3, and then the screen 1 is the original screen, and the screens 2 and 3 are shared screens. Then screen shots of screen 1 are taken at a predetermined frequency in this step.
And step 120, taking the screenshot in a preset time unit as a processing unit, and respectively counting the number of the change frames in the processing unit.
As described above, in practical applications, the existing screen sharing technology may encode all screenshots acquired from an original screen to send to each shared screen, but in the screen sharing process, it may happen that the content displayed on the original screen does not change within a period of time, and then the screenshots acquired within the period of time are consistent, that is, the currently acquired screenshots are consistent with the previously acquired screenshots, and then in the embodiment of the present invention, the currently acquired screenshots may be defined as static frames; if the currently acquired screenshot is not consistent with the previously acquired screenshot, the currently acquired screenshot may be defined as a change frame in the embodiment of the present invention.
For the still frame, if the still frame is sent to each sharing screen, the display content after the still frame is received by each sharing screen and the display content before the still frame is received by each sharing screen do not change.
Then, in the embodiment of the present invention, after the screenshot of the original screen is obtained and the screenshot is further processed, the screenshot in a preset time unit may be taken as a processing unit, and the number of the change frames in each processing unit is respectively counted. The preset time unit may be set before the step or before any step before the step according to requirements, which is not limited in this embodiment of the present invention.
For example, the preset time unit may be set to be 1 second(s), and the preset frequency is 10 times per second, then the screenshots of the original screen may be acquired at a frequency of 10 times per second from the start of screen sharing, and the screenshots of every 1 second may be periodically taken as one processing unit to respectively count the change frames in each processing unit, and in order to ensure the time sequence of screen sharing, specifically, the change frames in each processing unit need to be sequentially counted according to the acquisition time sequence of the screenshots in each processing unit. For example, from the screen sharing start time to the 1 st second, screen shots are acquired as a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 in order, and from the 1 st second to the 2 nd second, screen shots are acquired as b1, b2, b3, b4, b5, b6, b7, b8, b9, b10 in order, so that a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 may be used as the first processing unit, and b1, b2, b3, b4, b5, b6, b7, b8, b9, b10 may be used as the second processing unit, and after each processing unit determines the change frame in the processing unit. Then the change frame in the first processing element may be determined after screen shot a10 is taken and the change frame in the second processing element may be determined after screen shot B10 is taken.
And step 130, setting the coding frame rate according to the number of the changed frames in the processing unit and a preset time unit.
In practical application, before the screen shot is sent to the shared screen, the screen shots need to be encoded, and for each processing unit, the number of the finally determined change frames is not fixed, so that for different processing units, the encoding frame rate for encoding the change frames also needs to be adjusted correspondingly. In the embodiment of the present invention, the encoding frame rate may be set according to the number of the change frames in the processing unit and a preset time unit. Specifically, the ratio of the number of changed frames in the processing unit to the preset time unit may be used as the encoding frame rate for the processing unit.
For example, for the processing unit composed of the foregoing a1, a2, a3, a4, a5, a6, a7, a8, a9 and a10, assuming that the determined change frames are a1, a3, a7 and a10, and the preset time unit is 1s, the encoding frame rate for encoding the change frames in the processing unit is 4 change frames/second, that is, encoding four change frames per second is completed.
And 140, encoding the changed frame according to the encoding frame rate.
After the encoding frame rate for the current processing unit is determined, the changed frame in the current processing unit may be encoded according to the encoding frame rate.
The encoding includes video encoding, and the video encoding mode is a mode of converting a file in a certain video format into a file in another video format by a specific compression technology. The most important codec standards in video streaming include h.26x series of the international telecommunication union, which may specifically include h.261, h.262, h.263+ +, h.264, M-JPEG for the moving picture experts group, mpeg (moving picture experts group) series standards for the moving picture experts group, and also RealVideo (a high compression ratio video format), wmv (windows Media video), QuickTime (an audio and video file format), and so on, which are widely used on the internet.
In the embodiment of the present invention, any available coding method may be used to code the changed frame, and specifically, the coding method may be set before this step, or before any step before this step, according to requirements, which is not limited in this embodiment of the present invention.
In the process of encoding the changed frames, in order to ensure that the order of screen sharing is not disordered, the changed frames also need to be encoded in sequence according to the sequence of the acquisition time of the changed frames. For example, for the change frames a1, a3, a7 and a10 in the same processing unit, assuming that the acquisition sequence of each change frame is a1, a3, a7 and a10, the change frames a1, a3, a7 and a10 may be sequentially encoded according to the acquisition sequence.
In the embodiment of the invention, screenshots can be acquired from an original screen at a preset frequency; taking a screenshot in a preset time unit as a processing unit, and respectively counting the number of the change frames in the processing unit; setting a coding frame rate according to the number of the changed frames in the processing unit and a preset time unit; and coding the change frame according to the coding frame rate. Therefore, the technical problems that when the existing video call coding process is used for screen sharing, a large number of repeated frames cannot be pre-judged in advance, repeated calculation of the large number of repeated frames and waste of network resources are caused, and under the same code rate, partial code rate quota is wasted on the repeated frames, and the changed frame picture is not clear enough are solved. The method has the advantages of reducing the calculation of the repeated frames and the waste of network resources and improving the definition of the changed frames.
Example two
The embodiment of the invention provides a video coding method based on screen sharing.
Referring to fig. 1, a flowchart illustrating steps of a video encoding method based on screen sharing according to an embodiment of the present invention is shown.
Step 210, acquiring screenshots from an original screen at a preset frequency.
And step 220, setting a screenshot in a preset time unit as a processing unit, and setting a screenshot of a first frame in the processing unit as a change frame.
In the embodiment of the invention, the situations that the shared computer judges screen sharing fault by mistake to restart or blank screen and the like are easily caused because the shared screens cannot receive new change frames for a long time if screen screenshots in a plurality of continuous processing units are completely consistent are avoided. Therefore, in the embodiment of the present invention, when determining the change frame of each processing unit, the first frame screenshot of each processing unit may be forcibly set as the change frame.
For example, for the first processing unit, the screenshots included therein are a1, a2, a3, a4, a5, a6, a7, a8, a9, and a10 according to the acquisition time sequence, then the first frame screenshot may be set, that is, the first frame screenshot a1 acquired first is a changed frame.
Step 230, determining whether the screen capture is a change frame according to the brightness component of each screen capture from the second frame screen capture to the last frame screen capture of the processing unit.
Then, it may be determined whether each screenshot is a changed frame respectively for other screenshots in the processing unit except for the first frame screenshot, that is, the second frame screenshot to the last frame screenshot, that is, the second acquired screenshot to the last acquired screenshot in the processing unit.
In practical applications, YUV (also known as YCrCb) video signal transmission may be used for video sharing. The YUV is mainly used for optimizing the transmission of color video signals. Compared with R (Red, Green) B (Blue ) video signal transmission, it has the greatest advantage of occupying very little bandwidth (RGB requires the simultaneous transmission of three independent video signals). Where Y is a Luminance component, representing the brightness (Luma) i.e. the gray scale value; u and V represent Chrominance (or Chroma) and are used to describe the color and saturation of an image for specifying the color of a pixel. The luminance is established through the RGB input signals by superimposing specific parts of the RGB signals together. "chroma" defines two aspects of color, hue and saturation, denoted by Cr and Cb, respectively. Where Cr reflects the difference between the red part of the RGB input signal and the luminance value of the RGB signal. And Cb reflects the difference between the blue part of the RGB input signal and the luminance value of the RGB signal. The importance of using the YUV color space is that its luminance signal Y and chrominance signal U, V are separate. If there is only a Y component and no U, V component, then the image so represented is a black and white grayscale image.
In the embodiment of the present invention, whether the screen shot is a change frame may be determined according to the Y component in each screen shot. Then if the screen capture from the second frame to the last frame in the same processing unit is performed, if the Y component of the current screen capture is completely consistent with the Y component of the screen capture of the previous frame, the current screen capture can be confirmed to be a static frame; if the Y component of the current screen shot is not exactly the same as the Y component of the screen shot of the previous frame, then the current screen shot can be confirmed to be a changed frame.
In the embodiment of the present application, it may also be determined whether each screenshot is a change frame for the second frame screenshot to the last frame screenshot of the processing unit by using any other available method. The examples of the present application are not limited thereto.
For example, for the second frame screenshot to the last frame screenshot in the same processing unit, whether the current screenshot is identical to the previous screenshot, that is, whether the screenshot obtained last time is identical, may be respectively compared, and if the current screenshot is identical to the previous screenshot, it may be determined that the current screenshot is a still frame; if the current screenshot is not identical to the previous screenshot, then the current screenshot may be determined to be a changed frame. In the embodiment of the present invention, any available method may be used to determine whether the two screenshots are completely consistent, which is not limited in the embodiment of the present invention. In practical application, an original screen in a screen sharing process is fixed, so that the sizes of screenshots in processing units in the screen sharing process are consistent, whether each pixel point in the current screenshot corresponds to a pixel point at a corresponding position in the previous screenshot or not can be sequentially compared, and if the pixel points in the current screenshot correspond to the pixel points at the corresponding position in the previous screenshot, the current screenshot and the previous screenshot are completely consistent; and if the pixel points in the current screenshot are not completely corresponding to the pixel points in the corresponding position in the previous screenshot, the current screenshot and the previous screenshot are not completely consistent.
In the embodiment of the present invention, it may also be determined whether each screenshot is a changed frame by using any available method for the second frame screenshot to the last frame screenshot of each processing unit, which is not limited in this embodiment of the present invention.
Optionally, in an embodiment of the present invention, the step 230 may further include:
a substep 231, obtaining a brightness component of each screenshot from the second frame screenshot to the last frame screenshot of the processing unit.
In embodiments of the present invention, to determine whether a screenshot is a change frame based on a luminance component of the screenshot. Then, the luminance component of each screenshot needs to be obtained for the second frame screenshot to the last frame screenshot of each processing unit. In the embodiment of the present invention, any available method or device may be used to obtain the brightness component of the screenshot, which is not limited to this embodiment of the present invention.
And a substep 232 of comparing the brightness component of the current screenshot with the brightness component of the previous screenshot, and counting the number of pixels with the same gray value at the same pixel in the current screenshot and the previous screenshot.
As mentioned above, the screen shot sizes of the original screens are consistent during a screen sharing process, and the Y component size of each screen shot is necessarily consistent and consistent with the screen shot size.
When the brightness of the current screenshot is compared with the brightness component of the previous screenshot, the comparison may be specifically performed according to the pixel points, that is, the brightness component corresponding to each pixel point in the current screenshot is sequentially and respectively compared with the brightness component of the pixel point at the corresponding position in the previous screenshot. For example, the brightness component of the pixel point at 1 × 1 in the current screenshot is compared with the brightness component of the pixel point at 1 × 1 in the previous screenshot, the brightness component of the pixel point at 1 × 2 in the current screenshot is compared with the brightness component of the pixel point at 1 × 2 in the previous screenshot, the brightness component of the pixel point at 2 × 1 in the current screenshot is compared with the brightness component of the pixel point at 2 × 1 in the previous screenshot, and so on. And counting the number of pixel points with the same brightness components at the same pixel points in the current screenshot and the previous screenshot.
In addition, in the embodiment of the present invention, the luminance component of each pixel point may also be understood as a gray value, so that the luminance component of the current screenshot may also be compared with the luminance component of the previous frame screenshot at this time, and specifically, the gray value corresponding to each pixel point in the current screenshot may be respectively compared with the gray value of the pixel point at the corresponding position in the previous frame screenshot. And counting the number of pixel points with the same gray value at the same pixel point in the current screenshot and the previous screenshot.
And a sub-step 233 of determining whether the number of the pixel points is equal to the image resolution of the screenshot.
In practical applications, the image resolution in the screenshot represents the number of pixels included in the screenshot, for example, assuming that the image resolution of a certain screenshot is 100p (pixels) × 50p, the number of pixels included in the screenshot is 100 × 50, that is, 5000 pixels.
Then, in the embodiment of the present invention, after the number of the pixels with the same gray value at the same pixel point in the current screenshot and the previous screenshot is obtained through statistics, or the number of the pixels with the same brightness component at the same pixel point in the current screenshot and the previous screenshot is obtained through statistics, it may be determined whether the number of the pixels obtained through statistics is equal to the image resolution of the screenshot.
Substep 234, if the number of the pixel points is not equal to the image resolution of the screenshot, determining that the current screenshot is a changed frame.
Obviously, if the number of pixel points counted for the current screenshot is not equal to the image resolution of the corresponding current screenshot, it indicates that there is a brightness component or a gray value of the pixel point in the current screenshot that is not consistent with the brightness component or the gray value of the pixel point at the corresponding position in the screenshot of the previous frame, and it can be determined that the current screenshot is a changed frame.
Optionally, in an embodiment of the present invention, after the sub-step 233, the method may further include:
and if the number of the pixel points is equal to the image resolution of the screenshot, confirming that the current screenshot is a static frame, and filtering the static frame.
And if the number of the pixel points counted by aiming at the current screenshot is equal to the image resolution corresponding to the current screenshot, the current screenshot can be determined to be a static frame, and the static frame does not need to be transmitted to each shared screen. Of course, no operation may be performed on the still frame, and the embodiment of the present invention is not limited thereto.
It should be noted that, in the embodiment of the present invention, the luminance component of the current screenshot may also be compared with the luminance component of the previous screenshot, and the number of pixels with inconsistent gray values at the same pixel point in the current screenshot and the previous screenshot is counted, or the number of pixels with inconsistent luminance components at the same pixel point in the current screenshot and the previous screenshot is counted. And then judging whether the number of the pixel points is zero or not. If the number of the pixel points is zero, confirming that the current screenshot is a change frame; and if the number of the pixel points is not zero, the current screenshot can be confirmed to be a static frame. The embodiments of the present invention are not limited to these examples.
Step 240, counting the number of the changed frames in the processing unit.
And step 250, setting the coding frame rate according to the number of the changed frames in the processing unit and a preset time unit.
And step 260, encoding the changed frame according to the encoding frame rate.
Optionally, in an embodiment of the present invention, the step 260 further includes:
and a substep 261 of setting the first changed frame of each preset encoding interval as a decoded immediate refresh frame.
An I (intra-coded frame) frame is an independent frame with all information, and can be independently decoded without reference to other pictures, and the first frame in a video sequence is always an I frame.
An IDR (Instantaneous Decoding Refresh) frame belongs to an I (intra-coded frame) frame, and both the I and IDR frames use intra-prediction. The purpose of the IDR frame is to refresh immediately so that errors do not propagate, and to start encoding by recalculating a new sequence from the IDR frame. While I-frames do not have the capability of random access, this function is assumed by IDR. IDR causes DPB (Decoded Picture Buffer) reference frame list, which is where the key is, to be cleared, while I does not. An IDR picture is necessarily an I picture, but an I picture is not necessarily an IDR picture. There may be many I pictures in a sequence and pictures following an I picture may reference pictures between I pictures for motion reference. There may be many I pictures in a sequence and pictures following an I picture may reference pictures between I pictures for motion reference.
For IDR frames, all frames following an IDR frame cannot refer to the content of frames preceding any IDR frame, in contrast to normal I frames, for which the following B (bidirectional predictive interpolated coded frame/bidirectional differential frame) and P (forward predictive coded frame) frames can refer to I frames preceding the normal I frame. From a randomly accessed video stream, the player can always play from one IDR frame because there is no frame following it to reference the previous frame. However, it is not possible to start playing from any point in a video without IDR frames, since the following frames will always refer to the preceding frames.
Upon reception of an IDR frame, the decoder additionally needs to do the following: all PPS (Picture Parameter Set) and SPS (Sequence Parameter Set) parameters are updated.
Processing of IDR frame (same as processing of I frame): (1) intra prediction is performed, and the intra prediction mode to be used is determined. (2) And subtracting the predicted value from the pixel value to obtain a residual error. (3) The residual is transformed and quantized. (4) Variable length coding and arithmetic coding. (5) And reconstructing the image and filtering to obtain the image serving as a reference frame of other frames.
Therefore, in the embodiment of the present invention, in order to prevent a decoding error from being transmitted to the next section when an error such as frame loss occurs at the decoding end, and further causing a long-term error of the video, the first frame of each preset coding section may be forced to be an IDR frame. The time length of the preset encoding interval may be equal to the time length of the processing unit, or may not be equal to the time length of the processing unit, which is not limited in the embodiment of the present invention. Specifically, the time length of the preset coding interval may be set before the step or before any step before the step according to requirements, which is not limited in the embodiment of the present invention.
Moreover, in the embodiment of the present invention, in order to ensure that the time sequence of screen sharing is not confused, the change frames may be encoded according to the acquisition order of the change frames. I.e. the first code acquired first.
Optionally, in this embodiment of the present invention, after step 260, the method may further include:
step 270, compressing the encoded change frame.
In the embodiment of the present invention, in order to conveniently transmit each change frame to the shared screen of each shared mobile terminal, it is further necessary to perform compression processing on each change frame after encoding before transmission. In the embodiment of the present invention, any available device or method may be used to compress the change frame, and the embodiment of the present invention is not limited thereto. Moreover, in the embodiment of the present invention, in order to ensure that the time sequence of screen sharing is not confused, the change frames may be compressed according to the acquisition order of the change frames. I.e. the first compression obtained first.
Optionally, in an embodiment of the present invention, the step 270 further includes:
and a substep 271 of compressing the encoded changed frame using the h.264 compression format.
H.264 is a new generation of coding standard, known for high compression quality and streaming media transmission supporting various networks, and in terms of coding, i understand that his theoretical basis is: the statistical results of images in a period of time are referred to show that in adjacent image pictures, the difference of brightness is not more than 2% and the difference of chroma is only 1% at the point where the difference of pixels is generally within 10%. So for a picture with less variation, we can encode a complete image frame a first, then the following B frame does not encode the whole image, only the difference from the a frame is written, so that the size of the B frame is 1/10 or less of the whole frame. If the change of the C frame after the B frame is not large, we can continue to encode the C frame in the way of referring to the B frame, and so on. When a certain image is very different from the previous image and cannot be generated by referring to the previous frame, the previous sequence is ended, the next sequence is started, namely, a complete frame A1 is generated for the image, and the subsequent image is generated by referring to A1, and only the content of difference with A1 is written.
Three frames are defined in the H.264 protocol, the frame which is completely coded is called I frame, the frame which is generated by referring to the previous I frame and only contains difference part coding is called P frame, and the frame which is coded by referring to the previous frame and the next frame is called B frame. In addition, for re-synchronization of decoding, the h.264 introduces an IDR frame. It can be seen that the IDR frame is matched to h.264. Then, in the embodiment of the present invention, if the first changed frame in each preset encoding interval is set as the decoded immediate refresh frame in the foregoing step 250, the encoded changed frame needs to be compressed by using the h.264 compression format in this step.
The core algorithms adopted by h.264 are intraframe compression, which is an algorithm for generating I frames, and interframe compression, which is an algorithm for generating B frames and P frames.
The compression method of H.264 comprises the following steps:
1. grouping: several frames of changing frames are divided into a Group of GOP (Group of Pictures), and the number of frames in each Group is not suitable to be large in order to prevent motion change;
2. defining a frame: defining each change frame in each group as three types, namely an I frame, a B frame and a P frame, wherein the first change frame in each group can be defined as an IDR frame;
3. predicting a frame: taking the I frame as a basic frame, predicting a P frame by the I frame, and predicting a B frame by the I frame and the P frame;
4. data transmission: and finally, storing and transmitting the I frame data and the predicted difference information.
Intra frame (Intra frame) compression is also known as Spatial compression (Spatial compression). When compressing an image of one frame, only the data of the present frame is considered without considering redundant information between adjacent frames, which is actually similar to still image compression. The lossy compression algorithm is generally adopted in the frame, and the intra-frame compression is to encode a complete image, so that the complete image can be independently decoded and displayed. Intra-frame compression generally does not achieve very high compression, much as encoding jpeg.
The principle of Inter frame (interframe) compression is: the data of adjacent frames have great correlation, or the information of the two frames before and after the data has little change. That is, the adjacent frames of the continuous video have redundant information, and according to the characteristic, the compression amount can be further improved by compressing the redundant amount between the adjacent frames, and the compression ratio is reduced. Inter-frame compression, also known as Temporal compression (Temporal compression), compresses by comparing data between different frames on a time axis. Inter-frame compression is generally lossless. The Frame difference (Frame differentiating) algorithm is a typical time compression method, and it records only the difference between the current Frame and its neighboring Frame by comparing the difference between the current Frame and the neighboring Frame, so that the data amount can be greatly reduced.
Step 280, sending the compressed change frame to each sharing screen.
The change frame after the coding and compressing treatment can be sent to each sharing screen for displaying of each sharing screen. In the embodiment of the present invention, the change frame after the encoding compression processing may be sent to each shared screen by using any available method or device, which is not limited to this embodiment of the present invention.
In the embodiment of the invention, screenshots can be acquired from an original screen at a preset frequency; taking a screenshot in a preset time unit as a processing unit, and respectively counting the number of the change frames in the processing unit; setting a coding frame rate according to the number of the changed frames in the processing unit and a preset time unit; and coding the change frame according to the coding frame rate. Therefore, the technical problems that when the existing video call coding process is used for screen sharing, a large number of repeated frames cannot be pre-judged in advance, repeated calculation of the large number of repeated frames and waste of network resources are caused, and under the same code rate, partial code rate quota is wasted on the repeated frames, and the changed frame picture is not clear enough are solved. The method has the advantages of reducing the calculation of the repeated frames and the waste of network resources and improving the definition of the changed frames.
Moreover, in the embodiment of the present invention, a screenshot in a preset time unit may also be a processing unit, and a first frame screenshot in the processing unit is set as a change frame; and determining whether the screenshot is a change frame or not aiming at the screenshot from the second frame to the screenshot from the last frame of the processing unit. Furthermore, aiming at screenshots from the second frame to the last frame of the processing unit, acquiring the brightness component of each screenshot; comparing the brightness component of the current screenshot with the brightness component of the previous screenshot, and counting the number of pixel points with the same gray value of the same pixel point in the current screenshot and the previous screenshot; judging whether the number of the pixel points is equal to the image resolution of the screenshot; and if the number of the pixel points is not equal to the image resolution of the screenshot, determining that the current screenshot is a change frame. Thereby improving the accuracy of the change frame.
In addition, in the embodiment of the present invention, the first change frame of each preset encoding interval may be set as the decoding immediate refresh frame. And then the coded change frame is compressed by using an H.264 compression format. Therefore, when a frame loss occurs at the decoding end, the decoding error is prevented from being transmitted to the next interval, and the video long-term error is prevented.
For simplicity of explanation, the method embodiments are described as a series of acts or combinations, but those skilled in the art will appreciate that the embodiments are not limited by the order of acts described, as some steps may occur in other orders or concurrently with other steps in accordance with the embodiments of the invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no particular act is required to implement the invention.
EXAMPLE III
Detailed descriptionan embodiment of the present invention provides a video encoding apparatus based on screen sharing.
Referring to fig. 3, a schematic structural diagram of a video encoding apparatus based on screen sharing according to an embodiment of the present invention is shown.
A screenshot capture module 310 for capturing screenshots from the original screen at a predetermined frequency.
The change frame counting module 320 is configured to count the number of change frames in a processing unit by taking a screenshot in a preset time unit as the processing unit.
The encoding frame rate setting module 330 is configured to set an encoding frame rate according to the number of the changed frames in the processing unit and a preset time unit.
And an encoding module 340, configured to encode the changed frame according to the encoding frame rate.
In the embodiment of the invention, screenshots can be acquired from an original screen at a preset frequency; taking a screenshot in a preset time unit as a processing unit, and respectively counting the number of the change frames in the processing unit; setting a coding frame rate according to the number of the changed frames in the processing unit and a preset time unit; and coding the change frame according to the coding frame rate. Therefore, the technical problems that when the existing video call coding process is used for screen sharing, a large number of repeated frames cannot be pre-judged in advance, repeated calculation of the large number of repeated frames and waste of network resources are caused, and under the same code rate, partial code rate quota is wasted on the repeated frames, and the changed frame picture is not clear enough are solved. The method has the advantages of reducing the calculation of the repeated frames and the waste of network resources and improving the definition of the changed frames.
Example four
Detailed descriptionan embodiment of the present invention provides a video encoding apparatus based on screen sharing.
Referring to fig. 4, a schematic structural diagram of a video encoding apparatus based on screen sharing according to an embodiment of the present invention is shown.
A screenshot capture module 410 for capturing screenshots from the original screen at a preset frequency.
The change frame counting module 420 is configured to take a screenshot in a preset time unit as a processing unit, and count the number of change frames in the processing unit respectively.
Optionally, in this embodiment of the present invention, the change frame statistics module 420 further includes:
the first change frame setting sub-module 421 is configured to set a screenshot in a preset time unit as a processing unit, and set a screenshot of a first frame in the processing unit as a change frame.
And a second change frame setting sub-module 422, configured to determine, for the second frame screenshot to the last frame screenshot of the processing unit, whether the screenshot is a change frame according to a brightness component of each screenshot.
And a change frame counting submodule 423 for counting the number of the change frames in the processing unit.
Optionally, in this embodiment of the present invention, the second change frame setting sub-module 422 further includes:
and the brightness component acquisition unit is used for acquiring the brightness components of the screenshots according to the screenshots from the second frame to the last frame of the processing unit.
And the pixel point counting unit is used for comparing the brightness component of the current screenshot with the brightness component of the previous screenshot and counting the number of pixel points with the same gray value at the same pixel point in the current screenshot and the previous screenshot.
And the pixel point judging unit is used for judging whether the number of the pixel points is equal to the image resolution of the screenshot.
And the change frame determining unit is used for determining that the current screenshot is a change frame if the number of the pixel points is not equal to the image resolution of the screenshot.
Optionally, in this embodiment of the present invention, after the pixel point determining unit, the method further includes:
and the static frame determination filtering unit is used for determining that the current screenshot is a static frame and filtering the static frame if the number of the pixel points is equal to the image resolution of the screenshot.
And an encoding frame rate setting module 430, configured to set an encoding frame rate according to the number of the changed frames in the processing unit and a preset time unit.
An encoding module 440, configured to encode the changed frame according to the encoding frame rate.
Optionally, in this embodiment of the present invention, the encoding module 440 is further configured to set a first changed frame of each preset encoding interval as a decoded immediate refresh frame.
Optionally, in this embodiment of the present invention, after the encoding module 440, the method may further include:
and the compression processing module is used for compressing the coded change frame.
Optionally, in this embodiment of the present invention, the compression processing module is further configured to perform compression processing on the encoded changed frame by using an h.264 compression format.
And the sending module is used for sending the compressed change frame to each sharing screen.
In the embodiment of the invention, screenshots can be acquired from an original screen at a preset frequency; taking a screenshot in a preset time unit as a processing unit, and respectively counting the number of the change frames in the processing unit; setting a coding frame rate according to the number of the changed frames in the processing unit and a preset time unit; and coding the change frame according to the coding frame rate. Therefore, the technical problems that when the existing video call coding process is used for screen sharing, a large number of repeated frames cannot be pre-judged in advance, repeated calculation of the large number of repeated frames and waste of network resources are caused, and under the same code rate, partial code rate quota is wasted on the repeated frames, and the changed frame picture is not clear enough are solved. The method has the advantages of reducing the calculation of the repeated frames and the waste of network resources and improving the definition of the changed frames.
Moreover, in the embodiment of the present invention, a screenshot in a preset time unit may also be a processing unit, and a first frame screenshot in the processing unit is set as a change frame; and determining whether the screenshot is a change frame or not aiming at the screenshot from the second frame to the screenshot from the last frame of the processing unit. Furthermore, aiming at screenshots from the second frame to the last frame of the processing unit, acquiring the brightness component of each screenshot; comparing the brightness component of the current screenshot with the brightness component of the previous screenshot, and counting the number of pixel points with the same gray value of the same pixel point in the current screenshot and the previous screenshot; judging whether the number of the pixel points is equal to the image resolution of the screenshot; and if the number of the pixel points is not equal to the image resolution of the screenshot, determining that the current screenshot is a change frame. Thereby improving the accuracy of the change frame.
In addition, in the embodiment of the present invention, the first change frame of each preset encoding interval may be set as the decoding immediate refresh frame. And then the coded change frame is compressed by using an H.264 compression format. Therefore, when a frame loss occurs at the decoding end, the decoding error is prevented from being transmitted to the next interval, and the video long-term error is prevented.
For the device embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, refer to the partial description of the method embodiment.
The algorithms and displays presented herein are not inherently related to any particular computer, virtual machine, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components in a screen sharing device according to embodiments of the present invention. The present invention may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing the present invention may be stored on computer-readable media or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.

Claims (6)

1. A method for video coding based on screen sharing, the method comprising:
acquiring screenshots from an original screen at a preset frequency;
taking a screenshot in a preset time unit as a processing unit, and respectively counting the number of the change frames in the processing unit, wherein the counting comprises the following steps: setting a first frame screenshot in the processing unit as a change frame, and acquiring a brightness component of each screenshot from a second frame screenshot to a last frame screenshot of the processing unit; comparing the brightness component of the current screenshot with the brightness component of the previous screenshot, and counting the number of pixel points with the same gray value of the same pixel point in the current screenshot and the previous screenshot; judging whether the number of the pixel points is equal to the image resolution of the screenshot; if the number of the pixel points is not equal to the image resolution of the screenshot, confirming that the current screenshot is a change frame, and counting the number of the change frames in the processing unit;
setting a coding frame rate according to the ratio of the number of the changed frames in the processing unit to a preset time unit;
and coding the change frame according to the coding frame rate.
2. The method of claim 1, wherein after the step of determining whether the number of pixels is equal to the image resolution of the screenshot, further comprising:
and if the number of the pixel points is equal to the image resolution of the screenshot, confirming that the current screenshot is a static frame, and filtering the static frame.
3. The method of claim 1, wherein the step of encoding the changed frame according to the encoding frame rate comprises:
and setting the first change frame of each preset coding interval as a decoding immediate refresh frame.
4. An apparatus for video coding based on screen sharing, the apparatus comprising:
the screen capture module is used for obtaining screen captures from an original screen at a preset frequency;
the system comprises a change frame counting module, a change frame processing module and a change frame processing module, wherein the change frame counting module is used for taking a screenshot in a preset time unit as a processing unit and respectively counting the number of change frames in the processing unit;
the coding frame rate setting module is used for setting a coding frame rate according to the ratio of the number of the changed frames in the processing unit to a preset time unit;
the coding module is used for coding the change frame according to the coding frame rate;
the change frame counting module comprises:
the first change frame setting submodule is used for setting a screenshot in a preset time unit as a processing unit and setting a first frame screenshot in the processing unit as a change frame;
a second change frame setting submodule, configured to determine, for a second frame screenshot to a last frame screenshot of the processing unit, whether the screenshot is a change frame according to a brightness component of each screenshot;
the change frame counting submodule is used for counting the number of the change frames in the processing unit;
the second change frame setting sub-module includes:
a brightness component obtaining unit, configured to obtain a brightness component of each screenshot from a second frame screenshot to a last frame screenshot of the processing unit;
the pixel point counting unit is used for comparing the brightness component of the current screenshot with the brightness component of the previous screenshot and counting the number of pixel points with the same gray value at the same pixel point in the current screenshot and the previous screenshot;
the pixel point judging unit is used for judging whether the number of the pixel points is equal to the image resolution of the screenshot;
and the change frame determining unit is used for determining that the current screenshot is a change frame if the number of the pixel points is not equal to the image resolution of the screenshot.
5. The apparatus according to claim 4, further comprising, after the pixel point determining unit:
and the static frame determination filtering unit is used for determining that the current screenshot is a static frame and filtering the static frame if the number of the pixel points is equal to the image resolution of the screenshot.
6. The apparatus of claim 4, wherein the encoding module is further configured to set a first changed frame of each preset encoding interval as a decoded immediate refresh frame.
CN201710496439.1A 2017-06-26 2017-06-26 Video coding method and device based on screen sharing Active CN107172376B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710496439.1A CN107172376B (en) 2017-06-26 2017-06-26 Video coding method and device based on screen sharing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710496439.1A CN107172376B (en) 2017-06-26 2017-06-26 Video coding method and device based on screen sharing

Publications (2)

Publication Number Publication Date
CN107172376A CN107172376A (en) 2017-09-15
CN107172376B true CN107172376B (en) 2020-04-21

Family

ID=59828004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710496439.1A Active CN107172376B (en) 2017-06-26 2017-06-26 Video coding method and device based on screen sharing

Country Status (1)

Country Link
CN (1) CN107172376B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107613370B (en) * 2017-10-27 2020-08-14 烟台北方星空自控科技有限公司 Method for realizing local area network screen sharing by adopting screen capture image
CN107888583A (en) * 2017-11-07 2018-04-06 郑州轻工业学院 Hydrographic information monitoring method, apparatus and system
CN110740316A (en) * 2019-09-09 2020-01-31 西安万像电子科技有限公司 Data coding method and device
CN111708505B (en) * 2020-07-21 2021-01-01 全时云商务服务股份有限公司 Desktop sharing method and device and electronic equipment
CN115460419A (en) * 2022-09-01 2022-12-09 联想(北京)有限公司 Image processing method, image processing device, electronic equipment and storage medium
CN116828242B (en) * 2023-08-30 2023-12-05 亿咖通(湖北)技术有限公司 Method, system and storage medium for long link screen projection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1622618A (en) * 2004-12-24 2005-06-01 北京中星微电子有限公司 A screen broadcasting method
CN1859571A (en) * 2006-06-01 2006-11-08 上海交通大学 Screen coding method under low code rate
CN102143360A (en) * 2010-06-30 2011-08-03 华为技术有限公司 Image coding method and device
CN102625106A (en) * 2012-03-28 2012-08-01 上海交通大学 Scene self-adaptive screen encoding rate control method and system
CN103533358A (en) * 2013-10-14 2014-01-22 上海纬而视科技股份有限公司 Self adaption image collection transmission and display device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002084540A (en) * 2000-06-28 2002-03-22 Canon Inc Device and method for processing image, electronic camera and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1622618A (en) * 2004-12-24 2005-06-01 北京中星微电子有限公司 A screen broadcasting method
CN1859571A (en) * 2006-06-01 2006-11-08 上海交通大学 Screen coding method under low code rate
CN102143360A (en) * 2010-06-30 2011-08-03 华为技术有限公司 Image coding method and device
CN102625106A (en) * 2012-03-28 2012-08-01 上海交通大学 Scene self-adaptive screen encoding rate control method and system
CN103533358A (en) * 2013-10-14 2014-01-22 上海纬而视科技股份有限公司 Self adaption image collection transmission and display device

Also Published As

Publication number Publication date
CN107172376A (en) 2017-09-15

Similar Documents

Publication Publication Date Title
CN107172376B (en) Video coding method and device based on screen sharing
US20220058775A1 (en) Video denoising method and apparatus, and storage medium
US10321138B2 (en) Adaptive video processing of an interactive environment
KR20200003715A (en) Method and system for encoding video with overlay
US9414086B2 (en) Partial frame utilization in video codecs
US20210112270A1 (en) Dynamic motion vector referencing for video coding
CN104144322A (en) Method and system for achieving video monitoring on mobile terminal and video processing server
US9306987B2 (en) Content message for video conferencing
US12015763B2 (en) Video encoding method, video decoding method, and related apparatuses
CN112351285B (en) Video encoding method, video decoding method, video encoding device, video decoding device, electronic equipment and storage medium
CN115118964A (en) Video encoding method, video encoding device, electronic equipment and computer-readable storage medium
CN111182310A (en) Video processing method and device, computer readable medium and electronic equipment
US11849127B2 (en) Video encoding method, video decoding method, and related apparatuses
WO2023061129A1 (en) Video encoding method and apparatus, device, and storage medium
CN111225214A (en) Video processing method and device and electronic equipment
US11711492B2 (en) Signaling of the RTCP viewport feedback for immersive teleconferencing and telepresence for remote terminals
CN116962613A (en) Data transmission method and device, computer equipment and storage medium
CN111212288B (en) Video data encoding and decoding method and device, computer equipment and storage medium
CN112929703A (en) Method and device for processing code stream data
EP3989566A1 (en) Motion information list construction method in video encoding and decoding, device, and apparatus
JP7492027B2 (en) Image encoding/decoding method and device for signaling PTL-related information, and computer-readable recording medium storing a bitstream - Patents.com
US11838489B2 (en) Event-based trigger interval for signaling of RTCP viewport for immersive teleconferencing and telepresence for remote terminals
US20240244229A1 (en) Systems and methods for predictive coding
Momoh et al. A Comparative Analysis of Video Compression Standard and Algorithms: State of the Art
Venkataramanan et al. Quality Assessment in Media and Entertainment: Challenges and Trends

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant