CN105096373B - 一种媒体内容渲染的方法、用户设备及*** - Google Patents

一种媒体内容渲染的方法、用户设备及*** Download PDF

Info

Publication number
CN105096373B
CN105096373B CN201510374452.0A CN201510374452A CN105096373B CN 105096373 B CN105096373 B CN 105096373B CN 201510374452 A CN201510374452 A CN 201510374452A CN 105096373 B CN105096373 B CN 105096373B
Authority
CN
China
Prior art keywords
media content
rendering
cloud
rendered
indication message
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
CN201510374452.0A
Other languages
English (en)
Other versions
CN105096373A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510374452.0A priority Critical patent/CN105096373B/zh
Publication of CN105096373A publication Critical patent/CN105096373A/zh
Priority to PCT/CN2016/075630 priority patent/WO2017000580A1/zh
Priority to BR112017021375-3A priority patent/BR112017021375A2/zh
Priority to ES16816945T priority patent/ES2887424T3/es
Priority to EP16816945.6A priority patent/EP3264370B1/en
Priority to EP21169776.8A priority patent/EP3951717A1/en
Priority to US15/791,863 priority patent/US10096083B2/en
Application granted granted Critical
Publication of CN105096373B publication Critical patent/CN105096373B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种媒体内容渲染的方法,所述方法应用于渲染***的用户设备,所述渲染***还包括云端设备,所述方法包括:根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容中的一部分归属于云端设备渲染;向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,所述渲染指示消息用于指示所述云端设备对所述第一媒体内容进行渲染,所述第一媒体内容为所述待渲染媒体内容中的一部分媒体内容;接收所述云端设备返回的针对所述第一媒体内容的云端处理结果。本发明实施例提供的媒体内容渲染的方法,可以针对待渲染媒体内容与云端设备进行协同渲染,有效的利用了用户设备和云端设备的渲染资源,从而提高了媒体内容渲染的效率。

Description

