云端流媒体服务器
技术领域
本发明涉及云端流媒体服务系统、使用静止图像压缩技术的云端流媒体服务方法和相关设备。更具体地,本发明涉及用于通过只向前一帧和当前帧之间的改变的区域应用静止图像压缩技术来提高服务速度、用于通过利用图像特征信息确定编码技术来节省用于图像处理的系统资源、用于通过根据图像特征选择编码处理单元来有效使用服务器资源、以及用于通过根据编码处理单元分别执行编码处理来节省服务器资源的云端流媒体服务系统、方法和设备。
本申请要求于2014年7月30日提交的韩国专利申请No.10-2014-0097322、于 2014年10月2日提交的韩国专利申请No.10-2014-0133176、于2014年10月6日提交的韩国专利申请No.10-2014-0134512、于2014年10月13日提交的韩国专利申请 No.10-2014-0137733、于2014年10月20日提交的韩国专利申请No.10-2014-0141983 的优先权和权益,这些韩国专利申请通过引用方式完整地并入到本文中。
背景技术
云端流媒体服务基本上应用基于视频编解码器的云端流媒体技术。因此,在菜单显示等情况下,云端流媒体服务因不必要地捕获整个画面并且用编解码器进行编码而是效率低的。
即,至于静态图像响应于用户输入而略微改变的画面,基于图像的云端流媒体服务可以比使用视频编解码器的云端流媒体服务更高效。
换句话讲,当执行基于静止图像的云端流媒体服务时,更高效的是检测帧之间发生改变的区域并且随后仅发送此最小区域。
然而,在应用静止图像编解码器的情况下,数据量可以根据待压缩的图像的类型而显著改变。另外,云端流媒体服务的效率可以根据用于压缩的静止图像压缩技术而显著改变。因此,需要用于快速且精确地识别图像类型并且随后适应性地应用图像云的新技术。
另外,为了执行基于静止图像的云端流媒体服务,精确地检测帧之间发生改变的区域是非常重要的。因此,还需要用于更简单且更有效地检测这种改变后的区域的技术。
此外,有线和IPTV供应商已经供应了各种机顶盒。另外,随着有线和IPTV供应商长久以来供应了各种类型的机顶盒,这些机顶盒之间的性能差异大。事实上,近 10年来已经引入了不止15种类型的机顶盒。好的机顶盒和差的机顶盒之间的性能差异大,以致内容供应商可能不能够以期望的方式向用户提供内容。
此外,在基于静止图像的云端流媒体服务的情况下,为网络应用编写代码的网络应用开发人员想要用他们习惯用的相同的方式来编写代码,而云端流媒体服务器想要没有应用动画的代码,该代码只包含关于需要捕获的图像的信息和与动画的属性对应的信息。即,为了提供CS服务器所期望的代码,网络应用开发人员需要用新的方式而非他们习惯用的方式来编写代码。
于2014年3月6日公开的韩国专利公开No.10-2014-0027040(名称:Adaptivepredictive image compression system and method thereof(自适应预测图像压缩系统及其方法))、2014年4月16日公开的韩国专利公开No.10-2014-0045013(名称:Method andapparatus for encoding a cloud display screen by using API information(用于利用 API信息对云显示画面进行编码的方法和设备))、2012年9月26日公开的韩国专利公开No.10-2012-0105688(名称:System and method for virtualization service betweenserver/client terminal of heterogeneous computing types(用于将异构计算类型的服务器/ 客户端终端之间的服务虚拟化的系统和方法))以及于2014年2月20日公开的韩国专利公开No.10-2014-0021388(名称:Apparatus and method for JPEG2000 encoding/decoding based on GPU(用于基于GPU进行JPEG2000编码/解码的设备和方法))中公开了相关技术。
发明内容
技术问题
本发明的一个目的是针对提供基于静止图像的云端流媒体服务时的环境,通过使用合适的静止图像压缩技术来提高云端流媒体服务的压缩效率和服务速度。
另外,本发明的一个目的是针对提供基于静止图像的云端流媒体服务时的图像类型,通过使用合适的静止图像压缩技术来提高云端流媒体服务的压缩效率和服务速度。
另外,本发明的一个目的是通过利用基于静止图像的云端流媒体服务将流媒体压缩的效率最大化来在同一频带内向更多用户提供更快速的云端流媒体服务。
另外,本发明的一个目的是通过当提供使用静止图像压缩技术进行的云端流媒体服务时向当前帧和前一帧之间的改变的区域应用静止图像压缩技术来在同一频带内向更多用户提供更快速的云端流媒体服务。
另外,本发明的一个目的是当提供使用静止图像压缩技术的云端流媒体服务时,通过对当前帧和前一帧之间的差别帧(differential frame)进行扫描而确定改变后的区域来快速地检测静止图像压缩的目标。
另外,本发明的一个目的是通过基于使用应用源代码和MEPG纹理描述子(descriptor)而创建的图像特性信息确定编码技术,来构造能够节省进行图像处理通常需要的服务器资源的高效云端流媒体服务器。
另外,本发明的一个目的是通过利用基于图像特征信息的静止图像编码而减少进行图像处理所需的服务时间来向用户更快速地提供云端流媒体服务。
另外,本发明的一个目的是通过提高云端流媒体服务的效率来降低云端流媒体服务的处理成本。
另外,本发明的一个目的是通过当提供云端流媒体服务时通过不同的编码处理单元分别执行编码处理来减少云端流媒体服务器处的资源使用。
另外,本发明的一个目的是通过当提供云端流媒体服务时使用图形处理单元连同中央处理单元一起来减少可能由于服务器负载而造成的延迟情形。
技术解决方案
为了实现以上目的,根据本发明的实施方式的一种云端流媒体服务器,该云端流媒体服务器包括:改变区域确定单元,该改变区域确定单元被配置为通过将当前帧与前一帧进行比较来确定相对于所述前一帧发生改变的所述当前帧的改变后的区域;捕获单元,该捕获单元被配置为捕获所述改变后的区域;编码单元,该编码单元被配置为通过使用静止图像压缩技术来与一帧对应地对所述改变后的区域执行静止图像编码;以及发送单元,该发送单元被配置为通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。
在所述云端流媒体服务器中,所述改变区域确定单元还可以被配置为计算所述前一帧和所述当前帧之间的差别帧,并且通过使用所述差别帧来确定所述改变后的区域。
在所述云端流媒体服务器中,所述改变区域确定单元还可以被配置为通过经由对所述差别帧的扫描而检测相对于所述前一帧发生改变的所述当前帧的改变后的像素来确定所述改变后的区域。
在所述云端流媒体服务器中,所述改变区域确定单元还可以被配置为确定确定包含通过对所述差别帧的水平扫描和垂直扫描而检测到的改变后的像素的所述改变后的区域。
在所述云端流媒体服务器中,所述改变区域确定单元还可以被配置为从通过从上到下以逐行为基础对所述差别帧的水平扫描而首先检测到的改变后的像素中获得第一垂直坐标元素,从通过从下到上以逐行为基础对所述差别帧的水平扫描而首先检测到的改变后的像素中获得第二垂直坐标元素,从通过从左到右以逐列为基础对所述差别帧的垂直扫描而首先检测到的改变后的像素中获得第一水平坐标元素,从通过从右到左以逐列为基础对所述差别帧的垂直扫描而首先检测到的改变后的像素中获得第二水平坐标元素,并且将包含与由所述水平坐标元素中的一个和所述垂直坐标元素中的一个配成的一对而形成的坐标对应的改变后的像素的矩形区域确定为所述改变后的区域。
在所述云端流媒体服务器中,所述改变区域确定单元还可以被配置为将包含改变后的像素并且具有最小面积的矩形区域确定为所述改变后的区域。
在所述云端流媒体服务器中,所述改变区域确定单元还可以被配置为将用各自通过所述水平坐标元素中的一个和所述垂直坐标元素中的一个配成的一对而形成的四个坐标作为顶点的矩形区域确定为所述改变后的区域。
另外,根据本发明的实施方式的一种使用静止图像压缩技术的云端流媒体服务方法包括以下步骤:通过将当前帧与前一帧进行比较来确定相对于所述前一帧发生改变的当前帧的改变后的区域;通过使用静止图像压缩技术来与一帧对应地对所述改变后的区域执行静止图像编码;以及通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。
在所述方法中,确定所述改变后的区域的步骤可以包括以下步骤:计算所述前一帧和所述当前帧之间的差别帧,并且通过使用所述差别帧来确定所述改变后的区域。
在所述方法中,确定所述改变后的区域的步骤可以包括以下步骤:通过经由对所述差别帧的扫描而检测相对于所述前一帧发生改变的所述当前帧的改变后的像素来确定所述改变后的区域。
在所述方法中,确定所述改变后的区域的步骤可以包括以下步骤:确定包含通过对所述差别帧的水平扫描和垂直扫描而检测到的改变后的像素的所述改变后的区域。
在所述方法中,确定所述改变后的区域的步骤可以包括以下步骤:从通过从上到下以逐行为基础对所述差别帧的水平扫描而首先检测到的改变后的像素中获得第一垂直坐标元素,从通过从下到上以逐行为基础对所述差别帧的水平扫描而首先检测到的改变后的像素中获得第二垂直坐标元素,从通过从左到右以逐列为基础对所述差别帧的垂直扫描而首先检测到的改变后的像素中获得第一水平坐标元素,从通过从右到左以逐列为基础对所述差别帧的垂直扫描而首先检测到的改变后的像素中获得第二水平坐标元素,并且将包含与由所述水平坐标元素中的一个和所述垂直坐标元素中的一个配成的一对而形成的坐标对应的改变后的像素的矩形区域确定为所述改变后的区域。
在所述方法中,确定所述改变后的区域的步骤可以包括以下步骤:将包含改变后的像素并且具有最小面积的矩形区域确定为所述改变后的区域。
在所述方法中,确定所述改变后的区域的步骤可以包括以下步骤:将用各自通过所述水平坐标元素中的一个和所述垂直坐标元素中的一个配成的一对而形成的四个坐标作为顶点的矩形区域确定为所述改变后的区域。
另外,根据本发明的另一个实施方式的一种云端流媒体服务器包括:捕获单元,该捕获单元被配置为捕获改变后的帧中包含的改变后的区域;编码单元,该编码单元被配置为通过考虑是否存在与所述改变后的区域对应的图像特征信息来确定编码技术,并且通过使用所述编码技术来对所述改变后的区域执行静止图像编码;以及发送单元,该发送单元被配置为通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。
在云端流媒体服务器中,所述图像特征信息可以是基于应用源代码来创建的或者是使用MPEG纹理描述子来创建的。
在云端流媒体服务器中,所述编码单元还可以被配置为:如果存在所述图像特征信息,则基于所述图像特征信息来确定所述编码技术,并且如果不存在图像特征信息,则通过对与所述改变后的区域对应的图像进行分析来确定所述编码技术。
在云端流媒体服务器中,所述编码技术可以与PNG(便携式网络图形)、调色板 PNG(便携式网络图形)和JPEG(联合图像专家组)中的一种对应。
在云端流媒体服务器中,所述编码单元还可以被配置为通过对与所述改变后的区域对应的所述图像进行分析来将所述改变后的区域识别为正常区域和图片区域中的一个,并且通过考虑所述正常区域的图像处理结果和所述图片区域的图像类型中的至少一个来确定所述编码技术。
在云端流媒体服务器中,所述图像类型可以与自然图像和合成图像中的一个对应。
在云端流媒体服务器中,所述捕获单元还可以被配置为捕获相比于与前一帧对应的画面区域的与改变后的帧对应的画面区域中发生改变的特定区域作为改变后的区域。
在云端流媒体服务器中,所述捕获单元还可以被配置为在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且捕获所检测到的片段中的改变后的区域。
在云端流媒体服务器中,所述捕获单元还可以被配置为通过感测在用户的终端装置处发生的应用的事件类型来检测具有较小的帧改变的片段。
另外,根据本发明的一种使用源信息的云端流媒体服务方法包括以下步骤:捕获改变后的帧中包含的改变后的区域;通过考虑是否存在与所述改变后的区域对应的图像特征信息来确定编码技术,并且通过使用所述编码技术来对所述改变后的区域执行静止图像编码;以及通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。
在所述方法中,所述图像特征信息可以是基于应用源代码来创建的或者是使用MPEG纹理描述子来创建的。
在所述方法中,编码步骤可以包括以下步骤:如果存在所述图像特征信息,则基于所述图像特征信息来确定所述编码技术,并且如果不存在图像特征信息,则通过对与所述改变后的区域对应的图像进行分析来确定所述编码技术。
在所述方法中,所述编码技术可以与PNG(便携式网络图形)、调色板PNG(便携式网络图形)和JPEG(联合图像专家组)中的一种对应。
在所述方法中,编码步骤可以包括以下步骤:通过对与所述改变后的区域对应的所述图像进行分析来将所述改变后的区域识别为正常区域和图片区域中的一个,并且通过考虑所述正常区域的图像处理结果和所述图片区域的图像类型中的至少一个来确定所述编码技术。
在所述方法中,所述图像类型可以与自然图像和合成图像中的一种对应。
在所述方法中,捕获步骤可以包括以下步骤:捕获相比于与所述前一帧对应的画面区域的与所述改变后的帧对应的画面区域中发生改变的特定区域作为改变后的区域。
在所述方法中,捕获步骤可以包括以下步骤:在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且捕获所检测到的片段中的改变后的区域。
在所述方法中,捕获步骤可以包括以下步骤:通过感测在用户的终端装置处发生的应用的事件类型来检测具有较小的帧改变的片段。
另外,根据本发明的实施方式的一种云端流媒体服务系统包括:云端流媒体服务器,该云端流媒体服务器被配置为捕获改变后的帧中包含的改变后的区域,通过考虑是否存在与所述改变后的区域对应的图像特征信息来确定编码技术,通过使用所述编码技术来对所述改变后的区域执行静止图像编码,并且通过向用户发送经静止图像编码的改变后的区域执行基于静止图像的云端流媒体服务;以及终端,该终端被配置为从所述云端流媒体服务器接收与所述云端流媒体服务对应的应用执行结果画面。
另外,根据本发明的另一个实施方式的一种云端流媒体服务器包括:捕获单元,该捕获单元被配置为捕获与前一帧相比改变后的帧中包含的改变后的区域;编码单元,该编码单元被配置为通过考虑与所述改变后的区域对应的图像特征和图像分辨率中的一个或更多个来选择编码处理单元,并且通过使用所述编码处理单元来与一帧对应地对所述改变后的区域执行静止图像编码;以及发送单元,该发送单元被配置为通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。
在所述云端流媒体服务器中,所述编码处理单元可以与中央处理单元(CPU)和图形处理单元(GPU)中的一个对应。
在所述云端流媒体服务器中,所述编码单元还可以被配置为通过考虑所述图像特征和所述图像分辨率中的一个或更多个来预测所述CPU和所述GPU中的每一个的编码处理成本,并且通过从所述CPU和所述GPU当中选择预测编码处理成本较低的编码处理单元来对所述改变后的区域执行所述静止图像编码。
在所述云端流媒体服务器中,所述编码单元还可以被配置为当与所述改变后的区域对应的图像分辨率等于或大于预定参考值时,通过使用所述GPU来对所述改变后的区域执行所述静止图像编码。
在所述云端流媒体服务器中,所述编码单元还可以被配置为当与所述改变后的区域对应的图像分辨率小于所述预定参考值时,通过根据所述图像特征考虑静止图像压缩技术来选择所述编码处理单元。
在所述云端流媒体服务器中,所述静止图像压缩技术可以与PNG(便携式网络图形)、调色板PNG(便携式网络图形)和JPEG(联合图像专家组)中的一种对应。
在所述云端流媒体服务器中,所述编码单元还可以被配置为当所述图像比率小于所述预定参考值时并且当所述静止图像压缩技术是所述调色板PNG时,通过使用所述GPU对改变后的区域执行静止图像编码。
在所述云端流媒体服务器中,所述编码单元还可以被配置为捕获相比于与所述前一帧对应的画面区域的与改变后的帧对应的画面区域中发生改变的特定区域作为改变后的区域。
在所述云端流媒体服务器中,所述捕获单元还可以被配置为在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且捕获所检测到的片段中的改变后的区域。
在所述云端流媒体服务器中,所述捕获单元还可以被配置为通过感测在用户的终端装置处发生的应用的事件类型来检测具有较小的帧改变的片段。
另外,根据本发明的一种使用选择性编码处理单元的云端流媒体服务方法包括以下步骤:捕获与前一帧相比改变后的帧中包含的改变后的区域;通过考虑与所述改变后的区域对应的图像特征和图像分辨率中的一个或更多个来选择编码处理单元,并且通过使用所述编码处理单元来与一帧对应地对所述改变后的区域执行静止图像编码;以及通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。
在所述方法中,所述编码处理单元可以与中央处理单元(CPU)和图形处理单元(GPU)中的一个对应。
在所述方法中,编码步骤可以包括以下步骤:通过考虑所述图像特征和所述图像分辨率中的一个或更多个来预测所述CPU和所述GPU中的每一个的编码处理成本,并且通过从所述CPU和所述GPU当中选择预测编码处理成本较低的编码处理单元来对所述改变后的区域执行所述静止图像编码。
在所述方法中,编码步骤可以包括以下步骤:当与所述改变后的区域对应的图像分辨率等于或大于预定参考值时,通过使用所述GPU来对所述改变后的区域执行所述静止图像编码。
在所述方法中,编码步骤可以包括以下步骤:当与所述改变后的区域对应的图像分辨率小于所述预定参考值时,通过根据所述图像特征考虑静止图像压缩技术来选择所述编码处理单元。
在所述方法中,所述静止图像压缩技术可以与PNG(便携式网络图形)、调色板 PNG(便携式网络图形)和JPEG(联合图像专家组)中的一种对应。
在所述方法中,编码步骤可以包括以下步骤:当所述图像比率小于所述预定参考值时并且当所述静止图像压缩技术是所述调色板PNG时,通过使用所述GPU对改变后的区域执行静止图像编码。
在所述方法中,捕获步骤可以包括以下步骤:捕获相比于与所述前一帧对应的画面区域的与改变后的帧对应的画面区域中发生改变的特定区域作为改变后的区域。
在所述方法中,捕获步骤可以包括以下步骤:在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且捕获所检测到的片段中的改变后的区域。
在所述方法中,捕获步骤可以包括以下步骤:通过感测在用户的终端装置处发生的应用的事件类型来检测具有较小的帧改变的片段。
另外,根据本发明的另一个实施方式的一种云端流媒体服务系统包括:云端流媒体服务器,该云端流媒体服务器被配置为捕获与前一帧相比改变后的帧中包含的改变后的区域,通过考虑与所述改变后的区域对应的图像特征和图像分辨率中的一个或更多个来选择编码处理单元,通过使用所述编码处理单元来与一帧对应地对所述改变后的区域执行静止图像编码,并且通过向用户发送经静止图像编码的改变后的区域执行基于静止图像的云端流媒体服务;以及终端,该终端被配置为从所述云端流媒体服务器接收与所述云端流媒体服务对应的应用执行结果画面。
另外,根据本发明的另一个实施例的一种云端流媒体服务器包括:捕获单元,该捕获单元被配置为捕获改变后的帧中包含的改变后的区域;编码单元,该编码单元被配置为将针对所述改变后的区域的编码处理划分成多个单元处理,将所述单元处理中的至少一个分配给图形处理单元(GPU),将剩余的单元处理分配给中央处理单元 (CPU),并且为了对所述改变后的区域进行静止图像编码而执行所述编码处理;以及发送单元,该发送单元被配置为通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。
在所述云端流媒体服务器中,所述单元处理中的每一个可以与图像分析、静止图像压缩技术确定、静止图像压缩和压缩数据收集中的一个对应。
在所述云端流媒体服务器中,所述编码单元还可以被配置为基于与所述图像分析和所述静止图像压缩技术确定对应的处理结果来将与所述静止图像压缩对应的单元处理分配给所述GPU。
在所述云端流媒体服务器中,所述静止图像压缩可以包括针对与所述改变后的区域对应的图像进行的颜色直方图构造、调色板创建、基于调色板的原始颜色量化和基于调色板的编码中的至少一种。
在所述云端流媒体服务器中,所述GPU向所述CPU递送与所述静止图像压缩对应的处理结果。
在所述云端流媒体服务器中,所述CPU可以通过使用与所述静止图像压缩对应的处理结果来执行与所述压缩数据收集对应的单元处理。
在所述云端流媒体服务器中,所述CPU可以当与所述静止图像压缩对应的单元处理被分配给所述GPU时向所述GPU递送与改变后的区域对应的图像数据。
在所述云端流媒体服务器中,所述捕获单元还可以被配置为捕获相比于与前一帧对应的画面区域的与改变后的帧对应的画面区域中发生改变的特定区域作为改变后的区域。
在所述云端流媒体服务器中,所述捕获单元还可以被配置为在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且捕获所检测到的片段中的改变后的区域。
在所述云端流媒体服务器中,所述捕获单元还可以被配置为通过感测在用户的终端装置处发生的应用的事件类型来检测具有较小的帧改变的片段。
另外,根据本发明的一种通过编码处理单元的任务分离进行的云端流媒体方法包括以下步骤:捕获改变后的帧中包含的改变后的区域;将针对所述改变后的区域的编码处理划分成多个单元处理,将所述单元处理中的至少一个分配给图形处理单元 (GPU),将剩余的单元处理分配给中央处理单元(CPU),并且为了对所述改变后的区域进行静止图像编码而执行所述编码处理;以及通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。
在所述方法中,所述单元处理中的每一个可以与图像分析、静止图像压缩技术确定、静止图像压缩和压缩数据收集中的一个对应。
在所述方法中,编码步骤可以包括以下步骤:基于与所述图像分析和所述静止图像压缩技术确定对应的处理结果来将与所述静止图像压缩对应的单元处理分配给所述GPU。
在所述方法中,所述静止图像压缩可以包括针对与所述改变后的区域对应的图像进行的颜色直方图构造、调色板创建、基于调色板的原始颜色量化和基于调色板的编码中的至少一种。
在所述方法中,所述GPU可以向所述CPU递送与所述静止图像压缩对应的处理结果。
在所述方法中,所述CPU可以通过使用与所述静止图像压缩对应的处理结果来执行与所述压缩数据收集对应的单元处理。
在所述方法中,所述CPU可以当与所述静止图像压缩对应的单元处理被分配给所述GPU时向所述GPU递送与改变后的区域对应的图像数据。
在所述方法中,捕获步骤可以包括以下步骤:捕获相比于与所述前一帧对应的画面区域的与改变后的帧对应的画面区域中发生改变的特定区域作为改变后的区域。
在所述方法中,捕获步骤可以包括以下步骤:在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且捕获所检测到的片段中的改变后的区域。
在所述方法中,所述捕获单元可以包括通过感测在用户的终端装置处发生的应用的事件类型来检测具有较小的帧改变的片段。
另外,根据本发明的另一个实施方式的一种云端流媒体服务系统包括:云端流媒体服务器,该云端流媒体服务器被配置为捕获改变后的帧中包含的改变后的区域,将针对所述改变后的区域的编码处理划分成多个单元处理,将所述单元处理中的至少一个分配给图形处理单元(GPU),将剩余的单元处理分配给中央处理单元(CPU),为了对所述改变后的区域进行静止图像编码而执行所述编码处理,并且通过向用户发送经静止图像编码的改变后的区域执行基于静止图像的云端流媒体服务;以及终端,该终端被配置为从所述云端流媒体服务器接收与所述云端流媒体服务对应的应用执行结果画面。
另外,为了解决以上目的,本发明提供了记录在介质上的用于执行以上讨论的方法的计算机程序。
有益效果
根据本发明,能够针对提供基于静止图像的云端流媒体服务时的环境,通过使用合适的静止图像压缩技术来提高云端流媒体服务的压缩效率和服务速度。
另外,本发明可以针对提供基于静止图像的云端流媒体服务时的图像类型,通过使用合适的静止图像压缩技术来提高云端流媒体服务的压缩效率和服务速度。
另外,本发明可以通过利用基于静止图像的云端流媒体服务将流媒体压缩的效率最大化来在同一频带内向更多用户提供更快速的云端流媒体服务。
另外,本发明可以通过当提供使用静止图像压缩技术进行的云端流媒体服务时向当前帧和前一帧之间的改变的区域应用静止图像压缩技术来在同一频带内向更多用户提供更快速的云端流媒体服务。
另外,本发明可以当提供使用静止图像压缩技术的云端流媒体服务时,通过对当前帧和前一帧之间的差别帧进行扫描而确定改变后的区域来快速地检测静止图像压缩的目标。
另外,本发明可以通过基于使用应用源代码和MEPG纹理描述子而创建的图像特性信息确定编码技术,来构造能够节省进行图像处理通常需要的服务器资源的高效云端流媒体服务器。
另外,本发明可以通过利用基于图像特征信息的静止图像编码而减少进行图像处理所需的服务时间来向用户更快速地提供云端流媒体服务。
另外,本发明可以通过提高云端流媒体服务的效率来降低云端流媒体服务的处理成本。
另外,本发明可以通过当提供云端流媒体服务时通过不同的编码处理单元分别执行编码处理来减少云端流媒体服务器处的资源使用。
另外,本发明可以通过当提供云端流媒体服务时使用图形处理单元连同中央处理单元一起来减少可能由于服务器负载而造成的延迟情形。
附图说明
图1是例示根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务系统的框图。
图2是例示图1中示出的云端流媒体服务器的示例的框图。
图3是例示云端流媒体系统的示例的示图。
图4是例示根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务中的捕获改变后的区域的处理的示图。
图5是例示根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务中的确定改变后的区域的处理的示图。
图6是例示根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务方法的流程图。
图7是例示根据本发明的实施方式的云端流媒体服务系统的框图。
图8是例示图7中示出的云端流媒体服务器的示例的框图。
图9是例示基于静止图像的云端流媒体系统的示例的示图。
图10是例示根据本发明的实施方式的云端流媒体服务中的捕获改变后的区域的处理的示图。
图11是例示根据本发明的实施方式的使用源信息的云端流媒体服务方法的流程图。
图12是详细例示根据本发明的实施方式的使用源信息的云端流媒体服务方法的流程图。
图13是例示根据本发明的另一个实施方式的云端流媒体服务系统的框图。
图14是例示图13中示出的云端流媒体服务器的示例的框图。
图15是例示基于静止图像的云端流媒体系统的另一个示例的示图。
图16是例示根据本发明的实施方式的编码处理单元的示图。
图17是例示根据本发明的另一个实施方式的云端流媒体服务中的捕获改变后的区域的处理的示图。
图18是例示根据本发明的实施方式的使用选择性编码处理单元的云端流媒体服务方法的流程图。
图19是详细例示根据本发明的实施方式的使用选择性编码处理单元的云端流媒体服务方法的流程图。
图20是例示根据本发明的又一个实施方式的云端流媒体服务系统的框图。
图21是例示图20中示出的云端流媒体服务器的示例的框图。
图22是例示基于静止图像的云端流媒体系统的又一个示例的示图。
图23是例示根据本发明的又一个实施方式的编码处理单元的示图。
图24是例示根据本发明的又一个实施方式的云端流媒体服务中的捕获改变后的区域的处理的示图。
图25是例示根据本发明的实施方式的通过编码处理单元的任务分离进行的云端流媒体服务方法的流程图。
图26是详细例示根据本发明的实施方式的通过编码处理单元的任务分离进行的云端流媒体服务方法的流程图。
具体实施方式
下文中,将参照附图描述本发明的各种实施方式。然而,可以不详细描述公知的功能和元件以避免使本发明的主题不清楚。在所有附图中,相同或相似的附图标记始终表示对应的特征。
在本说明书和权利要求中使用的术语和词语应该不被理解为限于普通或字典上的含义。另外,本发明的各种实施方式中使用的术语和词语仅仅用于描述特定实施方式并且不旨在限制这些实施方式。因此,虽然参照本发明的示例性实施方式具体示出和描述了以下描述,但下面对示例性实施方式的描述只是出于例示目的提供的,而非出于限制随附的权利要求及其等同物限定的本发明的目的提供的。另外,包括措词“第一”、“第二”等的术语仅仅用于将一个元件与其它元件区分开,但不限制对应的元件。
下文中,根据本发明的实施方式的终端将被描述为移动通信装置,该移动通信装置与通信网络连接并且能够基于云计算系统来上传或下载内容。然而,这仅仅是示例性的,而不被理解为限制本发明。另选地,可以使用诸如信息通信装置、多媒体终端、有线终端、固定终端和网际协议(IP)终端这样的各种装置。另外,终端可以是诸如移动电话、便携式多媒体播放器(PMP)、移动互联网装置(MID)、智能电话、台式机、平板PC、笔记本、上网本和信息通信装置这样的具有各种移动通信规范的移动装置。
下文中,将描述根据本发明的实施方式的基于云计算的数据管理系统。下文中,内容共享可以是包括内容发送的构思,并且数据管理可以是包括数据发送的构思。
图1是例示根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务系统的框图。
参照图1,根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务系统包括云端流媒体服务器110、终端装置120-1至120-N和网络130。
云端流媒体服务器110响应于终端装置120-1至120-N对云端流媒体服务的请求而执行应用,并且向终端装置120-1至120-N提供与执行该应用的结果对应的执行结果画面。
云端流媒体服务基本上应用基于视频编解码器的云端流媒体技术。因此,即使当向诸如菜单显示这样的静态画面应用云端流媒体技术时,也是按照不必要地捕获整个画面并且用视频编解码器进行编码的低效方式来执行云端流媒体服务。为了解决这个问题,本发明提供了一种云端流媒体服务系统,在该云端流媒体系统中,云端流媒体服务器在诸如菜单显示画面这样的帧之间有较小的改变的情况下检测帧之间的改变的区域,并且只通过静止图像压缩技术对改变后的区域进行编码。
云端流媒体服务器110通过将当前帧与前一帧进行比较来确定相对于前一帧发生改变的当前帧的改变后的区域,然后捕获该改变后的区域。在这种情况下,服务器可以检测待发送到终端装置120-1至120-N的所有帧中有较小帧改变的片段,然后捕获所检测到的片段中的改变后的区域。此时,通过识别在终端装置120-1至120-N处发生的应用的事件类型,可以检测具有较小帧改变的此片段。
另外,云端流媒体服务器110按照通过考虑与改变后的区域对应的图像的多种颜色中的一种或更多种以及该图像的像素值的标准偏差而确定的图像类型来选择静止图像压缩技术,并且通过使用所选择的静止图像压缩技术来与一帧对应地对改变后的区域执行静止图像编码。在这种情况下,服务器可以根据诸如自然图像和合成图像这样的图像类型中的一种来选择静止图像压缩技术。如果与改变后的区域对应的图像的颜色的数目大于预定参考数目,则服务器可以确定图像类型为自然图像。如果与改变后的区域对应的图像的颜色的数目等于或小于预定参考数目,则服务器可以通过考虑与改变后的区域对应的图像的像素值的标准偏差来确定图像类型。如果与改变后的区域对应的图像的颜色的数目等于或小于预定参考数目,并且如果与改变后的区域对应的图像的像素值的标准偏差等于或小于预定参考值,则服务器可以确定图像类型为合成图像。如果与改变后的区域对应的图像的像素值的标准偏差大于预定参考值,则服务器可以确定图像类型为自然图像。在这种情况下,服务器可以通过使用按照图像类型从PNG(便携式网络图形)和JPEG(联合图像专家组)中选择的静止图像压缩技术来对改变后的区域执行静止图像编码。
另外,云端流媒体服务器110向用户发送经静止图像编码的改变后的区域,因此执行基于静止图像的云端流媒体服务。
终端装置120-1至120-N从云端流媒体服务器110接收与云端流媒体服务对应的应用执行结果画面,然后将其提供给用户。
终端装置120-1至120-N与通信网络连接,并且基于云计算系统,可以执行应用。终端装置可以是但不限于移动通信终端、诸如信息通信装置、多媒体装置、有线装置、固定装置和网际协议(IP)装置这样的各种装置。另外,终端装置120-1至120-N中的每一个可以是诸如移动电话、便携式多媒体播放器(PMP)、移动互联网装置(MID)、智能电话、台式机、平板PC、笔记本、上网本、个人数字助理(PDA)、智能电话和信息通信装置这样的具有各种移动通信规范的移动装置。
网络130供应在云端流媒体服务器110和终端装置120-1至120-N之间递送数据的路线,包括通常使用的网络和任何今后可开发的网络。例如,网络130可以是用于在有限区域内提供各种信息装置的通信的有线/无线短距离通信网络、用于提供移动实体之间以及移动实体和该移动实体之外的任何其它实体之间的通信的移动通信网络、用于使用卫星来提供地面站之间的通信的卫星通信网络、有线/无线通信网络中的一种或者其任何组合。此外,用于网络130的发送方案标准不限于现有的发送方案标准,并且可以包括今后将开发的所有发送方案标准。另外,图1中的云端流媒体服务器110和终端装置120-1至120-N之间使用的网络可以具有与终端装置120-1至 120-N之间的网络不同或相同的形式。
图2是例示图1中示出的云端流媒体服务器的示例的框图。
参照图2,图1中示出的云端流媒体服务器110包括改变区域确定单元205、捕获单元210、编码单元220、发送单元230和存储单元240。
云端流媒体服务基本上应用基于视频编解码器的云端流媒体技术。因此,即使当向诸如菜单显示这样的静态画面应用云端流媒体技术时,也是按照不必要地捕获整个画面并且用视频编解码器进行编码的低效方式来执行云端流媒体服务。为了解决这个问题,本发明提供了云端流媒体服务系统110,该云端流媒体服务器110用于在诸如菜单显示画面这样的帧之间有较小改变的情况下检测帧之间的改变的区域,并且只通过静止图像压缩技术对改变后的区域进行编码。
改变区域确定单元205将当前帧与前一帧进行比较,并且确定相对于前一帧发生改变的当前帧的改变后的区域。
基于视频编解码器的云端流媒体技术可以捕获与应用正在其上运行的画面对应的所有帧并且对其进行编码。然而,如果画面上的帧之间存在较小的改变,则能够通过只捕获与前一帧相比改变后的帧的改变后的区域来执行静止图像编码。因此,用户的终端装置能够固定地显示未改变的区域,并且只动态地显示改变后的区域。
在这种情况下,可以捕获和与前一帧对应的画面区域不同的与改变后的帧对应的画面区域的特定区域作为改变后的区域。例如,如果相对于前一帧的对应区域发生改变的改变后的帧的区域是区域A,则可以只捕获改变后的帧的画面区域中的区域A 作为改变后的区域。根据在用户的终端装置处输入的输入信号,改变后的区域可以具有各种大小,并且与改变后的区域对应的图像可以具有各种类型。
在这种情况下,改变区域确定单元可以计算前一帧和当前帧之间的差别帧,并且通过使用该差别帧来确定改变后的区域。此时,改变区域确定单元可以通过经由对差别帧的扫描而检测相对于前一帧发生改变的当前帧的改变后的像素,来确定改变后的区域。另外,改变区域确定单元可以确定包含通过对差别帧的水平扫描和垂直扫描而检测到的改变后的像素的改变后的区域。例如,当通过从上到下以逐行为基础对差别帧进行水平扫描来检测改变后的像素时,可以得到与相关行对应的y0元素。另外,当从下到上地以逐行为基础对差别帧进行水平扫描来检测改变后的像素时,可以得到与相关行对应的y1元素。另外,当从左到右地以逐列为基础对差别帧进行垂直扫描来检测改变后的像素时,可以得到与相关列对应的x0。并且另外,当从右到左地以逐列为基础对差别帧进行垂直扫描来检测改变后的像素时,可以得到与相关列对应的 x1元素。然后,改变区域确定单元可以将以四个像素(x0,y0)、(x1,y0)、(x1,y1) 和(x0,y1)作为顶点的矩形区域确定为改变后的区域。
捕获单元210捕获改变后的区域。此时,可以在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且可以在检测到的片段中捕获改变后的区域。
此时,通过识别从用户的终端装置发生的应用的事件类型,可以检测到具有较小帧改变的此片段。例如,根据用户的终端装置的输入信号,可以确定应用的事件类型。根据输入信号,可能出现当执行应用时具有较小帧改变的诸如菜单、选项或通知窗口这样的静态事件或者具有经常改变的帧的诸如视频回放或玩游戏这样的动态事件。因此,能够从用户的终端装置的输入信号来识别事件类型,并且如果事件类型是静态事件,则能够从与事件对应的所有帧中检测具有较小帧改变的片段。
编码单元220按照通过考虑与改变后的区域对应的图像的多种颜色中的一种或更多种以及该图像的像素值的标准偏差而确定的图像类型来选择静止图像压缩技术,并且使用所选择的静止图像压缩技术来与一帧对应地对改变后的区域执行静止图像编码。例如,因为所捕获的改变后的区域的图像类型可以是诸如一张照片或一幅图片这样的单个图像或者许多图像的混合图像,所以编码单元可以确定图像类型,选择适于每种图像类型的静止图像压缩技术,并且执行静止图像编码,以提高改变后的区域的压缩效率。
在这种情况下,编码单元可以根据诸如自然图像和合成图像这样的图像类型中的一种来选择静止图像压缩技术。自然图像可以是指自然出现的物体的图像。例如,自然图像可以是指诸如一张照片或一幅图片这样的光学图像或者具有诸如x射线和红外线这样的其它波长的图像。与自然图像相反,合成图像可以是指通过计算机或任何其它人工手段而创建或混合的图像。
如果与改变后的区域对应的图像的颜色的数目大于预定参考数目,则编码单元可以确定图像类型为自然图像。因为自然图像可以是自然出现的物体的图像,所以相比于合成图像,应用于呈现图像的颜色的亮度和饱和度的改变会变得复杂。因此,因为相比于合成图像可以改变构成自然图像的像素所表现的颜色的数目,所以可以通过考虑与改变后的区域对应的图像的颜色的数目来确定与改变后的区域对应的图像类型。例如,如果预定参考数目是100,000,则当构成与改变后的区域对应的图像的颜色的数目大于100,000时,可以确定图像类型为自然图像,并且当颜色的数目等于或小于 100,000时,可以确定图像类型为合成图像。
如果与改变后的区域对应的图像的颜色的数目等于或小于预定参考数目,则编码单元可以通过考虑与改变后的区域对应的图像的像素值的标准偏差来确定图像类型。像素值的标准偏差可以是指与改变后的区域对应的图像的像素所表现的颜色值的分布变化。如果该变化指示0,则这可以意味着所有颜色具有同一值。即,像素值的较小标准偏差可以意指图像由较小数目的颜色形成。因此,通过考虑图像的像素值的标准偏差,可以确定与改变后的区域对应的图像的图像类型。
如果与改变后的区域对应的图像的颜色的数目等于或小于预定参考数目,并且如果与改变后的区域对应的图像的像素值的标准偏差等于或小于预定参考值,则编码单元可以确定图像类型为合成图像。例如,假定与图像颜色的数目有关的预定参考数目是100,000而且与图像像素值的标准偏差有关的预定参考值是N。在这种情况下,如果与改变后的区域对应的图像的颜色的数目等于或小于100,000并且如果与改变后的区域对应的图像的颜色值的标准偏差等于或小于N,则可以确定图像类型为合成图像。
如果与改变后的区域对应的图像的像素值的标准偏差大于预定参考值,则编码单元可以确定图像类型为自然图像。例如,如果图像的像素值的标准偏差大于预定参考值,则这可以意指图像由较大数目的颜色形成。因此,如果图像的像素值的标准偏差大于预定参考值,则编码单元可以确定与改变后的区域对应的图像是由许多颜色形成的自然图像。
在这种情况下,编码单元可以按照图像类型使用从PNG(便携式网络图形)和 JPEG(联合图像专家组)中选择的静止图像压缩技术来对改变后的区域执行静止图像编码。
PNG静止图像压缩技术可以得到质量良好的图像,但是会致使编码时数据大小增加。因此,如果传输网络的带宽小,则传输速度会降低。JPEG静止图像压缩技术具有良好的压缩效率,并因此能够显著减少编码时传输数据的量,但是会因为编码和解码时的高压缩效率而致使系统负载大。另外,JPEG静止图像压缩技术可以对相似颜色聚集在一个像素周围的自然图像进行更有效的压缩。因此,如果与改变后的区域对应的图像类型是自然图像,则编码单元可以通过JPEG静止图像压缩技术对改变后的区域进行编码。
另外,如果改变后的区域是合成图像,则JPEG静止图像压缩技术不能达到与自然图像差不多的压缩效率的预期。因此,在合成图像的情况下,编码单元可以通过选择能够增强图像质量的PNG静止图像压缩技术对改变后的区域执行静止图像编码。
另外,如果改变后的区域是合成图像并且具有导致大数据的较大大小,则编码单元可以通过使用能够减小数据大小的调色板PNG静止图像压缩技术来对改变后的区域进行编码。调色板PNG静止图像压缩技术会因为编码时图像的数据大小减小而保证传输速度,但是会因为颜色是用8位来表示的而致使图像质量劣化。
发送单元230通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。即,通过向用户的终端装置发送通过编码被压缩的改变后的区域,用户能够体验到好像应用正在用户的终端装置处执行一样。
根据本发明的实施方式,存储单元240存储在云端流媒体服务处理中创建的以上讨论的各种类型的信息。
根据实施方式,存储单元240可以独立于云端流媒体服务器110形成,并且支持云端流媒体服务的功能。在这种情况下,存储单元240可以如同单独的高容量存储器一样操作并且包括针对该操作的控制功能。
另外,以上讨论的云端流媒体服务器110还可以通过一个或更多个服务器来实现。
此外,云端流媒体服务器110具有可以存储信息的存储器。在实施方式中,存储器是计算机可读介质。存储器可以在一个实施方式中是易失性存储器单元而在另一个实施方式中是非易失性存储器单元。在实施方式中,存储单元是计算机可读介质。在各种不同的实施方式中,存储单元可以包括硬盘装置、光盘装置、或任何其它高容量的存储装置。
图3是例示云端流媒体系统的示例的示图。
参照图3,服务器300可以响应于从用户的终端装置接收到的用户输入而执行程序画面310,并且执行画面捕获。在这种情况下,服务器300可以是云端流媒体服务器或网络应用服务器。执行程序画面310和执行画面捕获的处理可以与图2中示出的捕获单元210的操作流程对应。
服务器300可以通过静止图像压缩技术对捕获的程序画面310执行图像编码 320。在这种情况下,执行图像编码320的处理可以与图2中示出的编码单元220的操作流程对应。
此时,服务器可以将当前帧与前一帧进行比较,然后只捕获相对于前一帧发生改变的当前帧的改变后的区域。另外,服务器可以通过考虑改变后的区域的图像类型来选择诸如PNG(便携式网络图形)和JPEG(联合图像专家组)这样的静止图像压缩技术中的一种,然后通过所选择的静止图像压缩技术对改变后的区域进行编码。
此后,服务器300可以执行将经静止图像编码的改变后的区域流传送330至用户的终端装置,因此提供基于静止图像的云端流媒体服务。在这种情况下,执行流传送 330的处理可以与图2中示出的发送单元230的操作流程对应。
此后,用户的终端装置对接收到的数据执行渲染340,并因此向用户显示程序画面310,好像响应于用户输入而在应用中执行的程序画面是在用户的终端装置处执行一样。
图4是根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务中的捕获改变后的区域的处理的示图。
参照图4,根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务可以将第一帧410与第二帧420进行比较,然后只捕获改变后的区域430并且对其进行编码。
例如,假定第一帧410和第二帧420中的区域B、C、D和E是菜单显示。在第一帧410中,光标位于区域C处,使得区域C可以被高亮,以与其它区域B、D和E 区分开。在第二帧420中,光标从区域C移至区域E,使得区域E可以被高亮,以与其它区域B、C和D区分开。
在这种情况下,作为第一帧410和第二帧420之间的比较结果,可以捕获包含区域C和E的矩形区域(C、D和E)作为改变后的区域430。服务器还可以通过考虑改变后的区域430的大小和改变后的区域430的图像类型来选择静止图像压缩技术,然后通过使用所选择的静止图像压缩技术对改变后的区域430进行编码。
典型的云端流媒体服务可以通过与帧速率对应地捕获包括与必定发生改变的第一帧410和第二帧420的所有帧来执行编码。然而,基于静止图像的云端流媒体服务只捕获改变后的区域430并且通过静止图像压缩技术对其进行编码,因此与不必要地捕获许多帧和此帧的整个画面的典型云端流媒体服务相比,提高了服务效率。
图5是例示根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务中的确定改变后的区域的处理的示图。
参照图5,根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务通过使用第一帧410和第二帧420之间的差别帧510来确定包含改变后的像素并且具有最小面积的矩形区域是改变后的区域430。
例如,当通过从上到下以逐行为基础对差别帧510进行水平扫描来检测改变后的像素时,可以得到与相关行对应的y0元素。另外,当从下到上地以逐行为基础对差别帧510进行水平扫描来检测改变后的像素时,可以得到与相关行对应的y1元素。另外,当从左到右地以逐列为基础对差别帧510进行垂直扫描来检测改变后的像素时,可以得到与相关列对应的x0。并且另外,当从右到左地以逐列为基础对差别帧 510进行垂直扫描来检测改变后的像素时,可以得到与相关列对应的x1元素。然后,可以将以四个像素(x0,y0)、(x1,y0)、(x1,y1)和(x0,y1)作为顶点的矩形区域确定为改变后的区域430。
图6是例示根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务方法的流程图。
参照图6,根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务方法将当前帧与前一帧进行比较并且确定相对于前一帧发生改变的当前帧的改变后的区域(S605)。
基于视频编解码器的云端流媒体技术可以通过捕获与应用正在其上运行的画面对应的所有帧来执行编码。然而,当在应用正在运行的画面上帧之间的改变小时,能够通过只捕获与前一帧相比改变后的帧的改变后的区域来执行静止图像编码,使得用户的终端装置能够固定地显示未改变的区域并且只动态地显示改变后的区域。
在这种情况下,可以捕获和与前一帧对应的画面区域不同的与改变后的帧对应的画面区域的特定区域作为改变后的区域。例如,如果相对于前一帧的对应区域发生改变的改变后的帧的区域是区域A,则可以只捕获改变后的帧的画面区域中的区域A 作为改变后的区域。根据在用户的终端装置处输入的输入信号,此改变后的区域可以具有各种大小,并且与改变后的区域对应的图像可以具有各种类型。
在这种情况下,服务器可以计算前一帧和当前帧之间的差别帧,并且通过使用该差别帧来确定改变后的区域。此时,服务器可以通过经由对差别帧的扫描而检测相对于前一帧发生改变的当前帧的改变后的像素,来确定改变后的区域。另外,服务器可以确定包含通过对差别帧的水平扫描和垂直扫描而检测到的改变后的像素的改变后的区域。例如,当通过从上到下以逐行为基础对差别帧进行水平扫描来检测改变后的像素时,可以得到与相关行对应的y0元素。另外,当从下到上地以逐行为基础对差别帧进行水平扫描来检测改变后的像素时,可以得到与相关行对应的y1元素。另外,当从左到右地以逐列为基础对差别帧进行垂直扫描来检测改变后的像素时,可以得到与相关列对应的x0。并且另外,当从右到左地以逐列为基础对差别帧进行垂直扫描来检测改变后的像素时,可以得到与相关列对应的x1元素。然后,服务器可以将以四个像素(x0,y0)、(x1,y0)、(x1,y1)和(x0,y1)作为顶点的矩形区域确定为改变后的区域。
另外,根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务方法捕获改变后的区域(S610)。
在这种情况下,可以在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且可以在检测到的片段中捕获改变后的区域。
此时,通过识别从用户的终端装置发生的应用的事件类型,可以检测到具有较小帧改变的此片段。例如,根据用户的终端装置的输入信号,可以确定应用的事件类型。根据输入信号,可能出现当执行应用时具有较小帧改变的诸如菜单、选项或通知窗口这样的静态事件或者具有经常改变的帧的诸如视频回放或玩游戏这样的动态事件。因此,能够从用户的终端装置的输入信号来识别事件类型,并且如果事件类型是静态事件,则能够从与事件对应的所有帧中检测具有较小帧改变的片段。
另外,根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务方法按照通过考虑与改变后的区域对应的图像的多种颜色中的一种或更多种以及该图像的像素值的标准偏差而确定的图像类型来选择静止图像压缩技术,并且使用所选择的静止图像压缩技术来与一帧对应地对改变后的区域执行静止图像编码(S620)。例如,因为所捕获的改变后的区域的图像类型可以是诸如一张照片或一幅图片这样的单个图像或者许多图像的混合图像,所以服务器可以确定图像类型,选择适于每种图像类型的静止图像压缩技术,并且执行静止图像编码,以提高改变后的区域的压缩效率。
在这种情况下,服务器可以根据诸如自然图像和合成图像这样的图像类型中的一种来选择静止图像压缩技术。自然图像可以是指自然出现的物体的图像。例如,自然图像可以是指诸如一张照片或一幅图片这样的光学图像或者具有诸如x射线和红外线这样的其它波长的图像。与自然图像相反,合成图像可以是指通过计算机或任何其它人工手段而创建或混合的图像。
如果与改变后的区域对应的图像的颜色的数目大于预定参考数目,则服务器可以确定图像类型为自然图像。因为自然图像可以是自然出现的物体的图像,所以相比于合成图像,应用于呈现图像的颜色的亮度和饱和度的改变会变得复杂。因此,因为相比于合成图像可以改变构成自然图像的像素所表现的颜色的数目,所以可以通过考虑与改变后的区域对应的图像的颜色的数目来确定与改变后的区域对应的图像类型。例如,如果预定参考数目是100,000,则当构成与改变后的区域对应的图像的颜色的数目大于100,000时,可以确定图像类型为自然图像,并且当颜色的数目等于或小于 100,000时,可以确定图像类型为合成图像。
如果与改变后的区域对应的图像的颜色的数目等于或小于预定参考数目,则服务器可以通过考虑与改变后的区域对应的图像的像素值的标准偏差来确定图像类型。像素值的标准偏差可以是指与改变后的区域对应的图像的像素所表现的颜色值的分布变化。如果该变化指示0,则这可以意味着所有颜色具有同一值。即,像素值的较小标准偏差可以意指图像由较小数目的颜色形成。因此,通过考虑图像的像素值的标准偏差,可以确定与改变后的区域对应的图像的图像类型。
如果与改变后的区域对应的图像的颜色的数目等于或小于预定参考数目,并且如果与改变后的区域对应的图像的像素值的标准偏差等于或小于预定参考值,则服务器可以确定图像类型为合成图像。例如,假定与图像颜色的数目有关的预定参考数目是 100,000而且与图像像素值的标准偏差有关的预定参考值是N。在这种情况下,如果与改变后的区域对应的图像的颜色的数目等于或小于100,000并且如果与改变后的区域对应的图像的颜色值的标准偏差等于或小于N,则可以确定图像类型为合成图像。
如果与改变后的区域对应的图像的像素值的标准偏差大于预定参考值,则服务器可以确定图像类型为自然图像。例如,如果图像的像素值的标准偏差大于预定参考值,则这可以意指图像由较大数目的颜色形成。因此,如果图像的像素值的标准偏差大于预定参考值,则服务器可以确定与改变后的区域对应的图像是由许多颜色形成的自然图像。
在这种情况下,服务器可以按照图像类型使用从PNG(便携式网络图形)和JPEG(联合图像专家组)中选择的静止图像压缩技术来对改变后的区域执行静止图像编码。
PNG静止图像压缩技术可以得到质量良好的图像,但是会致使编码时数据大小增加。因此,如果传输网络的带宽小,则传输速度会降低。JPEG静止图像压缩技术具有良好的压缩效率,并因此能够显著减少编码时传输数据的量,但是会因为编码和解码时的高压缩效率而致使系统负载大。另外,JPEG静止图像压缩技术可以对相似颜色聚集在一个像素周围的自然图像进行更有效的压缩。因此,如果与改变后的区域对应的图像类型是自然图像,则服务器可以通过JPEG静止图像压缩技术对改变后的区域进行编码。
另外,如果改变后的区域是合成图像,则JPEG静止图像压缩技术不能达到与自然图像差不多的压缩效率的预期。因此,在合成图像的情况下,服务器可以通过选择能够增强图像质量的PNG静止图像压缩技术对改变后的区域执行静止图像编码。
另外,如果改变后的区域是合成图像并且具有导致大数据的较大大小,则服务器可以通过使用能够减小数据大小的调色板PNG静止图像压缩技术来对改变后的区域进行编码。调色板PNG静止图像压缩技术会因为编码时图像的数据大小减小而保证传输速度,但是会因为颜色是用8位来表示的而致使图像质量劣化。
另外,根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务方法通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务(S630)。通过向用户的终端装置发送通过编码被压缩的改变后的区域,用户能够体验到好像应用正在用户的终端装置处执行一样。
此外,虽然图5中未示出,但是根据本发明的实施方式的使用静止图像压缩技术的云端流媒体服务方法存储在根据本发明的实施方式的云端流媒体服务处理中创建的各种类型的信息。
图7是例示根据本发明的实施方式的云端流媒体服务系统的框图。
参照图7,根据本发明的实施方式的云端流媒体服务系统包括云端流媒体服务器710、终端装置720-1至720-N和网络730。
云端流媒体服务器710响应于终端装置720-1至720-N对云端流媒体服务的请求而执行应用,并且向终端装置720-1至720-N提供与执行应用的结果对应的执行结果画面。
云端流媒体服务基本上应用基于视频编解码器的云端流媒体技术。因此,即使当向诸如菜单显示这样的静态画面应用云端流媒体技术时,也是按照不必要地捕获整个画面并且用视频编解码器进行编码的低效方式来执行云端流媒体服务。另外,当对图像执行编码时,云端流媒体服务可以通过执行利用服务器资源的图像处理过程来确定编码技术。这样会造成服务器的负载增大。为了解决这些问题,本发明提供了一种云端流媒体服务系统,在该云端流媒体系统中,云端流媒体服务器在诸如菜单显示画面这样的帧之间有较小改变的情况下检测帧之间的改变的区域,并且只通过静止图像压缩技术对改变后的区域进行编码。
云端流媒体服务器710捕获与前一帧相比改变后的帧中包含的改变后的区域。即,相比于与前一帧对应的画面,可以捕获与改变后的帧对应的画面中的不同区域作为改变后的区域。在这种情况下,服务器可以检测待发送到终端装置720-1至720-N 的所有帧中有较小帧改变的片段,然后捕获所检测到的片段中的改变后的区域。此时,通过识别在终端装置720-1至720-N处发生的应用的事件类型,可以检测具有较小帧改变的此片段。
另外,云端流媒体服务器710通过考虑是否存在与改变后的区域对应的图像特征信息来确定编码技术,并且通过使用编码技术对改变后的区域执行静止图像编码。在这种情况下,可以基于应用源代码来创建图像特征细信息或者使用MPEG纹理描述子来创建图像特征细信息。如果存在图像特征信息,则服务器可以基于图像特征信息来确定编码技术,而如果不存在图像特征信息,则服务器还可以通过对与改变后的区域对应的图像进行分析来确定编码技术。编码技术可以与PNG(便携式网络图形)、调色板PNG(便携式网络图形)和JPEG(联合图像专家组)中的一种对应。服务器可以通过对与改变后的区域对应的图像进行分析来将改变后的区域识别为正常区域和图片区域中的一个,并且还可以通过考虑正常区域的图像处理结果和图片区域的图像类型中的至少一种来确定编码技术。图像类型可以与自然图像和合成图像中的一种对应。
另外,云端流媒体服务器710向用户发送经静止图像编码的改变后的区域,因此执行基于静止图像的云端流媒体服务。
终端装置720-1至720-N从云端流媒体服务器710接收与云端流媒体服务对应的应用执行结果画面,然后将其提供给用户。
终端装置720-1至720-N与通信网络连接,并且基于云计算系统,可以执行应用。终端装置可以是但不限于移动通信终端、诸如信息通信装置、多媒体装置、有线装置、固定装置和网际协议(IP)装置这样的各种装置。另外,终端装置720-1至720-N中的每一个可以是诸如移动电话、便携式多媒体播放器(PMP)、移动互联网装置(MID)、智能电话、台式机、平板PC、笔记本、上网本、个人数字助理(PDA)、智能电话和信息通信装置这样的具有各种移动通信规范的移动装置。
网络730供应在云端流媒体服务器710和终端装置720-1至720-N之间递送数据的路线,包括通常使用的网络和任何今后可开发的网络。例如,网络730可以是用于在有限区域内提供各种信息装置的通信的有线/无线短距离通信网络、用于提供移动实体之间以及移动实体和该移动实体之外的任何其它实体之间的通信的移动通信网络、用于使用卫星来提供地面站之间的通信的卫星通信网络、有线/无线通信网络中的一种或者其任何组合。此外,用于网络730的发送方案标准不限于现有的发送方案标准,并且可以包括今后将开发的所有发送方案标准。另外,图7中的云端流媒体服务器710和终端装置720-1至720-N之间使用的网络可以具有与终端装置720-1至 720-N之间的网络不同或相同的形式。
图8是例示图7中示出的云端流媒体服务器的示例的框图。
参照图8,图7中示出的云端流媒体服务器710包括捕获单元810、编码单元820、发送单元830和存储单元840。
捕获单元810捕获改变后的帧中包含的改变后的区域。基于视频编解码器的云端流媒体技术可以捕获与应用正在其上运行的画面对应的所有帧并且对其进行编码。然而,如果画面上的帧之间存在较小的改变,则捕获单元可以通过只捕获与前一帧相比改变后的帧的改变后的区域来执行静止图像编码。因此,用户的终端装置可以固定地显示未改变的区域,并且只动态地显示改变后的区域。
在这种情况下,可以捕获和与前一帧对应的画面区域不同的与改变后的帧对应的画面区域的特定区域作为改变后的区域。例如,如果相对于前一帧的对应区域发生改变的改变后的帧的区域是区域A,则可以只捕获改变后的帧的画面区域中的区域A 作为改变后的区域。根据在用户的终端装置处输入的输入信号,此改变后的区域可以具有各种大小,并且与改变后的区域对应的图像可以具有各种类型。
在这种情况下,可以在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且可以在检测到的片段中捕获改变后的区域。
此时,通过识别从用户的终端装置发生的应用的事件类型,可以检测到具有较小帧改变的此片段。例如,根据用户的终端装置的输入信号,可以确定应用的事件类型。根据输入信号,可能出现当执行应用时具有较小帧改变的诸如菜单、选项或通知窗口这样的静态事件或者具有经常改变的帧的诸如视频回放或玩游戏这样的动态事件。因此,能够从用户的终端装置的输入信号来识别事件类型,并且如果事件类型是静态事件,则能够从与事件对应的所有帧中检测具有较小帧改变的片段。
编码单元820通过考虑是否存在与改变后的区域对应的图像特征信息来确定编码技术,并且使用该编码技术对改变后的区域执行静止图像编码。例如,可以根据与改变后的区域对应的图像的特征来确定编码技术,并且可以基于通过图像处理进行的分析的结果来提取这些图像特征。然而,图像处理需要使用云端流媒体服务器710 的资源,并且这样会造成系统负载增大。因此,如果存在包括关于与改变后的区域对应的图像的特征的信息的图像特征信息,则云端流媒体服务器710可以通过使用该信息来确定编码技术,并因此能够节省其资源。
在这种情况下,可以基于应用源代码来创建图像特征信息或者使用MPEG纹理描述子来创建图像特征信息。
应用源代码或MPEG纹理描述子可以包括关于响应于用户的请求而输出的应用结果画面的配置信息或者用于指示关于构成应用结果画面的组件的特征的描述子。例如,在应用源代码的情况下,可以提取诸如JPG、GIF和PNG这样的与改变后的区域对应的图像文件的扩展或者与使用诸如高度和宽度这样的命令的图像的大小对应的特征。另外,在MPEG纹理描述子的情况下,可以使用纹理描述子连同颜色、轮廓、对象或相机的运动等一起来创建图像特征信息,该图像特征信息涉及MPEG-7 标准视野中的重要视觉特征。
另外,图像特征信息可以指示关于对应帧的整个区域的、关于帧中的改变后的区域的、或者关于改变后的区域中的部分区域的(即,关于正常区域或图片区域的)特征和配置信息。
因此,如果能够使用此图像特征信息,则可以在不对与改变后的区域对应的图像进行分析的情况下容易地提取包括图像大小、图像分辨率和图像类型的各种特征。
如果存在图像特征信息,则编码单元可以基于图像特征信息来确定编码技术。如果不存在图像特征信息,则编码单元可以通过对与改变后的区域对应的图像进行分析来确定编码技术。例如,如果存在与改变后的区域对应的图像特征信息,则编码单元可以通过使用图像特征信息来提取与改变后的区域对应的诸如图像大小、图像分辨率和图像类型这样的图像特征。然后,编码单元可以通过所提取的图像特征来确定编码技术。如果不存在图像特征信息,则编码单元可以执行图像处理过程,并因此提取关于与改变后的区域对应的图像的诸如图像大小、图像分辨率和图像类型这样的图像特征。
除了图像大小、图像分辨率和图像类型之外,还可以从图像特征信息中提取其它各种类型的图像特征或者通过图像处理来提取其它各种类型的图像特征。
编码技术可以与PNG(便携式网络图形)、调色板PNG(便携式网络图形)和 JPEG(联合图像专家组)中的一种对应。PNG静止图像压缩技术可以得到质量良好的图像,但是会致使编码时数据大小增加。因此,如果传输网络的带宽小,则传输速度会降低。调色板PNG静止图像压缩技术会因为编码时图像的数据大小减小而保证传输速度,但是会因为颜色是用8位来表示的而致使图像质量劣化。JPEG静止图像压缩技术具有良好的压缩效率,并因此能够显著减少编码时传输数据的量,但是会因为编码和解码时的高压缩效率而致使系统负载大。
编码单元可以通过对与改变后的区域对应的图像进行分析来将改变后的区域识别为正常区域和图片区域中的一个,然后通过考虑正常区域的图像处理结果和图片区域的图像类型中的至少一个来确定编码技术。例如,图片区域可以是由与诸如JPEG、 PNG和GIF这样的图像格式对应的文件形成的区域,并且正常区域可以是改变后的区域中的除了图片区域以外的区域。因此,在图片区域的情况下,基于图像格式给出特征。在正常区域的情况下,能够在确定正常区域是所捕获的图像时通过图像处理来确定特征。
图像类型可以与自然图像和合成图像中的一种对应。自然图像可以是指诸如照片或图片这样的图像,并且合成图像可以是通过许多图像的混合而形成的图像。
如果图像类型是自然图像,则从执行编码时的压缩效率来看,JPEG编码技术可以更有效。如果图像类型是合成图像,则能够减小数据大小的调色板PNG编码技术可以在编码方面是有效的。
发送单元830通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。即,通过向用户的终端装置发送通过编码被压缩的改变后的区域,用户能够体验到好像应用正在用户的终端装置处执行一样。
存储单元840存储在根据本发明的实施方式的云端流媒体服务处理中创建的以上讨论的各种类型的信息。
根据实施方式,存储单元840可以独立于云端流媒体服务器710形成,并且支持云端流媒体服务的功能。在这种情况下,存储单元840可以如同单独的高容量存储器一样操作并且包括针对该操作的控制功能。
另外,以上讨论的云端流媒体服务器710还可以通过一个或更多个服务器来实现。
此外,云端流媒体服务器710具有可以存储信息的存储器。在实施方式中,存储器是计算机可读介质。存储器可以在一个实施方式中是易失性存储器单元而在另一个实施方式中是非易失性存储器单元。在实施方式中,存储单元是计算机可读介质。在各种不同的实施方式中,存储单元可以包括硬盘装置、光盘装置、或任何其它高容量的存储装置。
图9是例示基于静止图像的云端流媒体系统的示例的示图。
参照图9,服务器900可以响应于从用户的终端装置接收到的用户输入而执行程序画面910并且执行画面捕获。在这种情况下,服务器900可以是云端流媒体服务器或网络应用服务器。执行程序画面910和执行画面捕获的处理可以与图8中示出的捕获单元810的操作流程对应。
服务器900可以通过静止图像压缩技术对捕获的程序画面910执行图像编码 920。在这种情况下,执行图像编码920的处理可以与图8中示出的编码单元820的操作流程对应。
此时,服务器可以通过将当前帧与前一帧进行比较来只捕获改变后的区域。另外,服务器可以通过考虑改变后的区域中是否存在图像特征信息来选择诸如PNG(便携式网络图形)、调色板PNG(便携式网络图形)和JPEG(联合图像专家组)这样的编码技术中的一种,然后通过所选择的编码技术对改变后的区域执行静止图像编码。
此后,服务器900可以执行将经静止图像编码的改变后的区域流传送930至用户的终端装置,因此提供基于静止图像的云端流媒体服务。在这种情况下,执行流传送 930的处理可以与图8中示出的发送单元830的操作流程对应。
此后,用户的终端装置对接收到的数据执行渲染940,并因此向用户显示程序画面910,好像响应于用户输入而在应用中执行的程序画面是在用户的终端装置处执行一样。
图10是根据本发明的实施方式的云端流媒体服务中的捕获改变后的区域的处理的示图。
参照图10,根据本发明的实施方式的基于静止图像的云端流媒体服务可以将第一帧1010与第二帧1020进行比较,然后只捕获改变后的区域1030并且对其进行编码。
例如,假定第一帧1010和第二帧1020中的区域B、C、D和E是菜单显示。在第一帧1010中,光标位于区域C处,使得区域C可以被高亮,以与其它区域B、D 和E区分开。在第二帧1020中,光标从区域C移至区域E,使得区域E可以被高亮,以与其它区域B、C和D区分开。
在这种情况下,作为第一帧1010和第二帧1020之间的比较结果,可以仅捕获区域C和D作为改变后的区域1030。另外,服务器可以通过考虑是否存在与改变后的区域1030对应的图像特征信息来选择编码技术,然后通过使用所选择的编码技术对改变后的区域1030执行静止图像编码。
典型的云端流媒体服务可以通过与帧速率对应地捕获包括与必定发生改变的第一帧1010和第二帧1020的所有帧来执行编码。然而,基于静止图像的云端流媒体服务只捕获改变后的区域1030并且通过静止图像压缩技术对其进行编码,因此与不必要地捕获许多帧和此帧的整个画面的典型云端流媒体服务相比,提高了服务效率。
图11是例示根据本发明的实施方式的使用源信息的云端流媒体服务方法的流程图。
参照图11,根据本发明的实施方式的使用源信息的云端流媒体服务方法捕获改变后的帧中包含的改变后的区域(S1110)。基于视频编解码器的云端流媒体技术可以捕获与应用正在其上运行的画面对应的所有帧并且对其进行编码。然而,如果画面上的帧之间存在较小的改变,则服务器可以通过只捕获与前一帧相比改变后的帧的改变后的区域来执行静止图像编码。因此,用户的终端装置可以固定地显示未改变的区域,并且只动态地显示改变后的区域。
在这种情况下,可以捕获和与前一帧对应的画面区域不同的与改变后的帧对应的画面区域的特定区域作为改变后的区域。例如,如果相对于前一帧的对应区域发生改变的改变后的帧的区域是区域A,则可以只捕获改变后的帧的画面区域中的区域A 作为改变后的区域。根据在用户的终端装置处输入的输入信号,此改变后的区域可以具有各种大小,并且与改变后的区域对应的图像可以具有各种类型。
在这种情况下,可以在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且可以在检测到的片段中捕获改变后的区域。
此时,通过识别从用户的终端装置发生的应用的事件类型,可以检测到具有较小帧改变的此片段。例如,根据用户的终端装置的输入信号,可以确定应用的事件类型。根据输入信号,可能出现当执行应用时具有较小帧改变的诸如菜单、选项或通知窗口这样的静态事件或者具有经常改变的帧的诸如视频回放或玩游戏这样的动态事件。因此,能够从用户的终端装置的输入信号来识别事件类型,并且如果事件类型是静态事件,则能够从与事件对应的所有帧中检测具有较小帧改变的片段。
另外,根据本发明的实施方式的使用源信息的云端流媒体服务方法通过考虑是否存在与改变后的区域对应的图像特征信息来确定编码技术,并且使用该编码技术对改变后的区域执行静止图像编码(S1120)。例如,可以根据与改变后的区域对应的图像的特征来确定编码技术,并且可以基于通过图像处理进行的分析的结果来提取这些图像特征。然而,图像处理需要使用云端流媒体服务器的资源,并且这样会造成系统负载增大。因此,如果存在包括关于与改变后的区域对应的图像的特征的信息的图像特征信息,则云端流媒体服务器可以通过使用该信息来确定编码技术,并因此能够节省其资源。
在这种情况下,可以基于应用源代码来创建图像特征信息或者使用MPEG纹理描述子来创建图像特征信息。
应用源代码或MPEG纹理描述子可以包括关于响应于用户的请求而输出的应用结果画面的配置信息或者用于指示关于构成应用结果画面的组件的特征的描述子。
例如,在应用源代码的情况下,可以提取诸如JPG、GIF和PNG这样的与改变后的区域对应的图像文件的扩展或者与使用诸如高度和宽度这样的命令的图像的大小对应的特征。另外,在MPEG纹理描述子的情况下,可以使用纹理描述子连同颜色、轮廓、对象或相机的运动等一起来创建图像特征信息,该图像特征信息涉及 MPEG-7标准视野中的重要视觉特征。
另外,图像特征信息可以指示关于对应帧的整个区域的、关于帧中的改变后的区域的、或者关于改变后的区域中的部分区域的(即,关于正常区域或图片区域的)特征和配置信息。
因此,如果能够使用此图像特征信息,则可以在不对与改变后的区域对应的图像进行分析的情况下容易地提取包括图像大小、图像分辨率和图像类型的各种特征。
如果存在图像特征信息,则服务器可以基于图像特征信息来确定编码技术。如果不存在图像特征信息,则服务器可以通过对与改变后的区域对应的图像进行分析来确定编码技术。例如,如果存在与改变后的区域对应的图像特征信息,则服务器可以通过使用图像特征信息来提取与改变后的区域对应的诸如图像大小、图像分辨率和图像类型这样的图像特征。然后,服务器可以通过所提取的图像特征来确定编码技术。如果不存在图像特征信息,则服务器可以执行图像处理过程,并因此提取关于与改变后的区域对应的图像的诸如图像大小、图像分辨率和图像类型这样的图像特征。
除了图像大小、图像分辨率和图像类型之外,还可以从图像特征信息中提取其它各种类型的图像特征或者通过图像处理来提取其它各种类型的图像特征。
编码技术可以与PNG(便携式网络图形)、调色板PNG(便携式网络图形)和 JPEG(联合图像专家组)中的一种对应。PNG静止图像压缩技术可以得到质量良好的图像,但是会致使编码时数据大小增加。因此,如果传输网络的带宽小,则传输速度会降低。调色板PNG静止图像压缩技术会因为编码时图像的数据大小减小而保证传输速度,但是会因为颜色是用8位来表示的而致使图像质量劣化。JPEG静止图像压缩技术具有良好的压缩效率,并因此能够显著减少编码时传输数据的量,但是会因为编码和解码时的高压缩效率而致使系统负载大。
服务器可以通过对与改变后的区域对应的图像进行分析来将改变后的区域识别为正常区域和图片区域中的一个,然后通过考虑正常区域的图像处理结果和图片区域的图像类型中的至少一个来确定编码技术。例如,图片区域可以是由与诸如JPEG、 PNG和GIF这样的图像格式对应的文件形成的区域,并且正常区域可以是改变后的区域中的除了图片区域以外的区域。因此,在图片区域的情况下,基于图像格式给出特征。在正常区域的情况下,能够在确定正常区域是所捕获的图像时通过图像处理来确定特征。
图像类型可以与自然图像和合成图像中的一种对应。自然图像可以是指诸如照片或图片这样的图像,并且合成图像可以是通过许多图像的混合而形成的图像。
如果图像类型是自然图像,则从执行编码时的压缩效率来看,JPEG编码技术可以更有效。如果图像类型是合成图像,则能够减小数据大小的调色板PNG编码技术可以在编码方面是有效的。
另外,根据本发明的实施方式的使用源信息的云端流媒体服务方法通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务(S1130)。通过向用户的终端装置发送通过编码被压缩的改变后的区域,用户能够体验到好像应用正在用户的终端装置处执行一样。
图12是详细例示根据本发明的实施方式的使用源信息的云端流媒体服务方法的流程图。
参照图12,在根据本发明的实施方式的使用源信息的云端流媒体服务方法中,云端流媒体服务器捕获改变后的帧中包含的改变后的区域(S1210)。
在这种情况下,可以捕获和与前一帧对应的画面区域不同的与改变后的帧对应的画面区域的特定区域作为改变后的区域。在这种情况下,可以在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且可以在检测到的片段中捕获改变后的区域。此时,通过识别从用户的终端装置发生的应用的事件类型,可以检测到具有较小帧改变的此片段。
此后,服务器确定是否存在与改变后的区域对应的图像特征信息(S1215)。
在这种情况下,可以基于应用源代码来创建图像特征信息或者使用MPEG纹理描述子来创建图像特征信息。
如果在步骤S1215中确定存在图像特征信息,则服务器基于图像特征信息来确定编码技术(S1220)。
如果在步骤S1215中确定不存在图像特征信息,则服务器对与改变后的区域对应的图像进行分析(S1230),并且通过考虑分析的结果来确定编码技术(S1240)。
编码技术可以与PNG(便携式网络图形)、调色板PNG(便携式网络图形)和 JPEG(联合图像专家组)中的一种对应。
此后,服务器通过使用所确定的编码技术对改变后的区域执行静止图像编码(S1250)。
此后,服务器通过向用户递送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务(S1260)。
图13是例示根据本发明的另一个实施方式的云端流媒体服务系统的框图。
参照图13,根据本发明的另一个实施方式的云端流媒体服务系统包括云端流媒体服务器1310、终端装置1320-1至1320-N和网络1330。
云端流媒体服务器1310响应于终端装置1320-1至1320-N对云端流媒体服务的请求而执行应用,并且向终端装置1320-1至1320-N提供与执行应用的结果对应的执行结果画面。
云端流媒体服务器1310捕获与前一帧相比改变后的帧中包含的改变后的区域。即,相比于与前一帧对应的画面,可以捕获与改变后的帧对应的画面中的不同区域作为改变后的区域。在这种情况下,服务器可以检测待发送到终端装置1320-1至1320-N 的所有帧中有较小帧改变的片段,然后捕获所检测到的片段中的改变后的区域。此时,通过识别在终端装置1320-1至1320-N处发生的应用的事件类型,可以检测具有较小帧改变的此片段。
另外,云端流媒体服务器1310通过考虑与改变后的区域对应的图像特征和图像分辨率中的一个或更多个来选择编码处理单元,并且通过使用该编码处理单元来与一帧对应地对改变后的区域执行静止图像编码。在这种情况下,编码处理单元可以是中央处理单元(CPU)和图形处理单元(GPU)中的一个。在这种情况下,服务器可以通过考虑图像特征和图像分辨率中的一个或更多个来预测CPU和GPU中的每一个的编码处理成本,并且通过从CPU和GPU当中选择预测编码处理成本较低的编码处理单元来对改变后的区域执行静止图像编码。如果与改变后的区域对应的图像分辨率等于或大于预定参考值,则服务器可以通过使用GPU对改变后的区域执行静止图像编码。如果与改变后的区域对应的图像分辨率小于预定参考值,则服务器可以通过根据图像特征考虑静止图像压缩技术来选择编码处理单元。如果图像分辨率小于预定参考值并且如果静止图像压缩技术是调色板PNG,则服务器可以通过使用GPU对改变后的区域执行静止图像编码。
另外,云端流媒体服务器1310向用户发送经静止图像编码的改变后的区域,因此执行基于静止图像的云端流媒体服务。
终端装置1320-1至1320-N从云端流媒体服务器1310接收与云端流媒体服务对应的应用执行结果画面,然后将其提供给用户。
终端装置1320-1至1320-N与通信网络连接,并且基于云计算系统,可以执行应用。终端装置可以是但不限于移动通信终端、诸如信息通信装置的各种装置、多媒体装置、有线装置、固定装置和网际协议(IP)装置。另外,终端装置1320-1至1320-N 中的每一个可以是诸如移动电话、便携式多媒体播放器(PMP)、移动互联网装置 (MID)、智能电话、台式机、平板PC、笔记本、上网本、个人数字助理(PDA)、智能电话和信息通信装置这样的具有各种移动通信规范的移动装置。
网络1330供应将数据在云端流媒体服务器1310和终端装置1320-1至1320-N之间递送的路线,包括通常使用的网络和任何今后可开发的网络。例如,网络1330可以是用于在有限区域内提供各种信息装置的通信的有线/无线短距离通信网络、用于提供移动实体之间以及移动实体和该移动实体外的任何其它实体之间的通信的移动通信网络、使用卫星来提供地面站之间的通信的卫星通信网络、有线/无线通信网络中的一种或其任何组合。此外,用于网络1330的发送方案标准不限于现有的发送方案标准,并且可以包括今后待开发的所有发送方案标准。另外,图13中的云端流媒体服务器1310和终端装置1320-1至1320-N之间使用的网络可以与终端装置1320-1 至1320-N之间的网络不同或相同。
图14是例示图13中示出的云端流媒体服务器的示例的框图。
参照图14,图13中示出的云端流媒体服务器1310包括捕获单元1410、编码单元1420、发送单元1430和存储单元1440。
在通过只检测改变后的区域而执行的图像云端流媒体服务中,可以使用中央处理单元(CPU)或图形处理单元(GPU)来执行图像编码。虽然需要CPU和GPU的合适组合来提供最佳的图像云端流媒体服务,但是典型的云端流媒体服务仅仅使用单个单元进行编码。因此,本发明提出了能够基于与改变后的区域相关的特征来选择性地使用适于情形的编码处理单元的更高效的图像云端流媒体服务。
捕获单元1410捕获与前一帧相比改变后的帧中包含的改变后的区域。基于视频编解码器的云端流媒体技术可以捕获与应用正在其上运行的画面对应的所有帧并且对其进行编码。然而,如果画面上的帧之间存在较小的改变,则捕获单元可以通过只捕获与前一帧相比改变后的帧的改变后的区域来执行静止图像编码。因此,用户的终端装置可以固定地显示未改变的区域,并且只动态地显示改变后的区域。
在这种情况下,可以捕获和与前一帧对应的画面区域不同的与改变后的帧对应的画面区域的特定区域作为改变后的区域。例如,如果相对于前一帧的对应区域发生改变的改变后的帧的区域是区域A,则可以只捕获改变后的帧的画面区域中的区域A 作为改变后的区域。根据在用户的终端装置处输入的输入信号,此改变后的区域可以具有各种分辨率,并且与改变后的区域对应的图像可以具有各种图像类型。
在这种情况下,可以在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且可以在检测到的片段中捕获改变后的区域。
此时,通过识别从用户的终端装置发生的应用的事件类型,可以检测到具有较小帧改变的此片段。例如,根据用户的终端装置的输入信号,可以确定应用的事件类型。根据输入信号,可能出现当执行应用时具有较小帧改变的诸如菜单、选项或通知窗口这样的静态事件或者具有经常改变的帧的诸如视频回放或玩游戏这样的动态事件。因此,能够从用户的终端装置的输入信号来识别事件类型,并且如果事件类型是静态事件,则能够从与事件对应的所有帧中检测具有较小帧改变的片段。
编码单元1420通过考虑与改变后的区域对应的图像特征和图像分辨率中的一个或更多个来选择编码处理单元,然后通过使用所选择的编码处理单元来与一帧对应地对改变后的区域执行静止图像编码。
编码处理单元可以是中央处理单元(CPU)和图形处理单元(GPU)中的一个。
作为计算机的基本部件的CPU可以对指令进行解码,并且执行算术逻辑运算或数据处理。因此,计算速度、将要一次性处理的数据量、主存储区的大小等可以很大程度上取决于CPU的性能。在通过CPU对改变后的区域进行编码的情况下,能够直接执行编码而不将待编码的数据递送到任何其它单元,因此没有导致与数据递送关联的成本。然而,如果与改变后的区域对应的图像具有较高的分辨率,则执行编码会花费长的时间。具体地,在诸如用调色板PNG静止图像压缩技术来执行颜色量化处理这样的重复简单计算的情况下,编码时间会增加。
CPU是专用于3D图形操作的处理器,该处理器已经被开发成处理各种光源效果和纹理呈现技术,以在引入3D图形之后使显示画面更逼真。GPU可以有效进行重复简单计算或者对具有较大分辨率的图像进行编码。然而,通过GPU对改变后的区域进行编码需要从CPU接收待编码的数据,然后将编码后的数据返回至CPU。这样会导致额外的成本。
在这种情况下,服务器可以通过考虑图像特征和图像分辨率中的一个或更多个来预测针对CPU和GPU中的每一个的编码处理成本,并且通过从CPU和GPU当中选择预测编码处理成本较低的编码处理单元来对改变后的区域执行静止图像编码。例如,为了对改变后的区域A执行编码,服务器可以确定与改变后的区域A对应的图像特征和图像分辨率。然后,基于针对改变后的区域A确定的图像特征和图像分辨率,服务器可以预测当将通过CPU和GPU中的每一个执行编码时将导致的编码处理成本。在这二者之中,可以选择预测编码处理成本较低的编码处理单元对改变后的区域A执行编码。
另外,服务器可以在执行编码之后创建编码处理成本的统计。例如,服务器可以定义云端流媒体服务中的特定单元时间段,并且通过使用所存储的关于针对各单元时间段的编码处理成本的信息来更新编码处理成本的统计。编码处理成本的统计可以被创建作为图像特征、图像分辨率和编码处理单元中的每一个的详细统计信息。基于所创建的统计信息,能够使用选择性编码处理单元来确保云端流媒体服务方法的可靠性。
如果与改变后的区域对应的图像分辨率等于或大于预定参考值,则服务器可以通过使用GPU对改变后的区域执行静止图像编码。
分辨率可以指示使用多少像素或点来呈现图像。通常,分辨率的单位是指示每英寸使用多少像素的ppi(每英寸的像素)和指示每英寸使用多少点的dpi(每英寸的点)。随着像素或点的数目越大,可以呈现分辨率越高的精确图像。即,分辨率越高,图像越清楚且越清晰。然而,这因为每英寸的点增加而需要用于处理图像的高容量存储器,因此导致计算机处理速度较慢。例如,当通过CPU对具有高分辨率的图像进行编码时,编码处理时间会增加,这样导致编码处理成本高。
因此,当与改变后的区域对应的图像分辨率等于或大于预定参考值时,相比于通过CPU进行编码,服务器可以通过利用GPU进行编码来节省编码处理成本。
如果与改变后的区域对应的图像分辨率小于预定参考值,则服务器可以通过根据与改变后的区域对应的图像特征考虑静止图像压缩技术来选择编码处理单元。如果与改变后的区域对应的图像分辨率小于预定参考值,则CPU可以在不需要向GPU递送待编码数据的情况下执行编码。然而,即使图像分辨率低,也可以根据按照与改变后的区域对应的图像特征而选择的静止图像压缩技术来重复简单计算。因此,服务器可以通过进一步考虑改变后的区域的图像类型来选择编码处理单元。
另外,可以根据与改变后的区域对应的诸如图像大小或图像类型这样的图像特征来确定静止图像压缩技术。
在这种情况下,静止图像压缩技术可以与PNG(便携式网络图形)、调色板PNG (便携式网络图形)和JPEG(联合图像专家组)中的一种对应。PNG静止图像压缩技术可以得到质量良好的图像,但是会致使编码时数据大小增加。因此,如果传输网络的带宽小,则传输速度会降低。调色板PNG静止图像压缩技术会减小数据大小,但是会致使图像质量降低。具体地,因为用于减小数据大小的颜色量化处理,可能涉及重复简单计算的处理。JPEG静止图像压缩技术可以根据图像类型而具有良好的压缩效率,但是会因为编码和解码时的高压缩效率而致使负载大。
如果图像分辨率小于预定参考值并且如果静止图像压缩技术是调色板PNG,则服务器可以通过使用GPU对改变后的区域执行静止图像编码。例如,如果考虑到改变后的区域的图像特征而使用调色板PNG静止图像压缩技术来执行编码,则编码处理时间会因为诸如颜色量化这样的简单计算的重复而增加。因此,在这种情况下,相比于使用CPU进行编码,可以通过使用GPU进行编码来用较少的编码处理成本执行云端流媒体服务。
发送单元1430通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。即,通过向用户的终端装置发送通过编码被压缩的改变后的区域,用户能够体验到好像应用正在用户的终端装置处执行一样。
根据本发明的实施方式,存储单元1440存储在云端流媒体服务处理中创建的以上讨论的各种类型的信息。
根据实施方式,存储单元1440可以独立于云端流媒体服务器1310形成,并且支持云端流媒体服务的功能。在这种情况下,存储单元1440可以如同单独的高容量存储器一样操作并且包括针对该操作的控制功能。
另外,以上讨论的云端流媒体服务器1310还可以通过一个或更多个服务器来实现。
此外,云端流媒体服务器1310具有可以存储信息的存储器。在实施方式中,存储器是计算机可读介质。存储器可以在一个实施方式中是易失性存储器单元而在另一个实施方式中是非易失性存储器单元。在实施方式中,存储单元是计算机可读介质。在各种不同的实施方式中,存储单元可以包括硬盘装置、光盘装置、或任何其它高容量的存储装置。
图15是例示基于静止图像的云端流媒体系统的另一个示例的示图。
参照图15,服务器1500可以响应于从用户的终端装置接收到的用户输入而执行程序画面1510并且执行画面捕获。在这种情况下,服务器1500可以是云端流媒体服务器或网络应用服务器。执行程序画面1510和执行画面捕获的处理可以与图14中示出的捕获单元1410的操作流程对应。
服务器1500可以通过静止图像压缩技术对捕获的程序画面1510执行图像编码1520。在这种情况下,执行图像编码1520的处理可以与图14中示出的编码单元1420 的操作流程对应。
在这种情况下,服务器可以通过将改变后的帧与前一帧进行比较来只捕获改变后的区域。另外,服务器可以通过考虑改变后的区域的图像特征和与改变后的区域对应的图像分辨率来选择CPU和GPU中的一个,然后通过使用所选择的编码处理单元对改变后的区域执行静止图像编码。
此后,服务器1500可以执行将经静止图像编码的改变后的区域流传送1530至用户的终端装置,因此提供基于静止图像的云端流媒体服务。在这种情况下,执行流传送1530的处理可以与图14中示出的发送单元1430的操作流程对应。
此后,用户的终端装置对接收到的数据执行渲染1540,并因此向用户显示程序画面1510,好像响应于用户输入而在应用中执行的程序画面是在用户的终端装置处执行一样。
图16是例示根据本发明的实施方式的编码处理单元的示图。
参照图16,根据本发明的实施方式的编码处理单元可以被分类为中央处理单元(CPU)1610和图形处理单元(GPU)1620。
作为计算机的基本部件的CPU 1610可以对指令进行解码,并且执行算术逻辑运算或数据处理。因此,计算速度、将要一次性处理的数据量、主存储区的大小等可以很大程度上取决于CPU的性能。在通过CPU对改变后的区域进行编码的情况下,能够直接执行编码而不将待编码的数据递送到任何其它单元,因此没有导致与数据递送关联的成本。然而,如果与改变后的区域对应的图像具有较高的分辨率,则执行编码会花费长的时间。具体地,在诸如用调色板PNG静止图像压缩技术来执行颜色量化处理这样的重复简单计算的情况下,编码时间会增加。
CPU 1620是专用于3D图形操作的处理器,该处理器已经被开发成处理各种光源效果和纹理呈现技术,以在引入3D图形之后使显示画面更逼真。GPU可以有效进行重复简单计算或者对具有较大分辨率的图像进行编码。然而,通过GPU对改变后的区域进行编码需要从CPU接收待编码的数据,然后将编码后的数据返回至CPU。这样会导致额外的成本。
如图16中所示,CPU 1610和CPU 1620可以独立地存在于服务器1600中。与图16相反,CPU 1610和CPU 1620可以被联合成单个设备,或者GPU 1620可以被包含在GPU 1610中。任何其它配置可以是可能的。
另外,CPU 1610和CPU 1620可以彼此连接,以发送和接收数据。
图17是例示根据本发明的另一个实施方式的云端流媒体服务中的捕获改变后的区域的处理的示图。
参照图17,根据本发明的实施方式的基于静止图像的云端流媒体服务可以将第一帧1710与第二帧1720进行比较,然后只捕获改变后的区域1730并且对其进行编码。
例如,假定第一帧1710和第二帧1720中的区域B、C、D和E是菜单显示。在第一帧1710中,光标位于区域C处,使得区域C可以被高亮,以与其它区域B、D 和E区分开。在第二帧1720中,光标从区域C移至区域D,使得区域D可以被高亮,以与其它区域B、C和E区分开。
在这种情况下,作为第一帧1710和第二帧1720之间的比较结果,可以仅捕获区域C和D作为改变后的区域1730。另外,服务器可以通过考虑改变后的区域1730 的图像分辨率和与改变后的区域1730对应的图像类型来选择编码处理单元,然后通过使用所选择的编码处理单元对改变后的区域1730执行静止图像编码。
典型的云端流媒体服务可以通过与帧速率对应地捕获包括与必定发生改变的第一帧1710和第二帧1720的所有帧来执行编码。然而,基于静止图像的云端流媒体服务只捕获改变后的区域1730并且通过静止图像压缩技术对其进行编码,因此与不必要地捕获许多帧和此帧的整个画面的典型云端流媒体服务相比,提高了服务效率。
图18是例示根据本发明的实施方式的使用选择性编码处理单元的云端流媒体服务方法的流程图。
参照图18,根据本发明的实施方式的使用选择性编码处理单元的云端流媒体服务方法捕获与前一帧相比改变后的帧中包含的改变后的区域(S1810)。基于视频编解码器的云端流媒体技术可以捕获与应用正在其上运行的画面对应的所有帧并且对其进行编码。然而,如果画面上的帧之间存在较小的改变,则服务器可以通过只捕获与前一帧相比改变后的帧的改变后的区域来执行静止图像编码。因此,用户的终端装置可以固定地显示未改变的区域,并且只动态地显示改变后的区域。
在这种情况下,可以捕获和与前一帧对应的画面区域不同的与改变后的帧对应的画面区域的特定区域作为改变后的区域。例如,如果相对于前一帧的对应区域发生改变的改变后的帧的区域是区域A,则可以只捕获改变后的帧的画面区域中的区域A 作为改变后的区域。根据在用户的终端装置处输入的输入信号,此改变后的区域可以具有各种大小,并且与改变后的区域对应的图像可以具有各种类型。
在这种情况下,可以在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且可以在检测到的片段中捕获改变后的区域。
此时,通过识别从用户的终端装置发生的应用的事件类型,可以检测到具有较小帧改变的此片段。例如,根据用户的终端装置的输入信号,可以确定应用的事件类型。根据输入信号,可能出现当执行应用时具有较小帧改变的诸如菜单、选项或通知窗口这样的静态事件或者具有经常改变的帧的诸如视频回放或玩游戏这样的动态事件。因此,能够从用户的终端装置的输入信号来识别事件类型,并且如果事件类型是静态事件,则能够从与事件对应的所有帧中检测具有较小帧改变的片段。
另外,根据本发明的实施方式的使用选择性编码处理单元的云端流媒体服务方法通过考虑与改变后的区域对应的图像特征和图像分辨率中的一个或更多个来选择编码处理单元,然后通过使用所选择的编码处理单元来与一帧对应地对改变后的区域执行静止图像编码(S1820)。
编码处理单元可以是中央处理单元(CPU)和图形处理单元(GPU)中的一个。
作为计算机的基本部件的CPU可以对指令进行解码,并且执行算术逻辑运算或数据处理。因此,计算速度、将要一次性处理的数据量、主存储区的大小等可以很大程度上取决于CPU的性能。在通过CPU对改变后的区域进行编码的情况下,能够直接执行编码而不将待编码的数据递送到任何其它单元,因此没有导致与数据递送关联的成本。然而,如果与改变后的区域对应的图像具有较高的分辨率,则执行编码会花费长的时间。具体地,在诸如用调色板PNG静止图像压缩技术来执行颜色量化处理这样的重复简单计算的情况下,编码时间会增加。
CPU是专用于3D图形操作的处理器,该处理器已经被开发成处理各种光源效果和纹理呈现技术,以在引入3D图形之后使显示画面更逼真。GPU可以有效进行重复简单计算或者对具有较大分辨率的图像进行编码。然而,通过GPU对改变后的区域进行编码需要从CPU接收待编码的数据,然后将编码后的数据返回至CPU。这样会导致额外的成本。
在这种情况下,服务器可以通过考虑图像特征和图像分辨率中的一个或更多个来预测针对CPU和GPU中的每一个的编码处理成本,并且通过从CPU和GPU当中选择预测编码处理成本较低的编码处理单元来对改变后的区域执行静止图像编码。例如,为了对改变后的区域A执行编码,服务器可以确定与改变后的区域A对应的图像特征和图像分辨率。然后,基于针对改变后的区域A确定的图像特征和图像分辨率,服务器可以预测当将通过CPU和GPU中的每一个执行编码时将导致的编码处理成本。在这二者之中,可以选择预测编码处理成本较低的编码处理单元对改变后的区域A执行编码。
另外,服务器可以在执行编码之后创建编码处理成本的统计。例如,服务器可以定义云端流媒体服务中的特定单元时间段,并且通过使用所存储的关于针对各单元时间段的编码处理成本的信息来更新编码处理成本的统计。编码处理成本的统计可以被创建作为图像特征、图像分辨率和编码处理单元中的每一个的详细统计信息。基于所创建的统计信息,能够使用选择性编码处理单元来确保云端流媒体服务方法的可靠性。
如果与改变后的区域对应的图像分辨率等于或大于预定参考值,则服务器可以通过使用GPU对改变后的区域执行静止图像编码。
分辨率可以指示使用多少像素或点来呈现图像。通常,分辨率的单位是指示每英寸使用多少像素的ppi(每英寸的像素)和指示每英寸使用多少点的dpi(每英寸的点)。随着像素或点的数目越大,可以呈现分辨率越高的精确图像。即,分辨率越高,图像越清楚且越清晰。然而,这因为每英寸的点增加而需要用于处理图像的高容量存储器,因此导致计算机处理速度较慢。例如,当通过CPU对具有高分辨率的图像进行编码时,编码处理时间会增加,这样导致编码处理成本高。
因此,当与改变后的区域对应的图像分辨率等于或大于预定参考值时,相比于通过CPU进行编码,服务器可以通过利用GPU执行编码来节省编码处理成本。
如果与改变后的区域对应的图像分辨率小于预定参考值,则服务器可以通过根据与改变后的区域对应的图像特征考虑静止图像压缩技术来选择编码处理单元。如果与改变后的区域对应的图像分辨率小于预定参考值,则CPU可以在不需要向GPU递送待编码数据的情况下执行编码。然而,即使图像分辨率低,也可以根据按照与改变后的区域对应的图像特征而选择的静止图像压缩技术来重复简单计算。因此,服务器可以通过进一步考虑改变后的区域的图像类型来选择编码处理单元。
另外,可以根据与改变后的区域对应的诸如图像大小或图像类型这样的图像特征来确定静止图像压缩技术。
在这种情况下,静止图像压缩技术可以与PNG(便携式网络图形)、调色板PNG (便携式网络图形)和JPEG(联合图像专家组)中的一种对应。PNG静止图像压缩技术可以得到质量良好的图像,但是会致使编码时数据大小增加。因此,如果传输网络的带宽小,则传输速度会降低。调色板PNG静止图像压缩技术会减小数据大小,但是会致使图像质量降低。具体地,因为用于减小数据大小的颜色量化处理,可能涉及重复简单计算的处理。JPEG静止图像压缩技术可以根据图像类型而具有良好的压缩效率,但是会因为编码和解码时的高压缩效率而致使负载大。
如果图像分辨率小于预定参考值并且如果静止图像压缩技术是调色板PNG,则服务器可以通过使用GPU对改变后的区域执行静止图像编码。例如,如果考虑到改变后的区域的图像特征而使用调色板PNG静止图像压缩技术来执行编码,则编码处理时间会因为诸如颜色量化这样的简单计算的重复而增加。因此,在这种情况下,相比于使用CPU进行编码,可以通过使用GPU进行编码来用较少的编码处理成本执行云端流媒体服务。
另外,根据本发明的实施方式的使用选择性编码处理单元的云端流媒体服务方法通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务(S1830)。通过向用户的终端装置发送通过编码被压缩的改变后的区域,用户能够体验到好像应用正在用户的终端装置处执行一样。
此外,虽然在图18中未示出,但是根据本发明的实施方式的使用选择性编码处理单元的云端流媒体服务方法可以存储在云端流媒体服务处理中创建的各种类型的信息。
图19是详细例示根据本发明的实施方式的使用选择性编码处理单元的云端流媒体服务方法的流程图。
参照图19,在根据本发明的实施方式的使用编码处理单元的云端流媒体服务方法中,云端流媒体服务器捕获与前一帧相比改变后的帧中包含的改变后的区域 (S1910)。
此后,服务器确定与改变后的区域对应的图像的分辨率是否等于或大于预定参考值(S1915)。
如果在步骤S1915中确定图像分辨率等于或大于参考值,则服务器通过GPU对改变后的区域进行编码(S1920)。
如果在步骤S1915中确定图像分辨率小于参考值,则服务器确定用于对改变后的区域进行编码的静止图像压缩技术是否是调色板PNG静止图像压缩技术(S1925)。
如果在步骤S1925中确定用于对改变后的区域进行编码的静止图像压缩技术是调色板PNG静止图像压缩技术,则服务器通过GPU对改变后的区域进行编码 (S1920)。
如果在步骤S1925中确定用于对改变后的区域进行编码的静止图像压缩技术不是调色板PNG静止图像压缩技术,则服务器通过GPU对改变后的区域进行编码 (S1930)。此时,用于对改变后的区域进行编码的静止图像压缩技术可以与PNG静止图像压缩技术和JPEG静止图像压缩技术中的一种对应。
此后,服务器通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务(S1940)。
图20是例示根据本发明的另一个实施方式的云端流媒体服务系统的框图。
参照图20,根据本发明的实施方式的云端流媒体服务系统包括云端流媒体服务器2010、终端装置2020-1至2020-N和网络2030。
云端流媒体服务器2010响应于终端装置2020-1至2020-N对云端流媒体服务的请求而执行应用,并且向终端装置2020-1至2020-N提供与执行应用的结果对应的执行结果画面。
云端流媒体服务器2010捕获改变后的帧中包含的改变后的区域。即,相比于与前一帧对应的画面,可以捕获与改变后的帧对应的画面中的不同区域作为改变后的区域。在这种情况下,服务器可以检测待发送到终端装置2020-1至2020-N的所有帧中有较小帧改变的片段,然后捕获所检测到的片段中的改变后的区域。此时,通过识别在终端装置2020-1至2020-N处发生的应用的事件类型,可以检测具有较小帧改变的此片段。
另外,云端流媒体服务器2010将针对改变后的区域的编码处理划分成多个单元处理,将所述单元处理中的至少一个分配给图形处理单元(GPU),将剩余的单元处理分配给中央处理单元(CPU),并且为了对改变后的区域进行静止图像编码而执行编码处理。在这种情况下,单元处理中的每一个可以与图像分析、静止图像压缩技术确定、静止图像压缩和压缩数据收集中的一个对应。服务器可以基于与图像分析和静止图像压缩技术确定对应的处理结果来将与静止图像压缩对应的单元处理分配给 GPU。静止图像压缩可以包括针对与改变后的区域对应的图像进行的颜色直方图构造、调色板创建、基于调色板的原始颜色量化和基于调色板的编码中的至少一种。 GPU可以向CPU递送与静止图像压缩对应的处理结果。CPU可以通过使用与静止图像压缩对应的处理结果来执行与压缩数据收集对应的单元处理。当与静止图像压缩对应的单元处理被分配给GPU时,CPU可以向GPU递送与改变后的区域对应的图像数据。
另外,云端流媒体服务器2010向用户发送经静止图像编码的改变后的区域,因此执行基于静止图像的云端流媒体服务。
终端装置2020-1至2020-N从云端流媒体服务器2010接收与云端流媒体服务对应的应用执行结果画面,然后将其提供给用户。
终端装置2020-1至2020-N与通信网络连接,并且基于云计算系统,可以执行应用。终端装置可以是但不限于移动通信终端、诸如信息通信装置的各种装置、多媒体装置、有线装置、固定装置和网际协议(IP)装置。另外,终端装置2020-1至2020-N 中的每一个可以是诸如移动电话、便携式多媒体播放器(PMP)、移动互联网装置 (MID)、智能电话、台式机、平板PC、笔记本、上网本、个人数字助理(PDA)、智能电话和信息通信装置这样的具有各种移动通信规范的移动装置。
网络2030供应将数据在云端流媒体服务器2010和终端装置2020-1至2020-N之间递送的路线,包括通常使用的网络和任何今后可开发的网络。例如,网络2030可以是用于在有限区域内提供各种信息装置的通信的有线/无线短距离通信网络、用于提供移动实体之间以及移动实体和该移动实体外的任何其它实体之间的通信的移动通信网络、使用卫星来提供地面站之间的通信的卫星通信网络、有线/无线通信网络中的一种或其任何组合。此外,用于网络2030的发送方案标准不限于现有的发送方案标准,并且可以包括今后待开发的所有发送方案标准。另外,图20中的云端流媒体服务器2010和终端装置2020-1至2020-N之间使用的网络可以与终端装置2020-1 至2020-N之间的网络不同或相同。
图21是例示图20中示出的云端流媒体服务器的示例的框图。
参照图21,图20中示出的云端流媒体服务器2010包括捕获单元2110、编码单元2120、发送单元2130和存储单元2140。
在通过只检测改变后的区域而执行的图像云端流媒体服务中,可以使用中央处理单元(CPU)或图形处理单元(GPU)来执行图像编码。虽然需要CPU和GPU的合适组合与所划分的编码处理一起来提供最佳的图像云端流媒体服务,但是典型的云端流媒体服务仅仅使用单个单元进行编码。因此,本发明提出了能够将编码处理划分成各自被分配给CPU或GPU的单元处理的更高效的图像云端流媒体服务。
捕获单元2110捕获改变后的帧中包含的改变后的区域。基于视频编解码器的云端流媒体技术可以捕获与应用正在其上运行的画面对应的所有帧并且对其进行编码。然而,如果画面上的帧之间存在较小的改变,则捕获单元可以通过只捕获与前一帧相比改变后的帧的改变后的区域来执行静止图像编码。因此,用户的终端装置可以固定地显示未改变的区域,并且只动态地显示改变后的区域。
在这种情况下,可以捕获和与前一帧对应的画面区域不同的与改变后的帧对应的画面区域的特定区域作为改变后的区域。例如,如果相对于前一帧的对应区域发生改变的改变后的帧的区域是区域A,则可以只捕获改变后的帧的画面区域中的区域A 作为改变后的区域。根据在用户的终端装置处输入的输入信号,此改变后的区域可以具有各种分辨率,并且与改变后的区域对应的图像可以具有各种图像类型。
在这种情况下,可以在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且可以在检测到的片段中捕获改变后的区域。
此时,通过识别从用户的终端装置发生的应用的事件类型,可以检测到具有较小帧改变的此片段。例如,根据用户的终端装置的输入信号,可以确定应用的事件类型。根据输入信号,可能出现当执行应用时具有较小帧改变的诸如菜单、选项或通知窗口这样的静态事件或者具有经常改变的帧的诸如视频回放或玩游戏这样的动态事件。因此,能够从用户的终端装置的输入信号来识别事件类型,并且如果事件类型是静态事件,则能够从与事件对应的所有帧中检测具有较小帧改变的片段。
编码单元2120将针对改变后的区域的编码处理划分成多个单元处理,将所述单元处理中的至少一个分配给图形处理单元(GPU),将剩余的单元处理分配给中央处理单元(CPU),并且为了对改变后的区域进行静止图像编码而执行编码处理。
当云端流媒体服务器对与改变后的区域对应的图像进行编码时,仅使用CPU的典型服务方法无法使用云端流媒体服务器的全部可用资源,并因此由于图像编码的时间延迟而会造成服务质量劣化。因此,为了解决典型服务方法的这种问题,本发明将编码处理划分成多个单元处理并且将相应的单元处理适当地分配给CPU和GPU。
在这种情况下,单元处理中的每一个可以与图像分析、静止图像压缩技术确定、静止图像压缩和压缩数据收集中的一个对应。图像分析可以是对与改变后的图像对应的图像的特征进行分析的处理。例如,编码单元可以对诸如图像大小、图像分辨率和图像类型这样的图像特征进行分析,然后使用它们作为用于执行高效编码的数据。
另外,通过执行与静止图像压缩技术确定对应的单元处理,编码单元可以在对改变后的区域执行压缩时更高效地使用云端流媒体服务器的资源。此后,编码单元可以通过使用与改变后的区域对应的至少一个图像的静止图像压缩的结果来执行与压缩数据收集对应的处理。
在这种情况下,编码单元可以基于与图像分析和静止图像压缩技术确定对应的处理结果来将与静止图像压缩对应的单元处理分配给GPU。例如,作为与图像分析和静止图像压缩技术确定对应的处理结果,可以将调色板PNG(便携式网络图形)静止图像压缩技术确定为用于对改变后的区域进行编码的静止图像压缩技术。在这种情况下,通过调色板PNG静止图像压缩技术执行静止图像编码的处理可以包括简单计算的重复或者将并行处理的计算处理。因此,在这种情况下,通过将这些单元处理当中的用于执行静止图像压缩的单元处理分配给GPU,编码单元可以节省编码时间,并因此高效地使用云端流媒体服务器的资源。
另外,不管与图像分析和静止图像压缩技术确定对应的处理结果如何,编码单元都可以根据系统设置通过GPU来执行与静止图像压缩对应的单元处理。如果云端流媒体系统只由CPU形成,则应该使用CPU来执行所有处理。这样会造成当向用户终端提供云端流媒体服务时发生延迟的概率高。因此,通过具有一个或更多个CPU、通过GPU执行与静止图像压缩对应的单元处理以及向CPU递送处理结果,编码单元可以降低云端流媒体系统的管理成本而且减少延迟。
在这种情况下,对于与改变后的区域对应的图像,静止图像压缩可以包括颜色直方图构造、调色板创建、基于调色板的原始颜色量化和基于调色板的编码中的一个或更多个处理。可以执行颜色直方图构造,以针对与改变后的区域对应的图像创建调色板。调色板创建可以是通过使用颜色直方图在使相对于原始图像(即,与改变后的区域对应的图像)的损失最小的情况下创建调色板的处理。基于所创建的调色板,编码单元可以通过用与调色板对应的颜色替换与改变后的区域对应的图像的颜色来执行原始颜色量化,然后执行基于调色板的编码。
GPU可以向CPU递送与静止图像压缩对应的处理结果。例如,GPU可以针对多个改变后的帧中包含的改变后的区域来执行与静止图像压缩对应的单元处理,并且将各处理结果递送到用于执行与压缩数据收集对应的单元处理的CPU。如此,当编码处理被划分成各自由CPU和GPU中的一个执行的单元处理时,会附加地出现用于递送处理结果的任何资源消耗成本。然而,因为从所划分的编码处理获得的资源效率益处大于可能附加导致的资源消耗成本,所以上述编码方法可以是更高效的。
在这种情况下,CPU可以通过使用与静止图像压缩对应的处理结果来执行与压缩数据收集对应的单元处理。例如,如果存在与通过GPU创建的静止图像压缩对应的多个处理结果,则编码单元可以收集相应的处理结果,即,压缩数据。因为本发明的目的是通过执行编码处理向用户的终端装置提供基于静止图像的云端流媒体服务,所以编码单元可以收集多个压缩数据并且执行编码处理,以向用户的终端装置提供服务。
如果与静止图像压缩对应的单元处理被分配给GPU,则CPU可以向GPU递送与改变后的区域对应的图像数据。根据与图像分析和静止图像压缩技术确定对应的单元处理的处理结果,可以确定与静止图像压缩对应的单元处理是否被分配给GPU。例如,在通过调色板PNG静止图像压缩技术将与改变后的区域对应的图像压缩为与图像分析和静止图像压缩技术确定对应的单元处理的处理结果的情况下,通过GPU 执行静止图像压缩可以比通过CPU执行静止图像压缩高效,因为存在简单计算的重复或者将并行处理的计算。因此,如果与静止图像压缩对应的单元处理被分配给 GPU,则待压缩的图像数据(即,与改变后的区域对应的图像数据)可以被递送到 GPU。
发送单元2130通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。即,通过向用户的终端装置发送通过编码被压缩的改变后的区域,用户能够体验到好像应用正在用户的终端装置处执行一样。
根据本发明的实施方式,存储单元2140存储在云端流媒体服务处理中创建的以上讨论的各种类型的信息。
根据实施方式,存储单元2140可以独立于云端流媒体服务器2010形成,并且支持云端流媒体服务的功能。在这种情况下,存储单元2140可以如同单独的高容量存储器一样操作并且包括针对该操作的控制功能。
另外,以上讨论的云端流媒体服务器2010还可以通过一个或更多个服务器来实现。
此外,云端流媒体服务器2010具有可以存储信息的存储器。在实施方式中,存储器是计算机可读介质。存储器可以在一个实施方式中是易失性存储器单元而在另一个实施方式中是非易失性存储器单元。在实施方式中,存储单元是计算机可读介质。在各种不同的实施方式中,存储单元可以包括硬盘装置、光盘装置、或任何其它高容量的存储装置。
图22是例示基于静止图像的云端流媒体系统的另一个示例的示图。
参照图22,服务器2200可以响应于从用户的终端装置接收到的用户输入而执行程序画面2210并且执行画面捕获。在这种情况下,服务器2200可以是云端流媒体服务器或网络应用服务器。执行程序画面2210和执行画面捕获的处理可以与图21中示出的捕获单元2110的操作流程对应。
服务器2200可以通过静止图像压缩技术对捕获的程序画面2210执行图像编码2220。在这种情况下,执行图像编码2220的处理可以与图21中示出的编码单元2120 的操作流程对应。
在这种情况下,服务器可以通过将改变后的帧与前一帧进行比较来只捕获改变后的区域。另外,服务器可以将针对改变后的区域的编码处理划分成多个单元处理,将所述单元处理中的至少一个分配给图形处理单元(GPU),将剩余的单元处理分配给中央处理单元(CPU),并且为了对改变后的区域进行静止图像编码而执行编码处理。
此后,服务器2200可以执行将经静止图像编码的改变后的区域流传送2230至用户的终端装置,因此提供基于静止图像的云端流媒体服务。在这种情况下,执行流传送2230的处理可以与图21中示出的发送单元2130的操作流程对应。
此后,用户的终端装置对接收到的数据执行渲染2240,并因此向用户显示程序画面2210,好像响应于用户输入而在应用中执行的程序画面是在用户的终端装置处执行一样。
图23是例示根据本发明的另一个实施方式的编码处理单元的示图。
参照图23,根据本发明的另一个实施方式的编码处理单元可以被分类为中央处理单元(CPU)2310和图形处理单元(GPU)2320。
作为计算机的基本部件的CPU 2310可以对指令进行解码并且执行算术逻辑运算或数据处理。因此,计算速度、将要一次性处理的数据量、主存储区的大小等可以很大程度上取决于CPU的性能。在通过CPU对改变后的区域进行编码的情况下,能够直接执行编码而不将待编码的数据递送到任何其它单元,因此没有导致与数据递送关联的成本。然而,如果在对与改变后的区域对应的图像进行编码的处理中包含简单计算的重复和适于并行处理的计算处理中的一个或更多个,则通过CPU 2310来执行编码会花费长时间。具体地,在通过调色板PNG静止图像压缩技术来执行编码的情况下,因为需要针对各帧图像来构造颜色直方图,基于颜色直方图来创建调色板,并且执行颜色量化,所以编码时间会低效地增加。
CPU 2320是专用于3D图形操作的处理器,该处理器已经被开发成处理各种光源效果和纹理呈现技术,以在引入3D图形之后使显示画面更逼真。即使存在简单计算的重复和适于并行处理的计算处理,服务器也可以通过GPU的处理能力高效地对改变后的区域进行编码。然而,通过GPU对改变后的区域进行编码需要从CPU接收待编码的数据,然后将编码后的数据返回至CPU。这样会导致额外的成本。
如图23中所示,CPU 2310和CPU 2320可以独立地存在于服务器2300中。与图23相反,CPU 2310和CPU 2320可以被联合为单个设备,或者GPU 2320可以被包含在GPU 2310中。任何其它配置可以是可能的。
另外,CPU 2310和CPU 2320可以彼此连接,以发送和接收数据。
图24是例示根据本发明的另一个实施方式的云端流媒体服务中的捕获改变后的区域的处理的示图。
参照图24,根据本发明的另一个实施方式的基于静止图像的云端流媒体服务可以将第一帧2410与第二帧2420进行比较,然后只捕获改变后的区域2430并且对其进行编码。
例如,假定第一帧2410和第二帧2420中的区域B、C、D和E是菜单显示。在第一帧2410中,光标位于区域C处,使得区域C可以被高亮,以与其它区域B、D 和E区分开。在第二帧2420中,光标从区域C移至区域D,使得区域D可以被高亮,以与其它区域B、C和E区分开。
在这种情况下,作为第一帧2410和第二帧2420之间的比较结果,可以仅捕获区域C和D作为改变后的区域2430。另外,服务器可以将针对改变后的区域的编码处理划分成多个单元处理,将所述单元处理中的至少一个分配给图形处理单元(GPU),将剩余的单元处理分配给中央处理单元(CPU),并且为了对改变后的区域2430进行静止图像编码而执行编码处理。
典型的云端流媒体服务可以通过与帧速率对应地捕获包括与必定发生改变的第一帧2410和第二帧2420的所有帧来执行编码。然而,基于静止图像的云端流媒体服务只捕获改变后的区域2430并且通过静止图像压缩技术对其进行编码,因此与不必要地捕获许多帧和此帧的整个画面的典型云端流媒体服务相比,提高了服务效率。
图25是例示根据本发明的实施方式的通过编码处理单元的任务分离进行的云端流媒体服务方法的流程图。
参照图25,根据本发明的实施方式的通过编码处理单元的任务分离进行的云端流媒体服务方法捕获改变后的帧中包含的改变后的区域(S2510)。基于视频编解码器的云端流媒体技术可以捕获与应用正在其上运行的画面对应的所有帧并且对其进行编码。然而,如果画面上的帧之间存在较小的改变,则服务器可以通过只捕获与前一帧相比改变后的帧的改变后的区域来执行静止图像编码。因此,用户的终端装置可以固定地显示未改变的区域,并且只动态地显示改变后的区域。
在这种情况下,可以捕获和与前一帧对应的画面区域不同的与改变后的帧对应的画面区域的特定区域作为改变后的区域。例如,如果相对于前一帧的对应区域发生改变的改变后的帧的区域是区域A,则可以只捕获改变后的帧的画面区域中的区域A 作为改变后的区域。根据在用户的终端装置处输入的输入信号,此改变后的区域可以具有各种大小,并且与改变后的区域对应的图像可以具有各种类型。
在这种情况下,可以在待发送到用户的终端装置的所有帧中检测具有较小帧改变的片段,并且可以在检测到的片段中捕获改变后的区域。
此时,通过识别从用户的终端装置发生的应用的事件类型,可以检测到具有较小帧改变的此片段。例如,根据用户的终端装置的输入信号,可以确定应用的事件类型。根据输入信号,可能出现当执行应用时具有较小帧改变的诸如菜单、选项或通知窗口这样的静态事件或者具有经常改变的帧的诸如视频回放或玩游戏这样的动态事件。因此,能够从用户的终端装置的输入信号来识别事件类型,并且如果事件类型是静态事件,则能够从与事件对应的所有帧中检测具有较小帧改变的片段。
另外,根据本发明的实施方式的通过编码处理单元的任务分离进行的云端流媒体服务方法可以将针对改变后的区域的编码处理划分成多个单元处理,将所述单元处理中的至少一个分配给图形处理单元(GPU),将剩余的单元处理分配给中央处理单元 (CPU),并且为了对改变后的区域进行静止图像编码而执行编码处理(S2520)。
当云端流媒体服务器对与改变后的区域对应的图像进行编码时,仅使用CPU的典型服务方法无法使用云端流媒体服务器的全部可用资源,并因此由于图像编码的时间延迟而会造成服务质量劣化。因此,为了解决典型服务方法的这种问题,本发明将编码处理划分成多个单元处理并且将相应的单元处理适当地分配给CPU和GPU。
在这种情况下,单元处理中的每一个可以与图像分析、静止图像压缩技术确定、静止图像压缩和压缩数据收集中的一个对应。图像分析可以是对与改变后的图像对应的图像的特征进行分析的处理。例如,编码单元可以对诸如图像大小、图像分辨率和图像类型这样的图像特征进行分析,然后使用它们作为用于执行高效编码的数据。
另外,通过执行与静止图像压缩技术确定对应的单元处理,编码单元可以在对改变后的区域执行压缩时更高效地使用云端流媒体服务器的资源。此后,编码单元可以通过使用与改变后的区域对应的至少一个图像的静止图像压缩的结果来执行与压缩数据收集对应的处理。
在这种情况下,编码单元可以基于与图像分析和静止图像压缩技术确定对应的处理结果来将与静止图像压缩对应的单元处理分配给GPU。例如,作为与图像分析和静止图像压缩技术确定对应的处理结果,可以将调色板PNG(便携式网络图形)静止图像压缩技术确定为用于对改变后的区域进行编码的静止图像压缩技术。在这种情况下,通过调色板PNG静止图像压缩技术执行静止图像编码的处理可以包括简单计算的重复或者将并行处理的计算处理。因此,在这种情况下,通过将这些单元处理当中的用于执行静止图像压缩的单元处理分配给GPU,编码单元可以节省编码时间,并因此高效地使用云端流媒体服务器的资源。
另外,不管与图像分析和静止图像压缩技术确定对应的处理结果如何,编码单元都可以根据系统设置通过GPU来执行与静止图像压缩对应的单元处理。如果云端流媒体系统只由CPU形成,则应该使用CPU来执行所有处理。这样会造成当向用户终端提供云端流媒体服务时发生延迟的概率高。因此,通过具有一个或更多个CPU、通过GPU执行与静止图像压缩对应的单元处理以及向CPU递送处理结果,编码单元可以降低云端流媒体系统的管理成本而且减少延迟。
在这种情况下,对于与改变后的区域对应的图像,静止图像压缩可以包括颜色直方图构造、调色板创建、基于调色板的原始颜色量化和基于调色板的编码中的一个或更多个处理。可以执行颜色直方图构造,以针对与改变后的区域对应的图像创建调色板。调色板创建可以是通过使用颜色直方图在使相对于原始图像(即,与改变后的区域对应的图像)的损失最小的情况下创建调色板的处理。基于所创建的调色板,编码单元可以通过用与调色板对应的颜色替换与改变后的区域对应的图像的颜色来执行原始颜色量化,然后执行基于调色板的编码。
GPU可以向CPU递送与静止图像压缩对应的处理结果。例如,GPU可以针对多个改变后的帧中包含的改变后的区域来执行与静止图像压缩对应的单元处理,并且将各处理结果递送到用于执行与压缩数据收集对应的单元处理的CPU。如此,当编码处理被划分成各自由CPU和GPU中的一个执行的单元处理时,会附加地出现用于递送处理结果的任何资源消耗成本。然而,因为从所划分的编码处理获得的资源效率益处大于可能附加导致的资源消耗成本,所以上述编码方法可以是更高效的。
在这种情况下,CPU可以通过使用与静止图像压缩对应的处理结果来执行与压缩数据收集对应的单元处理。例如,如果存在与通过GPU创建的静止图像压缩对应的多个处理结果,则编码单元可以收集相应的处理结果,即,压缩数据。因为本发明的目的是通过执行编码处理向用户的终端装置提供基于静止图像的云端流媒体服务,所以编码单元可以收集多个压缩数据并且执行编码处理,以向用户的终端装置提供服务。
如果与静止图像压缩对应的单元处理被分配给GPU,则CPU可以向GPU递送与改变后的区域对应的图像数据。根据与图像分析和静止图像压缩技术确定对应的单元处理的处理结果,可以确定与静止图像压缩对应的单元处理是否被分配给GPU。例如,在通过调色板PNG静止图像压缩技术将与改变后的区域对应的图像压缩为与图像分析和静止图像压缩技术确定对应的单元处理的处理结果的情况下,通过GPU 执行静止图像压缩可以比通过CPU执行静止图像压缩高效,因为存在简单计算的重复或者将并行处理的计算。因此,如果与静止图像压缩对应的单元处理被分配给 GPU,则待压缩的图像数据(即,与改变后的区域对应的图像数据)可以被递送到 GPU。
另外,根据本发明的实施方式的通过编码处理单元的任务分离进行的云端流媒体服务方法通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务(S2530)。通过向用户的终端装置发送通过编码被压缩的改变后的区域,用户能够体验到好像应用正在用户的终端装置处执行一样。
此外,虽然在图25中未示出,但是根据本发明的实施方式的通过编码处理单元的任务分离进行的云端流媒体服务方法可以存储在云端流媒体服务处理中创建的各种类型的信息。
图26是详细例示根据本发明的实施方式的通过编码处理单元的任务分离进行的云端流媒体服务方法的流程图。
参照图26,在根据本发明的实施方式的通过编码处理单元的任务分离进行的云端流媒体服务方法中,云端流媒体服务器捕获与前一帧相比改变后的帧中包含的改变后的区域(S2610)。
此后,服务器将针对改变后的区域的编码处理划分成多个单元处理(S2620)。
此后,服务器通过使用CPU来对与改变后的区域对应的图像进行分析(S2630)。
此后,服务器通过使用CPU来确定与改变后的区域对应的静止图像压缩技术(S2640)。
此后,根据所确定的静止图像压缩技术,服务器将与静止图像压缩对应的单元处理分配给GPU(S2650)。
此后,使用CPU,服务器将与改变后的区域对应的图像数据递送到GPU(S2660)。
此后,服务器通过使用GPU来执行静止图像压缩并且将与静止图像压缩对应的处理结果递送到CPU(S2670)。
此后,使用CPU,服务器通过使用与静止图像压缩对应的处理结果来执行与压缩数据收集对应的单元处理(S2680)。
此后,服务器将经静止图像编码的改变后的区域递送到用户(S2690)。
上面记录有并适于存储计算机程序命令语言和数据的计算机可读存储介质包括诸如硬盘、软盘和磁带这样的磁性介质、诸如光盘只读存储器(CD-ROM)和数字通用盘(DVD)这样的光学介质、诸如光软盘这样的磁-光介质以及诸如只读存储器 (ROM)、随机存取存储器(RAM)、闪速存储器、可擦除可编程ROM(EPROM) 和电EPROM(EEPROM)这样的半导体存储器。处理器和存储器可以由专用逻辑电路来实现或者与专用逻辑电路集成。程序命令可以包括能够通过使用翻译器在计算机中执行的高级语言代码以及由编译器形成的机器代码。以上提到的硬件器件可以被配置为如同一个或更多个软件模块进行操作,以执行本发明的操作,并且反之亦然。
虽然本公开包含了许多特定实现细节,但是这些不应该被理解为对本发明的范围或可以要求保护的范围的限制,而是被理解为是对可以特定用于特定发明的特定实施方式的特征的描述。本公开中在单独实施方式的上下文下描述的某些特征也能够以组合方式在单个实施方式中实现。相反地,在单个实施方式的上下文下描述的各个特征还能够单独地或者以任何合适的子组合形式在多个实施方式中实现。此外,虽然特征可以在以上被描述为在某些组合中发挥作用并且甚至初始地如此声明,但是所声明的组合中的一个或更多个特征能够在某些情况下从该组合中删除,并且所声明的组合可以涉及子组合或子组合的变型。
虽然操作在图中被例示为以预定顺序执行,但是不应该理解,需要顺序地或者按照被例示为得到优选结果的预定顺序来执行这些操作,或者需要执行所有例示的操作。在一些情况下,多任务处理和并行处理可以是有利的。另外,应该理解,在所有类型的实现方式中需要各种系统组件的划分。应该理解,所描述的程序组件和系统总体上被集成为单个软件产品或者被封装到多软件产品中。
虽然已经参照本发明的示例性实施方式具体示出和描述了本发明,但是本领域技术人员应该理解,可以在不脱离所附的权利要求所限定的本发明的精神和范围的情况下对本发明的形式和细节做出各种改变。
工业实用性
本发明可以通过使用前一帧和当前帧之间的差别帧来确定包含改变后的像素并且具有最小面积的矩形区域作为改变后的区域并且捕获所述改变后的区域,按照通过考虑与改变后的区域对应的图像的多种颜色中的一种或更多种以及该图像的像素值的标准偏差而确定的图像类型来选择静止图像压缩技术,通过使用所选择的静止图像压缩技术来与一帧对应地对改变后的区域执行静止图像编码,并且通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。另外,本发明可以使用静止图像压缩技术通过云端流媒体服务使流媒体压缩效率最大化,并且还通过在同一频带上向更多的用户提供更快速的云端流媒体服务。因此,云端流媒体服务供应商能够在节省频带扩展所需的资源的同时向用户提供高效的服务。
另外,本发明可以捕获改变后的帧中包含的改变后的区域,通过考虑是否存在与改变后的区域对应的图像特征信息来确定编码技术,通过使用编码技术对改变后的区域执行静止图像编码,并且通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。另外,通过当执行针对云端流媒体服务器的编码时通过图像特征信息来确定编码技术,本发明可以节省云端流媒体服务器的进行图像处理通常所需的资源,并因此提供更高效的云端流媒体服务。
另外,本发明可以捕获与前一帧相比改变后的帧中包含的改变后的区域,通过考虑与改变后的区域对应的图像特征和图像分辨率中的一个或更多个来选择编码处理单元,通过使用编码处理单元来与一帧对应地对改变后的区域执行静止图像编码,并且通过向用户发送经静止图像编码的区域来执行基于静止图像的云端流媒体服务。另外,本发明可以通过使用选择性编码处理单元来提高通过云端流媒体服务利用云端流媒体服务器的资源的效率,并因此降低了提供云端流媒体服务的处理成本。
另外,本发明可以捕获改变后的帧中包含的改变后的区域,通过使用图形处理单元(GPU)对改变后的区域进行压缩,将针对改变后的区域的编码处理划分成多个单元处理,将所述单元处理中的至少一个分配给GPU,将剩余的单元处理分配给中央处理单元(CPU),为了对改变后的区域进行静止图像编码而执行编码处理,并且通过向用户发送经静止图像编码的改变后的区域来执行基于静止图像的云端流媒体服务。另外,本发明可以通过基于编码处理单元的处理分离的云端流媒体服务来节省云端流媒体服务器的资源,并因此降低了提供云端流媒体服务的整体成本。