CN107682694B - 图像编解码方法、装置及系统 - Google Patents

图像编解码方法、装置及系统 Download PDF

Info

Publication number
CN107682694B
CN107682694B CN201710551496.5A CN201710551496A CN107682694B CN 107682694 B CN107682694 B CN 107682694B CN 201710551496 A CN201710551496 A CN 201710551496A CN 107682694 B CN107682694 B CN 107682694B
Authority
CN
China
Prior art keywords
macro block
image frame
module
displacement information
current image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710551496.5A
Other languages
English (en)
Other versions
CN107682694A (zh
Inventor
杨文晋
苏睿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Wanxiang Electronics Technology Co Ltd
Original Assignee
Xian Wanxiang Electronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Wanxiang Electronics Technology Co Ltd filed Critical Xian Wanxiang Electronics Technology Co Ltd
Priority to CN201710551496.5A priority Critical patent/CN107682694B/zh
Publication of CN107682694A publication Critical patent/CN107682694A/zh
Application granted granted Critical
Publication of CN107682694B publication Critical patent/CN107682694B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Landscapes

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

Abstract

本公开提供一种图像编解码方法、装置及系统,能够解决图像编码时,宏块的匹配过程运算量太大的问题。具体技术方案为:服务器获取位移信息;根据位移信息将当前图像帧和上一图像帧分别划分为至少一个宏块;按照位移信息将当前图像帧和上一图像帧中位置相互对应的宏块进行运动预测匹配;将当前图像帧中运动预测匹配成功的第一宏块的坐标进行编码,将当前图像帧中运动预测匹配不成功的第二宏块进行图像编码,并生成编码图像;向终端设备发送编码图像。本发明用于图像编解码。

Description

图像编解码方法、装置及系统
技术领域
本公开涉及通信技术领域,尤其涉及图像编解码方法、装置及系统。
背景技术
生活中,用户在使用终端设备浏览图像时,服务器在和终端设备进行图像传输的过程中,需要先对图像进行压缩编码。随着科技的发展,终端设备的许多工作都可以由服务器完成,以减少终端设备对硬件资源的依赖,提高用户体验。例如,用户在终端设备上将一个网页向上拉,终端设备会根据用户操作向服务器发送服务请求,服务器响应于服务请求,生成网页向上拉之后的显示界面发送给终端设备显示,这样一来,终端设备和服务器之间的数据传输量就很大,为了减少数据传输量,在保证传输质量的前提下提高传输速度,服务器可以将一帧图像分为固定大小的宏块,将每一个宏块和前一帧图像进行匹配,其中,一部分宏块没有在前一帧图像出现,则对其进行普通的压缩编码;另一部分宏块在前一帧图像上出现了,计算这些宏块运动向量;利用前一帧图像结合运动向量得到当前这一帧图像的预测图像,计算出预测图像与当前帧原始图像的运动补偿残差。在压缩编码过程中只传输运动向量和运动补偿残差,从而达到降低码流的目的。但是,宏块的划分和匹配过程运算量太大。
发明内容
本公开实施例提供一种图像编解码方法、装置及系统,能够解决图像编码时,宏块的划分和匹配过程运算量太大的问题。技术方案如下:
根据本公开实施例的第一方面,提供一种图像编码方法,应用于服务器,该方法包括:
获取位移信息,位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离;
根据位移信息将当前图像帧和上一图像帧分别划分为至少一个宏块;
按照位移信息将当前图像帧和上一图像帧中位置相互对应的宏块进行运动预测匹配;
将当前图像帧中运动预测匹配成功的第一宏块的坐标进行编码,将当前图像帧中运动预测匹配不成功的第二宏块进行图像编码,并生成编码图像,编码图像包括编码后的第一宏块的坐标和图像编码后的第二宏块;
向终端设备发送编码图像。
因为位移信息指示了当前图像帧相对于上一图像帧的移动方向和移动距离,根据位移信息划分的宏块就能与移动距离吻合,而且进行宏块匹配时能够根据位移信息确定图像帧中的宏块对应在上一图像帧中的位置,不需要逐一与上一图像帧中的宏块进行匹配,减小了图像编码过程的处理量。
在一个实施例中,根据位移信息将当前图像帧划分为至少一个宏块,包括:
将移动方向作为划分宏块的方向,以移动距离为步长将当前图像帧和上一图像帧分别划分为至少一个宏块。
以移动距离为步长,划分的宏块数量比较少,匹配时吻合度较高,减小了数据编码过程中的处理量。
在一个实施例中,根据位移信息将当前图像帧划分为至少一个宏块,包括:
将用户滑动操作的方向作为划分宏块的方向,根据用户滑动操作的力度确定宏块宽度,将当前图像帧和上一图像帧分别划分为至少一个宏块,用户滑动操作的力度越大,宏块的宽度越大。
以用户滑动操作的方向和力度对宏块进行划分,与用户互动性更强,更能满足用户需求。
在一个实施例中,按照位移信息将当前图像帧和上一图像帧中位置相互对应的宏块进行运动预测匹配,包括:
根据位移信息确定当前帧中的目标宏块在上一图像帧中的对应宏块,对应宏块按照位移信息移动后与目标宏块的位置相同;
在目标宏块与对应宏块相同时,确定目标宏块为运动预测匹配成功的第一宏块。
在目标宏块与对应宏块相同时,确定目标宏块运动预测匹配成功,在传输过程中只需要传输匹配成功的宏块的坐标就可以,大大减小了数据传输量。
在一个实施例中,该方法还包括:
接收终端设备发送的服务请求;
响应于服务请求执行指示的操作,并根据操作结果生成当前图像帧。
当前图像帧是响应于终端设备的服务请求生成的,减少了终端设备的处理量。
在一个实施例中,获取位移信息,包括:
接收终端设备发送的位移信息。
位移信息由终端设备发送给服务器,使得服务器能够实时获取到图像帧移动情况。
根据本公开实施例的第二方面,提供一种图像解码方法,应用于终端设备,该方法包括:
接收服务器发送的编码图像,编码图像包括编码后的第一宏块的坐标和图像编码后的第二宏块;
对编码图像进行解码得到第一宏块的坐标和第二宏块;
获取位移信息,位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离;
根据位移信息和第一宏块的坐标在上一图像帧中获取第一宏块;
将第一宏块和第二宏块组成当前图像帧并显示。
在一个实施例中,该方法包括:
向服务器发送服务请求。
在一个实施例中,该方法还包括:
根据传感器的检测结果确定上一图像帧的移动方向和移动距离,并生成位移信息;
向服务器发送位移信息。
根据本公开实施例的第三方面,提供一种服务器,该服务器包括:获取模块、划分模块、匹配模块、编码模块和发送模块;
获取模块,用于获取位移信息,位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离;
划分模块,用于根据位移信息将当前图像帧和上一图像帧分别划分为至少一个宏块;
匹配模块,用于按照位移信息将当前图像帧和上一图像帧中位置相互对应的宏块进行运动预测匹配;
编码模块,用于将当前图像帧中运动预测匹配成功的第一宏块的坐标进行编码,将当前图像帧中运动预测匹配不成功的第二宏块进行图像编码,并生成编码图像,编码图像包括编码后的第一宏块的坐标和图像编码后的第二宏块;
发送模块,用于向终端设备发送编码图像。
在一个实施例中,划分模块包括运动划分子模块;
运动划分子模块,用于将移动方向作为划分宏块的方向,以移动距离为步长将当前图像帧和上一图像帧分别划分为至少一个宏块。
在一个实施例中,划分模块包括滑动操作子模块;
滑动操作子模块,用于将用户滑动操作的方向作为划分宏块的方向,根据用户滑动操作的力度确定宏块宽度,将当前图像帧和上一图像帧分别划分为至少一个宏块,用户滑动操作的力度越大,宏块的宽度越大。
在一个实施例中,匹配模块包括位置子模块和判定子模块;
位置子模块,用于根据位移信息确定当前帧中的目标宏块在上一图像帧中的对应宏块,对应宏块按照位移信息移动后与目标宏块的位置相同;
判定子模块,用于在目标宏块与对应宏块相同时,确定目标宏块为运动预测匹配成功的第一宏块。
在一个实施例中,服务器还包括接收模块和处理模块;
接收模块,用于接收终端设备发送的服务请求;
处理模块,用于响应于服务请求执行指示的操作,并根据操作结果生成当前图像帧。
在一个实施例中,获取模块包括接收子模块;
接收子模块,用于接收终端设备发送的位移信息。
根据本公开实施例的第四方面,提供一种终端设备,该终端设备包括:接收模块、解码模块、获取模块、匹配模块、和显示模块;
接收模块,用于接收服务器发送的编码图像,编码图像包括编码后的第一宏块的坐标和图像编码后的第二宏块;
解码模块,用于对编码图像进行解码得到第一宏块的坐标和第二宏块;
获取模块,用于获取位移信息,位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离;
匹配模块,用于根据位移信息和第一宏块的坐标在上一图像帧中获取第一宏块;
显示模块,用于将第一宏块和第二宏块组成当前图像帧并显示。
在一个实施例中,终端设备还包括第一发送模块;
第一发送模块,用于向服务器发送服务请求。
在一个实施例中,终端设备还包括传感器模块和第二发送模块;
传感器模块,用于根据传感器的检测结果确定上一图像帧的移动方向和移动距离,并生成位移信息;
第二发送模块,用于向服务器发送位移信息。
根据本公开实施例的第五方面,提供一种云终端系统,该云终端系统包括:服务器和终端设备;
服务器为第三方面或第三方面的任意一个实施例中所描述的服务器,终端设备为第四方面或第四方面的任意一个实施例中所描述的终端设备。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种图像编码方法的流程图;
图2是本公开实施例提供的一种宏块划分效果示意图;
图3是本公开实施例提供的一种相同宏块示意图;
图4是本公开实施例提供的一种运动预测匹配效果示意图;
图5是本公开实施例提供的一种图像解码方法的流程图;
图6是根据本公开实施例提供的一种图像传输方法的逻辑框图;
图7是本公开实施例提供的一种服务器的结构图;
图8是本公开实施例提供的一种服务器的结构图;
图9是本公开实施例提供的一种服务器的结构图;
图10是本公开实施例提供的一种服务器的结构图;
图11是本公开实施例提供的一种服务器的结构图;
图12是本公开实施例提供的一种终端设备的结构图;
图13是本公开实施例提供的一种终端设备的结构图;
图14是本公开实施例提供的一种终端设备的结构图;
图15是本公开实施例提供的一种云终端系统的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种图像编码方法,应用于服务器,如图1所示,该方法包括以下步骤:
101、获取位移信息。
位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离。
在一个实施例中,获取位移信息,包括:接收终端设备发送的位移信息。位移信息由终端设备发送给服务器,使得服务器能够实时获取到图像帧移动情况。
102、根据位移信息将当前图像帧和上一图像帧分别划分为至少一个宏块。
根据位移信息对两个图像帧进行划分时,可以按照位移信息中所指示的移动方向对图像帧进行划分,划分出的宏块呈现为长条形,宏块的长边与移动方向垂直,宏块的短边与移动方向平行;宏块的宽度(即宏块的短边长度)可以是固定长度,或者,可以按照位移信息中所指示的移动距离对两个图像帧进行划分,移动距离是宏块的宽度的整数倍。
此处,列举两个具体的实现方式说明如何对宏块进行划分:
在第一种实现方式中,根据位移信息将当前图像帧划分为至少一个宏块,包括:将移动方向作为划分宏块的方向,以移动距离为步长将当前图像帧和上一图像帧分别划分为至少一个宏块。
如图2所示,图2是本公开实施例提供的一种宏块划分效果示意图,将移动方向作为划分宏块的方向,以移动距离为步长进行划分,即沿着移动方向,每隔一个步长的距离(即移动距离的长度)利用垂直于移动方向的直线对当前图像帧进行一次切割,这样,在移动方向上,就将当前图像帧切割成了若干个宏块。移动方向可以包括横向和纵向两个方向,如果移动方向是横向的,则当前图像帧从左至右被划分成多个宏块,如果移动方向是纵向的,则当前图像帧从上至下被划分成多个宏块。当然,此处只是举例说明,也可以按照其他方向进行划分。需要说明的是,因为以移动距离为步长进行划分,最后一个宏块的宽度可能会小于移动距离,或者某一个宏块的宽度可能会小于移动距离,也就是说不是所有的宏块宽度都是移动距离的长度。另外,当前图像帧和上一图像都进行了宏块划分,两个图像帧上对应位置的宏块的大小是相同的。
以移动距离为步长,大部分或者全部的宏块宽度为移动距离的长度,宏块的宽度较大,数量较少,而且因为是按照位移信息进行划分,匹配时吻合度较高,这就减小了运动预测匹配过程中的处理量。
在第二种实现方式中,根据位移信息将当前图像帧划分为至少一个宏块,包括:
将用户滑动操作的方向作为划分宏块的方向,根据用户滑动操作的力度确定宏块宽度,将当前图像帧和上一图像帧分别划分为至少一个宏块,用户滑动操作的力度越大,宏块的宽度越大。
需要说明的是,第二种实现方式可以应用于云终端的应用场景,用户在终端设备上进行滑动操作,终端设备根据滑动操作向服务器发送服务请求,服务器响应于服务请求生成当前图像帧,以用户滑动操作的方向和力度对宏块进行划分,然后将当前图像帧作为显示界面发送,根据用户滑动操作的力度确定宏块宽度,即用户滑动操作的力度决定了图像帧的移动距离,用户操作更加丰富,与用户互动性更强,更能满足用户需求。
在一个实施例中,该方法还包括:接收终端设备发送的服务请求;响应于服务请求执行指示的操作,并根据操作结果生成当前图像帧。
当前图像帧是响应于终端设备的服务请求生成的,减少了终端设备的处理量。需要说明的是,上一图像帧可以是服务器响应于终端设备发送的上一个服务请求执行指示的操作,并根据操作结果生成的,上一图像帧生成后存储在服务器中。
103、按照位移信息将当前图像帧和上一图像帧中位置相互对应的宏块进行运动预测匹配。
在一个实施例中,按照位移信息将当前图像帧和上一图像帧中位置相互对应的宏块进行运动预测匹配,包括:根据位移信息确定当前帧中的目标宏块在上一图像帧中的对应宏块,对应宏块按照位移信息移动后与目标宏块的位置相同;在目标宏块与对应宏块相同时,确定目标宏块为运动预测匹配成功的第一宏块。
需要说明的是,目标宏块与对应宏块中对应位置上颜色相同的像素对数量大于预设数量时,确定目标宏块与对应宏块相同。例如,目标像素在目标宏块中的位置是第1行第3列,在对应宏块中对应位置上的像素即为对应宏块中第1行第3列的像素,如果两个像素颜色相同,即为颜色相同的像素对。如图3所示,图3是本公开实施例提供的一种相同宏块示意图,目标宏块与对应宏块包含10个像素,预设数量可以是总数量的80%,即8个像素对,图3中,颜色相同的像素对数量为9,大于预设数量,则图3所示的目标宏块与对应宏块相同,确定目标宏块运动预测匹配成功。
需要说明的是,也可以将上一图像帧根据位移信息进行移动生成预测图像帧,将预测图像帧和当前图像帧按照位移信息进行宏块划分,将两个图像帧位置相同的宏块进行运动预测匹配,如果两个图像帧中位置相同的宏块图像相同,则可确定这两个宏块运动预测匹配成功。
因为可以根据位移信息直接确定当前图像帧中每一个宏块在上一图像帧中位置对应的宏块,不需要将当前图像帧中每一个宏块逐一与上一图像帧中每一个宏块进行匹配,大大减小了匹配过程中的处理量,提高了处理效率。
104、将当前图像帧中运动预测匹配成功的第一宏块的坐标进行编码,将当前图像帧中运动预测匹配不成功的第二宏块进行图像编码,并生成编码图像。
编码图像包括编码后的第一宏块的坐标和图像编码后的第二宏块。需要说明的是,第一宏块的坐标也可以替换为上一图像帧中运动预测匹配成功的宏块的坐标,将上一图像帧中运动预测匹配成功的宏块的坐标按照位移信息移动即可得到第一宏块的坐标,两者效果相同,本公开以第一宏块为例进行说明,并不代表本公开局限于此。
如图4所示,图4是本公开实施例提供的一种运动预测匹配效果示意图,图4中,以上一图像帧的移动方向是上方为例,以移动距离为步长将上一图像帧和当前帧图像划分为9个宏块,其中,当前图像帧中宏块编号从上至下依次为1-9,将上一图像帧中每一个宏块向上移动一个宏块的宽度(即移动距离的长度),分别与当前图像帧对应位置的宏块进行对比,其中编号为1-8的宏块与当前图像帧中位置对应的宏块相同,将其作为运动预测匹配成功的第一宏块,对其坐标进行编码;当前图像帧中没有上一图像帧中编号为0的宏块,但多了编号为9的宏块,编号为9的宏块在上一图像帧中没有相同的宏块,则需要对编号为9的宏块进行图像编码;将两部分合在一起生成编码图像,此时,编码图像包含编码后的编号为1-8的宏块的坐标,以及图像编码后的编号为9的宏块。对于编号为1-8的宏块,不需要传输其图像内容,只需要传输坐标,大大减小了数据传输量。
105、向终端设备发送编码图像。
本公开实施例提供的图像编码方法,获取位移信息;根据位移信息将当前图像帧和上一图像帧分别划分为至少一个宏块;按照位移信息将当前图像帧和上一图像帧中位置相互对应的宏块进行运动预测匹配;将当前图像帧中运动预测匹配成功的第一宏块的坐标进行编码,将当前图像帧中运动预测匹配不成功的第二宏块进行图像编码,并生成编码图像;向终端设备发送编码图像。因为位移信息指示了当前图像帧相对于上一图像帧的移动方向和移动距离,根据位移信息划分的宏块就能与移动距离吻合,而且进行宏块匹配时能够根据位移信息确定图像帧中的宏块对应在上一图像帧中的位置,不需要逐一与上一图像帧中的宏块进行匹配,减小了图像编码过程的处理量。
结合图1对应的实施例中所描述的,本公开实施例提供一种图像解码方法,应用于终端设备,如图5所示,该方法包括以下步骤:
501、接收服务器发送的编码图像。
编码图像包括编码后的第一宏块的坐标和图像编码后的第二宏块。
需要说明的是,第一宏块为前图像帧中运动预测匹配成功的宏块,第二宏块为前图像帧中运动预测匹配不成功的宏块,具体说明参照图1对应的实施例,此处不再赘述。
502、对编码图像进行解码得到第一宏块的坐标和第二宏块。
503、获取位移信息。
位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离。位移信息可以是根据终端设备上的传感器的监测结果生成的。
在一个实施例中,该方法还包括:根据传感器的检测结果确定上一图像帧的移动方向和移动距离,并生成位移信息;向服务器发送位移信息。
504、根据位移信息和第一宏块的坐标在上一图像帧中获取第一宏块。
根据位移信息和第一宏块的坐标可以确定第一宏块在上一图像帧中的对应的宏块,将第一宏块在上一图像帧中的对应的宏块根据位移信息进行移动即可得到第一宏块。
因为根据位移信息和第一宏块的坐标可以直接确定第一宏块在上一图像帧中的对应的宏块,不需要逐一进行查找对比来确定,减小了解码过程中的数据处理量。
505、将第一宏块和第二宏块组成当前图像帧并显示。
在一个实施例中,该方法包括:向服务器发送服务请求。以便服务器根据服务请求执行指示的操作,并根据操作结果生成当前图像帧。
本公开实施例提供的图像解码方法,接收服务器发送的编码图像,编码图像包括编码后的第一宏块的坐标和图像编码后的第二宏块;对编码图像进行解码得到第一宏块的坐标和第二宏块;获取位移信息,位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离;根据位移信息和第一宏块的坐标在上一图像帧中获取第一宏块;将第一宏块和第二宏块组成当前图像帧并显示。因为根据位移信息和第一宏块的坐标可以直接确定第一宏块在上一图像帧中的对应的宏块,不需要逐一进行查找对比来确定,减小了解码过程中的数据处理量。
基于上述图1和图2对应的实施例提供的图像编解码方法,本公开实施例提供一种图像传输方法,该图像传输方法应用于服务器和终端设备,本实施例中,将图像传输方法应用于云终端的应用场景中,在云终端应用场景中,终端设备监测到用户的操作,或者,根据传感器的检测结果生成服务请求发送至服务器;服务器响应于终端设备发送的服务请求,执行指示的操作,并根据操作结果生成显示图像发送至终端设备;终端设备显示服务器发送的显示图像即可,相当于将原本需要终端设备执行的操作由服务器在云端执行,减少了终端设备的数据处理量,但终端设备需要向用户显示执行操作以后的画面,因此,每一个服务请求都要接收服务器返回的显示图像进行显示,图像传输的量大大增加,本实施例详细说明利用本公开提供的图像编解码方法在图像传输过程中如何减少服务器的处理量,以及减少服务器和终端设备之间的数据传输量。如图6所示,图6是根据本公开实施例提供的一种图像传输方法的逻辑框图,本实施例提供的图像传输方法包括以下步骤:
601、终端设备获取传感器检测结果。
传感器安装在终端设备上,可以包括触摸屏、重力传感器、红外线传感器等。需要说明的是,本公开中,将触摸屏也作为一种传感器。
602、终端设备将传感器检测结果进行分类并编码生成传感器信息。
603、终端设备将传感器信息发送至服务器。
604、服务器响应于传感器信息执行指示的操作,并根据操作结果生成当前图像帧。
605、服务器判断传感器信息中是否包含位移信息。
位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离。当传感器信息中不包含位移信息时,执行步骤606,当传感器信息中包含位移信息时,执行步骤607及其后续步骤。
606、服务器将当前图像帧进行编码并发送至终端设备。
如果没有位移信息,则服务器对当前图像帧执行正常的编码发送。
607、服务器根据位移信息对当前图像帧和上一图像帧进行宏块划分。
在一个实施例中,传感器检测结果可以包含用户在触摸屏上的滑动操作,传感器信息可以包括用户滑动操作的方向和力度大小。用户滑动操作的方向可以指示图像帧的移动方向,用户滑动操作的力度大小可以指示图像帧的移动距离。
608、服务器按照位移信息将当前图像帧和上一图像帧中位置相互对应的宏块进行运动预测匹配。
609、服务器根据运动预测匹配的结果对当前图像帧进行编码生成编码图像。
服务器可以将当前图像帧中运动预测匹配成功的第一宏块的坐标进行编码,将当前图像帧中运动预测匹配不成功的第二宏块进行图像编码,并生成编码图像。编码图像包括编码后的第一宏块的坐标和图像编码后的第二宏块。
610、服务器将编码图像发送至终端设备。
611、终端设备对接收到的编码图像进行解码得到第一宏块的坐标和第二宏块。
612、终端设备根据位移信息和第一宏块的坐标在上一图像帧中获取第一宏块。
613、终端设备将第一宏块和第二宏块组成当前图像帧并显示。
本公开实施例提供的图像传输方法,获取位移信息;根据位移信息将当前图像帧和上一图像帧分别划分为至少一个宏块;按照位移信息将当前图像帧和上一图像帧中位置相互对应的宏块进行运动预测匹配;将当前图像帧中运动预测匹配成功的第一宏块的坐标进行编码,将当前图像帧中运动预测匹配不成功的第二宏块进行图像编码,并生成编码图像;向终端设备发送编码图像。因为位移信息指示了当前图像帧相对于上一图像帧的移动方向和移动距离,根据位移信息划分的宏块就能与移动距离吻合,而且进行宏块匹配时能够根据位移信息确定图像帧中的宏块对应在上一图像帧中的位置,不需要逐一与上一图像帧中的宏块进行匹配,减小了图像编码过程的处理量。
基于上述图1-图6对应的实施例,下述为本公开装置实施例,可以用于执行本公开方法实施例。
本公开实施例提供一种服务器,用于执行上述图1和图6对应的实施例中所描述的图像编码方法,如图7所示,该服务器70包括:获取模块701、划分模块702、匹配模块703、编码模块704和发送模块705;
获取模块701,用于获取位移信息,位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离;
划分模块702,用于根据位移信息将当前图像帧和上一图像帧分别划分为至少一个宏块;
匹配模块703,用于按照位移信息将当前图像帧和上一图像帧中位置相互对应的宏块进行运动预测匹配;
编码模块704,用于将当前图像帧中运动预测匹配成功的第一宏块的坐标进行编码,将当前图像帧中运动预测匹配不成功的第二宏块进行图像编码,并生成编码图像,编码图像包括编码后的第一宏块的坐标和图像编码后的第二宏块;
发送模块705,用于向终端设备发送编码图像。
此处,列举两种具体的实现方式说明如何对宏块划分:
在第一种实现方式中,如图8所示,划分模块702包括运动划分子模块7021;
运动划分子模块7021,用于将移动方向作为划分宏块的方向,以移动距离为步长将当前图像帧和上一图像帧分别划分为至少一个宏块。
在第二种实现方式中,如图8所示,划分模块702包括滑动操作子模块7022;
滑动操作子模块7022,用于将用户滑动操作的方向作为划分宏块的方向,根据用户滑动操作的力度确定宏块宽度,将当前图像帧和上一图像帧分别划分为至少一个宏块,用户滑动操作的力度越大,宏块的宽度越大。
在一个实施例中,如图9所示,匹配模块703包括位置子模块7031和判定子模块7032;
位置子模块7031,用于根据位移信息确定当前帧中的目标宏块在上一图像帧中的对应宏块,对应宏块按照位移信息移动后与目标宏块的位置相同;
判定子模块7032,用于在目标宏块与对应宏块相同时,确定目标宏块为运动预测匹配成功的第一宏块。
在一个实施例中,如图10所示,服务器70还包括接收模块706和处理模块707;
接收模块706,用于接收终端设备发送的服务请求;
处理模块707,用于响应于服务请求执行指示的操作,并根据操作结果生成当前图像帧。
在一个实施例中,如图11所示,获取模块701包括接收子模块7011;
接收子模块7011,用于接收终端设备发送的位移信息。
本公开实施例提供的服务器,获取位移信息;根据位移信息将当前图像帧和上一图像帧分别划分为至少一个宏块;按照位移信息将当前图像帧和上一图像帧中位置相互对应的宏块进行运动预测匹配;将当前图像帧中运动预测匹配成功的第一宏块的坐标进行编码,将当前图像帧中运动预测匹配不成功的第二宏块进行图像编码,并生成编码图像;向终端设备发送编码图像。因为位移信息指示了当前图像帧相对于上一图像帧的移动方向和移动距离,根据位移信息划分的宏块就能与移动距离吻合,而且进行宏块匹配时能够根据位移信息确定图像帧中的宏块对应在上一图像帧中的位置,不需要逐一与上一图像帧中的宏块进行匹配,减小了图像编码过程的处理量。
本公开实施例提供一种终端设备,用于执行上述图5和图6对应的实施例中所描述的图像解码方法,如图12所示,该终端设备120包括:接收模块1201、解码模块1202、获取模块1203、匹配模块1204、和显示模块1205;
接收模块1201,用于接收服务器发送的编码图像,编码图像包括编码后的第一宏块的坐标和图像编码后的第二宏块;
解码模块1202,用于对编码图像进行解码得到第一宏块的坐标和第二宏块;
获取模块1203,用于获取位移信息,位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离;
匹配模块1204,用于根据位移信息和第一宏块的坐标在上一图像帧中获取第一宏块;
显示模块1205,用于将第一宏块和第二宏块组成当前图像帧并显示。
在一个实施例中,如图13所示,终端设备120还包括第一发送模块1206;
第一发送模块1206,用于向服务器发送服务请求。
在一个实施例中,如图14所示,终端设备120还包括传感器模块1207和第二发送模块1208;
传感器模块1207,用于根据传感器的检测结果确定上一图像帧的移动方向和移动距离,并生成位移信息;
第二发送模块1208,用于向服务器发送位移信息。
本公开实施例提供的终端设备,接收服务器发送的编码图像,编码图像包括编码后的第一宏块的坐标和图像编码后的第二宏块;对编码图像进行解码得到第一宏块的坐标和第二宏块;获取位移信息,位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离;根据位移信息和第一宏块的坐标在上一图像帧中获取第一宏块;将第一宏块和第二宏块组成当前图像帧并显示。因为根据位移信息和第一宏块的坐标可以直接确定第一宏块在上一图像帧中的对应的宏块,不需要逐一进行查找对比来确定,减小了解码过程中的数据处理量。
基于上述图1-图14对应的实施例,本公开实施例提供一种云终端系统,如图15所示,该云终端系统150包括:服务器1501和终端设备1502;
服务器1501为图7-图11对应的实施例中任意一个实施例所描述的服务器,终端设备1502为图12-图14对应的实施例中任意一个实施例所描述的终端设备。
本公开实施例提供的云终端系统,服务器获取位移信息;根据位移信息将当前图像帧和上一图像帧分别划分为至少一个宏块;按照位移信息将当前图像帧和上一图像帧中位置相互对应的宏块进行运动预测匹配;将当前图像帧中运动预测匹配成功的第一宏块的坐标进行编码,将当前图像帧中运动预测匹配不成功的第二宏块进行图像编码,并生成编码图像;向终端设备发送编码图像。因为位移信息指示了当前图像帧相对于上一图像帧的移动方向和移动距离,根据位移信息划分的宏块就能与移动距离吻合,而且进行宏块匹配时能够根据位移信息确定图像帧中的宏块对应在上一图像帧中的位置,不需要逐一与上一图像帧中的宏块进行匹配,减小了图像编码过程的处理量。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (17)

1.一种图像编码方法,其特征在于,应用于服务器,所述方法包括:
获取位移信息,所述位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离;
根据所述位移信息将所述当前图像帧和所述上一图像帧分别划分为至少一个宏块;其中,根据所述位移信息将所述当前图像帧划分为至少一个宏块,包括:
将所述移动方向作为划分宏块的方向,以所述移动距离为步长将所述当前图像帧和所述上一图像帧分别划分为所述至少一个宏块;
按照所述位移信息将所述当前图像帧和所述上一图像帧中位置相互对应的宏块进行运动预测匹配;
将所述当前图像帧中运动预测匹配成功的第一宏块的坐标进行编码,将所述当前图像帧中运动预测匹配不成功的第二宏块进行图像编码,并生成编码图像,所述编码图像包括编码后的所述第一宏块的坐标和图像编码后的所述第二宏块;
向终端设备发送所述编码图像。
2.根据权利要求1所述的方法,其特征在于,所述位移信息包括用户滑动操作的方向和力度,根据所述位移信息将所述当前图像帧划分为至少一个宏块,包括:
将所述用户滑动操作的方向作为划分宏块的方向,根据所述用户滑动操作的力度确定宏块宽度,将所述当前图像帧和所述上一图像帧分别划分为所述至少一个宏块,所述用户滑动操作的力度越大,所述宏块的宽度越大。
3.根据权利要求1所述的方法,其特征在于,按照所述位移信息将所述当前图像帧和所述上一图像帧中位置相互对应的宏块进行运动预测匹配,包括:
根据所述位移信息确定所述当前图像帧中的目标宏块在所述上一图像帧中的对应宏块,所述对应宏块按照所述位移信息移动后与所述目标宏块的位置相同;
在所述目标宏块与所述对应宏块相同时,确定所述目标宏块为运动预测匹配成功的第一宏块。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述终端设备发送的服务请求;
响应于所述服务请求执行指示的操作,并根据操作结果生成所述当前图像帧。
5.根据权利要求1-4任一项所述的方法,其特征在于,获取位移信息,包括:
接收所述终端设备发送的所述位移信息。
6.一种与权利要求1的图像编码方法相对应的图像解码方法,其特征在于,应用于终端设备,包括:
接收服务器发送的编码图像,所述编码图像包括编码后的第一宏块的坐标和图像编码后的第二宏块;
对所述编码图像进行解码得到第一宏块的坐标和第二宏块;
获取位移信息,所述位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离;根据所述位移信息和所述第一宏块的坐标在所述上一图像帧中获取所述第一宏块;
将所述第一宏块和所述第二宏块组成所述当前图像帧并显示。
7.根据权利要求6所述的方法,其特征在于,所述方法包括:
向服务器发送服务请求。
8.根据权利要求6或7任一项所述的方法,其特征在于,所述方法还包括:
根据传感器的检测结果确定所述上一图像帧的移动方向和移动距离,并生成所述位移信息;
向所述服务器发送所述位移信息。
9.一种服务器,其特征在于,所述服务器包括:获取模块、划分模块、匹配模块、编码模块和发送模块;
所述获取模块,用于获取位移信息,所述位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离;
所述划分模块,用于根据所述位移信息将所述当前图像帧和所述上一图像帧分别划分为至少一个宏块;
所述划分模块包括运动划分子模块;
所述运动划分子模块,用于将所述移动方向作为划分宏块的方向,以所述移动距离为步长将所述当前图像帧和所述上一图像帧分别划分为所述至少一个宏块;
所述匹配模块,用于按照所述位移信息将所述当前图像帧和所述上一图像帧中位置相互对应的宏块进行运动预测匹配;
所述编码模块,用于将所述当前图像帧中运动预测匹配成功的第一宏块的坐标进行编码,将所述当前图像帧中运动预测匹配不成功的第二宏块进行图像编码,并生成编码图像,所述编码图像包括编码后的所述第一宏块的坐标和图像编码后的所述第二宏块;
所述发送模块,用于向终端设备发送所述编码图像。
10.根据权利要求9所述的服务器,其特征在于,所述划分模块包括滑动操作子模块;
所述滑动操作子模块,用于将用户滑动操作的方向作为划分宏块的方向,根据所述用户滑动操作的力度确定宏块宽度,将所述当前图像帧和所述上一图像帧分别划分为所述至少一个宏块,所述用户滑动操作的力度越大,所述宏块的宽度越大。
11.根据权利要求9所述的服务器,其特征在于,所述匹配模块包括位置子模块和判定子模块;
所述位置子模块,用于根据所述位移信息确定所述当前图像帧中的目标宏块在所述上一图像帧中的对应宏块,所述对应宏块按照所述位移信息移动后与所述目标宏块的位置相同;
所述判定子模块,用于在所述目标宏块与所述对应宏块相同时,确定所述目标宏块为运动预测匹配成功的第一宏块。
12.根据权利要求9所述的服务器,其特征在于,所述服务器还包括接收模块和处理模块;
所述接收模块,用于接收所述终端设备发送的服务请求;
所述处理模块,用于响应于所述服务请求执行指示的操作,并根据操作结果生成所述当前图像帧。
13.根据权利要求9-12任一项所述的服务器,其特征在于,所述获取模块包括接收子模块;
所述接收子模块,用于接收所述终端设备发送的所述位移信息。
14.一种用于执行权利要求6的图像解码方法的终端设备,其特征在于,所述终端设备包括:接收模块、解码模块、获取模块、匹配模块、和显示模块;
所述接收模块,用于接收服务器发送的编码图像,所述编码图像包括编码后的第一宏块的坐标和图像编码后的第二宏块;
所述解码模块,用于对所述编码图像进行解码得到第一宏块的坐标和第二宏块;
所述获取模块,用于获取位移信息,所述位移信息用于指示当前图像帧相对于上一图像帧的移动方向和移动距离;
所述匹配模块,用于根据所述位移信息和所述第一宏块的坐标在所述上一图像帧中获取所述第一宏块;
所述显示模块,用于将所述第一宏块和所述第二宏块组成所述当前图像帧并显示。
15.根据权利要求14所述的终端设备,其特征在于,所述终端设备还包括第一发送模块;
所述第一发送模块,用于向服务器发送服务请求。
16.根据权利要求14或15任一项所述的终端设备,其特征在于,所述终端设备还包括传感器模块和第二发送模块;
所述传感器模块,用于根据传感器的检测结果确定所述上一图像帧的移动方向和移动距离,并生成所述位移信息;
所述第二发送模块,用于向所述服务器发送所述位移信息。
17.一种云终端系统,其特征在于,所述云终端系统包括:服务器和终端设备;
其中,所述服务器为权利要求9-13任一项所述的服务器,所述终端设备为权利要求14-16任一项所述的终端设备。
CN201710551496.5A 2017-07-07 2017-07-07 图像编解码方法、装置及系统 Active CN107682694B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710551496.5A CN107682694B (zh) 2017-07-07 2017-07-07 图像编解码方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710551496.5A CN107682694B (zh) 2017-07-07 2017-07-07 图像编解码方法、装置及系统

Publications (2)

Publication Number Publication Date
CN107682694A CN107682694A (zh) 2018-02-09
CN107682694B true CN107682694B (zh) 2020-02-04

Family

ID=61133454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710551496.5A Active CN107682694B (zh) 2017-07-07 2017-07-07 图像编解码方法、装置及系统

Country Status (1)

Country Link
CN (1) CN107682694B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110545432A (zh) * 2018-05-28 2019-12-06 深信服科技股份有限公司 一种图像编码、解码方法、相关装置及存储介质
CN112712069B (zh) * 2021-03-25 2021-07-23 北京易真学思教育科技有限公司 一种判题方法、装置、电子设备及存储介质
CN114020486B (zh) * 2021-10-08 2024-06-21 中国联合网络通信集团有限公司 一种数据生成方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101123684A (zh) * 2006-02-01 2008-02-13 索尼株式会社 拍摄图像信号失真补偿方法和装置及图像拍摄方法和装置
CN102566910A (zh) * 2011-12-14 2012-07-11 广州杰赛科技股份有限公司 刷新虚拟桌面客户端屏显的方法及虚拟桌面系统
CN105227603A (zh) * 2014-06-23 2016-01-06 中兴通讯股份有限公司 虚拟桌面图像处理方法、装置、虚拟桌面服务器及瘦终端
CN105760066A (zh) * 2016-02-15 2016-07-13 广州阿里巴巴文学信息技术有限公司 一种页面更新方法及装置
CN106534859A (zh) * 2015-09-11 2017-03-22 中兴通讯股份有限公司 基于spice协议的图像传输方法及装置
JP2017085634A (ja) * 2017-01-04 2017-05-18 ソニー株式会社 画像処理装置および方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101123684A (zh) * 2006-02-01 2008-02-13 索尼株式会社 拍摄图像信号失真补偿方法和装置及图像拍摄方法和装置
CN102566910A (zh) * 2011-12-14 2012-07-11 广州杰赛科技股份有限公司 刷新虚拟桌面客户端屏显的方法及虚拟桌面系统
CN105227603A (zh) * 2014-06-23 2016-01-06 中兴通讯股份有限公司 虚拟桌面图像处理方法、装置、虚拟桌面服务器及瘦终端
CN106534859A (zh) * 2015-09-11 2017-03-22 中兴通讯股份有限公司 基于spice协议的图像传输方法及装置
CN105760066A (zh) * 2016-02-15 2016-07-13 广州阿里巴巴文学信息技术有限公司 一种页面更新方法及装置
JP2017085634A (ja) * 2017-01-04 2017-05-18 ソニー株式会社 画像処理装置および方法

Also Published As

Publication number Publication date
CN107682694A (zh) 2018-02-09

Similar Documents

Publication Publication Date Title
EP3402205B1 (en) Image encoding/decoding method and device
US12088843B2 (en) Method for deriving a motion vector
CN108737825B (zh) 视频数据编码方法、装置、计算机设备和存储介质
KR101276720B1 (ko) 카메라 파라미터를 이용하여 시차 벡터를 예측하는 방법,그 방법을 이용하여 다시점 영상을 부호화 및 복호화하는장치 및 이를 수행하기 위한 프로그램이 기록된 기록 매체
US8559515B2 (en) Apparatus and method for encoding and decoding multi-view video
CN106537915A (zh) 用于视频编码的运动向量导出的方法
CN107682694B (zh) 图像编解码方法、装置及系统
EP3177013B1 (en) Image prediction method and relevant device
US8923640B1 (en) Coherence groups: region descriptors for low bit rate encoding
US9369706B1 (en) Method and apparatus for encoding video using granular downsampling of frame resolution
KR20070040286A (ko) 카메라 파라미터를 이용한 다시점 동영상 부호화 및 복호화장치 및 방법과 이를 수행하기 위한 프로그램이 기록된기록매체
CN113382235B (zh) 数字视网膜视频处理方法、装置、电子设备及存储介质
EP2683165A1 (en) Method for coding and decoding a block of pixels from a motion model
CN108401185B (zh) 参考帧选择方法、视频转码方法、电子设备和存储介质
US8275033B2 (en) Picture mode selection for video transcoding
EP3780617B1 (en) Method and apparatus for inter prediction in video coding system
JP2018082407A (ja) 動画像符号化装置、動画像符号化方法、および動画像符号化プログラム
KR101263669B1 (ko) 화면 변화 적응형 영상처리 시스템
CN106791642B (zh) 一种视频数据恢复方法及装置
CN112114760A (zh) 图像处理方法及装置
CN112055201B (zh) 视频编码方法及其相关装置
JP6256222B2 (ja) 端末装置及びデータ管理装置
CN113094013B (zh) 拼接显示屏远程传输系统、方法、装置、设备及存储介质
JPWO2008123126A1 (ja) 画質評価システム、方法およびプログラム
CN110351566B (zh) 一种参考运动信息排序方法及装置

Legal Events

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