一种媒体内容渲染的方法、用户设备及***
技术领域
本发明涉及计算机技术领域,具体涉及一种媒体内容渲染的方法、用户设备及***。
背景技术
从计算机诞生的那天开始,对现实世界的真实模拟就是图形学领域追求的最终目标。渲染技术在计算机绘图中,是指用软件从模型生成图像的过程。在图形显示操作中,渲染是最后一项重要步骤,通过它得到模型与动画最终显示效果。渲染技术被广泛用于计算机与视频游戏、模拟、电影或者电视特效以及可视化设计等实际应用场景。针对渲染显示的方式不同,可以大致分为两类:预渲染(pre-rendering或者offline rendering)和实时渲染(real-time rendering或者online rendering)。预渲染就是由开发人员将待渲染内容预先放置在服务器上进行渲染,预渲染的计算强度很大,通常用于复杂场景处理,比如酷炫的3D电影制作等。实时渲染要求实时体验,经常用于各类3D游戏等场景,通常需要依靠硬件加速器完成这个过程。
现有技术中通常采用有本地渲染或云端渲染技术。
本地渲染技术就是用户设备(User Equipment,UE)的硬件设备,如:中央处理器(Central Processing Unit,CPU)、图形处理器(Graphic Processing Unit,GPU)对模型进行渲染,渲染结束后,显示设备调取渲染结果进行显示。目前的用户设备上的CPU、GPU等硬件设备的计算能力有限,导致硬件设备的渲染速度跟不上显示设备的显示速度,这样一些复杂的场景由用户设备进行渲染就会影响显示的流畅度。
云端渲染技术就是将用户设备的操作移到云端运行,然后把最终的结果,通过图片方式传送给用户设备进行显示,这种云端渲染技术属于预渲染,需要提前定制,无法根据渲染需要向云端设备请求,也没有考虑用户设备对云端的渲染后的内容的兼容情况。
现有技术中,对于需要渲染的内容,要么由云端设备根据定制的规格进行渲染,要么由用户设备直接利用本地硬件进行渲染,用户设备和云端设备不能根据渲染需求进行协同或配合,导致媒体内容的渲染效率低下。
发明内容
为了解决现有技术中媒体内容渲染效率低下的问题,本发明实施例提供一种媒体内容渲染的方法,针对待渲染媒体内容,用户设备可以与云端设备进行协同渲染,有效的利用了用户设备和云端设备的渲染资源,从而提高了媒体内容渲染的效率。本发明实施例还提供了相应的用户设备及***。
本发明第一方面提供一种媒体内容渲染的方法,所述方法应用于渲染***的用户设备,所述渲染***还包括云端设备,所述方法包括:
根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容中的一部分归属于云端设备渲染;
向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,所述渲染指示消息用于指示所述云端设备对所述第一媒体内容进行渲染,所述第一媒体内容为所述待渲染媒体内容中的一部分媒体内容;
接收所述云端设备返回的针对所述第一媒体内容的云端处理结果。
结合第一方面,在第一种可能的实现方式中,所述渲染指示消息携带对所述第一媒体内容的渲染要求参数,所述渲染要求参数用于指示所述云端设备按照所述渲染要求参数对所述第一媒体内容进行渲染。
结合第一方面或第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
渲染第二媒体内容,以得到所述第二媒体内容的渲染结果,所述第二媒体内容为所述待渲染媒体内容中除所述第一媒体内容之外的剩余媒体内容;
将所述云端处理结果与所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果,其中,所述云端处理结果为所述第一媒体内容的渲染结果。
结合第一方面或第一方面第一种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:
渲染第二媒体内容,以得到所述第二媒体内容的渲染结果,所述第二媒体内容为所述待渲染媒体内容中除所述第一媒体内容之外的剩余媒体内容;
将所述云端处理结果与所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果,其中,所述云端处理结果是所述云端设备通过合成所述第一媒体内容的渲染结果中的多个图层得到的。
结合第一方面或第一方面第一种至第三种中任一可能的实现方式,在第四种可能的实现方式中,所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,所述方法还包括:
对所述第一媒体内容进行压缩,以得到压缩后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,包括:
向所述云端设备发送渲染指示消息和所述压缩后的媒体内容。
结合第一方面或第一方面第一种至第三种中任一可能的实现方式,在第五种可能的实现方式中,所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,所述方法还包括:
对所述第一媒体内容进行加密,以得到加密后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,包括:
向所述云端设备发送渲染指示消息和所述加密后的媒体内容。
结合第一方面或第一方面第一种至第三种中任一可能的实现方式,在第六种可能的实现方式中,所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,所述方法还包括:
对所述第一媒体内容进行加密和压缩双重处理,以得到双重处理后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,包括:
向所述云端设备发送渲染指示消息和所述双重处理后的媒体内容。
结合第一方面第二种或第三种可能的实现方式,在第七种可能的实现方式中,所述渲染第二媒体内容,得到所述第二媒体内容的渲染结果,包括:
根据所述用户设备的核数,采用与所述核数对应的多个线程对所述第二媒体内容进行渲染,以得到所述第二媒体内容的渲染结果。
本发明第二方面提供一种媒体内容渲染的方法,所述方法应用于渲染***的用户设备,所述渲染***还包括云端设备,所述方法包括:
根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容全部归属于云端设备渲染;
向所述云端设备发送渲染指示消息和所述待渲染媒体内容,所述渲染指示消息携带对所述待渲染媒体内容的渲染要求参数,所述渲染指示消息用于指示所述云端设备按照所述渲染要求参数对所述待渲染媒体内容进行渲染;
接收所述云端设备返回的针对所述待渲染媒体内容的云端处理结果。
结合第二方面,在第一种可能的实现方式中,所述云端处理结果为所述待渲染媒体内容的渲染结果,所述方法还包括:
对所述待渲染媒体内容的渲染结果中的多个图层进行合成,以得到所述待渲染媒体内容的合成结果。
结合第二方面或第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容之前,所述方法还包括:
对所述待渲染媒体内容进行压缩,以得到压缩后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容,包括:
向所述云端设备发送渲染指示消息和所述压缩后的媒体内容。
结合第二方面或第二方面第一种可能的实现方式,在第三种可能的实现方式中,所述向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容之前,所述方法还包括:
对所述待渲染媒体内容进行加密,以得到加密后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容,包括:
向所述云端设备发送渲染指示消息和所述加密后的媒体内容。
结合第二方面或第二方面第一种可能的实现方式,在第四种可能的实现方式中,所述向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容之前,所述方法还包括:
对所述待渲染媒体内容进行加密和压缩双重处理,以得到双重处理后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容,包括:
向所述云端设备发送渲染指示消息和所述双重处理后的媒体内容。
本发明第三方面提供一种用户设备,所述用户设备应用于渲染***,所述渲染***还包括云端设备,所述用户设备包括:
确定模块,用于根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容中的一部分归属于云端设备渲染;
发送模块,用于在所述确定模块确定所述待渲染媒体内容中的一部分归属于云端设备渲染后,向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,所述渲染指示消息用于指示所述云端设备对所述第一媒体内容进行渲染,所述第一媒体内容为所述待渲染媒体内容中的一部分媒体内容;
接收模块,用于在所述发送模块发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容后,接收所述云端设备返回的针对所述第一媒体内容的云端处理结果。
结合第三方面,在第一种可能的实现方式中,所述渲染指示消息携带对所述第一媒体内容的渲染要求参数,所述渲染要求参数用于指示所述云端设备按照所述渲染要求参数对所述第一媒体内容进行渲染。
结合第三方面或第三方面第一种可能的实现方式,在第二种可能的实现方式中,所述用户设备还包括:
第一渲染模块,用于渲染第二媒体内容,以得到所述第二媒体内容的渲染结果,所述第二媒体内容为所述待渲染媒体内容中除所述发送模块发送的所述第一媒体内容之外的剩余媒体内容;
第一合成模块,用于将所述接收模块接收的所述云端处理结果与所述第一渲染模块渲染的所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果,其中,所述云端处理结果为所述第一媒体内容的渲染结果。
结合第三方面或第三方面第一种可能的实现方式,在第四种可能的实现方式中,所述用户设备还包括:
第二渲染模块,用于在所述发送模块发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容时,渲染第二媒体内容,以得到所述第二媒体内容的渲染结果,所述第二媒体内容为所述待渲染媒体内容中除所述发送模块发送的所述第一媒体内容之外的剩余媒体内容;
第二合成模块,用于将所述接收模块接收的所述云端处理结果与所述第二渲染模块渲染的所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果,其中,所述云端处理结果是所述云端设备通过合成所述第一媒体内容的渲染结果中的多个图层得到的。
结合第三方面或第三方面第一种至第三种中任一可能的实现方式,在第五种可能的实现方式中,所述用户设备还包括:压缩模块,
所述压缩模块,用于在所述发送模块发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,对所述第一媒体内容进行压缩,以得到压缩后的媒体内容;
所述发送模块,具体用于向所述云端设备发送渲染指示消息和所述压缩模块压缩后的媒体内容。
结合第三方面或第三方面第一种至第三种中任一可能的实现方式,在第六种可能的实现方式中,所述用户设备还包括:加密模块,
所述加密模块,用于在所述发送模块发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,对所述第一媒体内容进行加密,以得到加密后的媒体内容;
所述发送模块,具体用于向所述云端设备发送渲染指示消息和所述加密模块加密后的媒体内容。
结合第三方面或第三方面第一种至第三种中任一可能的实现方式,在第七种可能的实现方式中,所述用户设备还包括:双重处理模块,
所述双重处理模块,用于在所述发送模块发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,对所述第一媒体内容进行加密和压缩双重处理,以得到双重处理后的媒体内容;
所述发送模块,具体用于向所述云端设备发送渲染指示消息和所述双重处理模块双重处理后的媒体内容。
结合第一方面第二种可能的实现方式,在第七种可能的实现方式中,
所述第一渲染模块,具体用于根据所述用户设备的核数,采用与所述核数对应的多个线程对所述第二媒体内容进行渲染,以得到所述第二媒体内容的渲染结果。
本发明第四方面提供一种的用户设备,所述用户设备应用于渲染***的用户设备,所述渲染***还包括云端设备,所述用户设备包括:
确定模块,用于根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容全部归属于云端设备渲染;
发送模块,用于在所述确定模块确定出所述待渲染媒体内容全部归属于云端设备渲染时,向所述云端设备发送渲染指示消息和所述待渲染媒体内容,所述渲染指示消息携带对所述待渲染媒体内容的渲染要求参数,所述渲染指示消息用于指示所述云端设备按照所述渲染要求参数对所述待渲染媒体内容进行渲染;
接收模块,用于在所述发送模块发送渲染指示消息和所述待渲染媒体内容之后,接收所述云端设备返回的针对所述待渲染媒体内容的云端处理结果。
结合第四方面,在第一种可能的实现方式中,所述用户设备还包括:
合成模块,用于对所述接收模块接收的所述待渲染媒体内容的渲染结果中的多个图层进行合成,以得到所述待渲染媒体内容的合成结果。
结合第四方面或第四方面第一种可能的实现方式,在第二种可能的实现方式中,所述用户设备还包括压缩模块,
所述压缩模块,用于在所述发送模块向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容之前,对所述待渲染媒体内容进行压缩,以得到压缩后的媒体内容;
所述发送模块,具体用于向所述云端设备发送渲染指示消息和所述压缩模块压缩后的媒体内容。
结合第四方面或第四方面第一种可能的实现方式,在第三种可能的实现方式中,所述用户设备还包括加密模块,
所述加密模块,用于在所述发送模块向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容之前,对所述待渲染媒体内容进行加密,以得到加密后的媒体内容;
所述发送模块,具体用于向所述云端设备发送渲染指示消息和所述加密模块加密后的媒体内容。
结合第四方面或第四方面第一种可能的实现方式,在第四种可能的实现方式中,所述用户设备还包括双重处理模块,
所述双重处理模块,用于在所述发送模块向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容之前,对所述待渲染媒体内容进行加密和压缩双重处理,以得到双重处理后的媒体内容;
所述发送模块,具体用于向所述云端设备发送渲染指示消息和所述双重处理模块双重处理后的媒体内容。
本发明第五方面提供一种媒体渲染***,包括:用户设备和云端设备,
所述用户设备为上述第三方面或第三方面任一可能的实现方式所述的用户设备。
本发明第六方面提供一种媒体渲染***,包括:用户设备和云端设备,
所述用户设备为上述第四方面或第四方面任一可能的实现方式所述的用户设备。
本发明实施例提供的媒体内容渲染的方法,应用于渲染***的用户设备,所述渲染***还包括云端设备,所述方法包括:根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容中的一部分归属于云端设备渲染;向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,所述渲染指示消息用于指示所述云端设备对所述第一媒体内容进行渲染,所述第一媒体内容为所述待渲染媒体内容中的一部分媒体内容;接收所述云端设备返回的针对所述第一媒体内容的云端处理结果。与现有技术中媒体内容渲染效率低下相比,本发明实施例提供的媒体内容渲染的方法,针对待渲染媒体内容,用户设备可以与云端设备进行协同渲染,待渲染的媒体内容由用户设备和云端设备共同完成渲染,有效的利用了用户设备和云端设备的渲染资源,从而提高了媒体内容渲染的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中媒体内容渲染的方法的一实施例示意图;
图2是本发明实施例中媒体内容渲染的方法的另一实施例示意图;
图3是本发明实施例中媒体内容渲染的方法的另一实施例示意图;
图4是本发明实施例中媒体内容渲染的方法的另一实施例示意图;
图5是本发明实施例中媒体内容渲染的方法的另一实施例示意图;
图6是本发明实施例中媒体内容渲染的方法的另一实施例示意图;
图7是本发明实施例中媒体内容渲染的方法的另一实施例示意图;
图8是本发明实施例中用户设备的一实施例示意图;
图9是本发明实施例中用户设备的另一实施例示意图;
图10是本发明实施例中用户设备的另一实施例示意图;
图11是本发明实施例中用户设备的另一实施例示意图;
图12是本发明实施例中用户设备的另一实施例示意图;
图13是本发明实施例中用户设备的另一实施例示意图;
图14是本发明实施例中用户设备的另一实施例示意图;
图15是本发明实施例中用户设备的另一实施例示意图;
图16是本发明实施例中用户设备的另一实施例示意图;
图17是本发明实施例中用户设备的另一实施例示意图;
图18是本发明实施例中用户设备的另一实施例示意图;
图19是本发明实施例中用户设备的另一实施例示意图;
图20是本发明实施例中用户设备的另一实施例示意图;
图21是本发明实施例中媒体内容渲染***的一实施例示意图。
具体实施方式
本发明实施例提供一种媒体内容渲染的方法,针对待渲染媒体内容,用户设备可以与云端设备进行协同渲染,有效的利用了用户设备和云端设备的渲染资源,从而提高了媒体内容渲染的效率。本发明实施例还提供了相应的用户设备及***。以下分别进行详细说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的用户设备可以包括具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备,以及各种形式的用户设备(User Equipment,简称UE),移动台(Mobile station,简称MS),终端(terminal),终端设备(Terminal Equipment)等等。为方便描述,本申请中,简称为用户设备或UE。,云端设备可以是云计算***中的云服务器,也可以是云服务器上的一个虚拟机。
参阅图1,本发明实施例提供的媒体内容渲染的方法的一实施例包括:待渲染媒体内容通过用户设备的渲染管理器分析判断后,确定出该待渲染媒体内容的渲染任务归属,渲染任务归属也就是该待渲染媒体内容全部由云端渲染,还是只有一个部分由云端渲染,或者全部由用户设备渲染。如果判断出由云端渲染,则用户设备将待渲染媒体内容,通过安全处理,按照云端渲染引擎要求的格式进行压缩打包,通过端云协同处理引擎,经过网络通信,安全传输到云渲染引擎;云渲染引擎,根据云负载的情况,将需要渲染的任务进行细化,并做并行化切分,切分后分发给各个分布式渲染引擎渲染;云端可以有很多个分布式的渲染引擎,可以并行高速渲染用户设备的渲染请求,从而加速渲染显示。渲染完成后,同样通过协商好的压缩格式传回到用户设备的显示缓冲区,从而完成一次云端设备渲染的工作。如果用户设备判断出由用户设备自身进行本地渲染,则将待渲染媒体内容根据显示的需要,分别发送给2D或3D渲染模块,2D或3D渲染模块可以是CPU或GPU;渲染模块根据具体的渲染命令,完成渲染处理后,将渲染结果送到合成处理模块进行合成,合成处理模块可以是专用合成处理模块,也可以利用GPU进行合成处理,合成处理完成后,显示设备要显示时,就可以直接读取渲染缓冲区的显示信息进行显示。当然,还可以是待渲染媒体内容一部分留在用户设备渲染,另外一部分发送到云端设备渲染,用户设备和云端设备协同渲染的方式需要一个端云协同模块,端云协同模块可以切分渲染任务,确定切分后的渲染任务哪些由用户设备渲染,哪些由云端设备渲染。显示设备可以是阴极射线管(Cathode Ray Tube,CRT)显示器,液晶显示器(Liquid Crystal Display,LCD),投影仪(projector),全息(holographic)电视等。
用户设备和云端设备协同渲染的情况,待渲染媒体内容包括第一媒体内容和第二媒体内容,第一媒体内容归属于云端设备渲染,第二媒体内容归属于用户设备渲染。第一媒体内容和第二媒体内容都是待渲染媒体内容的子集。
用户设备向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,所述渲染指示消息用于指示所述云端设备对所述第一媒体内容进行渲染,用户设备渲染第二媒体内容,以得到所述第二媒体内容的渲染结果。向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,还可以对第一媒体内容进行加密或压缩处理,或者进行加密和压缩双重处理,加密和压缩的先后顺序不限。
所述渲染指示消息携带对所述第一媒体内容的渲染要求参数,所述渲染要求参数用于指示所述云端设备按照所述渲染要求参数对所述第一媒体内容进行渲染。渲染要求参数可以是用户设备上显示器件的分辨率,这样,云端设备可以直接渲染出与用户设备的显示器件相匹配的渲染结果,实现了按用户设备的需求渲染。
用户设备接收云端设备返回的针对所述第一媒体内容的云端处理结果。云端处理结果可以是第一媒体内容的渲染结果,例如:当第一媒体内容包括多个图层是,则该第一媒体内容的渲染结果即可这几个渲染后的图层。云端处理结果也可以是第一媒体内容的合成结果,云端设备可以对渲染后的图层进行合成,得到第一媒体内容的合成结果,将第一媒体内容的合成结果返回给用户设备。
当云端处理结果是第一媒体内容的渲染结果时,将云端处理结果与所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果。合成的过程实际上就是将图层进行拼接和/或叠加的过程,当各图层是属于最终显示图像的不同区域时,则将各图层进行拼接,当有两个或多个图层属于相同区域时,则将属于相同区域的图层进行叠加,将属于不同区域的图层进行拼接。合成结果实际上就是待渲染媒体内容的最终显示图像,例如:手机应用图标界面。
当云端处理结果是第一媒体内容的合成结果时,将所述云端处理结果与所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果。
用户设备渲染第二媒体内容时,如果用户设备是多核设备,可以采用与所述核数对应的多个线程对所述第二媒体内容进行渲染,以得到所述第二媒体内容的渲染结果。这样,可以提高渲染的效率。
本发明实施例提供的媒体内容渲染的方法,针对待渲染媒体内容,用户设备可以与云端设备进行协同渲染,待渲染的媒体内容由用户设备和云端设备共同完成渲染,有效的利用了用户设备和云端设备的渲染资源,从而提高了媒体内容渲染的效率。
图2为本发明实施例中媒体内容渲染的方法的另一实施例示意图。
如图2所示,用户设备针对具体的待渲染媒体内容进行渲染处理时,用户设备中的端云渲染管理器对待渲染媒体内容进行分析,如果分析出待渲染媒体内容适合由云端设备渲染,则渲染调度器进行调度管理,将待渲染媒体内容按照云端设备中渲染引擎的渲染要求,打包成特定格式,发出渲染命令,云端设备对待渲染媒体内容进行渲染分析处理、渲染文件处理、渲染资源调度、渲染处理和渲染内存管理,得到渲染结果,将渲染结果压缩打包,返回给用户设备,用户设备中的云渲染管理器将渲染结果按照渲染的图层分别按照图层1、图层2,一直到图层n做特效处理,然后进行多图层合成,合成后写入帧缓存(FrameBuffer,FB)。渲染分析处理、渲染文件处理、渲染资源调度、渲染处理和渲染内存管理这几个渲染步骤属于现有技术,本处对此不作过多赘述。如果端云渲染管理器分析出待渲染媒体内容适合由用户设备渲染,则由用户设备执行本地渲染处理流程,渲染后分别按照图层1、图层2,一直到图层n做特效处理,然后进行多图层合成,合成后写入FB。也可以是待渲染媒体内容一部分留在本地渲染,另外一部分发送到云端设备渲染。最后,不管是云端设备渲染,还是本地渲染出来的结果,都需要进行合成,合成的过程可以是在本地显示控制器进行,也可以是云端设备渲染的部分由云端设备完成合成,用户设备再将本地渲染的媒体内容与云端设备的合成结果进行合成处理,合成后才能在显示设备上显示最终的结果。
本发明实施例中,待渲染媒体内容可以是图片、视频图像等,在确定待渲染媒体内容的渲染任务归属时,可以是用户设备先确定渲染该待渲染媒体内容的计算量,然后将该计算量与预设阈值进行比较,如果大于该预设阈值,则确定由云端设备进行渲染,如果小于该预设阈值,则确定在用户设备本地进行渲染,当大于该预设阈值时,也可以是将待渲染媒体内容中复杂的渲染内容确定由云端渲染,简单的渲染内容在本地进行渲染。
图3为本发明实施例中媒体内容渲染的方法的另一实施例示意图。
如图3所示,以导航应用为例,说明本发明实施例中媒体内容渲染的过程:
101、获取导航应用的待渲染媒体内容。
导航应用是用户设备的一个常用的复杂场景,导航应用场景的待渲染媒体内容可以包括:用户界面(User Interface,UI)、地图(MAP)、方向(direction)、状态栏(statusbar)、导航(Navigation)、弹出窗口(Pop Win)、触控键盘(Touch Keyboard)、搜索栏(searching bar)。
当导航应用打开后,由于涉及多个图层需要渲染,这时用户设备和云端设备协同渲染的方式就可以提高渲染效率了。
102、应用渲染显示管理器:渲染调度处理。
103、确定渲染任务归属,当确定出渲染任务中的一部分或者全部归属云端渲染时,执行步骤。
例如:可以通过判断渲染区域及分辨率是否大于一定条件来确定渲染任务归属或者判断自身的剩余电量来确定渲染任务归属。
利用应用渲染管理器,判断当前涉及的图层是否需要利用云端设备进行渲染,这里通过条件判断,发现UI界面、地图、方向、弹出框、软键盘等图层显示区域大,显示内容复杂,确定放在云端设备渲染。此外,如果用户设备的电量不足,例如电量小于10%的情况,也可考虑使用云端设备渲染。其余简单的图层,比如状态栏、导航菜单等图层可放在用户设备本地渲染。
104、云端设备渲染待渲染媒体内容中的一部分。
云端渲染的待渲染媒体内容可以包括UI界面、地图、方向、弹出框、软键盘等显示区域大,显示内容复杂的图层。
为了保证渲染的效率,用户设备向云端设备传输的数据尽量保证数据量最小,因此可以采用硬件IP来压缩待传送的数据,从而保证云端设备及时接收完整的渲染命令,进行云端渲染。用户设备与云端设备之间传送数据,可利用自定义通讯协议进行交互,当然也可以利用目前通用的标准协议进行通讯,比如实时传输协议(Real-time TransportProtocol,RTP)、传输控制协议(Transmission Control Protocol,TCP)、用户数据包协议(User Datagram Protocol,UDP)、网络之间互连的协议(Internet Protocol,IP)等网络协议。在网路中传送的数据信息为了安全,可以利用不可逆加密算法进行安全加密传输,可自定义安全加密算法,也可使用现有常用网路加密算法。云端设备的渲染引擎收到渲染指示以及待渲染的部分媒体内容后,进行安全授权解密,然后根据渲染指示,调度合适的分布式渲染引擎进行渲染,最简单的模式,就是按照每个渲染图层使用一个云端渲染引擎进行渲染,当然也可根据当前图层的复杂程度,将其切分为多个子块,然后将这些子块进行并行渲染。渲染完成后,根据用户设备的命令决定是否在云端将各个渲染的图层进行合成。如果需要云端合成,可以利用云端高速合成器进行合成处理,合成包括不局限于如下操作:旋转、拉伸、裁剪、alpha-blending、dithering、gamma校正、YUV/RGB格式转换等。完成后输出加密压缩后的数据包,发回给用户设备。
105、本地2D/3D渲染引擎接口接收渲染命令。
106、判断是否满足并行渲染,当满足并行渲染时执行步骤108,当不满足并行渲染时执行步骤107。
107、单线程渲染。
108、多线程渲染。
本地渲染的图层还可以根据用户设备多核的能力,采用多核并行加速,本发明实施例中的多核包括但不局限于CPU、GPU、数字信号处理器(Digital Signal Processing,DSP)等本地可利用的核。
109、应用渲染显示管理器:渲染调度处理。
用户设备然后将从云端设备接收到的数据包进行安全性检查后,解密输出到云端显示缓冲区;用户设备的合成器将云端显示缓冲区的数据和本地显示缓冲区的数据进行合成处理后输出到本地显示设备的缓冲区,实现上屏显示。利用端云结合的渲染方案,通过将复杂场景放在云端设备渲染,大大节省了本地渲染的功耗和提升了渲染的效率,体现本方案的优势。
此外,对于动画以及滑动场景,可以利用媒体编码的格式,来实现端云数据传输,从而降低网络传输的负载,利用媒体编码的优势,实现更高的渲染效率。
图4为本发明实施例中媒体内容渲染的方法的另一实施例示意图。
图4所示的场景是只在用户设备本地进行渲染的场景。图4所示实施例中媒体内容渲染的过程包括:
201、获取设置应用显示场景的待渲染媒体内容。
设置应用显示场景的待渲染媒体内容可以包括status bar、Navigation、UI等。
202、应用渲染显示管理器:渲染调度处理。
203、确定渲染任务归属。
例如:可以通过判断渲染区域及分辨率是否大于一定条件来确定渲染任务归属或者判断自身的剩余电量来确定渲染任务归属。
本发明实施例中,确定由用户设备本地执行渲染。
一些用户设备本地简单应用的显示由于显示的内容和图层都不复杂,因此可以利用本地渲染设备来完成。当设置应用打开的时候,由于UI简单、状态栏和导航栏显示区域狭小,因此可以不必利用云端加速渲染机制,可以直接使用本地渲染的设备来完成渲染显示过程。
204、本地2D/3D渲染引擎接口接收渲染命令。
205、判断是否满足并行渲染,当满足并行渲染时执行步骤207,当不满足并行渲染时执行步骤206。
当本地渲染的命令发送给2D/3D渲染模块,然后根据目标渲染图层的显示区域来判断是否采用并行加速渲染(主要利用多核渲染加速)。如果满足多核渲染的模式,可根据当前用户设备的多核数量,采用多核亲源性算法,划分合适的线程数量来进行并行加速渲染。然后将渲染的结果交给本地合成显示处理器完成2D合成操作(合成包括不局限于如下操作:旋转、拉伸、裁剪、alpha-blending、dithering、gamma校正、YUV/RGB转换等)。此2D合成操作可以由CPU、GPU以及专用的硬件合成器完成。
206、单线程渲染。
207、多线程渲染。
本地渲染的图层还可以根据用户设备多核的能力,采用多核并行加速,包括但不局限于CPU、GPU、数字信号处理器(Digital Signal Processing,DSP)等本地可利用的核。
208、合成显示管理器:直接将渲染结果合成输出到显示缓冲区。
209、显示设备显示渲染结果。
当渲染量很小时,直接在用户设备本地进行渲染,不需要向云端设备传输数据,针对渲染量较少的渲染内容也可以提高渲染效率。
图5为本发明实施例中媒体内容渲染的方法的另一实施例示意图。图5所示实施例的渲染内容以大型游戏应用场景为例进行说明,图5所示的媒体内容渲染的过程包括:
301、获取大型游戏应用场景的待渲染媒体内容。
大型游戏应用场景的待渲染媒体内容可以包括游戏画面、各种视图(view)、外观视图(surface view)。
302、应用渲染显示管理器:渲染调度处理。
303、确定渲染任务归属。
在android平台上,一般游戏开发都会使用各类view或surface view或glSurfaceView方式呈现显示画面。显示画面通过画布缓冲区存储各类需要显示的纹理信息。当游戏运行的时候,一些复杂的画面都会使用surface view或glSurface view进行呈现,其他简单的文字等信息可采用view呈现。因此为简单起见,直接判断是否为surface view或glSurface view为条件,满足的话,就调度到云端进行渲染。
304-309与图3对应的实施例中的104-109步骤相同,此不再重复赘述。
只是,针对游戏场景做一些特殊说明。由于游戏的内容都是采用纹理进行绘制,因此在这类场景就主要是绘制各种纹理。业界为了节省图形显示带宽,通常的显示处理器都支持纹理压缩格式,因此在同步到云端之前,可以提前打包压缩成云端支持的纹理压缩格式,主要是为了节省网络传输的数据量,当然也可放在云上处理。其他的处理模式和图3对应的实施例的处理流程一致。此外,由于游戏对于交互非常敏感,画面流畅性要求非常高。因此对于各个画面的纹理渲染的延迟要求不得低于16毫秒(60fps);换句话说,从应用程序准备渲染画面,到加密打包,通过网络传输到云端设备,云端设备校验解密,并行渲染完成后,通过网络向用户设备返回渲染结果,最后通过合成器显示输出到显示屏不能超过16ms。其中,两次网络传输相比本地渲染模式是额外带来的开销,因此需要将云端设备渲染的优势大于这额外的延迟开销,云端渲染才会有价值。这里简单举个例子,如果需要渲染一帧FHD画面,大约需要数据量1920×1080×3=6220800byte,以目前4G网络(或wifi或5G网络)来传输,假设网络带宽是300Mbps,那么传送两次上述数据量,大约需要166ms;这样的效率远远无法满足实时渲染的需求,因此我们可以采用并行上传和下载的方式处理;考虑GPU处理的tile大小一般为256×256,同时考虑本地CPU网络链接带来的开销,我们就选择这个大小作为云端渲染tile;因此我们可以提前将一帧全高清(Full High Definition,FHD)画面划分大约32个这样的tile;然后并行传送到云端设备进行渲染,这是来回传输的时延大约是5.2ms。这个数据基本可接收,但是相比16ms而言,这个额外的开销还是太大,因此,我们考虑压缩格式来降低网络传输带来的影响,比如可以利用最新的ASTC压缩格式传输,大约可节省4倍时间,换句话说,此时传输带来的开销大约为1.3ms,相比显示一帧图像16ms的时间几乎可以忽略了,因此采用这样的策略后,通过端云协同的渲染方案成为了可能。此外,网络的高速通信是一个必备条件,在未来5G网络时代到来后,端云协同的渲染方案将会有更大的应用空间。
本发明实施例提供的媒体内容渲染的方法,因为可以在云端设备进行实时渲染,所以可以在不降低用户体验的前提下,大幅降低用户设备的成本。由于利用了云端强大的渲染设备将复杂的待渲染场景在云端渲染,因此,用户设备可以做得很简单,甚至可以去掉当前用户设备常用的GPU硬件,从而在不影响用户体验的条件下,降低用户设备的成本。
进一步的,现有技术中的渲染农场技术中能针对文件做离线渲染,而本发明实施例提供的媒体内容渲染的方法,通过高速网络并行传输技术、高可靠通用压缩技术,将云端高速渲染的结果实时返回给用户设备,从而实现了渲染。
再进一步的,本申请可以针对具体的图层、view、纹理等具体的任务进行云端渲染,利用云计算的优势,快速响应渲染,提升用户的体验。
本发明在未来4G/5G时代,端云链接的数据传输时延不再成为问题的时候,本发明可以极大的发挥其用处,用户体验会做到更加完美。同时,本发明并不局限于终端领域,还可以用于桌面***,也可以用于云办公***。其中,端云协同过程中,数据可靠、安全、高速传输关键技术也可以用于网路通信领域。
参阅图6,本发明实施例提供的媒体内容渲染的方法的一实施例包括:
401、用户设备根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容中的一部分归属于云端设备渲染,其中,所述用户设备应用于渲染***的用户设备,所述渲染***还包括云端设备。
402、向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,所述渲染指示消息用于指示所述云端设备对所述第一媒体内容进行渲染,所述第一媒体内容为所述待渲染媒体内容中的一部分媒体内容。
所述第一媒体内容为所述待渲染媒体内容中的一部分媒体内容,也就是说第一媒体内容为待渲染媒体内容的子集,本发明实施例不包括全部待渲染媒体内容。
403、接收所述云端设备返回的针对所述第一媒体内容的云端处理结果。
本发明实施例提供的媒体内容渲染的方法,应用于渲染***的用户设备,所述渲染***还包括云端设备,所述方法包括:根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容中的一部分归属于云端设备渲染;向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,所述渲染指示消息用于指示所述云端设备对所述第一媒体内容进行渲染,所述第一媒体内容为所述待渲染媒体内容中的一部分媒体内容;接收所述云端设备返回的针对所述第一媒体内容的云端处理结果。与现有技术中媒体内容渲染效率低下相比,本发明实施例提供的媒体内容渲染的方法,针对待渲染媒体内容,用户设备可以与云端设备进行协同渲染,待渲染的媒体内容由用户设备和云端设备共同完成渲染,有效的利用了用户设备和云端设备的渲染资源,从而提高了媒体内容渲染的效率。
可选地,在上述图6对应的实施例的基础上,本发明实施例提供的媒体内容渲染的方法的第一个可选实施例中,所述方法还可以包括:
所述渲染指示消息携带对所述第一媒体内容的渲染要求参数,所述渲染要求参数用于指示所述云端设备按照所述渲染要求参数对所述第一媒体内容进行渲染。
本发明实施例中,渲染要求参数可以是用户设备上显示器件的分辨率,这样,云端设备可以直接渲染出与用户设备的显示器件相匹配的渲染结果,实现了按用户设备的需求渲染。需要说明的是,渲染要求参数还可以是体现用户设备硬件条件的其他参数,该参数能够保证云端设备渲染出的渲染结果一方面能满足对待渲染内容的图像处理要求,一方面该渲染结果又能为用户设备的硬件条件所兼容(即直接处理,如快速合成或者直接显示而无需进行转换),而避免产生延时、卡顿等。本发明实施例对渲染要求参数的具体形式不做限定。
可选地,在上述图6对应的实施例或第一个可选实施例的基础上,本发明实施例提供的媒体内容渲染的方法的第二个可选实施例中,所述方法还可以包括:
渲染第二媒体内容,以得到所述第二媒体内容的渲染结果,所述第二媒体内容为所述待渲染媒体内容中除所述第一媒体内容之外的剩余媒体内容;
将所述云端处理结果与所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果,其中,所述云端处理结果为所述第一媒体内容的渲染结果。
本发明实施例中,合成的过程实际上就是将图层进行拼接和/或叠加的过程,当各图层是属于最终显示图像的不同区域时,则将各图层进行拼接,当有两个或多个图层属于相同区域时,则将属于相同区域的图层进行叠加,将属于不同区域的图层进行拼接。合成结果实际上就是待渲染媒体内容的最终显示图像,例如:手机应用图标界面。
可选地,在上述图6对应的实施例或第一个可选实施例的基础上,本发明实施例提供的媒体内容渲染的方法的第三个可选实施例中,所述方法还可以包括:
渲染第二媒体内容,以得到所述第二媒体内容的渲染结果,所述第二媒体内容为所述待渲染媒体内容中除所述第一媒体内容之外的剩余媒体内容;
将所述云端处理结果与所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果,其中,所述云端处理结果是所述云端设备通过合成所述第一媒体内容的渲染结果中的多个图层得到的。
本发明实施例中,云端设备可以按照预先配置对第一媒体内容的渲染结果中的多个图层进行合成,也可以是按照用户设备的合成指示进行合成,因为云端设备的处理能力强,在云端合成可以提高合成速度,最终提高显示速度。
可选地,在上述图6对应的实施例或第一个至第三个任一可选实施例的基础上,本发明实施例提供的媒体内容渲染的方法的第四个可选实施例中,所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,所述方法还可以包括:
对所述第一媒体内容进行压缩,以得到压缩后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,可以包括:
向所述云端设备发送渲染指示消息和所述压缩后的媒体内容。
本发明实施例中,对第一媒体内容压缩后再传输,可以提高传输速度,从而进一步提高渲染效率。
可选地,在上述图6对应的实施例或第一个至第三个任一可选实施例的基础上,本发明实施例提供的媒体内容渲染的方法的第五个可选实施例中,所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,所述方法还可以包括:
对所述第一媒体内容进行加密,以得到加密后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,可以包括:
向所述云端设备发送渲染指示消息和所述加密后的媒体内容。
本发明实施例中,对第一媒体内容加密后再传输,可以提高传输的安全性。
可选地,在上述图6对应的实施例或第一个至第三个任一可选实施例的基础上,本发明实施例提供的媒体内容渲染的方法的第六个可选实施例中,所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,所述方法还可以包括:
对所述第一媒体内容进行加密和压缩双重处理,以得到双重处理后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,可以包括:
向所述云端设备发送渲染指示消息和所述双重处理后的媒体内容。
本发明实施例中,对第一媒体内容进行加密压缩双重处理后再传输,既提高了安全性又提高了传输效率。
可选地,在上述第二或第三个可选实施例的基础上,本发明实施例提供的媒体内容渲染的方法的第七个可选实施例中,所述渲染第二媒体内容,得到所述第二媒体内容的渲染结果,可以包括:
根据所述用户设备的核数,采用与所述核数对应的多个线程对所述第二媒体内容进行渲染,以得到所述第二媒体内容的渲染结果。
本发明实施例中,当在用户设备上渲染时,如果用户设备是多核设备,可以多线程渲染,提高了本地渲染的效率。
图6对应的实施例或可选实施例提供的端云协同对部分待渲染媒体内容的渲染方案可以参阅图1至图5部分中端云协同的相关方案的描述进行理解,本处不做过多赘述。
参阅图7,本发明实施例提供的媒体内容渲染的方法的另一实施例包括:
411、用户设备根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容全部归属于云端设备渲染,其中,所述用户设备应用于渲染***的用户设备,所述渲染***还包括云端设备。
412、所述用户设向所述云端设备发送渲染指示消息和所述待渲染媒体内容,所述渲染指示消息携带对所述待渲染媒体内容的渲染要求参数,所述渲染指示消息用于指示所述云端设备按照所述渲染要求参数对所述待渲染媒体内容进行渲染。
413、所述用户设接收所述云端设备返回的针对所述待渲染媒体内容的云端处理结果。
本发明实施例中,渲染要求参数可以是用户设备上显示器件的分辨率,这样,云端设备可以直接渲染出与用户设备的显示器件相匹配的渲染结果,实现了按用户设备的需求渲染。需要说明的是,渲染要求参数还可以是体现用户设备硬件条件的其他参数,该参数能够保证云端设备渲染出的渲染结果一方面能满足对待渲染内容的图像处理要求,一方面该渲染结果又能为用户设备的硬件条件所兼容(即直接处理,如快速合成或者直接显示而无需进行转换),而避免产生延时、卡顿等。本发明实施例对渲染要求参数的具体形式不做限定。
本发明实施例中,根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容全部归属于云端设备渲染;向所述云端设备发送渲染指示消息和所述待渲染媒体内容,所述渲染指示消息携带对所述待渲染媒体内容的渲染要求参数,所述渲染指示消息用于指示所述云端设备按照所述渲染要求参数对所述待渲染媒体内容进行渲染;接收所述云端设备返回的针对所述待渲染媒体内容的云端处理结果。与现有技术中对媒体内容的渲染效率低下相比,本发明实施例提供的媒体内容渲染的方法,用户设备获知待渲染的媒体内容后,可以根据用户设备的硬件性能进行个性化的定制,将待渲染媒体内容发送给云端设备,由云端设备按照渲染要求参数进行渲染,这样,用户设备与云端设备的协同配合,由云端设备按照渲染要求参数渲染出符合用户设备端要求的渲染结果,既提高了媒体内容渲染的效率,又实现了渲染个性化的定制。
可选地,在图7对应的实施例的基础上,本发明实施例提供的媒体内容渲染的方法的第一个可选实施例中,所述云端处理结果为所述待渲染媒体内容的渲染结果,所述方法还可以包括:
对所述待渲染媒体内容的渲染结果中的多个图层进行合成,以得到所述待渲染媒体内容的合成结果。
本发明实施例中,当云端未对渲染结果进行合成时,用户设备要对待渲染媒体内容的渲染结果中的多个图层进行合成。
可选地,在图7对应的实施例或第一个可选实施例的基础上,本发明实施例提供的媒体内容渲染的方法的第二个可选实施例中,所述向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容之前,所述方法还可以包括:
对所述待渲染媒体内容进行压缩,以得到压缩后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容,可以包括:
向所述云端设备发送渲染指示消息和所述压缩后的媒体内容。
本发明实施例中,压缩后再传输,可以提高传输效率。
可选地,在图7对应的实施例或第一个可选实施例的基础上,本发明实施例提供的媒体内容渲染的方法的第三个可选实施例中,所述向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容之前,所述方法还可以包括:
对所述待渲染媒体内容进行加密,以得到加密后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容,可以包括:
向所述云端设备发送渲染指示消息和所述加密后的媒体内容。
本发明实施例中,加密后再传输,可以提高传输的安全性。
可选地,在图7对应的实施例或第一个可选实施例的基础上,本发明实施例提供的媒体内容渲染的方法的第四个可选实施例中,所述向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容之前,所述方法还可以包括:
对所述待渲染媒体内容进行加密和压缩双重处理,以得到双重处理后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容,可以包括:
向所述云端设备发送渲染指示消息和所述双重处理后的媒体内容。
本发明实施例中,加密压缩双重处理后再传输,既可以提高传输的安全性,又可以提高传输的效率。
图7对应的实施例或可选实施例提供的由云端设备协助用户设备对全部待渲染媒体内容的渲染方案可以参阅图1至图5部分中端云协同的相关方案的描述进行理解,本处不做过多赘述。
参阅图8,本发明实施例提供的用户设备的一实施例中,所述用户设备应用于渲染***,所述渲染***还包括云端设备,所述用户设备50包括:
确定模块501,用于根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容中的一部分归属于云端设备渲染;
发送模块502,用于在所述确定模块501确定所述待渲染媒体内容中的一部分归属于云端设备渲染后,向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,所述渲染指示消息用于指示所述云端设备对所述第一媒体内容进行渲染,所述第一媒体内容为所述待渲染媒体内容中的一部分媒体内容;
接收模块503,用于在所述发送模块502发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容后,接收所述云端设备返回的针对所述第一媒体内容的云端处理结果。
本发明实施例提供的用户设备应用于渲染***,所述渲染***还包括云端设备,所述用户设备50包括:确定模块501根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容中的一部分归属于云端设备渲染;发送模块502在所述确定模块501确定所述待渲染媒体内容中的一部分归属于云端设备渲染后,向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,所述渲染指示消息用于指示所述云端设备对所述第一媒体内容进行渲染,所述第一媒体内容为所述待渲染媒体内容中的一部分媒体内容;接收模块503在所述发送模块502发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容后,接收所述云端设备返回的针对所述第一媒体内容的云端处理结果。与现有技术中媒体内容渲染效率低下相比,本发明实施例提供的用户设备,针对待渲染媒体内容,可以与云端设备进行协同渲染,待渲染的媒体内容由用户设备和云端设备共同完成渲染,有效的利用了用户设备和云端设备的渲染资源,从而提高了媒体内容渲染的效率。
可选地,在上述图8对应的实施例的基础上,本发明实施例提供的用户设备的第一个可选实施例中,
所述渲染指示消息携带对所述第一媒体内容的渲染要求参数,所述渲染要求参数用于指示所述云端设备按照所述渲染要求参数对所述第一媒体内容进行渲染。
可选地,在上述图8对应的实施例或第一个可选实施例的基础上,本发明实施例提供的用户设备的第二个可选实施例中,参阅图9,所述用户设备50还包括:
第一渲染模块504,用于渲染第二媒体内容,以得到所述第二媒体内容的渲染结果,所述第二媒体内容为所述待渲染媒体内容中除所述发送模块502发送的所述第一媒体内容之外的剩余媒体内容;
第一合成模块505,用于将所述接收模块503接收的所述云端处理结果与所述第一渲染模块504渲染的所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果,其中,所述云端处理结果为所述第一媒体内容的渲染结果。
可选地,在上述图8对应的实施例或第一个可选实施例的基础上,本发明实施例提供的用户设备的第三个可选实施例中,参阅图10,所述用户设备50还包括:
第二渲染模块506,用于在所述发送模块502发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容时,渲染第二媒体内容,以得到所述第二媒体内容的渲染结果,所述第二媒体内容为所述待渲染媒体内容中除所述发送模块发送的所述第一媒体内容之外的剩余媒体内容;
第二合成模块507,用于将所述接收模块503接收的所述云端处理结果与所述第二渲染模块506渲染的所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果,其中,所述云端处理结果是所述云端设备通过合成所述第一媒体内容的渲染结果中的多个图层得到的。
本发明实施例中,应当理解的是在一些情况下,第一渲染模块第二渲染模块实际可能是同一个模块,第一合成模块和第二合成模块也可能是同一模块,只是根据云端处理结果实现不同的功能。
可选地,在上述图8对应的实施例或第一个至第三个任一可选实施例的基础上,本发明实施例提供的用户设备的第四个可选实施例中,参阅图11,所述用户设备50还包括:压缩模块508,
所述压缩模块508,用于在所述发送模块502发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,对所述第一媒体内容进行压缩,以得到压缩后的媒体内容;
所述发送模块502,具体用于向所述云端设备发送渲染指示消息和所述压缩模块508压缩后的媒体内容。
可选地,在上述图8对应的实施例或第一个至第三个任一可选实施例的基础上,本发明实施例提供的用户设备的第五个可选实施例中,参阅图12,所述用户设备50还包括:加密模块509A,
所述加密模块509A,用于在所述发送模块502发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,对所述第一媒体内容进行加密,以得到加密后的媒体内容;
所述发送模块502,具体用于向所述云端设备发送渲染指示消息和所述加密模块509A加密后的媒体内容。
可选地,在上述图8对应的实施例或第一个至第三个任一可选实施例的基础上,本发明实施例提供的用户设备的第六个可选实施例中,参阅图13,所述用户设备50还包括:双重处理模块509B,
所述双重处理模块509B,用于在所述发送模块502发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,对所述第一媒体内容进行加密和压缩双重处理,以得到双重处理后的媒体内容;
所述发送模块502,具体用于向所述云端设备发送渲染指示消息和所述双重处理模块509B双重处理后的媒体内容。
可选地,在上述图9对应的第二个可选实施例的基础上,本发明实施例提供的用户设备的第七个可选实施例中,
所述第一渲染模块504,具体用于根据所述用户设备的核数,采用与所述核数对应的多个线程对所述第二媒体内容进行渲染,以得到所述第二媒体内容的渲染结果。
可选地,在上述图10对应的第三个可选实施例的基础上,本发明实施例提供的用户设备的第八个可选实施例中,
所述第一渲染模块506,具体用于根据所述用户设备的核数,采用与所述核数对应的多个线程对所述第二媒体内容进行渲染,以得到所述第二媒体内容的渲染结果。
图8-图13对应的实施例或可选实施例可以参阅图1至图6部分的多个实施例及可选实施例中端云协同的相关方案的描述进行理解,本处不做过多赘述。
参阅图14,本发明实施例提供的用户设备的另一实施例中,所述用户设备50应用于渲染***,所述渲染***还包括云端设备,所述用户设备50包括:
确定模块511,用于根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容全部归属于云端设备渲染;
发送模块512,用于在所述确定模块511确定出所述待渲染媒体内容全部归属于云端设备渲染时,向所述云端设备发送渲染指示消息和所述待渲染媒体内容,所述渲染指示消息携带对所述待渲染媒体内容的渲染要求参数,所述渲染指示消息用于指示所述云端设备按照所述渲染要求参数对所述待渲染媒体内容进行渲染;
接收模块513,用于在所述发送模块512发送渲染指示消息和所述待渲染媒体内容之后,接收所述云端设备返回的针对所述待渲染媒体内容的云端处理结果。
本发明实施例中,确定模块511根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容全部归属于云端设备渲染;发送模块512在所述确定模块511确定出所述待渲染媒体内容全部归属于云端设备渲染时,向所述云端设备发送渲染指示消息和所述待渲染媒体内容,所述渲染指示消息携带对所述待渲染媒体内容的渲染要求参数,所述渲染指示消息用于指示所述云端设备按照所述渲染要求参数对所述待渲染媒体内容进行渲染;接收模块513在所述发送模块512发送渲染指示消息和所述待渲染媒体内容之后,接收所述云端设备返回的针对所述待渲染媒体内容的云端处理结果。与现有技术中对媒体内容的渲染效率低下相比,本发明实施例提供的用户设备,在获知待渲染的媒体内容后,可以根据用户设备的硬件性能进行个性化的定制,将待渲染媒体内容发送给云端设备,由云端设备按照渲染要求参数渲染出符合用户设备端要求的渲染结果,这样,用户设备与云端设备的协同配合,由云端设备完成渲染,既提高了媒体内容渲染的效率,又实现了渲染个性化的定制。
可选地,在上述图14对应的实施例的基础上,参阅图15,本发明实施例提供的用户设备50的第二个可选实施例中,所述用户设备50还包括:
合成模块514,用于对所述接收模块513接收的所述待渲染媒体内容的渲染结果中的多个图层进行合成,以得到所述待渲染媒体内容的合成结果。
可选地,在上述图14对应的实施例的基础上,参阅图16,本发明实施例提供的用户设备50的第二个可选实施例中,所述用户设备50还包括:压缩模块515,
所述压缩模块515,用于在所述发送模块512向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容之前,对所述待渲染媒体内容进行压缩,以得到压缩后的媒体内容;
所述发送模块512,具体用于向所述云端设备发送渲染指示消息和所述压缩模块515压缩后的媒体内容。
可选的,在图15对应的可选实施例的基础上,也可以包括上述压缩模块。
可选地,在上述图14对应的实施例的基础上,参阅图17,本发明实施例提供的用户设备50的第三个可选实施例中,所述用户设备50还包括加密模块516,
所述加密模块516,用于在所述发送模块512向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容之前,对所述待渲染媒体内容进行加密,以得到加密后的媒体内容;
所述发送模块512,具体用于向所述云端设备发送渲染指示消息和所述加密模块516加密后的媒体内容。
可选的,在图15对应的可选实施例的基础上,也可以包括上述加密模块。
可选地,在上述图14对应的实施例的基础上,参阅图18,本发明实施例提供的用户设备50的第四个可选实施例中,所述用户设备还包括双重处理模块517,
所述双重处理模块517,用于在所述发送模块向所述云端设备发送渲染指示消息和需要由所述待渲染媒体内容之前,对所述待渲染媒体内容进行加密和压缩双重处理,以得到双重处理后的媒体内容;
所述发送模块512,具体用于向所述云端设备发送渲染指示消息和所述双重处理模块517双重处理后的媒体内容。
可选的,在图15对应的可选实施例的基础上,也可以包括上述双重处理模块。
图14-图18对应的实施例或可选实施例可以参阅图1至图5、图7部分多个实施例或可选实施例中端云协同的相关方案的描述进行理解,本处不做过多赘述。
在上述用户设备的多个实施例中,应当理解的是,在一种实现方式下,发送模块、接收模块可以是由输入/输出I/O设备(比如网卡)来实现,确定模块、压缩模块、加密模块、渲染模块、合成模块可以由处理器执行存储器中的程序或指令来实现的(换言之,即由处理器以及与所述处理器耦合的存储器中的特殊指令相互配合来实现);在另一种实现方式下,发送模块、接收模块可以是由输入/输出I/O设备(比如网卡)来实现,确定模块、压缩模块、加密模块、渲染模块、合成模块也可以分别通过专有电路来实现,具体实现方式参见现有技术,这里不再赘述;在再一种实现方式下,发送模块、接收模块可以是由输入/输出I/O设备(比如网卡)来实现,确定模块、压缩模块、加密模块、渲染模块、合成模块也可以通过现场可编程门阵列(FPGA,Field-Programmable Gate Array)来实现,具体实现方式参见现有技术,这里不再赘述,本发明包括但不限于前述实现方式,应当理解的是,只要按照本发明的思想实现的方案,都落入本发明实施例所保护的范围。
本实施例提供了一种用户设备的硬件结构,参见图19所示,一种用户设备的硬件结构可以包括:
收发器件、软件器件以及硬件器件三部分;
收发器件为用于完成包收发的硬件电路;
硬件器件也可称“硬件处理模块”,或者更简单的,也可简称为“硬件”,硬件器件主要包括基于FPGA、ASIC之类专用硬件电路(也会配合其他配套器件,如存储器)来实现某些特定功能的硬件电路,其处理速度相比通用处理器往往要快很多,但功能一经定制,便很难更改,因此,实现起来并不灵活,通常用来处理一些固定的功能。需要说明的是,硬件器件在实际应用中,也可以包括MCU(微处理器,如单片机)、或者CPU等处理器,但这些处理器的主要功能并不是完成大数据的处理,而主要用于进行一些控制,在这种应用场景下,由这些器件搭配的***为硬件器件。
软件器件(或者也简单“软件”)主要包括通用的处理器(例如CPU)及其一些配套的器件(如内存、硬盘等存储设备),可以通过编程来让处理器具备相应的处理功能,用软件来实现时,可以根据业务需求灵活配置,但往往速度相比硬件器件来说要慢。软件处理完后,可以通过硬件器件将处理完的数据通过收发器件进行发送,也可以通过一个与收发器件相连的接口向收发器件发送处理完的数据。
本实施例中,收发器件用于部分或全部待渲染媒体内容的发送和渲染结果的接收,软件器件或硬件器件用于创建用户管理实例等。
硬件器件及软件器件的其他功能在前述实施例中已经详细论述,这里不再赘述。
下面结合附图就发送模块、接收模块可以是由输入/输出I/O设备(比如网卡)来实现,确定模块、压缩模块、加密模块、渲染模块、合成模块可以是可以由处理器执行存储器中的程序或指令来实现的技术方案来做详细的介绍:
图20是本发明实施例提供的用户设备50的结构示意图。用户设备50应用于渲染***,所述渲染***还包括云端设备,所述用户设备50包括处理器510、存储器550和输入/输出I/O设备530,存储器550可以包括只读存储器和随机存取存储器,并向处理器510提供操作指令和数据。存储器550的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器550存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
在本发明用户设备和云端设备各渲染一部分待渲染媒体内容的渲染方案的实施例中,通过调用存储器550存储的操作指令(该操作指令可存储在操作***中),
根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容中的一部分归属于云端设备渲染;
通过I/O设备530:
向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,所述渲染指示消息用于指示所述云端设备对所述第一媒体内容进行渲染,所述第一媒体内容为所述待渲染媒体内容中的一部分媒体内容;
接收所述云端设备返回的针对所述第一媒体内容的云端处理结果。
可见,与现有技术中媒体内容渲染效率低下相比,针对待渲染媒体内容,用户设备可以与云端设备进行协同渲染,从而提高了媒体内容渲染的效率。
处理器510控制用户设备50的操作,处理器510还可以称为CPU(CentralProcessing Unit,中央处理单元)。存储器550可以包括只读存储器和随机存取存储器,并向处理器510提供指令和数据。存储器550的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中用户设备50的各个组件通过总线***520耦合在一起,其中总线***520除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***520。
上述本发明实施例揭示的方法可以应用于处理器510中,或者由处理器510实现。处理器510可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器510中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器510可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器550,处理器510读取存储器550中的信息,结合其硬件完成上述方法的步骤。
可选地,所述渲染指示消息携带对所述第一媒体内容的渲染要求参数,所述渲染要求参数用于指示所述云端设备按照所述渲染要求参数对所述第一媒体内容进行渲染。
可选地,处理器510还用于:
渲染第二媒体内容,以得到所述第二媒体内容的渲染结果,所述第二媒体内容为所述待渲染媒体内容中除所述第一媒体内容之外的剩余媒体内容;
将所述云端处理结果与所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果,其中,所述云端处理结果为所述第一媒体内容的渲染结果。
可选地,处理器510还用于:
渲染第二媒体内容,以得到所述第二媒体内容的渲染结果,所述第二媒体内容为所述待渲染媒体内容中除所述第一媒体内容之外的剩余媒体内容;
将所述云端处理结果与所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果,其中,所述云端处理结果是所述云端设备通过合成所述第一媒体内容的渲染结果中的多个图层得到的。
可选地,处理器510还用于:对所述第一媒体内容进行压缩,以得到压缩后的媒体内容;
I/O设备530具体用于向所述云端设备发送渲染指示消息和所述压缩后的媒体内容。
可选地,处理器510还用于:对所述第一媒体内容进行加密,以得到加密后的媒体内容;
I/O设备530具体用于向所述云端设备发送渲染指示消息和所述加密后的媒体内容。
可选地,处理器510还用于:对所述第一媒体内容进行加密和压缩双重处理,以得到双重处理后的媒体内容;
I/O设备530具体用于向所述云端设备发送渲染指示消息和所述双重处理后的媒体内容。
可选地,处理器510还用于:根据所述用户设备的核数,采用与所述核数对应的多个线程对所述第二媒体内容进行渲染,以得到所述第二媒体内容的渲染结果。
在本发明由云端设备渲染全部待渲染媒体内容的渲染方案的实施例中,处理器510通过调用存储器550存储的操作指令(该操作指令可存储在操作***中),
根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容全部归属于云端设备渲染;
通过I/O设备530:
向所述云端设备发送渲染指示消息和所述待渲染媒体内容,所述渲染指示消息携带对所述待渲染媒体内容的渲染要求参数,所述渲染指示消息用于指示所述云端设备按照所述渲染要求参数对所述待渲染媒体内容进行渲染;
接收所述云端设备返回的针对所述待渲染媒体内容的云端处理结果。
与现有技术中媒体内容渲染效率低下相比,用户设备在获知待渲染的媒体内容后,可以根据用户设备的硬件性能进行个性化的定制,将待渲染媒体内容发送给云端设备,由云端设备按照渲染要求参数渲染出符合用户设备端要求的渲染结果,这样,用户设备与云端设备的协同配合,由云端设备完成渲染,既提高了媒体内容渲染的效率,又实现了渲染个性化的定制。
可选地,处理器510还用于对所述待渲染媒体内容的渲染结果中的多个图层进行合成,以得到所述待渲染媒体内容的合成结果。
可选地,处理器510还用于对所述待渲染媒体内容进行压缩,以得到压缩后的媒体内容;
I/O设备530具体用于向所述云端设备发送渲染指示消息和所述压缩后的媒体内容。
可选地,处理器510还用于对所述待渲染媒体内容进行加密,以得到加密后的媒体内容;
I/O设备530具体用于向所述云端设备发送渲染指示消息和所述加密后的媒体内容。
可选地,处理器510还用于对所述待渲染媒体内容进行加密和压缩双重处理,以得到双重处理后的媒体内容;
I/O设备530具体用于向所述云端设备发送渲染指示消息和所述双重处理后的媒体内容。
图20对应的各实施例可以参阅图1至图18部分的相关描述进行理解,本处不做过多赘述。
参阅图21,本发明实施例提供的媒体渲染***的一实施例包括:用户设备50和云端设备60,
所述用户设备50,用于根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容中的一部分归属于云端设备渲染,向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,所述渲染指示消息用于指示所述云端设备对所述第一媒体内容进行渲染,所述第一媒体内容为所述待渲染媒体内容中的一部分媒体内容;
所述云端设备60,用于根据所述渲染指示消息对第一媒体内容进行渲染,并向所述用户设备返回针对所述第一媒体内容的云端处理结果;
所述用户设备50,用于接收所述云端设备返回的针对所述第一媒体内容的云端处理结果。
与现有技术中媒体内容渲染效率低下相比,本发明实施例提供的媒体内容渲染的***,针对待渲染媒体内容,用户设备可以与云端设备进行协同渲染,从而提高了媒体内容渲染的效率。
另一方面,所述用户设备50,用于根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容全部归属于云端设备渲染,向所述云端设备发送渲染指示消息和所述待渲染媒体内容,所述渲染指示消息携带对所述待渲染媒体内容的渲染要求参数,所述渲染指示消息用于指示所述云端设备按照所述渲染要求参数对所述待渲染媒体内容进行渲染;
所述云端设备60,用于根据所述渲染指示消息对待渲染媒体内容进行渲染,并向所述用户设备返回针对所述待渲染媒体内容的云端处理结果;
所述用户设备50,用于接收所述云端设备返回的针对所述待渲染媒体内容的云端处理结果。
与现有技术中用户设备渲染效率低下相比,本发明实施例提供的媒体内容渲染的***,用户设备在获知待渲染的媒体内容后,可以根据用户设备的硬件性能进行个性化的定制,将待渲染媒体内容发送给云端设备,由云端设备按照渲染要求参数进行渲染,这样,用户设备与云端设备的协同配合,由云端设备完成渲染,既提高了媒体内容渲染的效率,又实现了渲染个性化的定制。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的媒体内容渲染的方法、用户设备以及***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1.一种媒体内容渲染的方法,其特征在于,所述方法应用于渲染***的用户设备,所述渲染***还包括云端设备,所述方法包括:
所述用户设备根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容中的一部分归属于云端设备渲染;
所述用户设备向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,所述渲染指示消息用于指示所述云端设备对所述第一媒体内容进行渲染,所述第一媒体内容为所述待渲染媒体内容中的一部分媒体内容;
所述用户设备接收所述云端设备返回的针对所述第一媒体内容的云端处理结果;
所述用户设备渲染第二媒体内容,以得到所述第二媒体内容的渲染结果,所述第二媒体内容为所述待渲染媒体内容中除所述第一媒体内容之外的剩余媒体内容;
所述用户设备将所述云端处理结果与所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果,其中,所述云端处理结果为所述第一媒体内容的渲染结果。
2.根据权利要求1所述的方法,其特征在于,所述渲染指示消息携带对所述第一媒体内容的渲染要求参数,所述渲染要求参数用于指示所述云端设备按照所述渲染要求参数对所述第一媒体内容进行渲染。
3.根据权利要求1所述的方法,其特征在于,所述云端处理结果是所述云端设备通过合成所述第一媒体内容的渲染结果中的多个图层得到的。
4.根据权利要求1-3任一所述的方法,其特征在于,所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,所述方法还包括:
对所述第一媒体内容进行压缩,以得到压缩后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,包括:
向所述云端设备发送渲染指示消息和所述压缩后的媒体内容。
5.根据权利要求1-3任一所述的方法,其特征在于,所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,所述方法还包括:
对所述第一媒体内容进行加密,以得到加密后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,包括:
向所述云端设备发送渲染指示消息和所述加密后的媒体内容。
6.根据权利要求1-3任一所述的方法,其特征在于,所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,所述方法还包括:
对所述第一媒体内容进行加密和压缩双重处理,以得到双重处理后的媒体内容;
所述向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,包括:
向所述云端设备发送渲染指示消息和所述双重处理后的媒体内容。
7.根据权利要求1所述的方法,其特征在于,所述渲染第二媒体内容,得到所述第二媒体内容的渲染结果,包括:
根据所述用户设备的核数,采用与所述核数对应的多个线程对所述第二媒体内容进行渲染,以得到所述第二媒体内容的渲染结果。
8.一种用户设备,其特征在于,所述用户设备应用于渲染***,所述渲染***还包括云端设备,所述用户设备包括:
确定模块,用于根据待渲染媒体内容的渲染需求,确定所述待渲染媒体内容中的一部分归属于云端设备渲染;
发送模块,用于在所述确定模块确定所述待渲染媒体内容中的一部分归属于云端设备渲染后,向所述云端设备发送渲染指示消息和需要由所述云端设备渲染的第一媒体内容,所述渲染指示消息用于指示所述云端设备对所述第一媒体内容进行渲染,所述第一媒体内容为所述待渲染媒体内容中的一部分媒体内容;
接收模块,用于在所述发送模块发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容后,接收所述云端设备返回的针对所述第一媒体内容的云端处理结果;
第一渲染模块,用于渲染第二媒体内容,以得到所述第二媒体内容的渲染结果,所述第二媒体内容为所述待渲染媒体内容中除所述发送模块发送的所述第一媒体内容之外的剩余媒体内容;
第一合成模块,用于将所述接收模块接收的所述云端处理结果与所述第一渲染模块渲染的所述第二媒体内容的渲染结果进行合成,以得到所述待渲染媒体内容的合成结果,其中,所述云端处理结果为所述第一媒体内容的渲染结果。
9.根据权利要求8所述的用户设备,其特征在于,所述渲染指示消息携带对所述第一媒体内容的渲染要求参数,所述渲染要求参数用于指示所述云端设备按照所述渲染要求参数对所述第一媒体内容进行渲染。
10.根据权利要求8所述的用户设备,其特征在于,所述云端处理结果是所述云端设备通过合成所述第一媒体内容的渲染结果中的多个图层得到的。
11.根据权利要求8所述的用户设备,其特征在于,所述用户设备还包括:压缩模块,
所述压缩模块,用于在所述发送模块发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,对所述第一媒体内容进行压缩,以得到压缩后的媒体内容;
所述发送模块,具体用于向所述云端设备发送渲染指示消息和所述压缩模块压缩后的媒体内容。
12.根据权利要求8所述的用户设备,其特征在于,所述用户设备还包括:加密模块,
所述加密模块,用于在所述发送模块发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,对所述第一媒体内容进行加密,以得到加密后的媒体内容;
所述发送模块,具体用于向所述云端设备发送渲染指示消息和所述加密模块加密后的媒体内容。
13.根据权利要求8所述的用户设备,其特征在于,所述用户设备还包括:双重处理模块,
所述双重处理模块,用于在所述发送模块发送所述渲染指示消息和需要由所述云端设备渲染的第一媒体内容之前,对所述第一媒体内容进行加密和压缩双重处理,以得到双重处理后的媒体内容;
所述发送模块,具体用于向所述云端设备发送渲染指示消息和所述双重处理模块双重处理后的媒体内容。
14.根据权利要求8所述的用户设备,其特征在于,
所述第一渲染模块,具体用于根据所述用户设备的核数,采用与所述核数对应的多个线程对所述第二媒体内容进行渲染,以得到所述第二媒体内容的渲染结果。
15.一种媒体渲染***,其特征在于,包括:用户设备和云端设备,
所述用户设备为权利要求8-14任一所述的用户设备。
CN201510374452.0A 2015-06-30 2015-06-30 一种媒体内容渲染的方法、用户设备及*** Active CN105096373B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201510374452.0A CN105096373B (zh) 2015-06-30 2015-06-30 一种媒体内容渲染的方法、用户设备及***
PCT/CN2016/075630 WO2017000580A1 (zh) 2015-06-30 2016-03-04 一种媒体内容渲染的方法、用户设备及***
BR112017021375-3A BR112017021375A2 (zh) 2015-06-30 2016-03-04 A method, a user equipment and a system for media content rendering
ES16816945T ES2887424T3 (es) 2015-06-30 2016-03-04 Método de representación de contenido multimedia, un equipo de usuario y sistema
EP16816945.6A EP3264370B1 (en) 2015-06-30 2016-03-04 Media content rendering method, user equipment, and system
EP21169776.8A EP3951717A1 (en) 2015-06-30 2016-03-04 Media content rendering method, a piece of user equipment, and system
US15/791,863 US10096083B2 (en) 2015-06-30 2017-10-24 Media content rendering method, user equipment, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510374452.0A CN105096373B (zh) 2015-06-30 2015-06-30 一种媒体内容渲染的方法、用户设备及***

