CN112381907A - 多媒体轨道绘制方法和系统 - Google Patents

多媒体轨道绘制方法和系统 Download PDF

Info

Publication number
CN112381907A
CN112381907A CN202011261864.0A CN202011261864A CN112381907A CN 112381907 A CN112381907 A CN 112381907A CN 202011261864 A CN202011261864 A CN 202011261864A CN 112381907 A CN112381907 A CN 112381907A
Authority
CN
China
Prior art keywords
track
data
canvas
window
point
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.)
Granted
Application number
CN202011261864.0A
Other languages
English (en)
Other versions
CN112381907B (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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202011261864.0A priority Critical patent/CN112381907B/zh
Publication of CN112381907A publication Critical patent/CN112381907A/zh
Application granted granted Critical
Publication of CN112381907B publication Critical patent/CN112381907B/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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/604Rotation of whole images or parts thereof using coordinate rotation digital computer [CORDIC] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请实施例公开了一种多媒体轨道绘制方法,所述方法包括:提供画布,该画布用于绘制模拟多媒体轨道的轨道图形;获取轨道数据模型中的当前轨道数据;基于所述当前轨道数据,剪裁素材片段并将裁剪后的素材片段插入到轨道的相应位置;根据所述当前轨道数据得到窗口数据,所述窗口数据为所述当前轨道数据在显示窗口内的待绘制数据;及基于所述窗口数据在所述画布上绘制目标轨道图形,该目标轨道图形用于表征所述裁剪后的素材片段在所述轨道上的位置。在本申请实施例中,通过在画布上绘制轨道图形来表示多媒体编辑效果,轨道绘制步骤简单,可以适用多个平台,不需借助大量子视图和控件等,可以以较小计算资源实施轨道绘制,避免掉帧卡顿并提升用户体验。

Description

多媒体轨道绘制方法和系统
技术领域
本申请实施例涉及音视频处理领域,尤其涉及一种多媒体轨道绘制方法、系统、计算机设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,人们可以编辑视频内容,以供观众观看。在音视频编辑的场景中,音视频轨道是用于音视频编辑的基础交互组件。作为基础的交互轨道,要求其具有稳定性,可拓展性和流畅性。
现有的音视频编辑软件,多是采用平台封装好的视图组件来实现轨道交互组件,例如ListView(列表视图组件)、RecyclerView(滑动视图组件)以及ScrollView(滚动视图组件),并通过添加很多的子视图,多次measure(视图大小计算)和layout(视图布局)来展现轨道。上述方式依赖不同平台上的系统控件,不能适用于多个平台。并且,如果通过上述方式在移动终端上进行音视频编辑时,会导致以下后果:性能低下、实现复杂、使用时容易掉帧卡顿、体验不好。
发明内容
本申请实施例的目的是提供一种多媒体轨道绘制方法、系统、计算机设备及计算机可读存储介质,用于解决以下问题:性能低下、实现复杂、使用时容易掉帧卡顿、体验不好、不用同时适用于多平台。
本申请实施例的一个方面提供了一种多媒体轨道绘制方法,包括:提供画布,该画布用于绘制模拟多媒体轨道的轨道图形;获取轨道数据模型中的当前轨道数据;基于所述当前轨道数据,剪裁素材片段并将裁剪后的素材片段插入到轨道的相应位置;根据所述当前轨道数据得到窗口数据,所述窗口数据为所述当前轨道数据在显示窗口内的待绘制数据;及基于所述窗口数据在所述画布上绘制目标轨道图形,该目标轨道图形用于表征所述裁剪后的素材片段在所述轨道上的位置。
可选的,所述当前轨道数据包括:所述素材片段的时间上的裁剪入点、所述时间上的裁剪出点、距离上的裁剪入点和所述距离上的裁剪出点;以及所述裁剪后的素材片段在所述轨道上的时间入点、所述轨道上的时间出点、在所述轨道上的空间入点和所述轨道上的空间出点。
可选的,剪裁素材片段并将裁剪后的素材片段插入到轨道的相应位置,包括:根据所述素材片段的时间上的裁剪入点、所述时间上的裁剪出点、距离上的裁剪入点以及所述距离上的裁剪出点,对所述素材片段进行裁剪操作,以得到所述裁剪后的素材片段;以及根据所述裁剪后的素材片段在所述轨道上的时间入点、所述轨道上的时间出点、所述轨道上的空间入点以及所述轨道上的空间出点,将所述裁剪后的素材片段插入在所述轨道的相应位置处。
可选的,根据所述当前轨道数据得到窗口数据,包括:将所述当前轨道数据的坐标系转换为世界坐标系;及根据显示窗口的空间大小,对坐标系转换后的当前轨道数据进行处理,其包括:若所述轨道对应的轨道大小超过所述显示窗口的空间大小,则裁剪出所述显示窗口范围内的数据以得到所述窗口数据。
可选的,基于所述窗口数据在所述画布上绘制目标轨道图形,包括:通过Canvas的Clip方法,将所述画布裁剪到与所述显示窗口相同大小;及基于所述窗口数据,在所述裁剪后的画布绘制所述目标轨道图形,以限定所述目标轨道图形的绘制区域。
可选的,基于所述窗口数据在所述画布上绘制目标轨道图形,包括:根据不同视频关键帧的画面比例调整输入参数。
可选的,基于所述窗口数据在所述画布上绘制目标轨道图形,包括:对所述目标轨道图形进行蒙层装饰和/或文字绘制。
本申请实施例的一个方面又提供了一种多媒体轨道绘制系统,包括:提供模块,用于提供画布,该画布用于绘制模拟多媒体轨道的轨道图形;获取模块,用于获取轨道数据模型中的当前轨道数据;编辑模块,用于基于所述当前轨道数据,剪裁素材片段并将裁剪后的素材片段插入到轨道的相应位置;得到模块,用于根据所述当前轨道数据得到窗口数据,所述窗口数据为所述当前轨道数据在显示窗口内的待绘制数据;及绘制模块,用于基于所述窗口数据在所述画布上绘制目标轨道图形,该目标轨道图形用于表征所述裁剪后的素材片段在所述轨道上的位置。
本申请实施例的一个方面又提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述多媒体轨道绘制方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述多媒体轨道绘制方法的步骤。
本申请实施例提供的多媒体轨道绘制方法、系统、计算机设备及计算机可读存储介质,通过当前轨道数据转换为窗口数据,通过在画布上绘制轨道图形来表示多媒体编辑效果,实施步骤简单,可以适用多个平台,不需借助大量子视图和控件等,可以以较小计算资源实施轨道绘制,避免掉帧卡顿并提升用户体验。
附图说明
图1示意性示出了根据本申请实施例的绘制数据的应用环境图;
图2示意性示出了根据本申请实施例一的多媒体轨道绘制方法的流程图;
图3为图2中步骤S204的子流程图;
图4为图2中步骤S206的另一子流程图;
图5示意性示出了根据本申请实施例二的多媒体轨道绘制方法的流程图;
图6为图5中步骤S510的子流程图;
图7为图5中步骤S510的另一子流程图;
图8为图5中步骤S510的另一子流程图;
图9示意性示出了根据本申请实施例二的绘制数据的结构示意图;
图10示意性示出了根据本申请实施例二的裁剪素材片段的结构示意图;
图11示意性示出了根据本申请实施例三的多媒体轨道绘制的框图;及
图12示意性示出了根据本申请实施例四的适于实现多媒体轨道绘制方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下根据附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互根据,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的根据出现相互矛盾或无法实现时应当认为这种技术方案的根据不存在,也不在本申请要求的保护范围之内。
音视频轨道是最常见和常用的基础交互组件。用户会频繁的对轨道进行增加、删除、修改、插入等,对于基础的交互轨道,要求其有稳定,可拓展和流畅性。本发明人发现,现有的音视频编辑软件,通过添加很多的子view,多次measure和layout来展现轨道。这种方式依赖相应平台上的系统控件,很难跨平台,若在性能较差的移动终端上,性能低下,实现复杂,用户使用上容易掉帧卡顿,体验不好。
本发明人采用Canvas画布(用于绘制图形),Canvas画布具有绘制和控制图形的能力。对当前轨道数据做好处理后,直接绘制当前显示窗口内的内容,大幅度提升轨道操作的流畅性,增强用户体验。而各大平台,如Android(安卓系统),IOS(苹果手机系统),H5(第五代超文本标记语言的标准),都提供有Canvas的能力,基本的设计思想与实现方案在多端可以统一起来。
图1示意性示出了根据本申请实施例的环境应用示意图。所述环境示意图中包括移动终端2、服务器4和其他移动终端。
本申请实施例可以通过移动终端2进行视频剪辑操作,所述移动终端2可以是智能手机、平板电脑等电子设备。剪辑后的视频可以上传至服务器4中,或通过服务器4分发给各个其他移动终端。
视频剪辑需绘制多媒体轨道等操作。在实施多媒体轨道绘制操作之前,可以定义一个适用轨道绘制的数据模型:在时间和空间维度上,定义素材片段在轨道上的入点、出点,以及对素材片段的裁剪入点、出点。这样可以很清晰的描述轨道的基本构成。例如:time代表时间上的出入点,dis代表空间上的出入点。其中:
timeTrimIn:时间上的裁剪入点;
timeTrimOut:时间上的裁剪出点;
disTrimIn:距离上的裁剪入点;
disTrimOut:距离上的裁剪出点;
timeTrimIn、timeTrimOut、disTrimIn和disTrimOut,用于描述素材片段在时间上,空间上的剪裁位置。
timeInPoint:在轨道上的时间入点;
timeOutPoint:在轨道上的时间出点;
disInPoint:在轨道上的空间入点;
disOutPoint:在轨道上的空间出点;
timeInPoint、timeOutPoint、disInPoint和disOutPoint,用于描述剪裁后的素材片段在轨道上的位置。
移动终端2可以根据所述数据模型中的timeTrimIn、timeTrimOut、disTrimIn和disTrimOut,对素材片段进行裁剪;在得到裁剪后的素材片段之后,根据所述数据模型中的timeInPoint、timeOutPoint、disInPoint和disOutPoint等定义所述裁剪后的素材片段在轨道的空间位置和时间位置。
在得到timeTrimIn、timeTrimOut、disTrimIn、disTrimOut、timeInPoint、timeOutPoint、disInPoint以及disOutPoint这些当前轨道数据之后,需要将轨道进行可视化处理,即准备窗口数据:
当前轨道数据本身为局部坐标系,素材片段所在X轴和Y轴的位置都是相对于自身而言。所述轨道可被用户拖拽滚动,裁剪缩放,为了准确定位所述轨道的整体位置以使得所述轨道可被摆放至任意一个位置,本实施例中进行坐标系的转化,即:将所述局部坐标系转换为世界坐标系。
所述轨道的素材可能很多,其长度和宽度都可能很大,从而可能溢出显示窗口的显示范围。为此,在显示窗口的显示范围有限的情况下,本实施例对数据进行裁剪:显示窗口范围内的数据进行绘制,显示窗口外的数据不绘制。因此,移动终端2需根据所述显示窗口的空间大小,对所述当前轨道数据进行处理,以得到显示范围内的窗口数据。例如:若所述轨道对应的轨道大小超过所述显示窗口的空间大小,则裁剪出所述显示窗口范围内的数据以得到所述窗口数据。
窗口数据准备完成后,在Canvas画布上进行绘制。
素材片段的出入点会根据用户的操作变化,需要限定其绘制区域,利用Canvas的片段相关方法对画布进行裁剪,以得到裁剪后的画布。此时,无论用户如何操作,轨道图形会被限定在裁剪后的画布区域内。
对于蒙层装饰、文字绘制,可以使用Canvas的drawRect,drawText等方法进行绘制。
对于素材片段的关键帧,可以使用Canvas的drawBitmap进行绘制,不同的视频关键帧的画面比例也不一样,drawBitmap方法可以进一步对画面进行控制,可以对输入的参数进行调整,达到对画面的比例裁剪控制。
实施例一
图2示意性示出了根据本申请实施例一的多媒体轨道绘制方法的流程图。可以理解,本方法实施例可以被执行在移动终端2中,且本方法实施例的流程图不用于对执行步骤的顺序进行限定。
如图2所示,该多媒体轨道绘制方法可以包括步骤S200~S208,其中:
步骤S200,提供画布,该画布用于绘制模拟多媒体轨道的轨道图形。
所述画布可以是Canvas画布,也可以是其他画布。
以Canvas画布为例,其为依赖分辨率的位图画布,在所述Canvas画布上可以实时绘制各类图形,如所述轨道图形。
步骤S202,获取轨道数据模型中的当前轨道数据。
需要说明的是,所述轨道数据模型又可以称之为数据结构,该数据结构包括可以包括多个元素,如包括用于指示裁剪的多个数据元素和用于指示将裁剪后的素材片段放入轨道的数据元素。
为有效控制媒体编辑,所述当前轨道数据可以包括:素材片段的时间上的裁剪入点timeTrimIn、所述时间上的裁剪出点timeTrimOut、距离上的裁剪入点disTrimIn和所述距离上的裁剪出点disTrimOut;以及所述裁剪后的素材片段在所述轨道上的时间入点timeInPoint、所述轨道上的时间出点timeOutPoint、在所述轨道上的空间入点disInPoint和所述轨道上的空间出点disOutPoint。需要说明的是,上述这些数据(即所述当前轨道数据)是可以根据用户输入进行更新的。
步骤S204,基于所述当前轨道数据,剪裁素材片段并将裁剪后的素材片段插入到轨道的相应位置。
通过所述当前轨道数据,可以控制对所述素材片段的编辑操作。
所述素材片段可以是本地获取,也可以是云端获取。所述素材片段可以为视频片段。
如图3所示,所述步骤S204可以包括:步骤S300,根据所述素材片段的时间上的裁剪入点、所述时间上的裁剪出点、距离上的裁剪入点以及所述距离上的裁剪出点,对所述素材片段进行裁剪操作,以得到所述裁剪后的素材片段;步骤S302,根据所述裁剪后的素材片段在所述轨道上的时间入点、所述轨道上的时间出点、所述轨道上的空间入点以及所述轨道上的空间出点,将所述裁剪后的素材片段插入在所述轨道的相应位置处。本实施例在于高效完成所述素材片段的编辑。
步骤S206,根据所述当前轨道数据得到窗口数据,所述窗口数据为所述当前轨道数据在显示窗口内的待绘制数据。
所述显示窗口,可以是显示屏幕的全部区域,亦可以是部分区域。
需要将轨道及轨道相关数据显示到显示窗口中,则需要进行窗口数据转化操作,示例性的:如图4所示,所述步骤S202包括:步骤S400,将所述当前轨道数据的坐标系转换为世界坐标系;步骤S402,根据所述显示窗口的空间大小,对所述当前轨道数据进行处理。其中,根据显示窗口的空间大小,对坐标系转换后的当前轨道数据进行处理,包括:若所述轨道对应的轨道大小超过所述显示窗口的空间大小,则裁剪出所述显示窗口范围内的数据以得到所述窗口数据。当前轨道数据本身为局部坐标系,素材片段所在X轴和Y轴的位置都是相对于自身而言。而对于轨道而言,其可被用户拖拽滚动,裁剪缩放,这时候需要一个世界坐标系,作为一个整体,轨道可被摆放至任意一个位置,其明确的世界坐标系,可以准确定位轨道的整体位置。另外,轨道的长度和宽度是不确定的,当所述轨道的长度或宽度超出显示窗口的显示范围时,则需要考虑数据的裁剪:对显示窗口范围内的数据进行绘制,对显示窗口外的数据不绘制,节省渲染资源。应理解,所述世界坐标系是系统的绝对坐标系,图形上所有点的坐标都是以该坐标系的原点来确定各自的位置。
在示例性的实施例中,在将所述当前轨道数据转换为窗口数据之前,还可以由数据裁剪操作。该数据裁剪操作可以用于:对轨道进行裁剪、分割等各种裁剪操作,以实现用户定制化的轨道。
步骤S208,基于所述窗口数据在所述画布上绘制目标轨道图形,该目标轨道图形用于表征所述裁剪后的素材片段在所述轨道上的位置。
通过所述窗口数据绘制目标轨道图形,用于模拟“现有技术中调用大量子视图和轨道组件得到的多媒体轨道”。所述目标轨道图形和“现有技术中调用大量子视图和轨道组件得到的多媒体轨道”具有相同的显示效果,均可以显示多媒体编辑效果,如裁剪后的素材片段在所述轨道的位置。
移动终端2可以根据预先定义的数据模型裁剪素材片段,并确定裁剪后的素材片段在轨道上的时间位置和空间位置,获取窗口数据后,在Canvas画布上绘制,以将关联于裁剪后的素材片段的轨道显示到显示窗口上。
本申请实施例提供的多媒体轨道绘制方法,具有以下技术优势:
(1)现有的音视频编辑软件,需要通过添加大量子视图、大量系统控件,导致每次轨道滑动、measure和layout时,均会重新递归遍历一遍,从而导致以下后果:性能低下、实现复杂、容易掉帧卡顿。
在本实施例中,通过计算和更新预设的数据模型,来剪裁和定义素材片段在轨道上的位置,通过Canvas画布进行绘制。可知,本实施例主要基于预设的数据模型和Canvas画布来实现轨道的显示,并不需要调用系统提供大量子视图和大量系统控件,例如,不需要系统提供拖动、滑动等控件来确定素材片段在轨道上的位置,从而避免使用大量系统控件导致的性能低下、实现复杂、掉帧卡顿、体验不好等。
(2)在本实施例中,是通过Canvas画布来绘制窗口数据,不需要大量借用系统控件,从而适应于各个系统平台。
实施例二
图5示意性示出了根据本申请实施例二的多媒体轨道绘制方法的流程图。
如图5所示,该多媒体轨道绘制方法可以包括步骤S500~S508,其中:
步骤S500,预先定义一个数据模型(又称数据结构),通过该数据模型来描述相应素材片段的当前轨道数据。
步骤S502,当一个素材片段需要加入或已经加入到轨道中进行编辑时,根据用户输入更新这个素材片段的当前轨道数据,即更新数据模型中的各个元素的数值。
所述当前轨道数据包括:所述素材片段的时间上的裁剪入点timeTrimIn和时间上的裁剪出点timeTrimOut;所述素材片段的距离上的裁剪入点disTrimIn和距离上的裁剪出点disTrimOut;所述裁剪后的素材片段在所述轨道上的时间入点timeInPoint和轨道上的时间出点timeOutPoint;所述裁剪后的素材片段在所述轨道上的空间入点disInPoint和所述轨道上的空间出点disOutPoint。
步骤S504,基于所述当前轨道数据,剪裁素材片段并将裁剪后的素材片段插入到轨道的相应位置。
步骤S506,将所述当前轨道数据坐标系转换为世界坐标系。
步骤S508,根据所述显示窗口的空间大小,对所述当前轨道数据进行处理:若所述轨道对应的轨道大小超过所述显示窗口的空间大小,则裁剪出所述显示窗口范围内的数据以得到所述窗口数据。
在将所述当前轨道数据转换为窗口数据之前,还可以由数据裁剪操作。该数据裁剪操作可以用于:对轨道进行裁剪、分割等各种裁剪操作,以实现用户定制化的轨道。且该步骤使得后续轨道绘制过程中,仅需要绘制显示窗口范围之内的轨道,节省渲染资源,大幅度提升操作流畅性,增强用户体验。
步骤S510,基于所述窗口数据在所述画布上绘制目标轨道图形,该目标轨道图形用于表征所述裁剪后的素材片段在所述轨道上的位置。
在示例性的实施例中,如图6所示,所述步骤S510可以包括以下步骤:步骤S600,通过Canvas的Clip方法,将所述画布裁剪到与所述显示窗口相同大小;步骤S602,基于所述窗口数据,在所述裁剪后的画布绘制所述目标轨道图形,以限定所述目标轨道图形的绘制区域。示例性的,所述裁剪后的素材片段,在所述轨道上的出入点可能根据用户的操作变化,为进一步提供轨道操作的流畅性,需要限定其绘制区域,利用Canvas的片段相关方法进行裁剪,从而使得画面会限定在裁剪的区域内。
在示例性的实施例中,如图7所示,所述步骤S510可以包括步骤S700:根据不同视频关键帧的画面比例调整输入参数。进一步的,可以调用drawBitmap方法并将所述输入参数传入到所述drawBitmap方法中,以对不同视频关键帧的画面比例进行裁剪控制。所述轨道上的关键帧被加载之后,可以使用Canvas的drawBitmap进行绘制,不同的视频关键帧的画面比例也不一样,drawBitmap方法可以进一步对画面进行控制,可以对输入的参数进行调整,达到对画面的原图比例裁剪控制。
需要说明的是,所述drawBitmap方法用于在画布上绘制图形,通过指定Bitmap对象来实现。
在示例性的实施例中,如图8所示,所述步骤S510可以包括步骤S800:对所述目标轨道图形进行蒙层装饰和/或文字绘制。
为提升显示效果,可以对所述裁剪后的素材片段的蒙层装饰(如,粉红描边、拖动把手、文字背景),文字绘制(变速、滤镜、片段时间等文字),使用Canvas的drawRect、drawText等方法进行绘制。
如图9所示,下面提供一个用于辅助理解的具体示例。
S1:获取当前轨道数据。
例如,有一个素材片段(图10中的素材片段2),根据这四个参数(timeTrimIn,timeTrimOut,disTrimIn,disTrimOut)对其进行裁剪,并利用(timeInPoint,timeOutPoint,disInPoint,disOutPoint)来确定裁剪后的素材片段在轨道上的出入点。
S2:对当前轨道数据进行处理。
比如,处理模块包括:触摸事件分发处理模块、坐标映射模块、数据编辑模块。触摸事件分发处理模块,用于归类用户的触摸事件,用于触发对当前轨道数据的调整;坐标映射模块,用于将当前轨道数据中的原始坐标,映射到对应的世界坐标系中;而数据编辑模块,用于根据用户需求裁剪、分割轨道。
S3:对当前轨道数据进行转换,转换为窗口数据。
S4:基于Canvas画布绘制所述窗口数据。
实施例三
图11示意性示出了根据本申请实施例三的多媒体轨道绘制系统的结构示意图,该绘制数据的结构可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图11所示,该多媒体轨道绘制系统1100可以包括提供模块1110、获取模块1120、编辑模块1130、得到模块1140和绘制模块1150,其中:
提供模块1110,用于提供画布,该画布用于绘制模拟多媒体轨道的轨道图形;
获取模块1120,用于获取轨道数据模型中的当前轨道数据;
编辑模块1130,用于基于所述当前轨道数据,剪裁素材片段并将裁剪后的素材片段插入到轨道的相应位置;
得到模块1140,用于根据所述当前轨道数据得到窗口数据,所述窗口数据为所述当前轨道数据在显示窗口内的待绘制数据;及
绘制模块1150,用于基于所述窗口数据在所述画布上绘制目标轨道图形,该目标轨道图形用于表征所述裁剪后的素材片段在所述轨道上的位置
在示例性的实施例中,所述当前轨道数据包括:所述素材片段的时间上的裁剪入点、所述时间上的裁剪出点、距离上的裁剪入点和所述距离上的裁剪出点;以及所述裁剪后的素材片段在所述轨道上的时间入点、所述轨道上的时间出点、在所述轨道上的空间入点和所述轨道上的空间出点。
在示例性的实施例中,所述编辑模块1130,还用于:根据所述素材片段的时间上的裁剪入点、所述时间上的裁剪出点、距离上的裁剪入点以及所述距离上的裁剪出点,对所述素材片段进行裁剪操作,以得到所述裁剪后的素材片段;以及根据所述裁剪后的素材片段在所述轨道上的时间入点、所述轨道上的时间出点、所述轨道上的空间入点以及所述轨道上的空间出点,将所述裁剪后的素材片段插入在所述轨道的相应位置处。
在示例性的实施例中,所述得到模块1140,还用于:将所述当前轨道数据的坐标系转换为世界坐标系;及根据显示窗口的空间大小,对坐标系转换后的当前轨道数据进行处理,其包括:若所述轨道对应的轨道大小超过所述显示窗口的空间大小,则裁剪出所述显示窗口范围内的数据以得到所述窗口数据。
在示例性的实施例中,所述绘制模块1150,还用于:通过Canvas的Clip方法,将所述画布裁剪到与所述显示窗口相同大小;及基于所述窗口数据,在所述裁剪后的画布绘制所述目标轨道图形,以限定所述目标轨道图形的绘制区域。
在示例性的实施例中,所述绘制模块1150,还用于:根据不同视频关键帧的画面比例调整输入参数。
在示例性的实施例中,所述绘制模块1150,还用于:对所述目标轨道图形进行蒙层装饰和/或文字绘制。
实施例四
图12示意性示出了根据本申请实施例四的适于实现多媒体轨道绘制方法的计算机设备的硬件架构示意图。本实施例中,计算机设备12可以用于作为移动终端2或组成移动终端2的组成部分,计算机设备12可以是智能手机、平板电脑等。本实施例中,计算机设备12是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。如图12所示,计算机设备12至少包括但不限于:可通过系统总线相互通信链接存储器1210、处理器1220、网络接口1230。其中:
存储器1210至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器1210可以是计算机设备12的内部存储模块,例如该计算机设备12的硬盘或内存。在另一些实施例中,存储器1210也可以是计算机设备12的外部存储设备,例如该计算机设备12上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器1210还可以既包括计算机设备12的内部存储模块也包括其外部存储设备。本实施例中,存储器1210通常用于存储安装于计算机设备12的操作系统和各类应用软件,例如多媒体轨道绘制方法的程序代码等。此外,存储器1210还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器1220在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器1220通常用于控制计算机设备12的总体操作,例如执行与计算机设备12进行数据交互或者通信相关的控制和处理等。本实施例中,处理器1220用于运行存储器1210中存储的程序代码或者处理数据。
网络接口1230可包括无线网络接口或有线网络接口,该网络接口1230通常用于在计算机设备12与其他计算机设备之间建立通信链接。例如,网络接口1230用于通过网络将计算机设备12与外部终端相连,在计算机设备12与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图12仅示出了具有部件1210-1230的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器1210中的多媒体轨道绘制方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器1220)所执行,以完成本申请。
实施例五
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的多媒体轨道绘制方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的多媒体轨道绘制方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种多媒体轨道绘制方法,其特征在于,所述方法包括:
提供画布,该画布用于绘制模拟多媒体轨道的轨道图形;
获取轨道数据模型中的当前轨道数据;
基于所述当前轨道数据,剪裁素材片段并将裁剪后的素材片段插入到轨道的相应位置;
根据所述当前轨道数据得到窗口数据,所述窗口数据为所述当前轨道数据在显示窗口内的待绘制数据;及
基于所述窗口数据在所述画布上绘制目标轨道图形,该目标轨道图形用于表征所述裁剪后的素材片段在所述轨道上的位置。
2.根据权利要求1所述的方法,其特征在于,所述当前轨道数据包括:
所述素材片段的时间上的裁剪入点、所述时间上的裁剪出点、距离上的裁剪入点和所述距离上的裁剪出点;以及
所述裁剪后的素材片段在所述轨道上的时间入点、所述轨道上的时间出点、在所述轨道上的空间入点和所述轨道上的空间出点。
3.根据权利要求2所述的方法,其特征在于,剪裁素材片段并将裁剪后的素材片段插入到轨道的相应位置,包括:
根据所述素材片段的时间上的裁剪入点、所述时间上的裁剪出点、距离上的裁剪入点以及所述距离上的裁剪出点,对所述素材片段进行裁剪操作,以得到所述裁剪后的素材片段;以及
根据所述裁剪后的素材片段在所述轨道上的时间入点、所述轨道上的时间出点、所述轨道上的空间入点以及所述轨道上的空间出点,将所述裁剪后的素材片段插入在所述轨道的相应位置处。
4.根据权利要求1至3任意一项所述的方法,其特征在于,根据所述当前轨道数据得到窗口数据,包括:
将所述当前轨道数据的坐标系转换为世界坐标系;及
根据显示窗口的空间大小,对坐标系转换后的当前轨道数据进行处理,其包括:若所述轨道对应的轨道大小超过所述显示窗口的空间大小,则裁剪出所述显示窗口范围内的数据以得到所述窗口数据。
5.根据权利要求1至3任意一项所述的方法,其特征在于,基于所述窗口数据在所述画布上绘制目标轨道图形,包括:
通过Canvas的Clip方法,将所述画布裁剪到与所述显示窗口相同大小;及
基于所述窗口数据,在所述裁剪后的画布绘制所述目标轨道图形,以限定所述目标轨道图形的绘制区域。
6.根据权利要求1至3任意一项所述的方法,其特征在于,基于所述窗口数据在所述画布上绘制目标轨道图形,包括:
根据不同视频关键帧的画面比例调整输入参数。
7.根据权利要求1至3任意一项所述的方法,其特征在于,基于所述窗口数据在所述画布上绘制目标轨道图形,包括:
对所述目标轨道图形进行蒙层装饰和/或文字绘制。
8.一种多媒体轨道绘制系统,其特征在于,所述系统包括:
提供模块,用于提供画布,该画布用于绘制模拟多媒体轨道的轨道图形;
获取模块,用于获取轨道数据模型中的当前轨道数据;
编辑模块,用于基于所述当前轨道数据,剪裁素材片段并将裁剪后的素材片段插入到轨道的相应位置;
得到模块,用于根据所述当前轨道数据得到窗口数据,所述窗口数据为所述当前轨道数据在显示窗口内的待绘制数据;及
绘制模块,用于基于所述窗口数据在所述画布上绘制目标轨道图形,该目标轨道图形用于表征所述裁剪后的素材片段在所述轨道上的位置。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7任一项所述多媒体轨道绘制方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-7任一项所述多媒体轨道绘制方法的步骤。
CN202011261864.0A 2020-11-12 2020-11-12 多媒体轨道绘制方法和系统 Active CN112381907B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011261864.0A CN112381907B (zh) 2020-11-12 2020-11-12 多媒体轨道绘制方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011261864.0A CN112381907B (zh) 2020-11-12 2020-11-12 多媒体轨道绘制方法和系统

