WO2017024448A1 - Method and apparatus for encoding screen sharing image - Google Patents

Method and apparatus for encoding screen sharing image Download PDF

Info

Publication number
WO2017024448A1
WO2017024448A1 PCT/CN2015/086386 CN2015086386W WO2017024448A1 WO 2017024448 A1 WO2017024448 A1 WO 2017024448A1 CN 2015086386 W CN2015086386 W CN 2015086386W WO 2017024448 A1 WO2017024448 A1 WO 2017024448A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
image block
matched
level window
block
Prior art date
Application number
PCT/CN2015/086386
Other languages
French (fr)
Chinese (zh)
Inventor
章万光
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2015/086386 priority Critical patent/WO2017024448A1/en
Publication of WO2017024448A1 publication Critical patent/WO2017024448A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams

Definitions

  • Embodiments of the present invention relate to the field of image processing and, more particularly, to a method and apparatus for encoding a screen shared image.
  • Web conferencing has been widely used in daily work communication, business meetings, online education and other scenarios. Screen sharing is an important feature of web conferencing.
  • a terminal that performs screen sharing in a network conference (hereinafter referred to as a shared terminal) acquires an image displayed on the screen of the terminal as a screen shared image, and transmits the image shared by the conference server to the terminal of other participants, and the screen shared by the terminal of the other participant. It is displayed on the screen, so other participants feel as if they are watching the same screen as the user sharing the terminal.
  • screen sharing images may be encoded in a manner commonly used in motion estimation in video coding.
  • the specific implementation manner is: dividing the current image to be encoded into a plurality of rectangular image blocks, and searching for the same target image block as the image block A in the previous image for one image block A in the current image, if matched, The displacement of the image block A with respect to the target image block is calculated, and the calculated displacement is taken as the motion vector of the image block A without encoding the image data of the image block A itself.
  • the terminal of the other participant can obtain the image data of the image block A by using the image data of the target image block and the motion vector on the premise that the image data of the target image block is decoded.
  • the target image block is usually searched in the entire previous image, resulting in a large amount of computation of the search target image block and low coding efficiency. Therefore, the coding of the screen shared image directly by using the prior art is generally not possible. Ensure the real-time nature of screen sharing.
  • Embodiments of the present invention provide a method and apparatus for encoding a screen shared image, which are used to solve The problem of the low efficiency of coding existing in the prior art leads to the inability to guarantee the real-time nature of screen sharing.
  • a method of encoding a screen shared image comprising:
  • the shared terminal acquires an image displayed on the screen of the shared terminal as a screen shared image at a preset time interval, wherein the screen shared image acquired at the first time is the first image, and the screen shared image acquired at the second time is the first a second image, where the first moment and the second moment are adjacent moments;
  • the sharing terminal divides the second image into a plurality of rectangular image blocks
  • the sharing terminal determines, according to the description information of the second top-level window area, that the first top-level window displayed at the first time on the screen of the shared terminal and the second top-level window displayed at the second time are the same top-level window a first to-be-coded image block in the second top-level window region of the plurality of rectangular image blocks, wherein the second top-level window region is the second top-level window in the second screen shared image Area occupied
  • the sharing terminal matches the target image block corresponding to the first to-be-coded image block in the first top-level window area in the first image according to the description information of the first top-level window area, where the a top window area is an area occupied by the first top window in the first screen shared image, and image data in the target image block is the same as image data in the first to-be-coded image block;
  • the sharing terminal uses a displacement of the first to-be-coded image block relative to the target image block as a motion vector of the first to-be-encoded image block.
  • the sharing terminal matches the first top window area in the first image according to the description information of the first top window area
  • a target image block having the same image block to be encoded specifically includes:
  • the sharing terminal determines whether the image data in the first image to be matched is the same as the image data in the target image block, and if the same, the first image to be matched is used as the target image block.
  • the sharing terminal is in the first image in the first image according to the description information of the first top window area Matching the same target image block in the top window area to the first image block to be encoded further includes:
  • the shared terminal determines image data in the second image to be matched and an image in the target image block After the data is the same, it also includes:
  • the second Determining, by the sharing terminal, a third to-be-matched image block having the same width as the second to-be-coded image block in the first top-level window region according to the description information of the first top-level window region, the second Determining the displacement of the image block to be encoded relative to the third image to be matched and the displacement of the image block to be encoded with respect to the target image block, determining image data of the image block to be matched in the third When the image data of the second to-be-coded image block is the same, the displacement of the second to-be-coded image block relative to the third to-be-matched image block is used as the motion vector of the second to-be-coded image block. the amount.
  • a shared terminal including: an obtaining module and an encoding module;
  • the acquiring module acquires an image displayed on a screen of the sharing terminal as a screen sharing image at a preset time interval, where the screen sharing image acquired at the first time is the first image, and the screen sharing acquired at the second time is The image is a second image, and the first moment and the second moment are adjacent moments;
  • the encoding module is configured to divide the second image into a plurality of rectangular image blocks, a first top-level window displayed at a first moment on a screen of the shared terminal, and a second top-level displayed at a second moment When the window is the same top-level window, determining, according to the description information of the second top-level window region, the first to-be-coded image block in the second top-level window region of the plurality of rectangular image blocks, wherein the second top-level window region Sharing the area occupied by the image in the second screen for the second top window, and matching and matching in the first top window area in the first image according to the description information of the first top window area a target image block corresponding to the first to-be-coded image block, wherein the first top-level window area is an area occupied by the first top-level window in the first screen shared image, in the target image block
  • the image data is the same as the image data in the first image block to be encoded; and is further configured to use the displacement of the first image block to be encode
  • the encoding module is configured to determine, in the first top-level window region, the first image to be encoded according to the description information of the first top-level window region. a first to-be-matched image block having a block width equal to a height, a displacement of the first to-be-coded image block relative to the first to-be-matched image block, and a second top-level window region relative to the first top-level window region.
  • the displacements are the same, and it is determined whether the image data in the first image to be matched is the same as the image data in the target image block. When the determination result is the same, the first image to be matched is used as the Target image block.
  • the coding module is further configured to: when the determination result is different, according to the first top window area Descriptive information of the domain, in the first top-level window area, determining a second to-be-matched image block having the same width as the first to-be-coded image block, and an abscissa of a left edge of the second to-be-matched image block
  • the abscissa of the left edge of the first to-be-matched image block is the same, and the ordinate of the upper edge of the second image to be matched and the ordinate of the upper edge of the first image block to be matched are different, and
  • the second image to be matched is used as the target image block.
  • the coding module is further configured to: determine image data in the second image to be matched and the target image After the image data in the block is the same, determining, according to the description information of the second top-level window region, the second to-be-coded image block in the second top-level window region of the plurality of rectangular image blocks, the second The image block to be encoded is different from the first image block to be encoded, and is determined to be equal in width to the second image block to be encoded in the first top window region according to the description information of the first top window region.
  • the displacement of the second to-be-coded image block relative to the third to-be-matched image block is the same as the displacement of the first to-be-coded image block relative to the target image block
  • the displacement of the second to-be-coded image block relative to the third to-be-matched image block is used as the The motion vector of the second image block to be encoded.
  • the target image block is not matched in the image of the previous moment, but only in the top window region.
  • the target image block therefore, the amount of calculation is small, and the coding efficiency is high, thereby improving the real-time performance of the screen sharing.
  • FIG. 1 is a schematic structural diagram of a networking of a conference system according to an embodiment of the present disclosure
  • FIG. 2 is a schematic flowchart of a method according to Embodiment 1 of the present invention.
  • 3A and 3B are schematic diagrams of screen sharing images provided by Embodiment 1 of the present invention.
  • FIG. 4 and FIG. 5 are schematic diagrams showing the displacement relationship between an image block to be encoded and an image block to be matched according to Embodiment 1 of the present invention
  • FIG. 6 is a schematic structural diagram of a sharing terminal 500 according to Embodiment 2 of the present invention.
  • FIG. 7 is a schematic structural diagram of a shared terminal 1000 according to Embodiment 3 of the present invention.
  • FIG. 1 is a schematic structural diagram of a networking of a conference system 100 according to Embodiment 1 of the present invention.
  • the conference system 100 includes a conference terminal 110, a conference server 120, and a conference terminal 130. Any one of the conference terminals 110 and 130 can be used as a shared terminal for screen sharing.
  • the shared terminal performs screen sharing, the shared terminal obtains the image displayed on the screen of the terminal as the screen shared image code and sends the image to the conference server 120.
  • the conference server 120 transmits the image to the conference server 120.
  • the encoded screen shared image is sent to other conference terminals, and the other conference terminals decode the received screen shared image and display it on the screen of the terminal.
  • Embodiment 1 of the present invention is a schematic flowchart of a method according to Embodiment 1 of the present invention.
  • the method in Embodiment 1 of the present invention is applied to any conference terminal in the conference system 100 shown in FIG. 1 as a shared terminal.
  • the method provided in Embodiment 1 of the present invention includes:
  • Step 201 The shared terminal acquires an image displayed on the screen of the shared terminal as a screen shared image at a preset time interval, and may also obtain description information of a top-level window (ie, a focus window) displayed on the screen.
  • a top-level window ie, a focus window
  • the subsequent one of the two adjacent moments is referred to as the first moment, and the latter moment is referred to as the second At the moment, for example, with 200ms as the preset time interval, the first time is 6 minutes, 30 seconds, 200 milliseconds, and the second time is 6 minutes, 30 seconds, 400 milliseconds.
  • the screen sharing image acquired at the first moment is referred to as a first image
  • the screen sharing image acquired at the second moment is referred to as a second image
  • the top-level window displayed at the first moment is referred to as a first top-level window
  • the top-level window displayed at the second moment is referred to as a second top-level window
  • the region occupied by the first top-level window in the first image is referred to as a first top-level window region
  • the second top-level window is referred to in the second image
  • the area occupied is called the second top-level window area.
  • FIG. 3A An example of the first image is shown in FIG. 3A, 311 is a screen sharing image acquired at a first time, and 312 is a top window displayed at a first time.
  • FIG. 3B An example of the second image is shown in FIG. 3B, 321 is a screen sharing image acquired at a second time, and 322 is a top window displayed at a second time.
  • the description information of the top-level window is used to describe an area occupied by the top-level window in an image displayed on a screen of the shared terminal, and specifically includes a reference point on the top-level window (such as the top-level window) The coordinates of the top left corner, the width and height of the top window.
  • the description information of the top window displayed at the moment can naturally be used to describe the area occupied by the top window in the screen sharing image acquired at the moment (ie, the top window area), that is, Can be used as a description of the top-level window area.
  • the description information of the first top-level window may be used to describe the first top-level window area, which may be used as description information of the first top-level window area; and the description information of the second top-level window may be used to describe
  • the second top-level window area can be used as the description information of the second top-level window area.
  • the sharing terminal may acquire and record description information of the top-level window displayed on the screen in the following manner.
  • the sharing terminal starts a window monitoring program, such as a windows hook program, by the window monitoring program to monitor changes in the top window (such as switching of the top window, the position of the top window or The size changes) and the information of the current top-level window obtained by the window monitoring program is recorded when the change occurs.
  • a window monitoring program such as a windows hook program
  • the top window When it is monitored that the top window is switched from the first window to the second window, for example, switching from one slide window to one browser window, and, for example, switching from one slide window to another Port, record the moment when the switch occurs, the identifier of the current top-level window (ie, the second window) (such as the handle of the current top-level window), and the description information of the current top-level window. If the top-level window is switched, the information of the top-level window recorded before switching is no longer needed, and can be deleted at this time.
  • the identifier of the current top-level window ie, the second window
  • the description information of the current top-level window If the top-level window is switched, the information of the top-level window recorded before switching is no longer needed, and can be deleted at this time.
  • the time at which the change occurred and the description information of the current top-level window are recorded. If the size of the top-level window changes, the information of the top-level window recorded before the change is no longer needed, and can be deleted at this time.
  • T1 (x1, y1, w, h)
  • T2 (x2, y2, w, h) ... ...
  • Ti (xi,yi,w,h) ... ...
  • ti is the moment of change
  • (xi, yi) is the coordinates of the top left window at the top left corner of ti
  • wi is the width of the top window at time ti
  • hi is the height of the top window at time ti.
  • the upper left corner of the image shared by the screen is taken as the coordinate origin
  • the horizontal axis is horizontally facing right
  • the vertical axis is vertically downward.
  • Step 202 The sharing terminal divides the second image into a plurality of rectangular image blocks.
  • the image blocks are referred to as macroblocks; if HEVC (High Efficiency Video Coding) is used to encode the acquired screen sharing images, An image block is called a coding unit.
  • HEVC High Efficiency Video Coding
  • Step 203 When the shared terminal determines that the first top-level window displayed at the first moment on the screen of the shared terminal and the second top-level window displayed at the second moment are the same top-level window, according to the second top-level window
  • the description information of the area determines the to-be-coded picture in the second top-level window area Like a block.
  • T1 (x1, y1, w, h)
  • T2 (x2, y2, w, h)
  • T3 (x3, y3, w3, h3)
  • T4 (x4, y4, w4, h4)
  • the description information of the first top-level window is (x2, y2, w, h), which may be the first Descriptive information of the top-level window area, where the description information of the second top-level window is (x4, y4, w4, h4), which can be used as description information of the second top-level window area.
  • the subsequent steps are not performed, and the matching in the first image may correspond to each image block in the second image by using the prior art.
  • the target image block is
  • the sharing terminal may determine whether the size of the first top window and the second top window are the same if the first top window and the second top window are the same top window. That is, whether the width is equal. If they are the same, the subsequent steps are performed; otherwise, the subsequent steps are not performed, and the target image blocks corresponding to the respective image blocks in the second image may be matched in the first image by the prior art. It is also possible not to judge whether the sizes of the first top-level window and the second top-level window are the same, but to directly perform subsequent steps.
  • Step 204 The sharing terminal matches the same target image block as the image block to be encoded in the first top window in the first image according to the description information of the first top window area.
  • Step 205 Use a displacement of the image block to be encoded with respect to the target image block as a motion vector of the image block to be encoded.
  • the image block to be encoded may be encoded by the prior art.
  • the corresponding target image blocks may be matched in the first image using the prior art.
  • the shared terminal After the shared terminal encodes the second image by using the foregoing steps, the shared image is sent to other conference terminals through the conference server, and the other conference terminals decode and display the received encoded second image by referring to the first image.
  • the image data of the image block is obtained according to the image data of the corresponding target image block and the motion vector.
  • the second image is encoded by using the first image as a reference frame, and the first image of the reference frame of the second image may be encoded as a key.
  • the frame ie, I frame
  • the frame may also be encoded as a non-key frame (eg, a P frame) with the screen shared image of the previous moment of the first image as a reference frame according to the method of Embodiment 1 of the present invention.
  • the target image block is not matched in the image of the previous moment, but only in the top window.
  • the target image block therefore, the amount of calculation is small, and the coding efficiency is high, thereby improving the real-time performance of the screen sharing.
  • step 204 may include the following steps:
  • Step 204-1 Determine, according to the description information of the first top-level window area, a first to-be-matched image block having the same width as the image block to be encoded, the image block to be encoded, in the first top-level window.
  • the displacement relative to the first image to be matched is the same as the displacement of the second top window relative to the first top window.
  • A1 is the first top-level window
  • A2 is the second top-level window
  • B1 is the first image block to be matched
  • B2 is the image block to be encoded.
  • B1 and B2 are equal in width and B2 phase
  • the displacement for B1 is the same as the displacement of A2 with respect to A1.
  • the specific implementation may be: calculating a displacement of the second top-level window relative to the first top-level window according to the description information of the second top-level window area and the description information of the first top-level window area (hereinafter referred to as a window) Displacement), determining, in the first image, an image block having a displacement in the same direction as the window displacement size with respect to the displacement of the image block to be encoded as the first image block to be matched. Specifically, the coordinates of the reference point in the description information of the second top-level window area (such as the upper left corner of the top-level window area) and the coordinates of the corresponding reference point in the description information of the first top-level window area may be calculated. The window is displaced.
  • the coordinates of the upper left corner of the image block to be encoded are (x0, y0), the width is w, and the height is h, and the displacement of the second top window relative to the first top window is (dx, dy).
  • the determined upper left corner coordinates of the first to-be-matched image block are (x0-dx, y0-dy), width w, and height h.
  • Step 204-2 determining whether the image data in the first to-be-matched image block is the same as the image data in the image block to be encoded, and if the same, the first image to be matched is to be encoded as Step 205 is performed to the target image block corresponding to the image block, and step 204-3 is performed if it is different.
  • Step 204-3 determining, within the first top-level window, a new image block to be matched that is equal in width to the image block to be encoded, an abscissa of the left edge of the new image block to be matched, and the The abscissa of the left edge of the first to-be-matched image block is the same, and the ordinate of the upper edge of the new image block to be matched is different from the ordinate of the upper edge of the first image block to be matched.
  • Step 204-4 determining whether the image data in the new image block to be matched is the same as the image data in the target image block. If they are the same, the new image block to be matched is the target image block. Step 205 is performed. If different, step 204-3 to step 204-4 are performed again. When step 204-3 is executed again, the determined new image block to be matched is not determined by any of the previously determined image blocks to be matched. Completely coincident.
  • the first to-be-matched image block may be used as a starting point, and the stepwise upward or downward interval may be set at an interval of a set offset (for example, 3 pixels).
  • a set offset for example, 3 pixels.
  • the content in the top-level window generally does not change, so the first image to be matched and the image block to be encoded are The probability that the image data is the same is higher. Therefore, it is possible to preferentially confirm whether the first image to be matched is the target image block, and the speed of hitting the target image block can be further improved, thereby saving the calculation amount of the target image block and improving the coding efficiency. .
  • the first image to be matched is used as a starting point to go up or down.
  • the search can improve the speed of hitting the target image block, thereby saving the calculation amount of the target image block and improving the coding efficiency.
  • the corresponding target image block is matched and encoded in the above manner.
  • the determined target image block (hereinafter referred to as the first target image block) to be encoded (hereinafter referred to as the first image block to be encoded) is determined relative to the first to-be
  • the displacement of the encoded image block is different from the displacement of the first top-level window relative to the second top-level window, and the displacement of the first target image block relative to the first image-to-coded image block may also be recorded (subsequent Referring to the image block displacement)
  • the target image block of the other image block to be encoded hereinafter referred to as the second image block to be encoded
  • the second image to be encoded in the first image may be preferentially determined.
  • the image data of the image block to be matched is equal to the image data of the image block to be matched (hereinafter referred to as the third image to be matched) is the same as the image data of the second image block to be encoded, that is, whether a target image block corresponding to the two to-be-coded image blocks.
  • X2 is the first image block to be encoded
  • X1 is the first target image block
  • Y2 is the second image block to be encoded
  • the displacement is the same.
  • the top-level window such as ppt presentation document, word document
  • the scrolling width of the image blocks that are scrolled and displayed in the top window is often the same, that is, the displacement of each image block that performs scroll display is the same as the displacement of the corresponding target image block.
  • the probability that Y1 is the target image block corresponding to Y2 is high. Therefore, it is possible to preferentially confirm whether Y1 is the target image block corresponding to Y2, and the speed of hitting the target image block can be further improved, thereby saving the calculation amount of the target image block and improving the coding efficiency. .
  • Embodiment 2 of the present invention provides a sharing terminal 500.
  • the communication terminal 500 includes: an obtaining module 501 and an encoding module 502;
  • the acquiring module 501 acquires an image displayed on the screen of the sharing terminal 500 as a screen sharing image at a preset time interval, wherein the screen sharing image acquired at the first time is the first image, and the screen sharing image acquired at the second time is a second image, where the first moment and the second moment are adjacent moments;
  • the encoding module 502 is configured to divide the second image into a plurality of rectangular image blocks, and the first top-level window displayed at the first moment on the screen of the determining sharing terminal 500 and the second top-level window displayed at the second moment are The first to-be-encoded image block in the second top-level window region of the plurality of rectangular image blocks is determined according to the description information of the second top-level window region, wherein the second top-level window region is And the second top-level window shares an area occupied by the image in the second screen, and matches and matches the first top-level window area in the first image according to the description information of the first top-level window area.
  • the first top-level window area is an area occupied by the first top-level window in the first screen shared image, and image data in the target image block The same as the image data in the first to-be-coded image block; and is further configured to use the displacement of the first to-be-coded image block relative to the target image block as the first to-be-coded image The motion vector of the block.
  • the encoding module 502 is specifically configured to determine, according to the description information of the first top-level window region, a first to-be-matched image having the same width as the first to-be-encoded image block in the first top-level window region.
  • Block the displacement of the first to-be-coded image block relative to the first to-be-matched image block is the same as the displacement of the second top-level window region relative to the first top-level window region, and And whether the image data in the first to-be-matched image block is the same as the image data in the target image block, and when the determination result is the same, the first to-be-matched image block is used as the target image block.
  • the method may be further configured to determine, in the first top-level window region, the same width as the first image block to be encoded, according to the description information of the first top-level window region, when the determination result is different.
  • a second to-be-matched image block, an abscissa of a left edge of the second to-be-matched image block and an abscissa of a left edge of the first to-be-matched image block are the same, and the second image to be matched is on the image block
  • the ordinate of the edge is different from the ordinate of the upper edge of the first image to be matched, and when it is determined that the image data in the second image to be matched is the same as the image data in the target image block,
  • the second image to be matched is used as the target image block.
  • the encoding module 502 may be further configured to determine, according to the description information of the second top-level window region, a second image block to be encoded in the second top window region of the plurality of rectangular image blocks, the second image block to be encoded being different from the first image block to be encoded, according to the first top layer Determining information of the window area, in the first top-level window area, determining a third to-be-matched image block having the same width as the second to-be-encoded image block, the second to-be-coded image block being opposite to the third Determining the displacement of the image block to be matched and the displacement of the image block to be encoded with respect to the target image block, determining image data of the image block to be matched and image of the second image block to be encoded When the data is the same, the displacement of the second image to be encoded relative to the third image to be matched is
  • the functional modules described in Embodiment 2 of the present invention may be used to implement the operations performed by the shared terminal in the method described in Embodiment 1 above.
  • the target image block is not matched in the image of the previous moment, but only the target is matched in the top window area.
  • Image blocks so the amount of computation is small and the coding efficiency is high, which can improve the real-time performance of screen sharing.
  • Embodiment 3 of the present invention provides a sharing terminal 1000.
  • the sharing terminal 1000 includes a processor 1010 and a memory 1020, wherein the processor 1010 and the memory 1020 are completed by using a bus. Communication with each other.
  • the memory 1020 is configured to store computer operation instructions.
  • the memory 1020 may include a high speed RAM memory and may also include a non-volatile memory such as at least one disk memory.
  • the processor 1010 is configured to execute computer operation instructions stored in the memory 1020.
  • the processor 1010 may be a central processing unit (CPU) and is a computer core unit.
  • the processor 1010 executes the computer operation instruction to cause the sharing terminal 1000 to perform the operations performed by the sharing terminal in the method described in Embodiment 1 above.
  • the target image block is not matched in the image of the previous moment, but only the target image is matched in the top-level window region. Block, therefore, the amount of calculation is small, the coding efficiency is high, so that the real-time of screen sharing can be improved.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative
  • the division of the unit is only a logical function division, and the actual implementation may have another division manner, for example, multiple units or components may be combined or may be integrated into another system, or some features may be Ignore, or not execute.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
  • the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer terminal (which may be a personal computer, server, or network terminal, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Abstract

Disclosed are a method and apparatus for encoding a screen sharing image. The method comprises: a sharing terminal acquiring screen sharing images at pre-set time intervals, wherein a screen sharing image acquired at a first moment is a first image and a screen sharing image acquired at a second moment is a second image; dividing the second image into a plurality of rectangular image blocks; determining a first image block to be encoded located in a second top layer window region; matching, in a first top layer window region in the first image, a target image block corresponding to the first image block to be encoded; and using the displacement of the first image block to be encoded relative to the target image block as a motion vector of the first image block to be encoded. Therefore, for an image block in a top layer window in an image to be encoded, a target image block is matched only in a top layer window region, and hence, the calculation workload is less, the encoding efficiency is higher, and the real-time performance of screen sharing can thus be improved.

Description

一种对屏幕共享图像进行编码的方法和装置Method and device for encoding screen shared image 技术领域Technical field
本发明实施例涉及图像处理领域,并且更具体地,涉及一种对屏幕共享图像进行编码的方法和装置。Embodiments of the present invention relate to the field of image processing and, more particularly, to a method and apparatus for encoding a screen shared image.
背景技术Background technique
网络会议已大量应用在日常的工作沟通、商务会议、在线教育等场景中,其中,屏幕共享是网络会议的一项重要功能特性。网络会议中进行屏幕共享的终端(后续称为共享终端)获取本终端屏幕上显示的图像作为屏幕共享图像,通过会议服务器发送给其它与会者的终端,其它与会者的终端将接收的屏幕共享图像显示到屏幕上,因此,其它与会者感觉如同与共享终端的用户在观看同一个屏幕一样。Web conferencing has been widely used in daily work communication, business meetings, online education and other scenarios. Screen sharing is an important feature of web conferencing. A terminal that performs screen sharing in a network conference (hereinafter referred to as a shared terminal) acquires an image displayed on the screen of the terminal as a screen shared image, and transmits the image shared by the conference server to the terminal of other participants, and the screen shared by the terminal of the other participant. It is displayed on the screen, so other participants feel as if they are watching the same screen as the user sharing the terminal.
为了节省传输带宽,共享终端在向会议服务器发送屏幕共享图像之前,需要先对该屏幕共享图像进行编码。在现有技术中,可以采用视频编码中常用的运动估计的方式对屏幕共享图像进行编码。具体实现方式是:将待编码的当前图像划分成多个矩形图像块,对于当前图像中的一个图像块A,在前一图像内搜索与图像块A相同的目标图像块,如果匹配到,则计算图像块A相对于该目标图像块的位移,将计算出的位移作为图像块A的运动矢量,而无需对图像块A本身的图像数据进行编码。相应地,其他与会者的终端在解码获取该目标图像块的图像数据的前提下即可利用该目标图像块的图像数据和该运动矢量获得图像块A的图像数据。In order to save transmission bandwidth, the shared terminal needs to encode the screen shared image before sending the screen shared image to the conference server. In the prior art, screen sharing images may be encoded in a manner commonly used in motion estimation in video coding. The specific implementation manner is: dividing the current image to be encoded into a plurality of rectangular image blocks, and searching for the same target image block as the image block A in the previous image for one image block A in the current image, if matched, The displacement of the image block A with respect to the target image block is calculated, and the calculated displacement is taken as the motion vector of the image block A without encoding the image data of the image block A itself. Correspondingly, the terminal of the other participant can obtain the image data of the image block A by using the image data of the target image block and the motion vector on the premise that the image data of the target image block is decoded.
根据现有技术,通常是在整个前一图像内搜索目标图像块,导致搜索目标图像块的运算量较大,编码效率较低,所以,直接采用该现有技术实现屏幕共享图像的编码通常无法保证屏幕共享的实时性。According to the prior art, the target image block is usually searched in the entire previous image, resulting in a large amount of computation of the search target image block and low coding efficiency. Therefore, the coding of the screen shared image directly by using the prior art is generally not possible. Ensure the real-time nature of screen sharing.
发明内容Summary of the invention
本发明实施例提供一种对屏幕共享图像进行编码的方法和装置,用于解 决现有技术中存在的编码效率较低导致无法保证屏幕共享的实时性的问题。Embodiments of the present invention provide a method and apparatus for encoding a screen shared image, which are used to solve The problem of the low efficiency of coding existing in the prior art leads to the inability to guarantee the real-time nature of screen sharing.
第一方面,提供了一种对屏幕共享图像进行编码的方法,所述方法包括:In a first aspect, a method of encoding a screen shared image is provided, the method comprising:
共享终端以预设时间间隔获取所述共享终端的屏幕上显示的图像作为屏幕共享图像,其中,在第一时刻获取的屏幕共享图像为第一图像,在第二时刻获取的屏幕共享图像为第二图像,所述第一时刻和所述第二时刻为相邻时刻;The shared terminal acquires an image displayed on the screen of the shared terminal as a screen shared image at a preset time interval, wherein the screen shared image acquired at the first time is the first image, and the screen shared image acquired at the second time is the first a second image, where the first moment and the second moment are adjacent moments;
所述共享终端将所述第二图像划分为多个矩形图像块;The sharing terminal divides the second image into a plurality of rectangular image blocks;
所述共享终端在确定所述共享终端的屏幕上在第一时刻显示的第一顶层窗口和在第二时刻显示的第二顶层窗口为同一顶层窗口时,根据第二顶层窗口区域的描述信息确定所述多个矩形图像块中的处于第二顶层窗口区域内的第一待编码图像块,其中,所述第二顶层窗口区域为所述第二顶层窗口在所述第二屏幕共享图像中所占的区域;The sharing terminal determines, according to the description information of the second top-level window area, that the first top-level window displayed at the first time on the screen of the shared terminal and the second top-level window displayed at the second time are the same top-level window a first to-be-coded image block in the second top-level window region of the plurality of rectangular image blocks, wherein the second top-level window region is the second top-level window in the second screen shared image Area occupied
所述共享终端根据第一顶层窗口区域的描述信息在所述第一图像中的所述第一顶层窗口区域内匹配与所述第一待编码图像块对应的目标图像块,其中,所述第一顶层窗口区域为所述第一顶层窗口在所述第一屏幕共享图像中所占的区域,所述目标图像块中的图像数据与所述第一待编码图像块中的图像数据相同;And the sharing terminal matches the target image block corresponding to the first to-be-coded image block in the first top-level window area in the first image according to the description information of the first top-level window area, where the a top window area is an area occupied by the first top window in the first screen shared image, and image data in the target image block is the same as image data in the first to-be-coded image block;
所述共享终端将所述第一待编码图像块相对于所述目标图像块的位移作为所述第一待编码图像块的运动矢量。And the sharing terminal uses a displacement of the first to-be-coded image block relative to the target image block as a motion vector of the first to-be-encoded image block.
在第一方面的第一种可能的实现方式中,所述共享终端根据所述第一顶层窗口区域的描述信息在所述第一图像中的所述第一顶层窗口区域内匹配与所述第一待编码图像块相同的目标图像块具体包括:In a first possible implementation manner of the first aspect, the sharing terminal matches the first top window area in the first image according to the description information of the first top window area A target image block having the same image block to be encoded specifically includes:
所述共享终端根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口区域内确定与所述第一待编码图像块等宽等高的第一待匹配图像块,所述第一待编码图像块相对于所述第一待匹配图像块的位移与所述第二顶层窗口区域相对于所述第一顶层窗口区域的位移相同; Determining, in the first top-level window area, a first to-be-matched image block having the same width as the first to-be-encoded image block according to the description information of the first top-level window area, the first The displacement of the image block to be encoded relative to the first image block to be matched is the same as the displacement of the second top window region relative to the first top window region;
所述共享终端判断所述第一待匹配图像块中的图像数据与所述目标图像块中的图像数据是否相同,如果相同,将所述第一待匹配图像块作为所述目标图像块。The sharing terminal determines whether the image data in the first image to be matched is the same as the image data in the target image block, and if the same, the first image to be matched is used as the target image block.
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述共享终端根据所述第一顶层窗口区域的描述信息在所述第一图像中的所述第一顶层窗口区域内匹配与所述第一待编码图像块相同的目标图像块还包括:With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner, the sharing terminal is in the first image in the first image according to the description information of the first top window area Matching the same target image block in the top window area to the first image block to be encoded further includes:
如果不同,根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口区域内确定与所述第一待编码图像块等宽等高的第二待匹配图像块,所述第二待匹配图像块的左边缘的横坐标和所述第一待匹配图像块的左边缘的横坐标相同,且所述第二待匹配图像块的上边缘的纵坐标和所述第一待匹配图像块的上边缘的纵坐标不同;If it is different, determining, according to the description information of the first top-level window area, a second to-be-matched image block having the same width and width as the first to-be-encoded image block in the first top-level window area, the second to-be-held The abscissa of the left edge of the matching image block and the abscissa of the left edge of the first image to be matched are the same, and the ordinate of the upper edge of the second image block to be matched and the first image block to be matched The upper edge has a different ordinate;
在确定所述第二待匹配图像块中的图像数据与所述目标图像块中的图像数据相同时,将所述第二待匹配图像块作为所述目标图像块。And determining, when the image data in the second image to be matched is the same as the image data in the target image block, the second image to be matched as the target image block.
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述共享终端在确定所述第二待匹配图像块中的图像数据与所述目标图像块中的图像数据相同之后,还包括:In conjunction with the second possible implementation of the first aspect, in a third possible implementation, the shared terminal determines image data in the second image to be matched and an image in the target image block After the data is the same, it also includes:
所述共享终端根据所述第二顶层窗口区域的描述信息确定所述多个矩形图像块中的处于所述第二顶层窗口区域内的第二待编码图像块,所述第二待编码图像块不同于所述第一待编码图像块;Determining, by the sharing terminal, the second to-be-coded image block in the second top-level window area, the second to-be-coded image block, according to the description information of the second top-level window area Different from the first image block to be encoded;
所述共享终端根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口区域内确定与所述第二待编码图像块等宽等高的第三待匹配图像块,所述第二待编码图像块相对于所述第三待匹配图像块的位移与所述第一待编码图像块相对于所述目标图像块的位移相同,在确定所述第三待匹配图像块的图像数据与所述第二待编码图像块的图像数据相同时,将所述第二待编码图像块相对于所述第三待匹配图像块的位移作为所述第二待编码图像块的运动矢 量。Determining, by the sharing terminal, a third to-be-matched image block having the same width as the second to-be-coded image block in the first top-level window region according to the description information of the first top-level window region, the second Determining the displacement of the image block to be encoded relative to the third image to be matched and the displacement of the image block to be encoded with respect to the target image block, determining image data of the image block to be matched in the third When the image data of the second to-be-coded image block is the same, the displacement of the second to-be-coded image block relative to the third to-be-matched image block is used as the motion vector of the second to-be-coded image block. the amount.
第二方面,提供了一种共享终端,包括:获取模块和编码模块;In a second aspect, a shared terminal is provided, including: an obtaining module and an encoding module;
所述获取模块,以预设时间间隔获取所述共享终端的屏幕上显示的图像作为屏幕共享图像,其中,在第一时刻获取的屏幕共享图像为第一图像,在第二时刻获取的屏幕共享图像为第二图像,所述第一时刻和所述第二时刻为相邻时刻;The acquiring module acquires an image displayed on a screen of the sharing terminal as a screen sharing image at a preset time interval, where the screen sharing image acquired at the first time is the first image, and the screen sharing acquired at the second time is The image is a second image, and the first moment and the second moment are adjacent moments;
所述编码模块,用于将所述第二图像划分为多个矩形图像块,在确定所述共享终端的屏幕上在第一时刻显示的第一顶层窗口和在第二时刻显示的第二顶层窗口为同一顶层窗口时,根据第二顶层窗口区域的描述信息确定所述多个矩形图像块中的处于第二顶层窗口区域内的第一待编码图像块,其中,所述第二顶层窗口区域为所述第二顶层窗口在所述第二屏幕共享图像中所占的区域,并根据第一顶层窗口区域的描述信息在所述第一图像中的所述第一顶层窗口区域内匹配与所述第一待编码图像块对应的目标图像块,其中,所述第一顶层窗口区域为所述第一顶层窗口在所述第一屏幕共享图像中所占的区域,所述目标图像块中的图像数据与所述第一待编码图像块中的图像数据相同;还用于将所述第一待编码图像块相对于所述目标图像块的位移作为所述第一待编码图像块的运动矢量。The encoding module is configured to divide the second image into a plurality of rectangular image blocks, a first top-level window displayed at a first moment on a screen of the shared terminal, and a second top-level displayed at a second moment When the window is the same top-level window, determining, according to the description information of the second top-level window region, the first to-be-coded image block in the second top-level window region of the plurality of rectangular image blocks, wherein the second top-level window region Sharing the area occupied by the image in the second screen for the second top window, and matching and matching in the first top window area in the first image according to the description information of the first top window area a target image block corresponding to the first to-be-coded image block, wherein the first top-level window area is an area occupied by the first top-level window in the first screen shared image, in the target image block The image data is the same as the image data in the first image block to be encoded; and is further configured to use the displacement of the first image block to be encoded relative to the target image block as the first to be edited Motion vector of the image block.
在第二方面的第一种可能的实现方式中,所述编码模块具体用于根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口区域内确定与所述第一待编码图像块等宽等高的第一待匹配图像块,所述第一待编码图像块相对于所述第一待匹配图像块的位移与所述第二顶层窗口区域相对于所述第一顶层窗口区域的位移相同,并判断所述第一待匹配图像块中的图像数据与所述目标图像块中的图像数据是否相同,在判断结果为相同时,将所述第一待匹配图像块作为所述目标图像块。In a first possible implementation manner of the second aspect, the encoding module is configured to determine, in the first top-level window region, the first image to be encoded according to the description information of the first top-level window region. a first to-be-matched image block having a block width equal to a height, a displacement of the first to-be-coded image block relative to the first to-be-matched image block, and a second top-level window region relative to the first top-level window region The displacements are the same, and it is determined whether the image data in the first image to be matched is the same as the image data in the target image block. When the determination result is the same, the first image to be matched is used as the Target image block.
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述编码模块具体还用于,在判断结果为不同时,根据所述第一顶层窗口区 域的描述信息在所述第一顶层窗口区域内确定与所述第一待编码图像块等宽等高的第二待匹配图像块,所述第二待匹配图像块的左边缘的横坐标和所述第一待匹配图像块的左边缘的横坐标相同,且所述第二待匹配图像块的上边缘的纵坐标和所述第一待匹配图像块的上边缘的纵坐标不同,并在确定所述第二待匹配图像块中的图像数据与所述目标图像块中的图像数据相同时,将所述第二待匹配图像块作为所述目标图像块。With reference to the first possible implementation manner of the second aspect, in a second possible implementation manner, the coding module is further configured to: when the determination result is different, according to the first top window area Descriptive information of the domain, in the first top-level window area, determining a second to-be-matched image block having the same width as the first to-be-coded image block, and an abscissa of a left edge of the second to-be-matched image block The abscissa of the left edge of the first to-be-matched image block is the same, and the ordinate of the upper edge of the second image to be matched and the ordinate of the upper edge of the first image block to be matched are different, and When it is determined that the image data in the second image to be matched is the same as the image data in the target image block, the second image to be matched is used as the target image block.
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述编码模块还用于,在确定所述第二待匹配图像块中的图像数据与所述目标图像块中的图像数据相同之后,根据所述第二顶层窗口区域的描述信息确定所述多个矩形图像块中的处于所述第二顶层窗口区域内的第二待编码图像块,所述第二待编码图像块不同于所述第一待编码图像块,根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口区域内确定与所述第二待编码图像块等宽等高的第三待匹配图像块,所述第二待编码图像块相对于所述第三待匹配图像块的位移与所述第一待编码图像块相对于所述目标图像块的位移相同,在确定所述第三待匹配图像块的图像数据与所述第二待编码图像块的图像数据相同时,将所述第二待编码图像块相对于所述第三待匹配图像块的位移作为所述第二待编码图像块的运动矢量。With reference to the second possible implementation of the second aspect, in a third possible implementation, the coding module is further configured to: determine image data in the second image to be matched and the target image After the image data in the block is the same, determining, according to the description information of the second top-level window region, the second to-be-coded image block in the second top-level window region of the plurality of rectangular image blocks, the second The image block to be encoded is different from the first image block to be encoded, and is determined to be equal in width to the second image block to be encoded in the first top window region according to the description information of the first top window region. a third to-be-matched image block, the displacement of the second to-be-coded image block relative to the third to-be-matched image block is the same as the displacement of the first to-be-coded image block relative to the target image block, When the image data of the third to-be-matched image block is the same as the image data of the second to-be-coded image block, the displacement of the second to-be-coded image block relative to the third to-be-matched image block is used as the The motion vector of the second image block to be encoded.
根据本发明实施例,针对屏幕共享图像的特点,对于待编码图像中的顶层窗口内的图像块,并不是在整个前一时刻的图像内匹配目标图像块,而是仅在顶层窗口区域内匹配目标图像块,所以,运算量较小,编码效率较高,从而可以改善屏幕共享的实时性。According to the embodiment of the present invention, for the feature of the screen sharing image, for the image block in the top window in the image to be encoded, the target image block is not matched in the image of the previous moment, but only in the top window region. The target image block, therefore, the amount of calculation is small, and the coding efficiency is high, thereby improving the real-time performance of the screen sharing.
附图说明DRAWINGS
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the embodiments or the prior art description will be briefly described below. Obviously, the drawings in the following description are only some of the present invention. For the embodiments, those skilled in the art can obtain other drawings according to the drawings without any creative work.
图1为本发明实施例提供的一种会议系统的组网结构示意图;FIG. 1 is a schematic structural diagram of a networking of a conference system according to an embodiment of the present disclosure;
图2为本发明实施例1提供的方法流程示意图;2 is a schematic flowchart of a method according to Embodiment 1 of the present invention;
图3A和3B是本发明实施例1提供的屏幕共享图像的示意图;3A and 3B are schematic diagrams of screen sharing images provided by Embodiment 1 of the present invention;
图4和图5是本发明实施例1提供的用于表示待编码图像块和待匹配图像块之间的位移关系的示意图;4 and FIG. 5 are schematic diagrams showing the displacement relationship between an image block to be encoded and an image block to be matched according to Embodiment 1 of the present invention;
图6是本发明实施例2提供的共享终端500的结构示意图;FIG. 6 is a schematic structural diagram of a sharing terminal 500 according to Embodiment 2 of the present invention;
图7是本发明实施例3提供的共享终端1000的结构示意图。FIG. 7 is a schematic structural diagram of a shared terminal 1000 according to Embodiment 3 of the present invention.
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are a part of the embodiments of the present invention, but not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
图1为本发明实施例1提供的会议系统100的一种组网结构示意图。会议系统100包括会议终端110、会议服务器120和会议终端130。会议终端110和130中的任一会议终端可以作为共享终端进行屏幕共享,共享终端在进行屏幕共享时,获取本终端屏幕上显示的图像作为屏幕共享图像编码后发送给会议服务器120,会议服务器120将该编码后的屏幕共享图像发送给其它会议终端,其它会议终端将接收的屏幕共享图像解码后显示到本终端的屏幕上。FIG. 1 is a schematic structural diagram of a networking of a conference system 100 according to Embodiment 1 of the present invention. The conference system 100 includes a conference terminal 110, a conference server 120, and a conference terminal 130. Any one of the conference terminals 110 and 130 can be used as a shared terminal for screen sharing. When the shared terminal performs screen sharing, the shared terminal obtains the image displayed on the screen of the terminal as the screen shared image code and sends the image to the conference server 120. The conference server 120 transmits the image to the conference server 120. The encoded screen shared image is sent to other conference terminals, and the other conference terminals decode the received screen shared image and display it on the screen of the terminal.
图2是本发明实施例1提供的方法流程示意图,本发明实施例1的方法应用于图1所示的会议系统100中的任一作为共享终端的会议终端。2 is a schematic flowchart of a method according to Embodiment 1 of the present invention. The method in Embodiment 1 of the present invention is applied to any conference terminal in the conference system 100 shown in FIG. 1 as a shared terminal.
如图2所示,本发明实施例1提供的方法包括:As shown in FIG. 2, the method provided in Embodiment 1 of the present invention includes:
步骤201:共享终端以预设时间间隔获取所述共享终端的屏幕上显示的图像作为屏幕共享图像,还可以获取所述屏幕上显示的顶层窗口(即焦点窗口)的描述信息。Step 201: The shared terminal acquires an image displayed on the screen of the shared terminal as a screen shared image at a preset time interval, and may also obtain description information of a top-level window (ie, a focus window) displayed on the screen.
后续将两个相邻时刻中的前一时刻称为第一时刻、将后一时刻称为第二 时刻,如,以200ms为预设时间间隔,第一时刻为6分30秒200毫秒,第二时刻为6分30秒400毫秒。相应地,将在第一时刻获取的屏幕共享图像称为第一图像,将在第二时刻获取的屏幕共享图像称为第二图像,将在第一时刻显示的顶层窗口称为第一顶层窗口,将在第二时刻显示的顶层窗口称为第二顶层窗口,将第一顶层窗口在第一图像中所占的区域称为第一顶层窗口区域,将第二顶层窗口在第二图像中所占的区域称为第二顶层窗口区域。The subsequent one of the two adjacent moments is referred to as the first moment, and the latter moment is referred to as the second At the moment, for example, with 200ms as the preset time interval, the first time is 6 minutes, 30 seconds, 200 milliseconds, and the second time is 6 minutes, 30 seconds, 400 milliseconds. Correspondingly, the screen sharing image acquired at the first moment is referred to as a first image, the screen sharing image acquired at the second moment is referred to as a second image, and the top-level window displayed at the first moment is referred to as a first top-level window The top-level window displayed at the second moment is referred to as a second top-level window, the region occupied by the first top-level window in the first image is referred to as a first top-level window region, and the second top-level window is referred to in the second image The area occupied is called the second top-level window area.
所述第一图像的示例如图3A所示,311为第一时刻获取的屏幕共享图像,312为第一时刻显示的顶层窗口。所述第二图像的示例如图3B所示,321为第二时刻获取的屏幕共享图像,322为第二时刻显示的顶层窗口。An example of the first image is shown in FIG. 3A, 311 is a screen sharing image acquired at a first time, and 312 is a top window displayed at a first time. An example of the second image is shown in FIG. 3B, 321 is a screen sharing image acquired at a second time, and 322 is a top window displayed at a second time.
所述顶层窗口的描述信息,用于描述所述顶层窗口在所述共享终端的屏幕上显示的图像中所占的区域,具体可以包括所述顶层窗口上的一个参考点(如所述顶层窗口的左上角)的坐标、所述顶层窗口的宽度和高度。The description information of the top-level window is used to describe an area occupied by the top-level window in an image displayed on a screen of the shared terminal, and specifically includes a reference point on the top-level window (such as the top-level window) The coordinates of the top left corner, the width and height of the top window.
如果在某个时刻获取了屏幕共享图像,该时刻显示的顶层窗口的描述信息则自然可以用于描述该顶层窗口在该时刻获取的屏幕共享图像中所占的区域(即顶层窗口区域),即可作为该顶层窗口区域的描述信息。如,所述第一顶层窗口的描述信息可以用于描述所述第一顶层窗口区域,可作为所述第一顶层窗口区域的描述信息;所述第二顶层窗口的描述信息可以用于描述所述第二顶层窗口区域,可作为所述第二顶层窗口区域的描述信息。If the screen sharing image is acquired at a certain moment, the description information of the top window displayed at the moment can naturally be used to describe the area occupied by the top window in the screen sharing image acquired at the moment (ie, the top window area), that is, Can be used as a description of the top-level window area. For example, the description information of the first top-level window may be used to describe the first top-level window area, which may be used as description information of the first top-level window area; and the description information of the second top-level window may be used to describe The second top-level window area can be used as the description information of the second top-level window area.
在具体实现时,所述共享终端可以采用如下方式获取并记录所述屏幕上显示的顶层窗口的描述信息。In a specific implementation, the sharing terminal may acquire and record description information of the top-level window displayed on the screen in the following manner.
所述共享终端在启动屏幕共享时,启动窗口监测程序,如windows(视窗)hook(钩子)程序,通过所述窗口监测程序监测顶层窗口发生的变化(如顶层窗口发生切换,顶层窗口的位置或大小发生变化),并在发生变化时记录通过所述窗口监测程序获取的当前顶层窗口的信息。The sharing terminal starts a window monitoring program, such as a windows hook program, by the window monitoring program to monitor changes in the top window (such as switching of the top window, the position of the top window or The size changes) and the information of the current top-level window obtained by the window monitoring program is recorded when the change occurs.
在监测到顶层窗口由第一窗口切换为第二窗口时,如,由一个幻灯片窗口切换为一个浏览器窗口,又如,由一个幻灯片窗口切换为另一个幻灯片窗 口,记录下发生切换的时刻、当前顶层窗口(即第二窗口)的标识(如当前顶层窗口的句柄)、以及当前顶层窗口的描述信息。如果顶层窗口发生切换,则切换之前记录的顶层窗口的信息后续不再需要,此时可以删除。When it is monitored that the top window is switched from the first window to the second window, for example, switching from one slide window to one browser window, and, for example, switching from one slide window to another Port, record the moment when the switch occurs, the identifier of the current top-level window (ie, the second window) (such as the handle of the current top-level window), and the description information of the current top-level window. If the top-level window is switched, the information of the top-level window recorded before switching is no longer needed, and can be deleted at this time.
在监测到顶层窗口的位置发生变化时,记录下发生变化的时刻、以及当前顶层窗口的描述信息。When the position of the top-level window is changed, the time at which the change occurred and the description information of the current top-level window are recorded.
在监测到顶层窗口的大小发生变化时,记录下发生变化的时刻、以及当前顶层窗口的描述信息。如果顶层窗口的大小发生变化,发生变化之前记录的顶层窗口的信息后续不再需要,此时可以删除。When it is detected that the size of the top-level window changes, the time at which the change occurred and the description information of the current top-level window are recorded. If the size of the top-level window changes, the information of the top-level window recorded before the change is no longer needed, and can be deleted at this time.
记录的某一顶层窗口的信息示例如下所示:An example of the information for a top-level window of a record is as follows:
变化时刻Changing moment 描述信息Description
t1T1 (x1,y1,w,h)(x1, y1, w, h)
t2T2 (x2,y2,w,h)(x2, y2, w, h)
... ...
tiTi (xi,yi,w,h)(xi,yi,w,h)
... ...
其中ti为发生变化的时刻,(xi,yi)为该顶层窗口在ti时刻的左上角的坐标,wi为该顶层窗口在ti时刻的宽度,hi为该顶层窗口在ti时刻的高度。通常是以屏幕共享图像的左上角为坐标原点,横坐标轴横向朝右,纵坐标轴纵向朝下。Where ti is the moment of change, (xi, yi) is the coordinates of the top left window at the top left corner of ti, wi is the width of the top window at time ti, and hi is the height of the top window at time ti. Usually, the upper left corner of the image shared by the screen is taken as the coordinate origin, the horizontal axis is horizontally facing right, and the vertical axis is vertically downward.
步骤202:所述共享终端将所述第二图像划分为多个矩形图像块。Step 202: The sharing terminal divides the second image into a plurality of rectangular image blocks.
如果采用h.264对获取的各屏幕共享图像进行编码,所述图像块称为宏块;如果采用HEVC(High Efficiency Video Coding,高效率视频编码)对获取的各屏幕共享图像进行编码,所述图像块称为编码单元。If h.264 is used to encode the acquired screen sharing images, the image blocks are referred to as macroblocks; if HEVC (High Efficiency Video Coding) is used to encode the acquired screen sharing images, An image block is called a coding unit.
步骤203:所述共享终端在确定所述共享终端的屏幕上在第一时刻显示的第一顶层窗口和在第二时刻显示的第二顶层窗口为同一顶层窗口时,根据所述第二顶层窗口区域的描述信息确定处于所述第二顶层窗口区域的待编码图 像块。Step 203: When the shared terminal determines that the first top-level window displayed at the first moment on the screen of the shared terminal and the second top-level window displayed at the second moment are the same top-level window, according to the second top-level window The description information of the area determines the to-be-coded picture in the second top-level window area Like a block.
假设当前顶层窗口的描述信息如下表所示:Assume that the description information of the current top-level window is as follows:
变化时刻Changing moment 描述信息Description
t1T1 (x1,y1,w,h)(x1, y1, w, h)
t2T2 (x2,y2,w,h)(x2, y2, w, h)
t3T3 (x3,y3,w3,h3)(x3, y3, w3, h3)
t4T4 (x4,y4,w4,h4)(x4, y4, w4, h4)
如果所述第一时刻大于等于t2小于t3、所述第二时刻大于等于t3小于t4,则所述第一顶层窗口的描述信息为(x2,y2,w,h),可以作为所述第一顶层窗口区域的描述信息,所述第二顶层窗口的描述信息为(x4,y4,w4,h4),可以作为所述第二顶层窗口区域的描述信息。If the first time is greater than or equal to t2 is less than t3, and the second time is greater than or equal to t3 is less than t4, the description information of the first top-level window is (x2, y2, w, h), which may be the first Descriptive information of the top-level window area, where the description information of the second top-level window is (x4, y4, w4, h4), which can be used as description information of the second top-level window area.
如果所述第一顶层窗口和所述第二顶层窗口不是同一顶层窗口,则不执行后续步骤,可以采用现有技术在所述第一图像中匹配与所述第二图像中的各图像块对应的目标图像块。If the first top-level window and the second top-level window are not the same top-level window, the subsequent steps are not performed, and the matching in the first image may correspond to each image block in the second image by using the prior art. The target image block.
另外,所述共享终端在确定所述第一顶层窗口和所述第二顶层窗口为同一顶层窗口的情况下,还可以判断所述第一顶层窗口和所述第二顶层窗口的大小是否相同,即是否等宽等高。如果相同,执行后续步骤;否则不执行后续步骤,可以采用现有技术在所述第一图像中匹配与所述第二图像中的各图像块对应的目标图像块。也可以不判断所述第一顶层窗口和所述第二顶层窗口的大小是否相同,而是直接执行后续步骤。In addition, the sharing terminal may determine whether the size of the first top window and the second top window are the same if the first top window and the second top window are the same top window. That is, whether the width is equal. If they are the same, the subsequent steps are performed; otherwise, the subsequent steps are not performed, and the target image blocks corresponding to the respective image blocks in the second image may be matched in the first image by the prior art. It is also possible not to judge whether the sizes of the first top-level window and the second top-level window are the same, but to directly perform subsequent steps.
步骤204:所述共享终端根据所述第一顶层窗口区域的描述信息在所述第一图像中的所述第一顶层窗口内匹配与所述待编码图像块相同的目标图像块。Step 204: The sharing terminal matches the same target image block as the image block to be encoded in the first top window in the first image according to the description information of the first top window area.
步骤205:将所述待编码图像块相对于所述目标图像块的位移作为所述待编码图像块的运动矢量。Step 205: Use a displacement of the image block to be encoded with respect to the target image block as a motion vector of the image block to be encoded.
将所述运动矢量作为所述待编码图像块的编码数据,而无需对所述待编 码图像块本身的图像数据进行编码。Using the motion vector as the encoded data of the image block to be encoded without The image data of the code image block itself is encoded.
如果在步骤204中没有匹配到与所述第二顶层窗口区域内的某一待编码图像块对应的目标图像块,则可以采用现有技术对该待编码图像块进行编码。对于没有包含在所述第二顶层窗口内的图像块,可以采用现有技术在所述第一图像中匹配对应的目标图像块。If the target image block corresponding to a certain image block to be encoded in the second top window area is not matched in step 204, the image block to be encoded may be encoded by the prior art. For image blocks not included in the second top-level window, the corresponding target image blocks may be matched in the first image using the prior art.
所述共享终端通过上述步骤对所述第二图像进行编码后,通过会议服务器发送给其它会议终端,其它会议终端参照所述第一图像对接收的编码后的第二图像进行解码显示。在对编码后的第二图像进行解码的过程中,对于其中的编码数据为运动矢量的图像块,根据其对应的目标图像块的图像数据和该运动矢量获得该图像块的图像数据。After the shared terminal encodes the second image by using the foregoing steps, the shared image is sent to other conference terminals through the conference server, and the other conference terminals decode and display the received encoded second image by referring to the first image. In the process of decoding the encoded second image, for the image block in which the encoded data is a motion vector, the image data of the image block is obtained according to the image data of the corresponding target image block and the motion vector.
需要说明的是,本发明实施例1描述的是以所述第一图像为参考帧对所述第二图像进行编码,作为所述第二图像的参考帧的第一图像,可以被编码为关键帧(即I帧),也可以根据本发明实施例1的方法以所述第一图像的前一时刻的屏幕共享图像为参考帧被编码为非关键帧(如P帧)。It should be noted that, in Embodiment 1 of the present invention, the second image is encoded by using the first image as a reference frame, and the first image of the reference frame of the second image may be encoded as a key. The frame (ie, I frame) may also be encoded as a non-key frame (eg, a P frame) with the screen shared image of the previous moment of the first image as a reference frame according to the method of Embodiment 1 of the present invention.
根据本发明实施例1,针对屏幕共享图像的特点,对于待编码图像中的顶层窗口内的图像块,并不是在整个前一时刻的图像内匹配目标图像块,而是仅在顶层窗口内匹配目标图像块,所以,运算量较小,编码效率较高,从而可以改善屏幕共享的实时性。According to Embodiment 1 of the present invention, for the feature of the screen sharing image, for the image block in the top window in the image to be encoded, the target image block is not matched in the image of the previous moment, but only in the top window. The target image block, therefore, the amount of calculation is small, and the coding efficiency is high, thereby improving the real-time performance of the screen sharing.
优选地,步骤204的具体实现方式可以包括如下步骤:Preferably, the specific implementation of step 204 may include the following steps:
步骤204-1:根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口内确定与所述待编码图像块等宽等高的第一待匹配图像块,所述待编码图像块相对于所述第一待匹配图像块的位移与所述第二顶层窗口相对于所述第一顶层窗口的位移相同。Step 204-1: Determine, according to the description information of the first top-level window area, a first to-be-matched image block having the same width as the image block to be encoded, the image block to be encoded, in the first top-level window. The displacement relative to the first image to be matched is the same as the displacement of the second top window relative to the first top window.
如图4所示,A1为所述第一顶层窗口,A2为所述第二顶层窗口,B1为所述第一待匹配图像块,B2为所述待编码图像块。B1和B2等宽等高,且B2相 对于B1的位移与A2相对于A1的位移相同。As shown in FIG. 4, A1 is the first top-level window, A2 is the second top-level window, B1 is the first image block to be matched, and B2 is the image block to be encoded. B1 and B2 are equal in width and B2 phase The displacement for B1 is the same as the displacement of A2 with respect to A1.
具体实现方式可以是:根据所述第二顶层窗口区域的描述信息和所述第一顶层窗口区域的描述信息计算所述第二顶层窗口相对于所述第一顶层窗口的位移(后续称为窗口位移),将所述第一图像中相对于所述待编码图像块的位移与所述窗口位移大小相同方向相反的图像块确定为所述第一待匹配图像块。具体可以是根据所述第二顶层窗口区域的描述信息中的参考点(如所述顶层窗口区域的左上角)的坐标和所述第一顶层窗口区域的描述信息中的对应参考点的坐标计算所述窗口位移。如,所述待编码图像块的左上角坐标为(x0,y0)、宽度为w、高度为h,所述第二顶层窗口相对于所述第一顶层窗口的位移为(dx,dy),确定的所述第一待匹配图像块的左上角坐标为(x0-dx,y0-dy)、宽度为w、高度为h。The specific implementation may be: calculating a displacement of the second top-level window relative to the first top-level window according to the description information of the second top-level window area and the description information of the first top-level window area (hereinafter referred to as a window) Displacement), determining, in the first image, an image block having a displacement in the same direction as the window displacement size with respect to the displacement of the image block to be encoded as the first image block to be matched. Specifically, the coordinates of the reference point in the description information of the second top-level window area (such as the upper left corner of the top-level window area) and the coordinates of the corresponding reference point in the description information of the first top-level window area may be calculated. The window is displaced. For example, the coordinates of the upper left corner of the image block to be encoded are (x0, y0), the width is w, and the height is h, and the displacement of the second top window relative to the first top window is (dx, dy). The determined upper left corner coordinates of the first to-be-matched image block are (x0-dx, y0-dy), width w, and height h.
步骤204-2:判断所述第一待匹配图像块中的图像数据与所述待编码图像块中的图像数据是否相同,如果相同,将所述第一待匹配图像块作为与所述待编码图像块对应的所述目标图像块,执行步骤205,如果不同则执行步骤204-3。Step 204-2: determining whether the image data in the first to-be-matched image block is the same as the image data in the image block to be encoded, and if the same, the first image to be matched is to be encoded as Step 205 is performed to the target image block corresponding to the image block, and step 204-3 is performed if it is different.
步骤204-3:在所述第一顶层窗口内确定与所述待编码图像块等宽等高的新的待匹配图像块,所述新的待匹配图像块的左边缘的横坐标和所述第一待匹配图像块的左边缘的横坐标相同,且所述新的待匹配图像块的上边缘的纵坐标和所述第一待匹配图像块的上边缘的纵坐标不同。Step 204-3: determining, within the first top-level window, a new image block to be matched that is equal in width to the image block to be encoded, an abscissa of the left edge of the new image block to be matched, and the The abscissa of the left edge of the first to-be-matched image block is the same, and the ordinate of the upper edge of the new image block to be matched is different from the ordinate of the upper edge of the first image block to be matched.
步骤204-4:判断所述新的待匹配图像块中的图像数据与所述目标图像块中的图像数据是否相同,如果相同,则所述新的待匹配图像块即为所述目标图像块,执行步骤205,如果不同,再次执行步骤204-3至步骤204-4,在再次执行步骤204-3时,确定的新的待匹配图像块与之前任一已经确定的待匹配图像块均不完全重合。Step 204-4: determining whether the image data in the new image block to be matched is the same as the image data in the target image block. If they are the same, the new image block to be matched is the target image block. Step 205 is performed. If different, step 204-3 to step 204-4 are performed again. When step 204-3 is executed again, the determined new image block to be matched is not determined by any of the previously determined image blocks to be matched. Completely coincident.
在多次执行步骤204-3至步骤204-4的过程中,可以以所述第一待匹配图像块为起点、以设定的偏移量(如3个像素)为间隔逐步向上或向下逐个 图像块地匹配,直至匹配到所述待编码图像块对应的目标图像块,或直至匹配到所述第一顶层窗口区域的上边界或下边界。In the process of performing step 204-3 to step 204-4 multiple times, the first to-be-matched image block may be used as a starting point, and the stepwise upward or downward interval may be set at an interval of a set offset (for example, 3 pixels). One by one The image is block-matched until it matches the target image block corresponding to the image block to be encoded, or until it matches the upper or lower boundary of the first top-level window region.
在进行屏幕共享的过程中,在顶层窗口的位置发生了变化的情况下,顶层窗口内的内容通常并不会发生变化,所以,所述第一待匹配图像块与所述待编码图像块的图像数据相同的概率较高,所以,优先确认该第一待匹配图像块是否为所述目标图像块,可以进一步提高命中目标图像块的速度,从而节省确定目标图像块的运算量,提升编码效率。In the process of performing screen sharing, in the case where the position of the top-level window has changed, the content in the top-level window generally does not change, so the first image to be matched and the image block to be encoded are The probability that the image data is the same is higher. Therefore, it is possible to preferentially confirm whether the first image to be matched is the target image block, and the speed of hitting the target image block can be further improved, thereby saving the calculation amount of the target image block and improving the coding efficiency. .
另外,由于在屏幕共享的过程中,通常存在的操作是在顶层窗口(如ppt演示文档、word文档)内进行内容的上下滚动显示,因此,以第一待匹配图像块为起点向上或向下搜索,可以提高命中目标图像块的速度,从而节省确定目标图像块的运算量,提升编码效率。In addition, since the usual operation is to scroll up and down the content in the top window (such as the ppt presentation document, the word document) during the screen sharing process, the first image to be matched is used as a starting point to go up or down. The search can improve the speed of hitting the target image block, thereby saving the calculation amount of the target image block and improving the coding efficiency.
在一种具体实施方式中,对于处于所述第二顶层窗口区域内的各待编码图像块,均采用上述方式匹配对应的目标图像块并进行编码。In a specific implementation manner, for each image block to be encoded in the second top-level window region, the corresponding target image block is matched and encoded in the above manner.
在另一种具体实施方式中,如果确定的某个待编码图像块(后续称为第一待编码图像块)的目标图像块(后续称为第一目标图像块)相对于所述第一待编码图像块的位移与所述第一顶层窗口相对于所述第二顶层窗口的位移不相同,还可以记录下所述第一目标图像块相对于所述第一待编码图像块的位移(后续称为图像块位移),后续在匹配其它待编码图像块(后续称为第二待编码图像块)的目标图像块时,可以优先判断所述第一图像中的相对于所述第二待编码图像块的位移等于所述图像块位移的待匹配图像块(后续称为第三待匹配图像块)的图像数据是否与所述第二待编码图像块的图像数据相同,即是否为所述第二待编码图像块对应的目标图像块。In another specific implementation, if the determined target image block (hereinafter referred to as the first target image block) to be encoded (hereinafter referred to as the first image block to be encoded) is determined relative to the first to-be The displacement of the encoded image block is different from the displacement of the first top-level window relative to the second top-level window, and the displacement of the first target image block relative to the first image-to-coded image block may also be recorded (subsequent Referring to the image block displacement), when the target image block of the other image block to be encoded (hereinafter referred to as the second image block to be encoded) is matched, the second image to be encoded in the first image may be preferentially determined. Whether the image data of the image block to be matched is equal to the image data of the image block to be matched (hereinafter referred to as the third image to be matched) is the same as the image data of the second image block to be encoded, that is, whether a target image block corresponding to the two to-be-coded image blocks.
如图5所示,X2为所述第一待编码图像块,X1为所述第一目标图像块,Y2为所述第二待编码图像块,Y1相对于Y2的位移与X1相对于X2的位移相同。在屏幕共享时,如果在顶层窗口(如ppt演示文档、word文档)内进行 内容的上下滚动显示,则在该顶层窗口内进行滚动显示的图像块的滚动幅度往往是相同的,即进行滚动显示的各图像块相对于各自对应的目标图像块的位移是相同的,因此,Y1为Y2对应的目标图像块的概率较高,所以,优先确认Y1是否为Y2对应的目标图像块,可以进一步提高命中目标图像块的速度,从而节省确定目标图像块的运算量,提升编码效率。As shown in FIG. 5, X2 is the first image block to be encoded, X1 is the first target image block, Y2 is the second image block to be encoded, and the displacement of Y1 with respect to Y2 and X1 with respect to X2. The displacement is the same. When sharing on the screen, if in the top-level window (such as ppt presentation document, word document) When the content is scrolled up and down, the scrolling width of the image blocks that are scrolled and displayed in the top window is often the same, that is, the displacement of each image block that performs scroll display is the same as the displacement of the corresponding target image block. The probability that Y1 is the target image block corresponding to Y2 is high. Therefore, it is possible to preferentially confirm whether Y1 is the target image block corresponding to Y2, and the speed of hitting the target image block can be further improved, thereby saving the calculation amount of the target image block and improving the coding efficiency. .
根据本发明实施例1,本发明实施例2提出了一种共享终端500,如图6所示,通信终端500包括:获取模块501和编码模块502;According to Embodiment 1 of the present invention, Embodiment 2 of the present invention provides a sharing terminal 500. As shown in FIG. 6, the communication terminal 500 includes: an obtaining module 501 and an encoding module 502;
获取模块501,以预设时间间隔获取共享终端500的屏幕上显示的图像作为屏幕共享图像,其中,在第一时刻获取的屏幕共享图像为第一图像,在第二时刻获取的屏幕共享图像为第二图像,所述第一时刻和所述第二时刻为相邻时刻;The acquiring module 501 acquires an image displayed on the screen of the sharing terminal 500 as a screen sharing image at a preset time interval, wherein the screen sharing image acquired at the first time is the first image, and the screen sharing image acquired at the second time is a second image, where the first moment and the second moment are adjacent moments;
编码模块502,用于将所述第二图像划分为多个矩形图像块,在确定共享终端500的屏幕上在第一时刻显示的第一顶层窗口和在第二时刻显示的第二顶层窗口为同一顶层窗口时,根据第二顶层窗口区域的描述信息确定所述多个矩形图像块中的处于第二顶层窗口区域内的第一待编码图像块,其中,所述第二顶层窗口区域为所述第二顶层窗口在所述第二屏幕共享图像中所占的区域,并根据第一顶层窗口区域的描述信息在所述第一图像中的所述第一顶层窗口区域内匹配与所述第一待编码图像块对应的目标图像块,其中,所述第一顶层窗口区域为所述第一顶层窗口在所述第一屏幕共享图像中所占的区域,所述目标图像块中的图像数据与所述第一待编码图像块中的图像数据相同;还用于将所述第一待编码图像块相对于所述目标图像块的位移作为所述第一待编码图像块的运动矢量。The encoding module 502 is configured to divide the second image into a plurality of rectangular image blocks, and the first top-level window displayed at the first moment on the screen of the determining sharing terminal 500 and the second top-level window displayed at the second moment are The first to-be-encoded image block in the second top-level window region of the plurality of rectangular image blocks is determined according to the description information of the second top-level window region, wherein the second top-level window region is And the second top-level window shares an area occupied by the image in the second screen, and matches and matches the first top-level window area in the first image according to the description information of the first top-level window area. a target image block corresponding to the image block to be encoded, wherein the first top-level window area is an area occupied by the first top-level window in the first screen shared image, and image data in the target image block The same as the image data in the first to-be-coded image block; and is further configured to use the displacement of the first to-be-coded image block relative to the target image block as the first to-be-coded image The motion vector of the block.
优选地,编码模块502具体可以用于根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口区域内确定与所述第一待编码图像块等宽等高的第一待匹配图像块,所述第一待编码图像块相对于所述第一待匹配图像块的位移与所述第二顶层窗口区域相对于所述第一顶层窗口区域的位移相同,并判 断所述第一待匹配图像块中的图像数据与所述目标图像块中的图像数据是否相同,在判断结果为相同时,将所述第一待匹配图像块作为所述目标图像块。Preferably, the encoding module 502 is specifically configured to determine, according to the description information of the first top-level window region, a first to-be-matched image having the same width as the first to-be-encoded image block in the first top-level window region. Block, the displacement of the first to-be-coded image block relative to the first to-be-matched image block is the same as the displacement of the second top-level window region relative to the first top-level window region, and And whether the image data in the first to-be-matched image block is the same as the image data in the target image block, and when the determination result is the same, the first to-be-matched image block is used as the target image block.
进一步地,具体还可以用于,在判断结果为不同时,根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口区域内确定与所述第一待编码图像块等宽等高的第二待匹配图像块,所述第二待匹配图像块的左边缘的横坐标和所述第一待匹配图像块的左边缘的横坐标相同,且所述第二待匹配图像块的上边缘的纵坐标和所述第一待匹配图像块的上边缘的纵坐标不同,并在确定所述第二待匹配图像块中的图像数据与所述目标图像块中的图像数据相同时,将所述第二待匹配图像块作为所述目标图像块。Further, the method may be further configured to determine, in the first top-level window region, the same width as the first image block to be encoded, according to the description information of the first top-level window region, when the determination result is different. a second to-be-matched image block, an abscissa of a left edge of the second to-be-matched image block and an abscissa of a left edge of the first to-be-matched image block are the same, and the second image to be matched is on the image block The ordinate of the edge is different from the ordinate of the upper edge of the first image to be matched, and when it is determined that the image data in the second image to be matched is the same as the image data in the target image block, The second image to be matched is used as the target image block.
另外,在确定所述第二待匹配图像块中的图像数据与所述目标图像块中的图像数据相同之后,编码模块502还可以用于,根据所述第二顶层窗口区域的描述信息确定所述多个矩形图像块中的处于所述第二顶层窗口区域内的第二待编码图像块,所述第二待编码图像块不同于所述第一待编码图像块,根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口区域内确定与所述第二待编码图像块等宽等高的第三待匹配图像块,所述第二待编码图像块相对于所述第三待匹配图像块的位移与所述第一待编码图像块相对于所述目标图像块的位移相同,在确定所述第三待匹配图像块的图像数据与所述第二待编码图像块的图像数据相同时,将所述第二待编码图像块相对于所述第三待匹配图像块的位移作为所述第二待编码图像块的运动矢量。In addition, after determining that the image data in the second to-be-matched image block is the same as the image data in the target image block, the encoding module 502 may be further configured to determine, according to the description information of the second top-level window region, a second image block to be encoded in the second top window region of the plurality of rectangular image blocks, the second image block to be encoded being different from the first image block to be encoded, according to the first top layer Determining information of the window area, in the first top-level window area, determining a third to-be-matched image block having the same width as the second to-be-encoded image block, the second to-be-coded image block being opposite to the third Determining the displacement of the image block to be matched and the displacement of the image block to be encoded with respect to the target image block, determining image data of the image block to be matched and image of the second image block to be encoded When the data is the same, the displacement of the second image to be encoded relative to the third image to be matched is used as the motion vector of the second image block to be encoded.
本发明实施例2中描述的功能模块可以用来实施上述实施例1所述的方法中所述共享终端执行的操作。The functional modules described in Embodiment 2 of the present invention may be used to implement the operations performed by the shared terminal in the method described in Embodiment 1 above.
根据本发明实施例2提供的共享终端500,对于待编码图像中的顶层窗口内的图像块,并不是在整个前一时刻的图像内匹配目标图像块,而是仅在顶层窗口区域内匹配目标图像块,所以,运算量较小,编码效率较高,从而可以改善屏幕共享的实时性。 According to the sharing terminal 500 provided by Embodiment 2 of the present invention, for the image block in the top window in the image to be encoded, the target image block is not matched in the image of the previous moment, but only the target is matched in the top window area. Image blocks, so the amount of computation is small and the coding efficiency is high, which can improve the real-time performance of screen sharing.
根据本发明实施例1,本发明实施例3提供了一种共享终端1000,如图7所示,共享终端1000包括处理器1010和存储器1020,其中,处理器1010和存储器1020之间通过总线完成相互间的通信。According to Embodiment 1 of the present invention, Embodiment 3 of the present invention provides a sharing terminal 1000. As shown in FIG. 7, the sharing terminal 1000 includes a processor 1010 and a memory 1020, wherein the processor 1010 and the memory 1020 are completed by using a bus. Communication with each other.
存储器1020,用于存放计算机操作指令。存储器1020可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。The memory 1020 is configured to store computer operation instructions. The memory 1020 may include a high speed RAM memory and may also include a non-volatile memory such as at least one disk memory.
处理器1010,用于执行存储器1020中存放的计算机操作指令。处理器1010具体可以是中央处理器(CPU,central processing unit),是计算机核心单元。The processor 1010 is configured to execute computer operation instructions stored in the memory 1020. The processor 1010 may be a central processing unit (CPU) and is a computer core unit.
其中,处理器1010执行所述计算机操作指令使得共享终端1000执行上述实施例1所述的方法中共享终端所执行的操作。The processor 1010 executes the computer operation instruction to cause the sharing terminal 1000 to perform the operations performed by the sharing terminal in the method described in Embodiment 1 above.
根据本发明实施例3提供的共享终端,对于待编码图像中的顶层窗口内的图像块,并不是在整个前一时刻的图像内匹配目标图像块,而是仅在顶层窗口区域内匹配目标图像块,所以,运算量较小,编码效率较高,从而可以改善屏幕共享的实时性。According to the sharing terminal provided in Embodiment 3 of the present invention, for the image block in the top-level window in the image to be encoded, the target image block is not matched in the image of the previous moment, but only the target image is matched in the top-level window region. Block, therefore, the amount of calculation is small, the coding efficiency is high, so that the real-time of screen sharing can be improved.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示 意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the device embodiments described above are merely illustrative For example, the division of the unit is only a logical function division, and the actual implementation may have another division manner, for example, multiple units or components may be combined or may be integrated into another system, or some features may be Ignore, or not execute. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。The functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product. Based on such understanding, the technical solution of the present invention, which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including The instructions are used to cause a computer terminal (which may be a personal computer, server, or network terminal, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。 The above is only a specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily think of changes or substitutions within the technical scope of the present invention. It should be covered by the scope of the present invention. Therefore, the scope of the invention should be determined by the scope of the claims.

Claims (8)

  1. 一种对屏幕共享图像进行编码的方法,其特征在于,所述方法包括:A method for encoding a screen shared image, the method comprising:
    共享终端以预设时间间隔获取所述共享终端的屏幕上显示的图像作为屏幕共享图像,其中,在第一时刻获取的屏幕共享图像为第一图像,在第二时刻获取的屏幕共享图像为第二图像,所述第一时刻和所述第二时刻为相邻时刻;The shared terminal acquires an image displayed on the screen of the shared terminal as a screen shared image at a preset time interval, wherein the screen shared image acquired at the first time is the first image, and the screen shared image acquired at the second time is the first a second image, where the first moment and the second moment are adjacent moments;
    所述共享终端将所述第二图像划分为多个矩形图像块;The sharing terminal divides the second image into a plurality of rectangular image blocks;
    所述共享终端在确定所述共享终端的屏幕上在第一时刻显示的第一顶层窗口和在第二时刻显示的第二顶层窗口为同一顶层窗口时,根据第二顶层窗口区域的描述信息确定所述多个矩形图像块中的处于第二顶层窗口区域内的第一待编码图像块,其中,所述第二顶层窗口区域为所述第二顶层窗口在所述第二屏幕共享图像中所占的区域;The sharing terminal determines, according to the description information of the second top-level window area, that the first top-level window displayed at the first time on the screen of the shared terminal and the second top-level window displayed at the second time are the same top-level window a first to-be-coded image block in the second top-level window region of the plurality of rectangular image blocks, wherein the second top-level window region is the second top-level window in the second screen shared image Area occupied
    所述共享终端根据第一顶层窗口区域的描述信息在所述第一图像中的所述第一顶层窗口区域内匹配与所述第一待编码图像块对应的目标图像块,其中,所述第一顶层窗口区域为所述第一顶层窗口在所述第一屏幕共享图像中所占的区域,所述目标图像块中的图像数据与所述第一待编码图像块中的图像数据相同;And the sharing terminal matches the target image block corresponding to the first to-be-coded image block in the first top-level window area in the first image according to the description information of the first top-level window area, where the a top window area is an area occupied by the first top window in the first screen shared image, and image data in the target image block is the same as image data in the first to-be-coded image block;
    所述共享终端将所述第一待编码图像块相对于所述目标图像块的位移作为所述第一待编码图像块的运动矢量。And the sharing terminal uses a displacement of the first to-be-coded image block relative to the target image block as a motion vector of the first to-be-encoded image block.
  2. 如权利要求1所述的方法,其特征在于,所述共享终端根据所述第一顶层窗口区域的描述信息在所述第一图像中的所述第一顶层窗口区域内匹配与所述第一待编码图像块相同的目标图像块具体包括:The method of claim 1, wherein the sharing terminal matches the first in the first top-level window area in the first image according to the description information of the first top-level window area The target image block with the same image block to be encoded specifically includes:
    所述共享终端根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口 区域内确定与所述第一待编码图像块等宽等高的第一待匹配图像块,所述第一待编码图像块相对于所述第一待匹配图像块的位移与所述第二顶层窗口区域相对于所述第一顶层窗口区域的位移相同;The sharing terminal is in the first top window according to the description information of the first top window area Determining, in the area, a first to-be-matched image block having the same width as the first to-be-coded image block, a displacement of the first to-be-coded image block relative to the first to-be-matched image block, and the second top layer The displacement of the window region relative to the first top window region is the same;
    所述共享终端判断所述第一待匹配图像块中的图像数据与所述目标图像块中的图像数据是否相同,如果相同,将所述第一待匹配图像块作为所述目标图像块。The sharing terminal determines whether the image data in the first image to be matched is the same as the image data in the target image block, and if the same, the first image to be matched is used as the target image block.
  3. 如权利要求2所述的方法,其特征在于,所述共享终端根据所述第一顶层窗口区域的描述信息在所述第一图像中的所述第一顶层窗口区域内匹配与所述第一待编码图像块相同的目标图像块还包括:The method according to claim 2, wherein said sharing terminal matches said first in said first top-level window area in said first image according to said description information of said first top-level window area The target image block having the same image block to be encoded further includes:
    如果不同,根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口区域内确定与所述第一待编码图像块等宽等高的第二待匹配图像块,所述第二待匹配图像块的左边缘的横坐标和所述第一待匹配图像块的左边缘的横坐标相If it is different, determining, according to the description information of the first top-level window area, a second to-be-matched image block having the same width and width as the first to-be-encoded image block in the first top-level window area, the second to-be-held Matching the abscissa of the left edge of the matching image block and the abscissa of the left edge of the first image block to be matched
    同,且所述第二待匹配图像块的上边缘的纵坐标和所述第一待匹配图像块的上边缘的纵坐标不同;And the ordinate of the upper edge of the second image to be matched and the ordinate of the upper edge of the first image block to be matched are different;
    在确定所述第二待匹配图像块中的图像数据与所述目标图像块中的图像数据相同时,将所述第二待匹配图像块作为所述目标图像块。And determining, when the image data in the second image to be matched is the same as the image data in the target image block, the second image to be matched as the target image block.
  4. 如权利要求3所述的方法,其特征在于,所述共享终端在确定所述第二待匹配图像块中的图像数据与所述目标图像块中的图像数据相同之后,还包括:The method of claim 3, wherein the sharing terminal, after determining that the image data in the second image to be matched is the same as the image data in the target image block, further comprises:
    所述共享终端根据所述第二顶层窗口区域的描述信息确定所述多个矩形图像块中的处于所述第二顶层窗口区域内的第二待编码图像块,所述第二待编码图像块不同于所述第一待编码图像块;Determining, by the sharing terminal, the second to-be-coded image block in the second top-level window area, the second to-be-coded image block, according to the description information of the second top-level window area Different from the first image block to be encoded;
    所述共享终端根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口 区域内确定与所述第二待编码图像块等宽等高的第三待匹配图像块,所述第二待编码图像块相对于所述第三待匹配图像块的位移与所述第一待编码图像块相对于所述目标图像块的位移相同,在确定所述第三待匹配图像块的图像数据与所述第二待编码图像块的图像数据相同时,将所述第二待编码图像块相对于所述第三待匹配图像块的位移作为所述第二待编码图像块的运动矢量。The sharing terminal is in the first top window according to the description information of the first top window area Determining, in the region, a third to-be-matched image block having the same width as the second to-be-coded image block, a displacement of the second to-be-coded image block relative to the third to-be-matched image block, and the first to-be-matched The displacement of the coded image block is the same with respect to the target image block, and when the image data of the third image to be matched is determined to be the same as the image data of the second image block to be encoded, the second image to be encoded is The displacement of the block relative to the third image to be matched is used as the motion vector of the second image block to be encoded.
  5. 一种共享终端,其特征在于,包括:获取模块和编码模块;A sharing terminal, comprising: an obtaining module and an encoding module;
    所述获取模块,以预设时间间隔获取所述共享终端的屏幕上显示的图像作为屏幕共享图像,其中,在第一时刻获取的屏幕共享图像为第一图像,在第二时刻获取的屏幕共享图像为第二图像,所述第一时刻和所述第二时刻为相邻时刻;The acquiring module acquires an image displayed on a screen of the sharing terminal as a screen sharing image at a preset time interval, where the screen sharing image acquired at the first time is the first image, and the screen sharing acquired at the second time is The image is a second image, and the first moment and the second moment are adjacent moments;
    所述编码模块,用于将所述第二图像划分为多个矩形图像块,在确定所述共享终端的屏幕上在第一时刻显示的第一顶层窗口和在第二时刻显示的第二顶层窗口为同一顶层窗口时,根据第二顶层窗口区域的描述信息确定所述多个矩形图像块中的处于第二顶层窗口区域内的第一待编码图像块,其中,所述第二顶层窗口区域为所述第二顶层窗口在所述第二屏幕共享图像中所占的区域,并根据第一顶层窗口区域的描述信息在所述第一图像中的所述第一顶层窗口区域内匹配与所述第一待编码图像块对应的目标图像块,其中,所述第一顶层窗口区域为所述第一顶层窗口在所述第一屏幕共享图像中所占的区域,所述目标图像块中的图像数据与所述第一待编码图像块中的图像数据相同;还用于将所述第一待编码图像块相对于所述目标图像块的位移作为所述第一待编码图像块的运动矢量。The encoding module is configured to divide the second image into a plurality of rectangular image blocks, a first top-level window displayed at a first moment on a screen of the shared terminal, and a second top-level displayed at a second moment When the window is the same top-level window, determining, according to the description information of the second top-level window region, the first to-be-coded image block in the second top-level window region of the plurality of rectangular image blocks, wherein the second top-level window region Sharing the area occupied by the image in the second screen for the second top window, and matching and matching in the first top window area in the first image according to the description information of the first top window area a target image block corresponding to the first to-be-coded image block, wherein the first top-level window area is an area occupied by the first top-level window in the first screen shared image, in the target image block The image data is the same as the image data in the first image block to be encoded; and is further configured to use the displacement of the first image block to be encoded relative to the target image block as the first to be edited Motion vector of the image block.
  6. 如权利要求5所述的共享终端,其特征在于,所述编码模块具体用于根 据所述第一顶层窗口区域的描述信息在所述第一顶层窗口区域内确定与所述第一待编码图像块等宽等高的第一待匹配图像块,所述第一待编码图像块相对于所述第一待匹配图像块的位移与所述第二顶层窗口区域相对于所述第一顶层窗口区域的位移相同,并判断所述第一待匹配图像块中的图像数据与所述目标图像块中的图像数据是否相同,在判断结果为相同时,将所述第一待匹配图像块作为所述目标图像块。A sharing terminal according to claim 5, wherein said encoding module is specifically for root Determining, according to the description information of the first top-level window area, a first to-be-matched image block having the same width as the first to-be-encoded image block in the first top-level window area, the first to-be-coded image block Determining the displacement of the first to-be-matched image block with respect to the displacement of the second top-level window region with respect to the first top-level window region, and determining image data in the first image to be matched and the Whether the image data in the target image block is the same, and when the determination result is the same, the first image to be matched is used as the target image block.
  7. 如权利要求6所述的共享终端,其特征在于,所述编码模块具体还用于,在判断结果为不同时,根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口区域内确定与所述第一待编码图像块等宽等高的第二待匹配图像块,所述第二待匹配图像块的左边缘的横坐标和所述第一待匹配图像块的左边缘的横坐标相同,且所述第二待匹配图像块的上边缘的纵坐标和所述第一待匹配图像块的上边缘的纵坐标不同,并在确定所述第二待匹配图像块中的图像数据与所述目标图像块中的图像数据相同时,将所述第二待匹配图像块作为所述目标图像块。The sharing terminal according to claim 6, wherein the encoding module is further configured to: in the first top-level window region, according to description information of the first top-level window region, when the determination result is different Determining a second to-be-matched image block having a width equal to the first to-be-coded image block, an abscissa of a left edge of the second to-be-matched image block, and a horizontal of a left edge of the first to-be-matched image block The coordinates are the same, and the ordinate of the upper edge of the second image to be matched is different from the ordinate of the upper edge of the first image block to be matched, and the image data in the image block to be matched is determined. When the image data in the target image block is the same, the second image to be matched is used as the target image block.
  8. 如权利要求7所述的共享终端,其特征在于,所述编码模块还用于,在确定所述第二待匹配图像块中的图像数据与所述目标图像块中的图像数据相同之后,根据所述第二顶层窗口区域的描述信息确定所述多个矩形图像块中的处于所述第二顶层窗口区域内的第二待编码图像块,所述第二待编码图像块不同于所述第一待编码图像块,根据所述第一顶层窗口区域的描述信息在所述第一顶层窗口区域内确定与所述第二待编码图像块等宽等高的第三待匹配图像块,所述第二待编码图像块相对于所述第三待匹配图像块的位移与所述第一待编码图像块相对于所述目标图像块的位移相同,在确定所述第三待匹配图像块的图 像数据与所述第二待编码图像块的图像数据相同时,将所述第二待编码图像块相对于所述第三待匹配图像块的位移作为所述第二待编码图像块的运动矢量。 The sharing terminal according to claim 7, wherein the encoding module is further configured to: after determining that the image data in the second image to be matched is the same as the image data in the target image block, according to The description information of the second top-level window area determines a second to-be-encoded image block in the second top-level window area of the plurality of rectangular image blocks, the second to-be-coded image block is different from the first Determining, according to the description information of the first top-level window region, a third to-be-matched image block having the same width and width as the second to-be-coded image block according to the description information of the first top-level window region, Determining the displacement of the second to-be-coded image block relative to the third to-be-matched image block and the displacement of the first to-be-coded image block relative to the target image block, determining a map of the third to-be-matched image block When the image data is the same as the image data of the second image block to be encoded, the displacement of the second image block to be encoded relative to the image block to be matched is used as the motion vector of the image block to be encoded. .
PCT/CN2015/086386 2015-08-07 2015-08-07 Method and apparatus for encoding screen sharing image WO2017024448A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/086386 WO2017024448A1 (en) 2015-08-07 2015-08-07 Method and apparatus for encoding screen sharing image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/086386 WO2017024448A1 (en) 2015-08-07 2015-08-07 Method and apparatus for encoding screen sharing image

Publications (1)

Publication Number Publication Date
WO2017024448A1 true WO2017024448A1 (en) 2017-02-16

Family

ID=57982912

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/086386 WO2017024448A1 (en) 2015-08-07 2015-08-07 Method and apparatus for encoding screen sharing image

Country Status (1)

Country Link
WO (1) WO2017024448A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110740326A (en) * 2019-09-23 2020-01-31 西安万像电子科技有限公司 Image coding method and device
CN111935150A (en) * 2020-08-11 2020-11-13 联想(北京)有限公司 Content sharing implementation method and device and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1734767A1 (en) * 2005-06-13 2006-12-20 SONY DEUTSCHLAND GmbH Method for processing digital image data
US20100271484A1 (en) * 2009-04-23 2010-10-28 Steven John Fishwick Object tracking using momentum and acceleration vectors in a motion estimation system
CN103986935A (en) * 2014-04-30 2014-08-13 华为技术有限公司 Encoding method, encoder and screen sharing device and system
CN104254001A (en) * 2013-06-28 2014-12-31 广州华多网络科技有限公司 Remote sharing method, device and terminal

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1734767A1 (en) * 2005-06-13 2006-12-20 SONY DEUTSCHLAND GmbH Method for processing digital image data
US20100271484A1 (en) * 2009-04-23 2010-10-28 Steven John Fishwick Object tracking using momentum and acceleration vectors in a motion estimation system
CN104254001A (en) * 2013-06-28 2014-12-31 广州华多网络科技有限公司 Remote sharing method, device and terminal
CN103986935A (en) * 2014-04-30 2014-08-13 华为技术有限公司 Encoding method, encoder and screen sharing device and system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110740326A (en) * 2019-09-23 2020-01-31 西安万像电子科技有限公司 Image coding method and device
CN111935150A (en) * 2020-08-11 2020-11-13 联想(北京)有限公司 Content sharing implementation method and device and electronic equipment
CN111935150B (en) * 2020-08-11 2023-07-21 联想(北京)有限公司 Content sharing realization method and device and electronic equipment

Similar Documents

Publication Publication Date Title
US9686497B1 (en) Video annotation and dynamic video call display for multi-camera devices
US9153207B2 (en) Utilizing scrolling detection for screen content encoding
US9645784B2 (en) Screen splicing system and video data stream processing method
WO2018103243A1 (en) Bandwidth conserving method, system, live-streaming terminal, and readable storage medium
US9106793B2 (en) Method and apparatus for motion based participant switching in multipoint video conferences
CN106534859B (en) Image transmission method and device based on SPICE protocol
EP3410302B1 (en) Graphic instruction data processing method, apparatus
US10044979B2 (en) Acquiring regions of remote shared content with high resolution
CN110248192B (en) Encoder switching method, decoder switching method, screen sharing method and screen sharing system
US20140254688A1 (en) Perceptual Quality Of Content In Video Collaboration
CN113794903A (en) Video image processing method and device and server
WO2017024448A1 (en) Method and apparatus for encoding screen sharing image
CN110740352A (en) SPICE protocol-based difference image display method in video card transparent transmission environment
US10536726B2 (en) Pixel patch collection for prediction in video coding system
WO2020140215A1 (en) Intra-frame chromaticity prediction method and device, and computer storage medium
WO2021057686A1 (en) Video decoding method and apparatus, video encoding method and apparatus, storage medium and electronic device
TW201528822A (en) System and method of controlling video conference
WO2017162010A1 (en) Method and apparatus for realizing caption processing
CN114615458A (en) Method and device for real-time screen closing and rapid drawing in cloud conference
JP6483850B2 (en) Data processing method and apparatus
WO2021057464A1 (en) Video processing method and apparatus, and storage medium and electronic device
TW201427354A (en) System and method for progressively coding data and transmission coded data
CN110401835B (en) Image processing method and device
US9451288B2 (en) Inferred key frames for fast initiation of video coding sessions
CN110798700A (en) Video processing method, video processing device, storage medium and electronic equipment

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: 15900647

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: 15900647

Country of ref document: EP

Kind code of ref document: A1