Publications (2)

Publication Number Publication Date
CN105096373A CN105096373A (zh) 2015-11-25
CN105096373B true CN105096373B (zh) 2020-04-28

Family

ID=54576706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510374452.0A Active CN105096373B (zh) 2015-06-30 2015-06-30 一种媒体内容渲染的方法、用户设备及***

Country Status (6)

Country Link
US (1) US10096083B2 (zh)
EP (2) EP3951717A1 (zh)
CN (1) CN105096373B (zh)
BR (1) BR112017021375A2 (zh)
ES (1) ES2887424T3 (zh)
WO (1) WO2017000580A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105096373B (zh) 2015-06-30 2020-04-28 华为技术有限公司 一种媒体内容渲染的方法、用户设备及***
CN106887032B (zh) * 2015-12-15 2020-09-29 中国电信股份有限公司 三维场景渲染方法和***以及相关设备
KR102478018B1 (ko) * 2016-01-13 2022-12-16 삼성전자주식회사 콘텐트 표시 방법 및 이를 수행하는 전자 장치
CN105677282B (zh) * 2016-01-29 2019-04-26 腾讯科技(深圳)有限公司 一种图像绘制的方法、用户设备、服务器及***
CN105791977B (zh) * 2016-02-26 2019-05-07 北京视博云科技有限公司 基于云服务的虚拟现实数据处理方法、设备及***
CN106067159A (zh) * 2016-05-27 2016-11-02 范杭 虚拟现实、增强现实的实时显示方法和***
CN106407003A (zh) * 2016-08-29 2017-02-15 广州视睿电子科技有限公司 屏幕界面显示方法和***
CN106502667B (zh) * 2016-10-18 2019-09-03 广州视睿电子科技有限公司 一种渲染方法及装置
CN107979763B (zh) * 2016-10-21 2021-07-06 阿里巴巴集团控股有限公司 一种虚拟现实设备生成视频、播放方法、装置及***
US10555035B2 (en) * 2017-06-09 2020-02-04 Disney Enterprises, Inc. High-speed parallel engine for processing file-based high-resolution images
CN109151567A (zh) * 2017-06-19 2019-01-04 北京陌陌信息技术有限公司 视频数据的处理方法和装置、计算机可读存储介质
CN109214978A (zh) * 2017-07-01 2019-01-15 武汉斗鱼网络科技有限公司 滤镜效果的加速处理方法、存储介质、电子设备及***
CN108171783A (zh) 2018-03-20 2018-06-15 联想(北京)有限公司 图像渲染方法、***以及电子设备
CN108769715B (zh) * 2018-05-22 2022-05-13 深圳市腾讯网络信息技术有限公司 图形指令数据的处理方法及装置
CN110825467B (zh) * 2018-08-09 2023-10-24 北京微播视界科技有限公司 渲染方法、装置、硬件装置和计算机可读存储介质
CN109445760B (zh) * 2018-10-08 2022-08-23 武汉联影医疗科技有限公司 图像渲染方法和***
CN109589608A (zh) * 2018-12-19 2019-04-09 网易(杭州)网络有限公司 保护游戏数据的方法和装置
CN111400024B (zh) * 2019-01-03 2023-10-10 百度在线网络技术(北京)有限公司 渲染过程中的资源调用方法、装置和渲染引擎
CN111460402A (zh) * 2019-01-18 2020-07-28 广州问天信息技术有限公司 一种游戏设计云渲染***
CN112169322B (zh) * 2019-07-04 2022-03-25 广州虎牙科技有限公司 远程渲染方法、装置、电子设备及可读存储介质
CN111111175A (zh) * 2019-12-18 2020-05-08 北京智明星通科技股份有限公司 一种游戏画面生成方法、装置和移动终端
CN111359204A (zh) * 2020-03-08 2020-07-03 北京智明星通科技股份有限公司 一种***场景的渲染方法、装置及移动终端
CN111651131B (zh) * 2020-05-18 2024-02-27 武汉联影医疗科技有限公司 图像的显示方法、装置和计算机设备
CN112164132B (zh) * 2020-10-17 2021-04-02 深圳市游梦初心文化网络有限公司 基于大数据和云计算的游戏兼容处理方法及云端计算中心
CN112581578A (zh) * 2020-12-23 2021-03-30 江苏赞奇科技股份有限公司 一种基于软件定义的云渲染***
CN113244614B (zh) * 2021-06-07 2021-10-26 腾讯科技(深圳)有限公司 图像画面展示方法、装置、设备及存储介质
CN113453073B (zh) * 2021-06-29 2023-01-06 北京百度网讯科技有限公司 一种图像渲染方法、装置、电子设备及存储介质
CN113852840B (zh) * 2021-09-18 2023-08-22 北京百度网讯科技有限公司 视频渲染方法、装置、电子设备以及存储介质
CN115883614A (zh) * 2021-09-26 2023-03-31 华为技术有限公司 一种云手机的实现方法及装置
CN114253649B (zh) * 2021-12-24 2024-04-09 武汉噢易云计算股份有限公司 图像渲染方法、装置、设备及可读存储介质
CN116934576A (zh) * 2022-03-31 2023-10-24 脸萌有限公司 端云协同的媒体数据处理方法、装置、设备及存储介质
WO2024007926A1 (zh) * 2022-07-06 2024-01-11 华为技术有限公司 Xr对象渲染的方法、通信装置及***
CN115209117B (zh) * 2022-07-20 2024-06-18 北京字跳网络技术有限公司 一种投屏方法及装置
CN115809106A (zh) * 2022-09-19 2023-03-17 阿里巴巴(中国)有限公司 云桌面***与云桌面显示方法、终端设备及存储介质
CN115695850B (zh) * 2022-11-08 2023-09-08 瀚博半导体(上海)有限公司 视频数据处理方法、装置、电子设备和介质
CN116033065A (zh) * 2022-12-29 2023-04-28 维沃移动通信有限公司 播放方法、装置、电子设备及可读存储介质
CN116828215B (zh) * 2023-08-30 2023-11-14 湖南马栏山视频先进技术研究院有限公司 一种降低本地算力负荷的视频渲染方法及***
CN117456113B (zh) * 2023-12-26 2024-04-23 山东山大华天软件有限公司 一种云端离线渲染交互应用实现方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012030550A1 (en) * 2010-08-31 2012-03-08 Cbs Interactive Inc. Platform for serving online content
CN102577327A (zh) * 2011-12-26 2012-07-11 华为技术有限公司 一种实现远程桌面环境下网页浏览的方法、装置和***
CN103268620A (zh) * 2013-04-28 2013-08-28 华为技术有限公司 图形处理方法、图形处理装置及终端设备

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007119236A2 (en) * 2006-04-13 2007-10-25 Yosef Mizrachi Method and apparatus for providing gaming services and for handling video content
US8264493B2 (en) * 2008-05-12 2012-09-11 Playcast Media Systems, Ltd. Method and system for optimized streaming game server
US8151199B2 (en) * 2009-02-09 2012-04-03 AltEgo, LLC Computational delivery system for avatar and background game content
US9723319B1 (en) * 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
CN102270354A (zh) 2010-06-03 2011-12-07 苏州浩辰软件股份有限公司 基于对等运算集群的分布式渲染方法及其渲染***
US8803892B2 (en) * 2010-06-10 2014-08-12 Otoy, Inc. Allocation of GPU resources across multiple clients
US20130307847A1 (en) * 2010-12-06 2013-11-21 The Regents Of The University Of California Rendering and encoding adaptation to address computation and network
CN102185923A (zh) * 2011-05-16 2011-09-14 广州市动景计算机科技有限公司 一种移动通讯设备终端网页浏览方法
CN102685239B (zh) 2012-05-18 2015-02-04 北京尔宜居科技有限责任公司 分布式渲染方法
US9378582B2 (en) * 2012-07-31 2016-06-28 Siemens Product Lifecycle Management Software Inc. Rendering of design data
CN103023959B (zh) 2012-08-09 2015-10-28 江苏科技大学 一种分布渲染***及方法
CN103049924B (zh) 2012-12-11 2016-03-02 广东威创视讯科技股份有限公司 多图层分布式渲染方法及***
US9717982B2 (en) * 2012-12-21 2017-08-01 Microsoft Technology Licensing, Llc Client rendering of latency sensitive game features
CN103106680B (zh) * 2013-02-16 2015-05-06 赞奇科技发展有限公司 基于云计算架构的三维图形渲染的实现方法及云服务***
KR101716071B1 (ko) * 2013-02-27 2017-03-13 애플 인크. 적응적 스트리밍 기법
CN104063407A (zh) * 2013-03-22 2014-09-24 谈天霆 基于云计算的浏览器架构与解析方法
CN103167222B (zh) * 2013-03-29 2016-06-08 北京中科大洋科技发展股份有限公司 一种非线性云编辑***
CN103200350B (zh) * 2013-03-29 2015-12-23 北京中科大洋科技发展股份有限公司 一种非线性云编辑方法
US10713838B2 (en) * 2013-05-03 2020-07-14 Nvidia Corporation Image illumination rendering system and method
CN103297516B (zh) 2013-05-16 2016-12-28 北京新思易佳科技有限公司 一种应用的多类型提供方法、***及装置
US20140375634A1 (en) * 2013-06-25 2014-12-25 Advanced Micro Devices, Inc. Hybrid client-server rendering with low latency in view
CN104346141B (zh) * 2013-07-26 2017-11-10 北京畅游天下网络技术有限公司 一种渲染方法与渲染装置
CN103700133B (zh) 2013-12-20 2017-07-18 广东威创视讯科技股份有限公司 三维场景分布式渲染同步刷新方法和***
US9838476B2 (en) * 2014-03-26 2017-12-05 Rockwell Automation Technologies, Inc. On-premise data collection and ingestion using industrial cloud agents
CN104484530A (zh) * 2014-12-18 2015-04-01 福建省纳金网信息技术有限公司 基于云计算的室内自定义装饰渲染方法
CN105096373B (zh) * 2015-06-30 2020-04-28 华为技术有限公司 一种媒体内容渲染的方法、用户设备及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012030550A1 (en) * 2010-08-31 2012-03-08 Cbs Interactive Inc. Platform for serving online content
CN102577327A (zh) * 2011-12-26 2012-07-11 华为技术有限公司 一种实现远程桌面环境下网页浏览的方法、装置和***
CN103268620A (zh) * 2013-04-28 2013-08-28 华为技术有限公司 图形处理方法、图形处理装置及终端设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Using graphics rendering contexts to enhance the real-time video coding for mobile cloud gaming;Shu Shi et al.;《IEEE Transactions on circuits and systems for video technology》;20111201;103-112 *
When Mobile Terminals Meet the Cloud: Computation Offloading as the Bridge;Xiaoqiang Ma et al.;《IEEE Network.》;20131003;28-33 *

