WO2017041551A1 - 基于spice协议的图像传输方法及装置 - Google Patents

基于spice协议的图像传输方法及装置 Download PDF

Info

Publication number
WO2017041551A1
WO2017041551A1 PCT/CN2016/084775 CN2016084775W WO2017041551A1 WO 2017041551 A1 WO2017041551 A1 WO 2017041551A1 CN 2016084775 W CN2016084775 W CN 2016084775W WO 2017041551 A1 WO2017041551 A1 WO 2017041551A1
Authority
WO
WIPO (PCT)
Prior art keywords
macroblock
image
current frame
frame image
server
Prior art date
Application number
PCT/CN2016/084775
Other languages
English (en)
French (fr)
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 中兴通讯股份有限公司
Publication of WO2017041551A1 publication Critical patent/WO2017041551A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Definitions

  • the present application relates to, but is not limited to, the field of image processing technologies, and in particular, to an image transmission method and apparatus based on the SPICE protocol.
  • Virtual desktop is a typical application of cloud computing technology, which can provide users with remote computer desktop services.
  • the SPICE protocol Simple Protocol for Independent Computing Environment
  • images of changed parts of the desktop image can be directly transmitted to the user terminal without transmitting the entire desktop image.
  • the bandwidth is high when transmitting images.
  • This paper proposes an image transmission method and device based on SPICE protocol to solve the technical problem of high bandwidth occupied when transmitting images based on SPICE protocol.
  • An embodiment of the present invention provides an image transmission method based on a SPICE protocol, where the image transmission method based on the SPICE protocol includes:
  • the dividing the obtained current frame image into a plurality of macroblocks, and performing corresponding coding compression processing on each macroblock separately includes:
  • the macroblock is a P-SKIP macroblock, performing P-SKIP macroblock coding compression processing on the macroblock;
  • the dividing the obtained current frame image into a plurality of macroblocks, and determining whether each macroblock is a P-SKIP macroblock separately includes:
  • the macroblock is not a P-SKIP macroblock.
  • the dividing the obtained current frame image into a plurality of macroblocks, and determining the reference coordinates of each macroblock includes:
  • the reference point coordinates of each macro block are obtained, and the reference point coordinates of each macro block are set as the reference coordinates of the macro block.
  • the image transmission method based on the SPICE protocol further includes:
  • the embodiment of the invention further provides a computer readable storage medium storing computer executable instructions, which are implemented when the computer executable instructions are executed to implement the above SPICE protocol based image transmission method.
  • An embodiment of the present invention further provides an image transmission apparatus based on the SPICE protocol, where the image transmission apparatus based on the SPICE protocol includes:
  • a synthesizing module configured to: when receiving a change image of a current frame image and a previous frame image sent by the server based on the SPICE protocol, synthesizing the changed image and the previous frame image to obtain a current frame image;
  • the encoding module is configured to: divide the obtained current frame image into a plurality of macroblocks, and perform corresponding encoding compression processing on each macroblock respectively;
  • a sending module configured to: transmit encoded compressed data that performs encoding and compression processing on the plurality of macroblocks to the server, where the server sends the encoded compressed data to a terminal, where the terminal is receiving When the compressed data is encoded, the encoded compressed data is decoded to obtain the current frame image.
  • the encoding module includes:
  • the determining unit is configured to: divide the obtained current frame image into a plurality of macroblocks, and determine whether each macroblock is a P-SKIP macroblock;
  • a coding unit configured to: perform P-SKIP macroblock coding compression processing on the macroblock when the macroblock is a P-SKIP macroblock; and perform the macroblock on the macroblock when the macroblock is not a P-SKIP macroblock P macroblock coding compression processing.
  • the determining unit includes:
  • a first determining subunit configured to: determine a macroblock coordinate range corresponding to the changed image
  • a second determining subunit configured to: divide the obtained current frame image into a plurality of macroblocks, and determine a reference coordinate of each macroblock;
  • a first determining subunit configured to: sequentially determine whether a reference coordinate of each macroblock is within a macroblock coordinate range corresponding to the changed image
  • a second determining subunit configured to: when the reference coordinate of the macroblock is within a macroblock coordinate range corresponding to the changed image, determine that the macroblock is a P-SKIP macroblock; and the reference coordinates of the macroblock are not in the When the macroblock coordinate range corresponding to the change image is within the range, it is determined that the macroblock is not a P-SKIP macroblock.
  • the second determining subunit is configured to:
  • the reference point coordinates of each macro block are obtained, and the reference point coordinates of each macro block are set as the reference coordinates of the macro block.
  • the encoding module is further configured to perform IDR frame encoding on the complete image when receiving a complete image of a frame sent by the server based on the SPICE protocol and an IDR frame encoding instruction corresponding to the complete image;
  • the sending module is further configured to: transmit the encoded encoded data to the server, where the server sends the encoded data to a terminal, when the terminal receives the encoded data, The encoded image is decoded to obtain the complete image.
  • the SPICE protocol-based image transmission method and apparatus in the image transmission method based on the SPICE protocol, when receiving a change image of the current frame image and the previous frame image by the server based on the SPICE protocol, The change image is combined with the previous frame image to obtain a current frame image, and the obtained current frame image is divided into a plurality of macroblocks, and corresponding coding compression processing is performed on each macroblock, respectively.
  • the macroblock performs the corresponding encoding and compression processing
  • the encoded compressed data that is subjected to the encoding and compression processing by the plurality of macroblocks is transmitted to the server, and the server sends the received encoded compressed data to the terminal, and the terminal
  • the current frame image can be obtained after decoding. Therefore, the server does not need to directly send the image to the terminal, and the method of transmitting the encoded compressed data reduces the bandwidth required.
  • FIG. 1 is a schematic flow chart of an image transmission method based on a SPICE protocol according to a first embodiment of the present invention
  • FIG. 2 is a diagram showing an image transmission method based on the SPICE protocol according to a second embodiment of the present invention. Schematic diagram of the refinement flow of the corresponding coding compression processing by the macroblocks;
  • FIG. 3 is a schematic flow chart of an alternative embodiment of an image transmission method based on a SPICE protocol according to a third embodiment of the present invention.
  • FIG. 4 is a schematic diagram of functional blocks of an image transmission apparatus based on a SPICE protocol according to a first embodiment of the present invention
  • FIG. 5 is a schematic diagram of a refinement function module of an encoding module in an image transmission apparatus based on a SPICE protocol according to a second embodiment of the present invention.
  • FIG. 1 is a schematic flowchart diagram of an image transmission method based on the SPICE protocol according to the first embodiment of the present invention.
  • the SPICE protocol-based image transmission method includes the following steps:
  • Step S10 when receiving a change image of the current frame image and the previous frame image sent by the server based on the SPICE protocol, synthesizing the changed image and the previous frame image to obtain a current frame image;
  • the server When the server sends the current frame image to the user terminal based on the Simple Protocol for Independent Computing Environment (SIE), the server only needs to send the changed image of the current frame image and the changed portion of the previous frame image to the terminal. Without the need to send a complete current frame image to the terminal.
  • the server when the server sends the change image of the current frame image and the changed portion of the previous frame image to the user terminal based on the SPICE protocol, the server may first send the change image to the encoder, where the encoder Optionally an H.264 encoder.
  • the H.264 encoder When the H.264 encoder receives the change image of the current frame image and the previous frame image sent by the server based on the SPICE protocol, synthesize the received change image and the saved previous frame image to obtain The current frame image corresponding to the change image. And, the H.264 encoder can replace the saved previous frame image with the obtained current frame image to save the obtained current frame image. To receive the next server based on the SPICE protocol. And when the frame image and the changed image of the current frame image are combined, the next frame image and the changed image of the current frame image and the saved current frame image are combined to obtain a next frame image.
  • Step S20 dividing the obtained current frame image into a plurality of macroblocks, and performing corresponding coding compression processing on each macroblock respectively;
  • the H.264 encoder may divide the current frame image into a plurality of macroblocks. For example, the current frame image is divided into a number of 16*16 pixel macroblocks. All macroblocks can then be traversed, and corresponding encoding compression processing is performed on each macroblock in turn, such as performing P macroblock processing of the H.264 standard for each macroblock.
  • Step S30 transmitting encoded compressed data that performs encoding and compression processing on the plurality of macroblocks to the server, so that the server sends the encoded compressed data to a terminal, where the terminal receives the When encoding the compressed data, the encoded compressed data is decoded to obtain the current frame image.
  • the encoded compression data subjected to the corresponding encoding compression processing for all the macroblocks may be transmitted to the server.
  • the encoded compressed data may be transmitted to the user terminal when the server receives the encoded compressed data.
  • the encoded compressed data may be subjected to a decoding operation to obtain the current frame image.
  • the image transmission method based on the SPICE protocol in the embodiment of the present invention is described in detail below by taking the cloud desktop system as an example.
  • the cloud desktop server may first send the changed desktop image to the H.264 encoder.
  • the H.264 encoder receives the changed desktop image sent by the cloud desktop server based on the SPICE protocol
  • the received changed desktop image may be combined with the saved previous frame desktop image to obtain the change.
  • the current frame desktop image may be divided into a plurality of macroblocks, and corresponding encoding compression processing is sequentially performed for each macroblock.
  • the encoded compressed data that performs the corresponding encoding and compression processing on all the macroblocks may be transmitted to the cloud desktop server.
  • the cloud desktop server receives the encoded compressed data
  • the encoded compressed data may be sent to a thin terminal of the user.
  • the encoded compressed data may be subjected to a decoding operation to obtain the current frame desktop image.
  • the encoder when the encoder receives the change image of the current frame image and the previous frame image sent by the server based on the SPICE protocol, the change image is combined with the previous frame image to obtain a current frame image. And then dividing the obtained current frame image into a plurality of macroblocks, respectively performing respective encoding compression processing on each macroblock, and after performing corresponding encoding compression processing on the plurality of macroblocks, performing the plurality of macroblocks Transmitting, by the macroblock, the encoded compressed data after the encoding and compression processing is transmitted to the server, the server transmitting the received encoded compressed data to the user terminal, and the terminal can obtain the current frame image after decoding, so there is no need to directly Sending the image to the user terminal reduces the bandwidth required by transmitting the encoded compressed data.
  • the step S20 may include:
  • Step S21 dividing the obtained current frame image into a plurality of macroblocks, and determining whether each macroblock is a forward prediction P-SKIP macroblock;
  • different encoding compression processing may be performed for different types of macroblocks. Specifically, after the obtained current frame image is divided into a plurality of macroblocks, it may be first determined whether each macroblock is a forward predictive P-SKIP macroblock.
  • the step S21 may include:
  • Step a determining a macroblock coordinate range corresponding to the changed image
  • Step b dividing the obtained current frame image into a plurality of macroblocks, and determining reference coordinates of each macroblock;
  • Step c sequentially determining whether the reference coordinate of each macroblock is within the macroblock coordinate range corresponding to the changed image
  • Step d when the reference coordinate of the macroblock is within the macroblock coordinate range corresponding to the changed image, determining that the macroblock is a P-SKIP macroblock;
  • step e when the reference coordinate of the macroblock is not within the macroblock coordinate range corresponding to the changed image, it is determined that the macroblock is not a P-SKIP macroblock.
  • the change image may be a rectangular area
  • the image information of the change image may include parameter information such as vertex coordinates (x, y), width value, height value, and the like of the rectangular area, and YUV (one color) of the change image Coding method) Image data.
  • the vertex coordinates (x, y) of the rectangular area may be the coordinates of the upper left corner of the rectangular area.
  • the changed image is combined with the previous frame image to obtain a current frame image, and the obtained current frame image is divided into a plurality of macroblocks of 16*16 pixels, the reference coordinates of each macroblock (x i can be determined ) , y i ).
  • the step b may include:
  • Step f dividing the obtained current frame image into a plurality of macroblocks, and determining a reference point of each macroblock;
  • step g the reference point coordinates of each macro block are obtained, and the reference point coordinates of each macro block are set as the reference coordinates of the macro block.
  • the reference point of each macroblock may be determined first.
  • the upper left corner of each macroblock may be determined as the reference point of the macroblock.
  • the reference point coordinates of each macroblock are acquired, that is, the coordinates of the upper left corner of each macroblock are obtained. Setting the reference point coordinates of each macroblock to the reference coordinates (x i , y i ) of the macroblock, that is, optionally setting the coordinates of the upper left corner of each macroblock as the reference coordinates of the macroblock (x i , y i ).
  • the reference coordinates of each macroblock can be determined according to the reference coordinates (x i , y i ) of each macroblock and the macroblock coordinate ranges [x_Start, x_End] and [y_Start, y_End] corresponding to the changed image. Whether (x i , y i ) is within the macroblock coordinate range [x_Start, x_End] and [y_Start, y_End] corresponding to the changed image.
  • the reference coordinate of the macroblock is within the macroblock coordinate range corresponding to the changed image; otherwise, the reference coordinate of the macroblock may be determined to be in the The changed image corresponds to the macroblock coordinate range.
  • the macroblock may be determined to be a P-SKIP macroblock; the reference coordinate of the macroblock is in a macroblock coordinate range corresponding to the changed image.
  • it is outside, it can be judged that the macroblock is not a P-SKIP macroblock.
  • Step S22 when the macroblock is a P-SKIP macroblock, perform P-SKIP macroblock coding compression processing on the macroblock;
  • Step S23 when the macroblock is not a P-SKIP macroblock, P macroblock coding compression processing is performed on the macroblock.
  • the H.264 standard P macroblock encoding compression processing is performed on the macroblock, and may include inter prediction, motion estimation, and DCT transform (Discrete Cosine Transform). Transform), entropy coding, etc.
  • the P-SKIP macroblock encoding compression processing of the H.264 standard is performed on the macroblock, and the MV (Motion Vector) of the macroblock may be set to 0, and skip interframe prediction, motion estimation, entropy coding, etc., and there are only some placeholders in bits in the encoded code stream output after the encoding compression process.
  • the encoded compressed data subjected to the encoding compression processing on the plurality of macroblocks is transmitted to the server.
  • the encoded compressed data may be transmitted to the user terminal when the server receives the encoded compressed data.
  • the encoded compressed data may be subjected to a decoding operation to obtain the current frame image.
  • each macroblock may be separately determined to be a P-SKIP macroblock, and when the macroblock is a P-SKIP macroblock.
  • P-SKIP macroblock coding compression processing on the macroblock performing P macroblock coding compression processing on the macroblock when the macroblock is not a P-SKIP macroblock, that is, performing correspondence according to the type of the macroblock.
  • the encoding compression processing which adopts the P-SKIP macroblock encoding compression processing, simplifies the encoding and compression processing process of the current frame image, thereby reducing the CPU (Central Processing Unit) occupancy rate at the time of encoding.
  • CPU Central Processing Unit
  • a SPICE-based image transmission method is proposed based on the first embodiment or the second embodiment.
  • the method before the step S10, the method further The following steps can be included:
  • Step S40 when receiving a complete image of a frame sent by the server based on the SPICE protocol and an instant decoding refresh IDR frame encoding instruction corresponding to the complete image, performing the complete image IDR frame coding;
  • Step S50 transmitting the encoded encoded data to the server, so that the server sends the encoded data to the terminal, where the terminal decodes the encoded data when receiving the encoded data.
  • the complete image is obtained.
  • the H.264 encoder may be first activated to initialize relevant parameters, including image resolution, frame rate, code rate, and the like. Due to the high real-time requirements, the encoding level can be set to BaseLine.
  • the server sends the first frame image to the H.264 encoder based on the SPICE protocol, or when the server sends a frame reference image, the server may complete a frame of the complete image and the IDR corresponding to the complete image ( Instantaneous Decoding Refresh, frame encoding instructions are sent to the H.264 encoder.
  • the H.264 encoder may perform an IDR frame encoding of the H.264 standard on the complete image when receiving a complete image of the frame sent by the server based on the SPICE protocol and an IDR frame encoding instruction corresponding to the complete image, and
  • the encoded encoded data is transmitted to the server.
  • the encoded data may include data information such as SPS (sequence parameter set) and PPS (picture parameter set).
  • SPS sequence parameter set
  • PPS picture parameter set
  • the encoder when the encoder receives a complete image of a frame sent by the server based on the SPICE protocol and an IDR frame encoding instruction corresponding to the complete image, the IDR frame encoding is performed on the complete image, and then the encoded image is encoded.
  • the encoded data is transmitted to the server, and the server transmits the received encoded data to a user terminal, and the terminal decodes the encoded data to obtain the complete image. Therefore, in this embodiment, the complete image is encoded and then sent to the user terminal, which further improves the user experience.
  • the embodiment of the invention further provides a computer readable storage medium storing computer executable instructions, which are implemented when the computer executable instructions are executed.
  • FIG. 4 is a schematic diagram of functional modules of an image transmission apparatus based on the SPICE protocol according to the first embodiment of the present invention.
  • the image transmission apparatus based on the SPICE protocol includes:
  • the synthesizing module 10 is configured to: when receiving a change image of the current frame image and the previous frame image sent by the server based on the SPICE protocol, synthesizing the changed image and the previous frame image to obtain a current frame image;
  • the server When the server sends the current frame image to the user terminal based on the Simple Protocol for Independent Computing Environment (SIE), the server only needs to send the changed image of the current frame image and the changed portion of the previous frame image to the terminal. Without the need to send a complete current frame image to the terminal.
  • the server when the server sends the change image of the current frame image and the changed portion of the previous frame image to the user terminal based on the SPICE protocol, the server may first send the change image to the encoder, where the encoder Optionally an H.264 encoder.
  • the synthesizing module 10 may receive the changed image and the saved previous frame image.
  • the image transmission apparatus based on the SPICE protocol may further include a storage module, and the storage module saves the obtained current frame image to replace the saved previous frame image.
  • the synthesizing module 10 may compare the next frame image with the change image of the current frame image and the saved current frame when receiving the change image of the next frame image and the current frame image sent by the server based on the SPICE protocol. The image is synthesized to obtain the next frame image.
  • the encoding module 20 is configured to: divide the obtained current frame image into a plurality of macroblocks, and perform corresponding encoding compression processing on each macroblock respectively;
  • the encoding module 20 divides the current frame image into a plurality of macroblocks. For example, the current frame image may be divided into a number of 16*16 pixel macroblocks. All macroblocks can then be traversed, and corresponding coding compression processing is performed on each macroblock in turn, for example, P macroblock processing of the H.264 standard can be performed for each macroblock.
  • the sending module 30 is configured to: transmit the encoded compressed data that performs the encoding and compression processing on the plurality of macroblocks to the server, where the server sends the encoded compressed data to the terminal, where the terminal is receiving When the compressed data is encoded, the encoded compressed data is decoded to obtain the current frame image.
  • the transmitting module 30 After the encoding module 20 performs the corresponding encoding and compression processing on all the macroblocks, the transmitting module 30.
  • the encoded compressed data subjected to the corresponding encoding and compression processing for all the macroblocks is transmitted to the server.
  • the encoded compressed data may be transmitted to the user terminal when the server receives the encoded compressed data.
  • the encoded compressed data may be subjected to a decoding operation to obtain the current frame image.
  • the image transmission device based on the SPICE protocol in the embodiment of the present invention is described in detail below by taking the cloud desktop system as an example.
  • the cloud desktop server sends the changed desktop image of the current frame desktop image and the changed portion of the previous frame desktop image to the user terminal based on the SPICE protocol
  • the cloud desktop server may first send the changed desktop image to the H.264 encoder.
  • the synthesizing module 10 may synthesize the received changed desktop image and the saved previous frame desktop image to obtain The changing desktop image corresponds to a current frame desktop image.
  • the encoding module 20 may divide the current frame desktop image into a plurality of macroblocks, and perform corresponding encoding compression processing on each macroblock in turn.
  • the transmitting module 30 may transmit the encoded compressed data that performs the corresponding encoding and compression processing on all the macroblocks to the cloud desktop server.
  • the cloud desktop server receives the encoded compressed data
  • the encoded compressed data may be sent to the user terminal.
  • the user terminal receives the encoded compressed data
  • the encoded compressed data may be subjected to a decoding operation to obtain the current frame desktop image.
  • the synthesizing module 10 synthesizes the changed image and the previous frame image to obtain the current a frame image, and then the encoding module 20 divides the obtained current frame image into a plurality of macroblocks, and respectively performs respective encoding compression processing on each macroblock, after performing corresponding encoding compression processing on the plurality of macroblocks,
  • the sending module 30 transmits the encoded compressed data that performs the encoding and compression processing on the plurality of macroblocks to the server, and the server sends the received encoded compressed data to the user terminal, and the terminal can obtain the obtained after decoding.
  • the current frame image is described, so that it is not necessary to directly send the image to the user terminal, and the method of transmitting the encoded compressed data reduces the bandwidth required.
  • the encoding module 20 may include:
  • the determining unit 21 is configured to: divide the obtained current frame image into a plurality of macroblocks, respectively Determine whether each macroblock is a P-SKIP macroblock;
  • the determining unit 21 may first determine whether each macroblock is a P-SKIP macroblock.
  • the determining unit 21 may include:
  • a first determining subunit configured to: determine a macroblock coordinate range corresponding to the changed image
  • a second determining subunit configured to: divide the obtained current frame image into a plurality of macroblocks, and determine a reference coordinate of each macroblock;
  • a first determining subunit configured to: sequentially determine whether a reference coordinate of each macroblock is within a macroblock coordinate range corresponding to the changed image
  • a second determining subunit configured to: when the reference coordinate of the macroblock is within a macroblock coordinate range corresponding to the changed image, determine that the macroblock is a P-SKIP macroblock; and the reference coordinates of the macroblock are not in the When the macroblock coordinate range corresponding to the change image is within the range, it is determined that the macroblock is not a P-SKIP macroblock.
  • the first determining subunit determines a macroblock coordinate range corresponding to the changed image.
  • the change image may be a rectangular area
  • the image information of the change image may include parameter information such as vertex coordinates (x, y), width value, height value, and the like of the rectangular area, and YUV of the change image.
  • Image data may be the coordinates of the upper left corner of the rectangular area.
  • the first determining subunit may calculate an x-axis coordinate range [x_Start, x_End] after converting the changed image into a macroblock of 16*16 pixels according to the x coordinate value and the width value of the vertex coordinates (x, y). And calculating a y-axis coordinate range [y_Start, y_End] after the changed image is converted into a macroblock of 16*16 pixels according to the y-coordinate value and the height value of the vertex coordinates (x, y).
  • the synthesis module 10 combines the changed image with the previous frame image to obtain a current frame image, and the second determining sub-unit divides the obtained current frame image into a plurality of 16*16 pixel macroblocks, and then determines each The reference coordinates of the macroblock (x i , y i ).
  • the second determining subunit may be set as:
  • the reference point coordinates of each macro block are obtained, and the reference point coordinates of each macro block are set as the reference coordinates of the macro block.
  • the second determining subunit may first determine a reference point of each macroblock. Alternatively, the upper left corner of each macroblock may be determined as the reference point of the macroblock. The reference point coordinates of each macroblock can then be obtained, that is, the coordinates of the upper left corner of each macroblock are obtained. The second determining subunit may set the reference point coordinates of each macro block to the reference coordinates (x i , y i ) of the macro block, that is, optionally set the coordinates of the upper left corner of each macro block as The reference coordinates (x i , y i ) of the macroblock.
  • the first determining subunit may determine each according to the reference coordinates (x i , y i ) of each macroblock, and the macroblock coordinate ranges [x_Start, x_End] and [y_Start, y_End] corresponding to the changed image. Whether the reference coordinates (x i , y i ) of the macroblock are within the macroblock coordinate ranges [x_Start, x_End] and [y_Start, y_End] corresponding to the changed image.
  • the second determining subunit may determine that the macroblock is a P-SKIP macroblock; and the reference coordinate of the macroblock is in the changed image corresponding to When the macroblock coordinate range is out, the second determining subunit may determine that the macroblock is not a P-SKIP macroblock.
  • the encoding unit 22 is configured to: when the macroblock is a P-SKIP macroblock, perform P-SKIP macroblock encoding compression processing on the macroblock; and when the macroblock is not a P-SKIP macroblock, the macroblock is Perform P macroblock encoding compression processing.
  • the encoding unit 22 When the second determining subunit determines that the macroblock is not a P-SKIP macroblock, the encoding unit 22 performs a P. macroblock encoding compression process of the H.264 standard on the macroblock, which may include inter prediction, motion estimation, and DCT transform. (Discrete Cosine Transform, discrete cosine transform), entropy coding, etc.
  • the encoding unit 22 When the second determining subunit determines that the macroblock is a P-SKIP macroblock, the encoding unit 22 performs a P.SKIP macroblock encoding compression process of the H.264 standard on the macroblock, and may obtain a motion vector MV of the macroblock. Set to 0, and skip interframe prediction, motion estimation, entropy coding, etc., and there are only some placeholders in bits in the encoded code stream output after the encoding compression process.
  • the determining unit 21 may first determine whether each macroblock is a P-SKIP macroblock, and when the macroblock is a P-SKIP macroblock, the encoding unit 22 may perform a P-SKIP macroblock encoding compression process on the macroblock; When the macroblock is not a P-SKIP macroblock, the encoding unit 22 may perform a P macroblock encoding compression process on the macroblock, that is, the encoding unit 22 may perform a corresponding encoding compression process according to the type of the macroblock, because the encoding unit 22
  • the P-SKIP macroblock coding compression process is adopted, which simplifies the encoding and compression process of the current frame image, thereby reducing the CPU usage during encoding.
  • the SPICE protocol-based image transmission apparatus is proposed based on the first embodiment or the second embodiment.
  • the encoding module 20 may be further configured to: And performing IDR frame encoding on the complete image when a complete image of a frame sent by the SPICE protocol and an IDR frame encoding instruction corresponding to the complete image are sent;
  • the sending module 30 may be further configured to: transmit the encoded encoded data to the server, where the server sends the encoded data to the terminal, when the terminal receives the encoded data, The encoded data is decoded to obtain the complete image.
  • the H.264 encoder may first be activated to initialize relevant parameters, including image resolution, frame rate, code rate, and the like.
  • the encoding level can be set to BaseLine due to the high real-time requirements.
  • the server sends the first frame image to the H.264 encoder based on the SPICE protocol, or when the server sends a frame reference image, the server may complete a frame of the complete image and the IDR frame corresponding to the complete image.
  • the encoded instructions are sent to the H.264 encoder.
  • the encoding module 20 may perform an H.264 standard IDR frame on the complete image.
  • the encoding, transmitting module 30 can transmit the encoded encoded data to the server.
  • the encoded data may include data information such as SPS (sequence parameter set) and PPS (picture parameter set).
  • SPS sequence parameter set
  • PPS picture parameter set
  • the encoding module 20 when receiving a complete image of a frame sent by the server based on the SPICE protocol and an IDR frame encoding instruction corresponding to the complete image, performs IDR frame encoding on the complete image, and the sending module 30
  • the encoded encoded data is transmitted to the server, The server sends the received encoded data to the user terminal, and the terminal decodes the encoded data to obtain the complete image. Therefore, in this embodiment, the complete image is encoded and then sent to the user terminal, which further improves the user experience.
  • all or part of the steps of the above embodiments may also be implemented by using an integrated circuit. These steps may be separately fabricated into individual integrated circuit modules, or multiple modules or steps may be fabricated into a single integrated circuit module. achieve.
  • the devices/function modules/functional units in the above embodiments may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed over a network of multiple computing devices.
  • the device/function module/functional unit in the above embodiment When the device/function module/functional unit in the above embodiment is implemented in the form of a software function module and sold or used as a stand-alone product, it can be stored in a computer readable storage medium.
  • the above mentioned computer readable storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
  • the SPICE protocol-based image transmission method and apparatus in the image transmission method based on the SPICE protocol, when receiving a change image of the current frame image and the previous frame image by the server based on the SPICE protocol, The change image is combined with the previous frame image to obtain a current frame image, and the obtained current frame image is divided into a plurality of macroblocks, and corresponding coding compression processing is performed on each macroblock, respectively.
  • the macroblock performs the corresponding encoding and compression processing
  • the encoded compressed data that is subjected to the encoding and compression processing by the plurality of macroblocks is transmitted to the server, and the server sends the received encoded compressed data to the terminal, and the terminal After decoding Obtaining the current frame image. Therefore, the server does not need to directly send the image to the terminal, and the method of transmitting the encoded compressed data reduces the bandwidth required.

Abstract

一种基于SPICE协议的图像传输方法包括:在接收到服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,将所述变化图像与所述上一帧图像进行合成,以获得当前帧图像;将获得的所述当前帧图像划分为多个宏块,分别对每个宏块执行相应的编码压缩处理;将对所述多个宏块执行编码压缩处理后的编码压缩数据传输至所述服务器,以供所述服务器将所述编码压缩数据发送至终端,供所述终端在接收到所述编码压缩数据时,对所述编码压缩数据进行解码后获得所述当前帧图像。

Description

基于SPICE协议的图像传输方法及装置 技术领域
本申请涉及但不限于图像处理技术领域,尤其涉及一种基于SPICE协议的图像传输方法及装置。
背景技术
随着计算机和网络技术的不断发展,云计算变得越来越重要,虚拟桌面是云计算技术的一个典型应用,能够为用户提供远程的计算机桌面服务。SPICE协议(Simple Protocol for Independent Computing Environment,独立计算环境简单协议)是用于远程桌面的协议,基于SPICE协议能够将桌面图像中变化部分的图像直接传输至用户终端,不用传输整幅桌面图像。但由于采用直接传输图像的方式,在传输图像时占用带宽高。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本文提出一种基于SPICE协议的图像传输方法及装置,以解决基于SPICE协议传输图像时占用带宽高的技术问题。
本发明实施例提供一种基于SPICE协议的图像传输方法,所述基于SPICE协议的图像传输方法包括:
在接收到服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,将所述变化图像与所述上一帧图像进行合成,以获得当前帧图像;
将获得的所述当前帧图像划分为多个宏块,分别对每个宏块执行相应的编码压缩处理;
将对所述多个宏块执行编码压缩处理后的编码压缩数据传输至所述服务器,以供所述服务器将所述编码压缩数据发送至终端,供所述终端在接收到所述编码压缩数据时,对所述编码压缩数据进行解码后获得所述当前帧图像。
可选地,所述将获得的所述当前帧图像划分为多个宏块,分别对每个宏块执行相应的编码压缩处理包括:
将获得的所述当前帧图像划分为多个宏块,分别判断每个宏块是否为前向预测P-SKIP宏块;
当宏块为P-SKIP宏块时,对所述宏块执行P-SKIP宏块编码压缩处理;
当宏块不为P-SKIP宏块时,对所述宏块执行P宏块编码压缩处理。
可选地,所述将获得的所述当前帧图像划分为多个宏块,分别判断每个宏块是否为P-SKIP宏块包括:
确定所述变化图像对应的宏块坐标范围;
将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考坐标;
依次判断每个宏块的参考坐标是否处于所述变化图像对应的宏块坐标范围内;
在宏块的参考坐标处于所述变化图像对应的宏块坐标范围内时,判断所述宏块为P-SKIP宏块;
在宏块的参考坐标不处于所述变化图像对应的宏块坐标范围内时,判断所述宏块不为P-SKIP宏块。
可选地,所述将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考坐标包括:
将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考点;
获取每个宏块的参考点坐标,将每个宏块的参考点坐标设置为所述宏块的参考坐标。
可选地,所述在接收到服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,将所述变化图像与所述上一帧图像进行合成,以获得当前帧图像的步骤之前,所述基于SPICE协议的图像传输方法还包括:
在接收到服务器基于SPICE协议发送的一帧完整图像以及所述完整图像对应的即时解码刷新IDR帧编码指令时,对所述完整图像进行IDR帧编码;
将编码后的编码数据传输至所述服务器,以供所述服务器将所述编码数 据发送至终端,供所述终端在接收到所述编码数据时,对所述编码数据进行解码后获得所述完整图像。
本发明实施例还提出一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现上述基于SPICE协议的图像传输方法。
本发明实施例还提出一种基于SPICE协议的图像传输装置,所述基于SPICE协议的图像传输装置包括:
合成模块,设置为:在接收到服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,将所述变化图像与所述上一帧图像进行合成,以获得当前帧图像;
编码模块,设置为:将获得的所述当前帧图像划分为多个宏块,分别对每个宏块执行相应的编码压缩处理;
发送模块,设置为:将对所述多个宏块执行编码压缩处理后的编码压缩数据传输至所述服务器,以供所述服务器将所述编码压缩数据发送至终端,供所述终端在接收到所述编码压缩数据时,对所述编码压缩数据进行解码后获得所述当前帧图像。
可选地,所述编码模块包括:
判断单元,设置为:将获得的所述当前帧图像划分为多个宏块,分别判断每个宏块是否为P-SKIP宏块;
编码单元,设置为:当宏块为P-SKIP宏块时,对所述宏块执行P-SKIP宏块编码压缩处理;当宏块不为P-SKIP宏块时,对所述宏块执行P宏块编码压缩处理。
可选地,所述判断单元包括:
第一确定子单元,设置为:确定所述变化图像对应的宏块坐标范围;
第二确定子单元,设置为:将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考坐标;
第一判断子单元,设置为:依次判断每个宏块的参考坐标是否处于所述变化图像对应的宏块坐标范围内;
第二判断子单元,设置为:在宏块的参考坐标处于所述变化图像对应的宏块坐标范围内时,判断所述宏块为P-SKIP宏块;在宏块的参考坐标不处于所述变化图像对应的宏块坐标范围内时,判断所述宏块不为P-SKIP宏块。
可选地,所述第二确定子单元设置为:
将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考点;
获取每个宏块的参考点坐标,将每个宏块的参考点坐标设置为所述宏块的参考坐标。
可选地,所述编码模块还设置为:在接收到服务器基于SPICE协议发送的一帧完整图像以及所述完整图像对应的IDR帧编码指令时,对所述完整图像进行IDR帧编码;
所述发送模块还设置为:将编码后的编码数据传输至所述服务器,以供所述服务器将所述编码数据发送至终端,供所述终端在接收到所述编码数据时,对所述编码数据进行解码后获得所述完整图像。
本发明实施例提出的基于SPICE协议的图像传输方法及装置,在所述基于SPICE协议的图像传输方法中,当接收到服务器基于SPICE协议发送当前帧图像与上一帧图像的变化图像时,将所述变化图像与所述上一帧图像进行合成获得当前帧图像,将获得的所述当前帧图像划分为多个宏块,分别对每个宏块执行相应的编码压缩处理,在对多个宏块执行相应的编码压缩处理完成后,将所述多个宏块执行编码压缩处理后的编码压缩数据传输至所述服务器,所述服务器将接收到的所述编码压缩数据发送至终端,终端解码后即可获得所述当前帧图像。因此服务器不需直接将图像发送至终端,采用发送编码压缩数据的方式,降低了所需占用的带宽。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图概述
图1为根据本发明第一实施例的基于SPICE协议的图像传输方法的流程示意图;
图2为根据本发明第二实施例的基于SPICE协议的图像传输方法中对每 个宏块执行相应的编码压缩处理的细化流程示意图;
图3为根据本发明第三实施例的基于SPICE协议的图像传输方法的可选实施方式的流程示意图;
图4为根据本发明第一实施例的基于SPICE协议的图像传输装置的功能模块示意图;
图5为根据本发明第二实施例的基于SPICE协议的图像传输装置中编码模块的细化功能模块示意图。
本发明的较佳实施方式
下面结合附图对本发明的实施方式进行描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的各种方式可以相互组合。
本发明实施例提供一种基于SPICE协议的图像传输方法,参照图1,图1为根据本发明第一实施例的基于SPICE协议的图像传输方法的流程示意图。
在本实施例中,该基于SPICE协议的图像传输方法包括以下步骤:
步骤S10,在接收到服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,将所述变化图像与所述上一帧图像进行合成,以获得当前帧图像;
在服务器基于SPICE协议(Simple Protocol for Independent Computing Environment,独立计算环境简单协议)发送当前帧图像至用户终端时,服务器只需发送当前帧图像与上一帧图像的变化部分的变化图像至所述终端,而不需要发送完整的当前帧图像至所述终端。在本实施例中,当服务器基于SPICE协议发送当前帧图像与上一帧图像的变化部分的变化图像至用户终端时,所述服务器可先将所述变化图像发送至编码器,所述编码器可选地为H.264编码器。在H.264编码器接收到所述服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,将接收到的所述变化图像与保存的所述上一帧图像进行合成,获得所述变化图像对应的当前帧图像。并且,H.264编码器可以以获得的所述当前帧图像替换保存的所述上一帧图像,以将获得的所述当前帧图像进行保存。以在接收到服务器基于SPICE协议发送的下一 帧图像与所述当前帧图像的变化图像时,将所述下一帧图像与所述当前帧图像的变化图像与保存的当前帧图像进行合成,从而获得下一帧图像。
步骤S20,将获得的所述当前帧图像划分为多个宏块,分别对每个宏块执行相应的编码压缩处理;
H.264编码器通过步骤S10获得所述当前帧图像后,可将所述当前帧图像划分为多个宏块。例如,将所述当前帧图像划分为若干个16*16像素的宏块。之后可对所有宏块进行遍历,依次对每个宏块执行相应的编码压缩处理,比如对每个宏块执行H.264标准的P宏块处理。
步骤S30,将对所述多个宏块执行编码压缩处理后的编码压缩数据传输至所述服务器,以供所述服务器将所述编码压缩数据发送至终端,供所述终端在接收到所述编码压缩数据时,对所述编码压缩数据进行解码后获得所述当前帧图像。
当对所有宏块执行相应的编码压缩处理完成后,也即对宏块遍历完成时,可将对所有宏块执行相应的编码压缩处理后的编码压缩数据传输至所述服务器。在所述服务器接收到所述编码压缩数据时,可将所述编码压缩数据发送至用户终端。当用户终端接收到所述编码压缩数据时,可对所述编码压缩数据进行解码操作,获得所述当前帧图像。
下面以云桌面系统为例对本发明实施例基于SPICE协议的图像传输方法进行详细说明。当云桌面服务器基于SPICE协议发送当前帧桌面图像与上一帧桌面图像的变化部分的变化桌面图像至用户终端时,云桌面服务器可先将所述变化桌面图像发送至H.264编码器。在H.264编码器接收到所述云桌面服务器基于SPICE协议发送的所述变化桌面图像时,可将接收到的所述变化桌面图像与保存的上一帧桌面图像进行合成,获得所述变化桌面图像对应的当前帧桌面图像。然后,可将所述当前帧桌面图像划分为多个宏块,依次对每个宏块执行相应的编码压缩处理。当对所有宏块执行相应的编码压缩处理完成后,可将对所有宏块执行相应的编码压缩处理后的编码压缩数据传输至云桌面服务器。在云桌面服务器接收到所述编码压缩数据时,可将所述编码压缩数据发送至用户的瘦终端。当用户的瘦终端接收到所述编码压缩数据时,可对所述编码压缩数据进行解码操作,从而获得所述当前帧桌面图像。
本实施例提供的方案,当编码器接收到服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,将所述变化图像与所述上一帧图像进行合成,获得当前帧图像,然后将获得的所述当前帧图像划分为多个宏块,分别对每个宏块执行相应的编码压缩处理,在对多个宏块执行相应的编码压缩处理完成后,将所述多个宏块执行编码压缩处理后的编码压缩数据传输至所述服务器,所述服务器将接收到的所述编码压缩数据发送至用户终端,终端解码后即可获得所述当前帧图像,因此不需直接将图像发送至用户终端,采用发送编码压缩数据的方式,降低了所需占用的带宽。
如图2所示,基于第一实施例提出根据本发明第二实施例的基于SPICE协议的图像传输方法,在本第二实施例中,所述步骤S20可包括:
步骤S21,将获得的所述当前帧图像划分为多个宏块,分别判断每个宏块是否为前向预测P-SKIP宏块;
在本实施例中,为了简化当前帧图像的编码压缩处理过程,在将获得的所述当前帧图像划分为多个宏块后,可针对不同类型的宏块执行不同的编码压缩处理。具体地,在将获得的所述当前帧图像划分为多个宏块后,可首先分别判断每个宏块是否为前向预测P-SKIP宏块。
所述步骤S21可包括:
步骤a,确定所述变化图像对应的宏块坐标范围;
步骤b,将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考坐标;
步骤c,依次判断每个宏块的参考坐标是否处于所述变化图像对应的宏块坐标范围内;
步骤d,在宏块的参考坐标处于所述变化图像对应的宏块坐标范围内时,判断所述宏块为P-SKIP宏块;
步骤e,在宏块的参考坐标不处于所述变化图像对应的宏块坐标范围内时,判断所述宏块不为P-SKIP宏块。
本实施例中,在接收到所述服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,确定所述变化图像对应的宏块坐标范围。可选地, 所述变化图像可为矩形区域,所述变化图像的图像信息可包括所述矩形区域的顶点坐标(x、y)、宽度值、高度值等参数信息以及所述变化图像的YUV(一种颜色编码方式)图像数据。可选地,所述矩形区域的顶点坐标(x、y)可为所述矩形区域的左上角的坐标。可根据所述顶点坐标(x、y)的x坐标值以及宽度值,计算出所述变化图像换算为16*16像素的宏块后的x轴坐标范围[x_Start,x_End],以及可根据所述顶点坐标(x、y)的y坐标值以及高度值,计算出所述变化图像换算为16*16像素的宏块后的y轴坐标范围[y_Start,y_End]。
在将所述变化图像与上一帧图像合成获得当前帧图像,将获得的所述当前帧图像划分为多个16*16像素的宏块后,可确定每个宏块的参考坐标(xi、yi)。
在本实施例中,所述步骤b可包括:
步骤f,将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考点;
步骤g,获取每个宏块的参考点坐标,将每个宏块的参考点坐标设置为所述宏块的参考坐标。
在将获得的所述当前帧图像划分为多个16*16像素的宏块后,可先确定每个宏块的参考点。可选地,可将每个宏块的左上角确定为所述宏块的参考点。然后获取每个宏块的参考点坐标,也即获取每个宏块的左上角的坐标。将每个宏块的参考点坐标设置为所述宏块的参考坐标(xi、yi),也即可选地将每个宏块的左上角的坐标设置为所述宏块的参考坐标(xi、yi)。
之后,可根据每个宏块的参考坐标(xi、yi),以及所述变化图像对应的宏块坐标范围[x_Start,x_End]和[y_Start,y_End],判断每个宏块的参考坐标(xi、yi)是否处于所述变化图像对应的宏块坐标范围[x_Start,x_End]和[y_Start,y_End]内。若x_Start≤xi≤x_End且y_Start≤yi≤y_End,则可确定宏块的的参考坐标处于所述变化图像对应的宏块坐标范围内;否则,可确定宏块的的参考坐标处于所述变化图像对应的宏块坐标范围外。在宏块的参考坐标处于所述变化图像对应的宏块坐标范围内时,可判断所述宏块为P-SKIP宏块;在宏块的参考坐标处于所述变化图像对应的宏块坐标范围外时,可判断 所述宏块不为P-SKIP宏块。
步骤S22,当宏块为P-SKIP宏块时,对所述宏块执行P-SKIP宏块编码压缩处理;
步骤S23,当宏块不为P-SKIP宏块时,对所述宏块执行P宏块编码压缩处理。
当判断宏块不为P-SKIP宏块时,则对所述宏块执行H.264标准的P宏块编码压缩处理,可包括帧间预测、运动估算、DCT变换(Discrete Cosine Transform,离散余弦变换)、熵编码等。当判断宏块为P-SKIP宏块时,则对所述宏块执行H.264标准的P-SKIP宏块编码压缩处理,可将所述宏块的MV(Motion Vector,运动矢量)设置为0,并跳过帧间预测、运动估算、熵编码等,在编码压缩处理后输出的编码码流中只有一些以bit为单位的占位符。
在对多个宏块执行相应的编码压缩处理完成后,将对所述多个宏块执行编码压缩处理后的编码压缩数据传输至所述服务器。在所述服务器接收到所述编码压缩数据时,可将所述编码压缩数据发送至用户终端。当用户终端接收到所述编码压缩数据时,可对所述编码压缩数据进行解码操作,获得所述当前帧图像。
本实施例提供的方案,在将获得的所述当前帧图像划分为多个宏块后,可先分别判断每个宏块是否为P-SKIP宏块,在宏块为P-SKIP宏块时,对所述宏块执行P-SKIP宏块编码压缩处理;在宏块不为P-SKIP宏块时,对所述宏块执行P宏块编码压缩处理,也即根据宏块的类型执行对应的编码压缩处理,由于采用了P-SKIP宏块编码压缩处理,简化了当前帧图像的编码压缩处理过程,从而降低了编码时CPU(Central Processing Unit,中央处理器)占用率。
如图3所示,基于第一实施例或第二实施例提出根据本发明第三实施例的基于SPICE协议的图像传输方法,在本第三实施例中,所述步骤S10之前,该方法还可包括以下步骤:
步骤S40,在接收到服务器基于SPICE协议发送的一帧完整图像以及所述完整图像对应的即时解码刷新IDR帧编码指令时,对所述完整图像进行 IDR帧编码;
步骤S50,将编码后的编码数据传输至所述服务器,以供所述服务器将所述编码数据发送至终端,供所述终端在接收到所述编码数据时,对所述编码数据进行解码后获得所述完整图像。
当服务器将要基于SPICE协议发送第一帧图像至H.264编码器时,可首先启动所述H.264编码器,初始化相关参数,包括图像分辨率、帧率、码率等。由于要求有较高的实时性,编码级别可设置为BaseLine(基线)。在所述服务器基于SPICE协议发送第一帧图像至H.264编码器时,或者在所述服务器发送一帧参考图像时,所述服务器可将一帧完整图像以及所述完整图像对应的IDR(Instantaneous Decoding Refresh,即时解码刷新)帧编码指令发送至所述H.264编码器。H.264编码器在接收到所述服务器基于SPICE协议发送的一帧完整图像以及所述完整图像对应的IDR帧编码指令时,可对所述完整图像执行H.264标准的IDR帧编码,并将编码后的编码数据传输至所述服务器。其中,所述编码数据中可包括SPS(sequence parameter set,序列参数集)和PPS(picture parameter set,图像参数集)等数据信息。在所述服务器接收到所述编码数据后,可将所述编码数据发送至用户终端。当用户终端接收到所述编码数据时,可对所述编码数据进行解码后获得所述完整图像。
本实施例提供的方案,在编码器接收到服务器基于SPICE协议发送的一帧完整图像以及所述完整图像对应的IDR帧编码指令时,对所述完整图像进行IDR帧编码,然后将编码后的编码数据传输至所述服务器,所述服务器将接收到的所述编码数据发送至用户终端,终端将所述编码数据进行解码后获得所述完整图像。因此,本实施例中还可以实现对完整图像进行编码后发送至用户终端,进一步提高了用户体验。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现上述基于SPICE协议的图像传输方法。
本发明实施例还提供一种基于SPICE协议的图像传输装置,如图4所示,图4为根据本发明第一实施例的基于SPICE协议的图像传输装置的功能模块示意图。
在本实施例中,该基于SPICE协议的图像传输装置包括:
合成模块10,设置为:在接收到服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,将所述变化图像与所述上一帧图像进行合成,以获得当前帧图像;
在服务器基于SPICE协议(Simple Protocol for Independent Computing Environment,独立计算环境简单协议)发送当前帧图像至用户终端时,服务器只需发送当前帧图像与上一帧图像的变化部分的变化图像至所述终端,而不需要发送完整的当前帧图像至所述终端。在本实施例中,当服务器基于SPICE协议发送当前帧图像与上一帧图像的变化部分的变化图像至用户终端时,所述服务器可先将所述变化图像发送至编码器,所述编码器可选地为H.264编码器。在H.264编码器接收到所述服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,合成模块10可将接收到的所述变化图像与保存的所述上一帧图像进行合成,获得所述变化图像对应的当前帧图像。该基于SPICE协议的图像传输装置还可包括存储模块,所述存储模块将获得的所述当前帧图像进行保存,以替换保存的所述上一帧图像。以在接收到服务器基于SPICE协议发送的下一帧图像与所述当前帧图像的变化图像时,合成模块10可将所述下一帧图像与所述当前帧图像的变化图像与保存的当前帧图像进行合成,从而获得下一帧图像。
编码模块20,设置为:将获得的所述当前帧图像划分为多个宏块,分别对每个宏块执行相应的编码压缩处理;
通过合成模块10获得所述当前帧图像后,编码模块20将所述当前帧图像划分为多个宏块。例如,可将所述当前帧图像划分为若干个16*16像素的宏块。之后可对所有宏块进行遍历,依次对每个宏块执行相应的编码压缩处理,比如可对每个宏块执行H.264标准的P宏块处理。
发送模块30,设置为:将所述多个宏块执行编码压缩处理后的编码压缩数据传输至所述服务器,以供所述服务器将所述编码压缩数据发送至终端,供所述终端在接收到所述编码压缩数据时,对所述编码压缩数据进行解码后获得所述当前帧图像。
当编码模块20对所有宏块执行相应的编码压缩处理完成后,发送模块 30将对所有宏块执行相应的编码压缩处理后的编码压缩数据传输至所述服务器。在所述服务器接收到所述编码压缩数据时,可将所述编码压缩数据发送至用户终端。当用户终端接收到所述编码压缩数据时,可对所述编码压缩数据进行解码操作,获得所述当前帧图像。
下面以云桌面系统为例对本发明实施例基于SPICE协议的图像传输装置进行详细说明。当云桌面服务器基于SPICE协议发送当前帧桌面图像与上一帧桌面图像的变化部分的变化桌面图像至用户终端时,云桌面服务器可先将所述变化桌面图像发送至H.264编码器。在H.264编码器接收到所述云桌面服务器基于SPICE协议发送的所述变化桌面图像时,合成模块10可将接收到的所述变化桌面图像与保存的上一帧桌面图像进行合成,获得所述变化桌面图像对应的当前帧桌面图像。然后,编码模块20可将所述当前帧桌面图像划分为多个宏块,依次对每个宏块执行相应的编码压缩处理。当对所有宏块执行相应的编码压缩处理完成后,发送模块30可将对所有宏块执行相应的编码压缩处理后的编码压缩数据传输至云桌面服务器。在云桌面服务器接收到所述编码压缩数据时,可将所述编码压缩数据发送至用户终端。当用户终端接收到所述编码压缩数据时,可对所述编码压缩数据进行解码操作,从而获得所述当前帧桌面图像。
本实施例提供的方案,当编码器接收到服务器基于SPICE协议发送当前帧图像与上一帧图像的变化图像时,合成模块10将所述变化图像与所述上一帧图像进行合成,获得当前帧图像,然后编码模块20将获得的所述当前帧图像划分为多个宏块,分别对每个宏块执行相应的编码压缩处理,在对多个宏块执行相应的编码压缩处理完成后,发送模块30将对所述多个宏块执行编码压缩处理后的编码压缩数据传输至所述服务器,所述服务器将接收到的所述编码压缩数据发送至用户终端,终端解码后即可获得所述当前帧图像,因此不需直接将图像发送至用户终端,采用发送编码压缩数据的方式,降低了所需占用的带宽。
如图5所示,基于第一实施例提出根据本发明第二实施例的基于SPICE协议的图像传输装置,在本第二实施例中,所述编码模块20可包括:
判断单元21,设置为:将获得的所述当前帧图像划分为多个宏块,分别 判断每个宏块是否为P-SKIP宏块;
在本实施例中,为了简化当前帧图像的编码压缩处理过程,在将获得的所述当前帧图像划分为多个宏块后,可针对不同类型的宏块执行不同的编码压缩处理。具体地,在将获得的所述当前帧图像划分为多个宏块后,可首先判断单元21分别判断每个宏块是否为P-SKIP宏块。
所述判断单元21可包括:
第一确定子单元,设置为:确定所述变化图像对应的宏块坐标范围;
第二确定子单元,设置为:将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考坐标;
第一判断子单元,设置为:依次判断每个宏块的参考坐标是否处于所述变化图像对应的宏块坐标范围内;
第二判断子单元,设置为:在宏块的参考坐标处于所述变化图像对应的宏块坐标范围内时,判断所述宏块为P-SKIP宏块;在宏块的参考坐标不处于所述变化图像对应的宏块坐标范围内时,判断所述宏块不为P-SKIP宏块。
本实施例中,在接收到所述服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,第一确定子单元确定所述变化图像对应的宏块坐标范围。可选地,所述变化图像可为矩形区域,所述变化图像的图像信息可包括所述矩形区域的顶点坐标(x、y)、宽度值、高度值等参数信息以及所述变化图像的YUV图像数据。可选地,所述矩形区域的顶点坐标(x、y)可为所述矩形区域的左上角的坐标。第一确定子单元可根据所述顶点坐标(x、y)的x坐标值以及宽度值,计算出所述变化图像换算为16*16像素的宏块后的x轴坐标范围[x_Start,x_End],以及可根据所述顶点坐标(x、y)的y坐标值以及高度值,计算出所述变化图像换算为16*16像素的宏块后的y轴坐标范围[y_Start,y_End]。
在合成模块10将所述变化图像与上一帧图像合成获得当前帧图像,第二确定子单元将获得的所述当前帧图像划分为多个16*16像素的宏块后,可确定每个宏块的参考坐标(xi、yi)。
在本实施例中,所述第二确定子单元可设置为:
将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考点;
获取每个宏块的参考点坐标,将每个宏块的参考点坐标设置为所述宏块的参考坐标。
在将获得的所述当前帧图像划分为多个16*16像素的宏块后,第二确定子单元可先确定每个宏块的参考点。可选地,可将每个宏块的左上角确定为所述宏块的参考点。然后可获取每个宏块的参考点坐标,也即获取每个宏块的左上角的坐标。第二确定子单元可将每个宏块的参考点坐标设置为所述宏块的参考坐标(xi、yi),也即可选地将每个宏块的左上角的坐标设置为所述宏块的参考坐标(xi、yi)。
之后,第一判断子单元可根据每个宏块的参考坐标(xi、yi),以及所述变化图像对应的宏块坐标范围[x_Start,x_End]和[y_Start,y_End],判断每个宏块的参考坐标(xi、yi)是否处于所述变化图像对应的宏块坐标范围[x_Start,x_End]和[y_Start,y_End]内。若x_Start≤xi≤x_End且y_Start≤yi≤y_End,则可确定宏块的的参考坐标处于所述变化图像对应的宏块坐标范围内;否则,可确定宏块的的参考坐标处于所述变化图像对应的宏块坐标范围外。在宏块的参考坐标处于所述变化图像对应的宏块坐标范围内时,第二判断子单元可判断所述宏块为P-SKIP宏块;在宏块的参考坐标处于所述变化图像对应的宏块坐标范围外时,第二判断子单元可判断所述宏块不为P-SKIP宏块。
编码单元22,设置为:当宏块为P-SKIP宏块时,对所述宏块执行P-SKIP宏块编码压缩处理;当宏块不为P-SKIP宏块时,对所述宏块执行P宏块编码压缩处理。
当第二判断子单元判断宏块不为P-SKIP宏块时,编码单元22对所述宏块执行H.264标准的P宏块编码压缩处理,可包括帧间预测、运动估算、DCT变换(Discrete Cosine Transform,离散余弦变换)、熵编码等。当第二判断子单元判断宏块为P-SKIP宏块时,编码单元22对所述宏块执行H.264标准的P-SKIP宏块编码压缩处理,可将所述宏块的运动矢量MV设置为0,并跳过帧间预测、运动估算、熵编码等,在编码压缩处理后输出的编码码流中只有一些以bit为单位的占位符。
本实施例提供的方案,在将获得的所述当前帧图像划分为多个宏块后, 判断单元21可先分别判断每个宏块是否为P-SKIP宏块,在宏块为P-SKIP宏块时,编码单元22可对所述宏块执行P-SKIP宏块编码压缩处理;在宏块不为P-SKIP宏块时,编码单元22可对所述宏块执行P宏块编码压缩处理,也即编码单元22可根据宏块的类型执行对应的编码压缩处理,由于编码单元22采用了P-SKIP宏块编码压缩处理,简化了当前帧图像的编码压缩处理过程,从而降低了编码时CPU占用率。
基于第一实施例或第二实施例提出根据本发明第三实施例的基于SPICE协议的图像传输装置,在本第三实施例中,所述编码模块20还可设置为:在接收到服务器基于SPICE协议发送的一帧完整图像以及所述完整图像对应的IDR帧编码指令时,对所述完整图像进行IDR帧编码;
所述发送模块30还可设置为:将编码后的编码数据传输至所述服务器,以供所述服务器将所述编码数据发送至终端,供所述终端在接收到所述编码数据时,对所述编码数据进行解码后获得所述完整图像。
当服务器将要基于SPICE协议发送第一帧图像至H.264编码器时,首先可启动所述H.264编码器,初始化相关参数,包括图像分辨率、帧率、码率等。由于要求有较高的实时性,编码级别可设置为BaseLine。在所述服务器基于SPICE协议发送第一帧图像至H.264编码器时,或者在所述服务器发送一帧参考图像时,所述服务器可将一帧完整图像以及所述完整图像对应的IDR帧编码指令发送至所述H.264编码器。H.264编码器在接收到所述服务器基于SPICE协议发送的一帧完整图像以及所述完整图像对应的IDR帧编码指令时,编码模块20可对所述完整图像执行H.264标准的IDR帧编码,发送模块30可将编码后的编码数据传输至所述服务器。其中,所述编码数据中可包括SPS(sequence parameter set,序列参数集)和PPS(picture parameter set,图像参数集)等数据信息。在所述服务器接收到所述编码数据后,可将所述编码数据发送至用户终端。当用户终端接收到所述编码数据时,可对所述编码数据进行解码后获得所述完整图像。
本实施例提供的方案,在接收到服务器基于SPICE协议发送的一帧完整图像以及所述完整图像对应的IDR帧编码指令时,编码模块20对所述完整图像进行IDR帧编码,发送模块30将编码后的编码数据传输至所述服务器,所 述服务器将接收到的所述编码数据发送至用户终端,终端将所述编码数据进行解码后获得所述完整图像。因此,本实施例中还可以实现对完整图像进行编码后发送至用户终端,进一步提高了用户体验。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件、处理器等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。
上述实施例中的装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
本领域的普通技术人员可以理解,可以对本申请的技术方案进行修改或者等同替换,而不脱离本申请技术方案的精神和范围。本申请的保护范围以权利要求所定义的范围为准。
工业实用性
本发明实施例提出的基于SPICE协议的图像传输方法及装置,在所述基于SPICE协议的图像传输方法中,当接收到服务器基于SPICE协议发送当前帧图像与上一帧图像的变化图像时,将所述变化图像与所述上一帧图像进行合成获得当前帧图像,将获得的所述当前帧图像划分为多个宏块,分别对每个宏块执行相应的编码压缩处理,在对多个宏块执行相应的编码压缩处理完成后,将所述多个宏块执行编码压缩处理后的编码压缩数据传输至所述服务器,所述服务器将接收到的所述编码压缩数据发送至终端,终端解码后即可 获得所述当前帧图像。因此服务器不需直接将图像发送至终端,采用发送编码压缩数据的方式,降低了所需占用的带宽。

Claims (10)

  1. 一种基于独立计算环境简单协议SPICE协议的图像传输方法,包括:
    在接收到服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,将所述变化图像与所述上一帧图像进行合成,以获得当前帧图像;
    将获得的所述当前帧图像划分为多个宏块,分别对每个宏块执行相应的编码压缩处理;
    将对所述多个宏块执行编码压缩处理后的编码压缩数据传输至所述服务器,以供所述服务器将所述编码压缩数据发送至终端,供所述终端在接收到所述编码压缩数据时,对所述编码压缩数据进行解码后获得所述当前帧图像。
  2. 如权利要求1所述的基于SPICE协议的图像传输方法,其中,所述将获得的所述当前帧图像划分为多个宏块,分别对每个宏块执行相应的编码压缩处理包括:
    将获得的所述当前帧图像划分为多个宏块,分别判断每个宏块是否为前向预测P-SKIP宏块;
    当宏块为P-SKIP宏块时,对所述宏块执行P-SKIP宏块编码压缩处理;
    当宏块不为P-SKIP宏块时,对所述宏块执行P宏块编码压缩处理。
  3. 如权利要求2所述的基于SPICE协议的图像传输方法,其中,所述将获得的所述当前帧图像划分为多个宏块,分别判断每个宏块是否为P-SKIP宏块包括:
    确定所述变化图像对应的宏块坐标范围;
    将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考坐标;
    依次判断每个宏块的参考坐标是否处于所述变化图像对应的宏块坐标范围内;
    在宏块的参考坐标处于所述变化图像对应的宏块坐标范围内时,判断所述宏块为P-SKIP宏块;
    在宏块的参考坐标不处于所述变化图像对应的宏块坐标范围内时,判断所述宏块不为P-SKIP宏块。
  4. 如权利要求3所述的基于SPICE协议的图像传输方法,其中,所述将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考坐标包括:
    将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考点;
    获取每个宏块的参考点坐标,将每个宏块的参考点坐标设置为所述宏块的参考坐标。
  5. 如权利要求1-4任一项所述的基于SPICE协议的图像传输方法,所述在接收到服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,将所述变化图像与所述上一帧图像进行合成,以获得当前帧图像的步骤之前,还包括:
    在接收到服务器基于SPICE协议发送的一帧完整图像以及所述完整图像对应的即时解码刷新IDR帧编码指令时,对所述完整图像进行IDR帧编码;
    将编码后的编码数据传输至所述服务器,以供所述服务器将所述编码数据发送至终端,供所述终端在接收到所述编码数据时,对所述编码数据进行解码后获得所述完整图像。
  6. 一种基于独立计算环境简单协议SPICE协议的图像传输装置,包括:
    合成模块,设置为:在接收到服务器基于SPICE协议发送的当前帧图像与上一帧图像的变化图像时,将所述变化图像与所述上一帧图像进行合成,以获得当前帧图像;
    编码模块,设置为:将获得的所述当前帧图像划分为多个宏块,分别对每个宏块执行相应的编码压缩处理;
    发送模块,设置为:将对所述多个宏块执行编码压缩处理后的编码压缩数据传输至所述服务器,以供所述服务器将所述编码压缩数据发送至终端,供所述终端在接收到所述编码压缩数据时,对所述编码压缩数据进行解码后获得所述当前帧图像。
  7. 如权利要求6所述的基于SPICE协议的图像传输装置,其中,所述编码模块包括:
    判断单元,设置为:将获得的所述当前帧图像划分为多个宏块,分别判断每个宏块是否为前向预测P-SKIP宏块;
    编码单元,设置为:当宏块为P-SKIP宏块时,对所述宏块执行P-SKIP宏块编码压缩处理;当宏块不为P-SKIP宏块时,对所述宏块执行P宏块编码压缩处理。
  8. 如权利要求7所述的基于SPICE协议的图像传输装置,其中,所述判断单元包括:
    第一确定子单元,设置为:确定所述变化图像对应的宏块坐标范围;
    第二确定子单元,设置为:将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考坐标;
    第一判断子单元,设置为:依次判断每个宏块的参考坐标是否处于所述变化图像对应的宏块坐标范围内;
    第二判断子单元,设置为:在宏块的参考坐标处于所述变化图像对应的宏块坐标范围内时,判断所述宏块为P-SKIP宏块;在宏块的参考坐标不处于所述变化图像对应的宏块坐标范围内时,判断所述宏块不为P-SKIP宏块。
  9. 如权利要求8所述的基于SPICE协议的图像传输装置,其中,所述第二确定子单元设置为:
    将获得的所述当前帧图像划分为多个宏块,确定每个宏块的参考点;
    获取每个宏块的参考点坐标,将每个宏块的参考点坐标设置为所述宏块的参考坐标。
  10. 如权利要求6-9任一项所述的基于SPICE协议的图像传输装置,所述编码模块还设置为:在接收到服务器基于SPICE协议发送的一帧完整图像以及所述完整图像对应的即时解码刷新IDR帧编码指令时,对所述完整图像进行IDR帧编码;
    所述发送模块还设置为:将编码后的编码数据传输至所述服务器,以供所述服务器将所述编码数据发送至终端,供所述终端在接收到所述编码数据时,对所述编码数据进行解码后获得所述完整图像。
PCT/CN2016/084775 2015-09-11 2016-06-03 基于spice协议的图像传输方法及装置 WO2017041551A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510580296.3A CN106534859B (zh) 2015-09-11 2015-09-11 基于spice协议的图像传输方法及装置
CN201510580296.3 2015-09-11

Publications (1)

Publication Number Publication Date
WO2017041551A1 true WO2017041551A1 (zh) 2017-03-16

Family

ID=58239146

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/084775 WO2017041551A1 (zh) 2015-09-11 2016-06-03 基于spice协议的图像传输方法及装置

Country Status (2)

Country Link
CN (1) CN106534859B (zh)
WO (1) WO2017041551A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110545417A (zh) * 2018-05-28 2019-12-06 深信服科技股份有限公司 一种桌面场景的图像编码、解码方法及相关装置
CN111131831A (zh) * 2019-12-20 2020-05-08 西安万像电子科技有限公司 数据传输方法及装置
CN111447453A (zh) * 2020-03-31 2020-07-24 西安万像电子科技有限公司 图像处理方法及装置
CN115865909A (zh) * 2023-01-13 2023-03-28 中科方德软件有限公司 一种基于spice协议的数据传输方法、装置和可读存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106982374A (zh) * 2017-03-28 2017-07-25 山东超越数控电子有限公司 一种基于hevc优化算法的spice视频传输方法和装置
CN107682694B (zh) * 2017-07-07 2020-02-04 西安万像电子科技有限公司 图像编解码方法、装置及系统
CN110297680B (zh) * 2019-06-03 2023-02-17 北京星网锐捷网络技术有限公司 一种传输虚拟桌面图像的方法及装置
CN111800633A (zh) * 2020-06-23 2020-10-20 西安万像电子科技有限公司 图像处理方法及装置
CN113319850A (zh) * 2021-03-25 2021-08-31 弘丰塑胶制品(深圳)有限公司 一种机械手、配合多机械手的夹持套件、控制系统
CN115955573A (zh) * 2023-03-15 2023-04-11 广州思涵信息科技有限公司 一种二维图像实时远程同步投射方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100226441A1 (en) * 2009-03-06 2010-09-09 Microsoft Corporation Frame Capture, Encoding, and Transmission Management
CN101977322A (zh) * 2010-11-10 2011-02-16 上海交通大学 基于通用视频编码标准的屏幕编码系统
CN102244786A (zh) * 2011-07-12 2011-11-16 深圳市万兴软件有限公司 视频数据压缩、解压缩的方法、装置及移动终端
CN104253804A (zh) * 2013-06-28 2014-12-31 广州华多网络科技有限公司 一种传输图像数据的方法及装置
US20150022548A1 (en) * 2013-07-18 2015-01-22 Nvidia Corporation Graphics server for remotely rendering a composite image and method of use thereof
CN104768009A (zh) * 2015-03-19 2015-07-08 中国科学院信息工程研究所 一种桌面虚拟化spice协议下的图像传输方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4792001B2 (ja) * 2007-04-27 2011-10-12 株式会社東芝 動画像復号装置、放送受信装置、動画像復号方法
CN101783949B (zh) * 2010-02-22 2012-08-01 深圳市融创天下科技股份有限公司 一种skip块模式选择方法
EP2574056A4 (en) * 2010-05-19 2016-03-30 Sk Telecom Co Ltd DEVICE AND METHOD FOR IMAGE ENCODING / DECODING
CN103227926A (zh) * 2013-05-27 2013-07-31 合肥优尔电子科技有限公司 适用于低带宽无线通信信道的视频编码装置及其编码方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100226441A1 (en) * 2009-03-06 2010-09-09 Microsoft Corporation Frame Capture, Encoding, and Transmission Management
CN101977322A (zh) * 2010-11-10 2011-02-16 上海交通大学 基于通用视频编码标准的屏幕编码系统
CN102244786A (zh) * 2011-07-12 2011-11-16 深圳市万兴软件有限公司 视频数据压缩、解压缩的方法、装置及移动终端
CN104253804A (zh) * 2013-06-28 2014-12-31 广州华多网络科技有限公司 一种传输图像数据的方法及装置
US20150022548A1 (en) * 2013-07-18 2015-01-22 Nvidia Corporation Graphics server for remotely rendering a composite image and method of use thereof
CN104768009A (zh) * 2015-03-19 2015-07-08 中国科学院信息工程研究所 一种桌面虚拟化spice协议下的图像传输方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110545417A (zh) * 2018-05-28 2019-12-06 深信服科技股份有限公司 一种桌面场景的图像编码、解码方法及相关装置
CN110545417B (zh) * 2018-05-28 2023-07-14 深信服科技股份有限公司 一种桌面场景的图像编码、解码方法及相关装置
CN111131831A (zh) * 2019-12-20 2020-05-08 西安万像电子科技有限公司 数据传输方法及装置
CN111131831B (zh) * 2019-12-20 2022-11-15 西安万像电子科技有限公司 数据传输方法及装置
CN111447453A (zh) * 2020-03-31 2020-07-24 西安万像电子科技有限公司 图像处理方法及装置
CN115865909A (zh) * 2023-01-13 2023-03-28 中科方德软件有限公司 一种基于spice协议的数据传输方法、装置和可读存储介质
CN115865909B (zh) * 2023-01-13 2023-06-02 中科方德软件有限公司 一种基于spice协议的数据传输方法、装置和可读存储介质

Also Published As

Publication number Publication date
CN106534859A (zh) 2017-03-22
CN106534859B (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
WO2017041551A1 (zh) 基于spice协议的图像传输方法及装置
US10979663B2 (en) Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos
US20190273929A1 (en) De-Blocking Filtering Method and Terminal
US20200374525A1 (en) Method and apparatus for video encoding and decoding
US8644381B2 (en) Apparatus for reference picture resampling generation and method thereof and video decoding system using the same
US20180027257A1 (en) Image processing device and image processing method
US11172220B2 (en) Video encoding method, and storage medium thereof
WO2021082667A1 (zh) 视频数据编码方法、装置、设备和存储介质
US9984504B2 (en) System and method for improving video encoding using content information
US20140119456A1 (en) Encoding video into lower resolution streams
US20200374511A1 (en) Video encoding method and apparatus, video decoding method and apparatus, computer device, and storage medium
WO2021129007A1 (zh) 视频码率的确定方法、装置、计算机设备及存储介质
EP3817389A1 (en) Image encoding method, decoding method, encoder, decoder and storage medium
US20230362388A1 (en) Systems and methods for deferred post-processes in video encoding
CN110049347B (zh) 在直播界面配置图像的方法、系统、终端和装置
US20140119446A1 (en) Preserving rounding errors in video coding
US20150127846A1 (en) Encoding System and Encoding Method for Video Signals
WO2021057686A1 (zh) 视频解码方法和装置、视频编码方法和装置、存储介质及电子装置
US8111753B2 (en) Video encoding method and video encoder for improving performance
CN106921840B (zh) 一种即时视频中的人脸美化方法、设备及系统
CN113228665A (zh) 用于处理配置数据的方法、设备、计算机程序和计算机可读介质
JP2022504379A (ja) イントラ予測におけるイントラモード選択
KR102402671B1 (ko) 보간 필터의 연산 복잡도를 조절할 수 있는 영상 처리 장치, 영상 보간 방법 및 영상 부호화 방법
JP2022046467A (ja) 画像復号装置、画像復号方法、及び画像復号プログラム
JP2015076765A (ja) 画像処理装置及びその制御方法、並びに、コンピュータプログラム

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

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

Country of ref document: EP

Kind code of ref document: A1