Publications (2)

Publication Number Publication Date
CN112381907A true CN112381907A (zh) 2021-02-19
CN112381907B CN112381907B (zh) 2023-04-18

Family

ID=74583314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011261864.0A Active CN112381907B (zh) 2020-11-12 2020-11-12 多媒体轨道绘制方法和系统

Country Status (1)

Country Link
CN (1) CN112381907B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259767A (zh) * 2021-06-15 2021-08-13 北京新片场传媒股份有限公司 一种缩放音视频数据的方法、装置及电子设备
CN113347479A (zh) * 2021-05-31 2021-09-03 网易(杭州)网络有限公司 多媒体素材的编辑方法、装置、设备及存储介质
CN113473223A (zh) * 2021-05-31 2021-10-01 北京达佳互联信息技术有限公司 素材处理方法、装置、电子设备及存储介质
CN114827722A (zh) * 2022-04-12 2022-07-29 咪咕文化科技有限公司 视频预览方法、装置、设备及存储介质

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040046782A1 (en) * 1999-04-02 2004-03-11 Randy Ubillos Split edits
JP2007317352A (ja) * 1997-04-12 2007-12-06 Sony Corp 編集装置及び編集方法
US20100278504A1 (en) * 2009-04-30 2010-11-04 Charles Lyons Tool for Grouping Media Clips for a Media Editing Application
US20110093805A1 (en) * 2009-10-20 2011-04-21 Johan Hampus Ekhager Digital canvas system
CN102999880A (zh) * 2012-11-14 2013-03-27 厦门亿力吉奥信息科技有限公司 基于GPU的电力WebGIS矢量实时绘制方法及装置
US20160300596A1 (en) * 2015-04-09 2016-10-13 Avid Technology, Inc. Methods and systems for processing synchronous data tracks in a media editing system
CN106210451A (zh) * 2016-08-02 2016-12-07 成都索贝数码科技股份有限公司 一种基于html5的多轨道视频编辑的方法及系统
CN106664443A (zh) * 2014-06-27 2017-05-10 皇家Kpn公司 根据hevc拼贴视频流确定感兴趣区域
US20170162228A1 (en) * 2015-12-07 2017-06-08 Cyberlink Corp. Systems and methods for media track management in a media editing tool
US20170303001A1 (en) * 2016-04-19 2017-10-19 Koowalla Inc. Systems and methods for optimizing content creation on a mobile platform using mobile multi-track timeline-optimized editing and viewer interest content for video
CN107509111A (zh) * 2017-08-16 2017-12-22 北京微影时代科技有限公司 一种电影信息展示方法、装置及电子设备
CN107888988A (zh) * 2017-11-17 2018-04-06 广东小天才科技有限公司 一种视频剪辑方法及电子设备
US20180137466A1 (en) * 2012-04-12 2018-05-17 Avid Technology, Inc. Methods and systems for collaborative media creation
CN110786010A (zh) * 2017-06-23 2020-02-11 联发科技股份有限公司 一种推导合成轨道的方法及装置
CN110795177A (zh) * 2018-08-03 2020-02-14 浙江宇视科技有限公司 图形绘制方法及装置

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007317352A (ja) * 1997-04-12 2007-12-06 Sony Corp 編集装置及び編集方法
US20040046782A1 (en) * 1999-04-02 2004-03-11 Randy Ubillos Split edits
US20100278504A1 (en) * 2009-04-30 2010-11-04 Charles Lyons Tool for Grouping Media Clips for a Media Editing Application
US20110093805A1 (en) * 2009-10-20 2011-04-21 Johan Hampus Ekhager Digital canvas system
US20180137466A1 (en) * 2012-04-12 2018-05-17 Avid Technology, Inc. Methods and systems for collaborative media creation
CN102999880A (zh) * 2012-11-14 2013-03-27 厦门亿力吉奥信息科技有限公司 基于GPU的电力WebGIS矢量实时绘制方法及装置
CN106664443A (zh) * 2014-06-27 2017-05-10 皇家Kpn公司 根据hevc拼贴视频流确定感兴趣区域
US20160300596A1 (en) * 2015-04-09 2016-10-13 Avid Technology, Inc. Methods and systems for processing synchronous data tracks in a media editing system
US20170162228A1 (en) * 2015-12-07 2017-06-08 Cyberlink Corp. Systems and methods for media track management in a media editing tool
US20170303001A1 (en) * 2016-04-19 2017-10-19 Koowalla Inc. Systems and methods for optimizing content creation on a mobile platform using mobile multi-track timeline-optimized editing and viewer interest content for video
CN106210451A (zh) * 2016-08-02 2016-12-07 成都索贝数码科技股份有限公司 一种基于html5的多轨道视频编辑的方法及系统
CN110786010A (zh) * 2017-06-23 2020-02-11 联发科技股份有限公司 一种推导合成轨道的方法及装置
CN107509111A (zh) * 2017-08-16 2017-12-22 北京微影时代科技有限公司 一种电影信息展示方法、装置及电子设备
CN107888988A (zh) * 2017-11-17 2018-04-06 广东小天才科技有限公司 一种视频剪辑方法及电子设备
CN110795177A (zh) * 2018-08-03 2020-02-14 浙江宇视科技有限公司 图形绘制方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭建璞等: "Adobe Premiere改变视频剪辑速度和持续时间的方法", 《计算机技术与发展》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113347479A (zh) * 2021-05-31 2021-09-03 网易(杭州)网络有限公司 多媒体素材的编辑方法、装置、设备及存储介质
CN113473223A (zh) * 2021-05-31 2021-10-01 北京达佳互联信息技术有限公司 素材处理方法、装置、电子设备及存储介质
CN113259767A (zh) * 2021-06-15 2021-08-13 北京新片场传媒股份有限公司 一种缩放音视频数据的方法、装置及电子设备
CN113259767B (zh) * 2021-06-15 2021-09-17 北京新片场传媒股份有限公司 一种缩放音视频数据的方法、装置及电子设备
CN114827722A (zh) * 2022-04-12 2022-07-29 咪咕文化科技有限公司 视频预览方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112381907B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN112381907B (zh) 多媒体轨道绘制方法和系统
CN111273907A (zh) 一种页面处理方法及相关设备
EP2992613A1 (en) Method and system for providing personal emoticons
CN109874048B (zh) 视频窗口组件半透明显示方法、装置以及计算机设备
CN111681291A (zh) 图像处理方法、装置、设备及计算机可读存储介质
CN116091672A (zh) 图像渲染方法、计算机设备及其介质
CN111228816A (zh) 一种游戏中的场景布局方法及装置
CN105045587A (zh) 一种图片展示方法及装置
CN113538502A (zh) 图片裁剪方法、装置、电子设备及存储介质
EP4080507A1 (en) Method and apparatus for editing object, electronic device and storage medium
CN110570501A (zh) 一种线条动画绘制方法及其设备、存储介质、电子设备
CN110728129A (zh) 对图片中的文本内容进行排版的方法、装置、介质和设备
CN113379865B (zh) 目标对象的绘制方法和系统
CN104932784A (zh) 一种图片显示方法及终端
CN104867096B (zh) 水印内容动态变换的方法和装置
CN110134905B (zh) 一种页面更新显示方法、装置、设备及存储介质
CN112738416A (zh) 缩略图预览方法、系统、设备及计算机可读存储介质
CN113973235A (zh) 互动信息显示方法、装置、计算机设备
CN112419137A (zh) 遮罩图片显示方法、装置及遮罩图片显示方法、装置
CN112418902A (zh) 基于网页的多媒体合成方法和系统
CN112162805A (zh) 截图方法、装置和电子设备
CN113542846B (zh) Ar弹幕显示方法及装置
CN110703971A (zh) 用于发布信息的方法和设备
CN111782309A (zh) 显示信息的方法、装置及计算机可读存储介质
CN112508774B (zh) 图像的处理方法及装置

Legal Events

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