Also Published As

Publication number Publication date
BR112017021375A2 (zh) 2018-07-03
WO2017000580A1 (zh) 2017-01-05
CN105096373A (zh) 2015-11-25
US20180047130A1 (en) 2018-02-15
US10096083B2 (en) 2018-10-09
EP3264370A1 (en) 2018-01-03
EP3951717A1 (en) 2022-02-09
EP3264370A4 (en) 2018-03-21
ES2887424T3 (es) 2021-12-22
EP3264370B1 (en) 2021-06-30

Similar Documents

Publication Publication Date Title
CN105096373B (zh) 一种媒体内容渲染的方法、用户设备及***
US11321928B2 (en) Methods and apparatus for atlas management of augmented reality content
KR102562877B1 (ko) 애플리케이션 계산들의 분배를 위한 방법들 및 장치들
US11882297B2 (en) Image rendering and coding method and related apparatus
US20220241689A1 (en) Game Character Rendering Method And Apparatus, Electronic Device, And Computer-Readable Medium
US20140344469A1 (en) Method of in-application encoding for decreased latency application streaming
US20230421796A1 (en) Methods and apparatus for foveated compression
KR20060106677A (ko) 사용자 인터페이스 제어를 위한 컴퓨터 판독가능 매체 및통신 방법
US10249018B2 (en) Graphics processor and method of scaling user interface elements for smaller displays
CN113946402A (zh) 基于渲染分离的云手机加速方法、***、设备及存储介质
CN112316433B (zh) 游戏画面渲染方法、装置、服务器和存储介质
US20110320953A1 (en) Method and apparatus for projecting a user interface via partition streaming
US10237563B2 (en) System and method for controlling video encoding using content information
CN114845136B (zh) 视频合成方法、装置、设备和存储介质
CN112307403A (zh) 页面渲染方法、装置、存储介质以及终端
CN114567784B (zh) 一种用于飞腾显卡的vpu视频解码输出方法及***
CN114570020A (zh) 数据处理方法以及***
CN112565869B (zh) 一种视频重定向的窗口融合方法、装置及设备
CN115988265A (zh) 一种显示画面的渲染方法、装置和终端设备
CN114820660A (zh) 图像处理方法、装置、电子设备、存储介质及程序产品
US20240013461A1 (en) Interactive Animation Generation
CN117710548A (zh) 图像渲染方法及其相关设备
CN116599942A (zh) 一种虚拟桌面的图像处理方法、装置、服务端和存储介质
CN118037923A (zh) 图像渲染方法、装置、存储介质及电子设备
CN115633209A (zh) 云桌面流媒体播放方法、***、设备及存储介质

Legal Events

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