CN102595242B - 动态调整视频的系统、终端和方法 - Google Patents

动态调整视频的系统、终端和方法 Download PDF

Info

Publication number
CN102595242B
CN102595242B CN201210063687.4A CN201210063687A CN102595242B CN 102595242 B CN102595242 B CN 102595242B CN 201210063687 A CN201210063687 A CN 201210063687A CN 102595242 B CN102595242 B CN 102595242B
Authority
CN
China
Prior art keywords
transcoding
video image
control signal
parameter
operation control
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
CN201210063687.4A
Other languages
English (en)
Other versions
CN102595242A (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 CN201210063687.4A priority Critical patent/CN102595242B/zh
Publication of CN102595242A publication Critical patent/CN102595242A/zh
Priority to PCT/CN2013/072063 priority patent/WO2013135141A1/zh
Priority to US14/485,466 priority patent/US9756328B2/en
Application granted granted Critical
Publication of CN102595242B publication Critical patent/CN102595242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440245Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4858End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例提供动态调整视频的系统、终端和方法。该系统包括:会话控制单元,用于在视频播放过程中,接收用户代理发送的操作控制信令,根据操作控制信令生成转码指令,转码指令包括更新的转码参数;转码单元,用于接收会话控制单元发送的所述转码指令,根据更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像以及将转码后的视频图像发送给用户代理。本发明实施例中会话控制单元根据用户代理的操作控制信令生成转码指令,以使得转码单元动态更新转码参数,从而实现了根据需要对原始视频进行动态转码处理,提高了视频动态调整的操作灵活度。

Description

动态调整视频的系统、终端和方法
技术领域
本发明实施例涉及网络通信领域,并且更具体地,涉及动态调整视频的系统、终端和方法。
背景技术
在视频播放中,经常出现由于原始视频分辨率高而用户代理性能低,导致无法流畅解码播放的现象。此外,如果用户代理对应的屏幕小、分辨率低,即使能够流畅解码,解码后的图像在最终呈现时,由于受制于屏幕的分辨率,也无法按照原始高分辨率进行呈现。因此,造成了高分辨率视频的视觉体验差以及计算资源的浪费。
在屏幕分辨率确定的情况下,流媒体服务器或者图像服务器传送高分辨率的视频或者图像,会导致网络带宽或者存储空间的浪费。但是如果传送低分辨率视频,在播放时,特别是放大时又会出现马赛克现象,影响画面细节的观看。
为克服这一问题,在视频源和用户代理之间增加转码单元,通过转码单元对原始视频进行转码处理,提供用户代理能够支持的视频格式/分辨率的视频。转码是指从一种视频编码格式转换为另外一种视频编码格式的过程,或从一种视频分辨率放大/缩小为另外一种视频分辨率的过程,或者两者同时执行的过程,例如转码单元可以将H264编码的高清视频转码为可以在手机上观看的CIF(Common Intermediate Format;公共中间格式)分辨率的MPEG(Moving Pictures Experts Group,运动画面专家组)-4格式的视频。
但是,转码单元处理后的视频不一定能满足用户需要。例如,当用户需要对用户代理的视频播放窗口进行放大时,只能在用户代理本地进行画面的放大,容易出现马赛克等现象。传统的转码单元不能根据用户需要实现视频的动态调整,操作灵活度不高。
发明内容
本发明实施例提供动态调整视频的系统、终端和方法,能够提高视频动态调整的操作灵活度。
一方面,提供了一种动态调整视频的系统,包括:会话控制单元,用于在视频播放过程中,接收用户代理发送的操作控制信令,根据所述操作控制信令生成转码指令,所述转码指令包括更新的转码参数;转码单元,用于接收所述会话控制单元发送的所述转码指令,根据所述更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像以及将所述转码后的视频图像发送给用户代理。
另一方面,提供了一种动态调整视频的终端,包括:播放模块,用于播放从转码单元接收的视频图像;生成模块,用于在视频播放过程中生成操作控制信令,所述操作控制信令包括对所述视频图像执行的操作动作的操作类别或者包括所述操作动作的操作类别和操作参数;发送模块,用于向会话控制单元发送所述操作控制信令,以便于所述会话控制单元根据所述操作控制信令生成转码指令并向所述转码单元发送所述转码指令,所述转码指令包括更新的转码参数,以便于所述转码单元根据所述更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像;接收模块,用于从所述转码单元接收所述转码后的视频图像;播放模块还用于播放所述转码后的视频图像。
另一方面,提供了一种动态调整视频的方法,包括:在视频播放过程中,接收用户代理发送的操作控制信令,根据所述操作控制信令生成转码指令,所述转码指令包括更新的转码参数;向转码单元发送所述转码指令,以便于所述转码单元根据所述更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像以及将所述转码后的视频图像发送给用户代理。
另一方面,提供了一种动态调整视频的方法,包括:播放从转码单元接收的视频图像;在视频播放过程中生成操作控制信令,所述操作控制信令包括对所述视频图像执行的操作动作的操作类别或者包括所述操作动作的操作类别和操作参数;向会话控制单元发送所述操作控制信令,以便于所述会话控制单元根据所述操作控制信令生成转码指令并向所述转码单元发送所述转码指令,所述转码指令包括更新的转码参数,以便于所述转码单元根据所述更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像;从所述转码单元接收所述转码后的视频图像,并播放所述转码后的视频图像。
本发明实施例中会话控制单元根据用户代理的操作控制信令生成转码指令,以使得转码单元动态更新转码参数,从而实现了根据需要对原始视频进行动态转码处理,提高了视频动态调整的操作灵活度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的用于动态调整视频的系统的框图。
图2是图1中的会话控制单元的一个例子的示意框图。
图3是本发明实施例的终端的框图。
图4是本发明一个实施例的动态调整视频的方法的流程图。
图5是本发明另一实施例的动态调整视频的方法的流程图。
图6是本发明另一实施例的播放视频的过程的示意流程图。
图7是完整填充视频的例子。
图8是部分填充视频的例子。
图9为视频画面超出播放区域的例子。
图10为部分填充视频画面的例子。
图11A和图11B是视频局部放大的例子。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是根据本发明实施例的用于动态调整视频的系统的框图。图1的系统100包括会话控制单元101和转码单元102。
会话控制单元101在视频播放过程中,接收用户代理发送的操作控制信令,根据操作控制信令生成转码指令,该转码指令包括更新的转码参数。
转码单元102接收会话控制单元101发送的转码指令,根据更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像以及将转码后的视频图像发送给用户代理。
本发明实施例中会话控制单元根据用户代理的操作控制信令生成转码指令,以使得转码单元动态更新转码参数,从而实现了根据需要对原始视频进行动态转码处理,提高了视频动态调整的操作灵活度。
应理解,本发明实施例中,上述用户代理可以是终端侧的软件形式或硬件形式的播放器、解码器等设备。例如,用户代理可以是软件播放器、MP4播放器、解码卡和云计算客户端等。本发明实施例并不限定。
应理解,本发明实施例在用户代理和转码单元之间增加会话控制单元101,实现视频的动态调整。会话控制单元101可以是软件形式或硬件形式,本发明实施例对此不作限制。另外,会话控制单元101可以与用户代理集成在一起(例如一起集成到终端中),或者作为用户代理的一个模块。也可以作为网络侧的独立的网元,或者与转码单元101集成在一起(例如一起集成到流媒体服务器中)。本发明实施例并不限定。
传统的转码单元只能对完整的视频进行转码处理,因此也只能将完整的视频发送给用户代理。在此情况下,如果用户只需观看部分视频,转码单元仍然需要处理全部视频并将全部视频发送给用户代理,浪费了转码单元的运算资源并占用网络资源。
本发明实施例的转码单元102的转码参数可以灵活更新,可以仅仅处理一部分视频,从而节省转码单元的运算资源。例如,在用户需要放大局部视频图像时,转码单元102可以仅仅处理该局部视频图像,对除了该局部视频图像之外的部分不作处理,节省了运算资源。
另外,本发明实施例的转码单元102只传输转码后的视频图像,而无需传输全部视频,从而节省了网络资源。例如,在用户需要在图像A上叠加较小的图像B时,转码单元102可以不处理图像A被图像B遮挡的部分,节省运算资源;同时,转码单元102可以不传输图像A被图像B遮挡的部分,节省网络资源。
传统的终端如果需要在本地播放窗口中进行视频图像的缩放等处理,则需要占用终端上用户代理的解码、编码等运算资源。本发明实施例的转码单元101负责执行视频图像的转码处理,而无需用户代理的本地调整处理,这样能够节省终端的运算资源。
可选地,作为一个实施例,会话控制单元101根据操作控制信令所包括的操作类别或者根据操作控制信令所包括的操作类别和操作参数,计算更新的转码参数,并生成包括更新的转码参数的转码指令。
操作控制信令用于指示对视频图像执行的操作动作。用户代理可根据用户在视频播放过程中对视频图像的操作动作而生成操作控制信令;或者,操作控制信令可以是预先设定的,由系统定时触发,或通过事件触发方式实现。例如,操作控制信令可包括该操作动作的操作类别(如缩放、漫游、填充等),或者包括该操作动作的操作类别和操作参数(如有操作参数的话)。下面还将结合表1的实施例具体描述操作控制信令所包括的一些操作类别和相应操作参数(如果该操作类别有操作参数的话)的例子。但应注意,表1的实施例仅仅是示例性的,而非对本发明实施例范围的限制。
例如,在用户代理由软件实现的情况下,用户可通过鼠标、键盘、手指触摸屏、手写笔,操作软件按钮、菜单或屏幕来实现对视频画面的缩放、移动、局部放大等操作动作的配置。另一方面,在用户代理由硬件实现的情况下,用户可通过遥控器、按键、智能感应输入设备,操作解码器来实现对视频画面的缩放、移动、局部放大等操作动作的配置。用户代理生成相应的操作控制信令,以指示操作动作。下文中还将结合具体实施例更加详细地描述对视频图像执行的操作动作的例子。但是,本发明实施例不限于这些具体例子,可以根据需要增加、删除或替换所例示的操作动作。例如,可以增加一些更复杂的操作动作(如多个局部视频的叠加,或一个或多个局部视频与全部视频的叠加等)及相应的参数。这些修改均落入本发明实施例的范围内。
可选地,作为另一实施例,上述更新的转码参数可包括部分视频图像的位置参数。转码单元102可根据该部分视频图像的位置参数,从原始视频图像中截取该部分视频图像,对该部分视频图像进行转码以生成转码后的视频图像。部分视频图像的位置参数用于指示该部分视频图像在播放窗口或原始视频图像中的位置,例如可以表示该部分视频图像的起点(例如但不限于左上角)在播放窗口或原始视频图像中的坐标。但本发明实施例对部分视频图像的位置参数的具体形式不作限制,例如可以是矢量形式等,或者部分视频图像的位置参数还可以包括其他信息,如部分视频图像的宽度和高度、部分视频图像的其他点(例如右下角)的坐标等。这些变化均落入本发明实施例的范围内。这样,本发明实施例能够实现部分视频图像的截取功能。
可选地,作为另一实施例,上述更新的转码参数还可以包括上述部分视频图像的比例参数。转码单元102可根据该部分视频图像的比例参数,对所截取的部分视频图像进行缩放,对缩放后的部分视频图像进行转码以生成转码后的视频图像。部分视频图像的比例参数表示对该部分视频图像进行缩放的比例,可以是相对于该部分视频图像的比例值或者相对于原始视频图像的比例值,例如可以包括宽度缩放比和高度缩放比。但本发明实施例对部分视频图像的比例参数的具体形式不作限制,例如可以是固定宽高比条件下的一个比例值。这些变化均落入本发明实施例的范围内。这样,本发明实施例能够实现部分视频图像的缩放功能。
可选地,作为另一实施例,转码单元102可以将缩放后的部分视频图像叠加到原始视频图像上,并对叠加后的视频图像进行转码以生成转码后的视频图像。这样,本发明实施例能够实现视频图像的叠加功能。
应注意,本发明实施例对部分视频图像的数目不作限制。例如,可以在一个原始视频图像上叠加两个或更多个部分视频图像的缩放图像。这些变化均落入本发明实施例的范围内。
可选地,作为另一实施例,会话控制单元101在计算更新的转码参数时,还可以考虑上下文信息。图2是图1中的会话控制单元101的一个例子的示意框图。如图2所示,会话控制单元101包括上下文模块131和处理模块132。
上下文模块131可存储上下文信息,上下文信息包括当前视频图像的位置参数和/或比例参数。当前视频图像是指当前在用户代理上播放的视频图像,原始视频图像是视频源发送的视频图像。
位置参数用于指示当前视频图像的位置,例如相对于用户代理的播放窗口的相对位置。位置参数的一个非限制性的例子是当前视频图像的起点(例如但不限于当前视频图像左上角)在播放窗口中的横坐标和纵坐标,也可以是其他坐标形式,本发明对此不作限制。如果当前播放图像的起点被固定为播放窗口中的某一个点,如播放窗口的左上角(一般是播放窗口的坐标原点),则上下文信息中可省略位置参数。
比例参数用于指示当前视频图像的比例,例如相对于原始视频图像的比例或者相对于用户代理的播放窗口的比例。比例参数的一个非限制性的例子是当前视频图像的宽度(横坐标方向上的尺度)缩放百分比和高度(纵坐标方向上的尺度)缩放百分比。但本发明实施例对比例参数的形式不作限制,也可以是其他形式的比例值,例如固定宽高比条件下的一个百分比值。如果当前播放图像的比例被固定为一个值,如100%等,则上下文信息中可省略比例参数。
处理模块132可根据操作控制信令所包括的操作类别以及上下文模块131存储的上下文信息,或者根据操作控制信令所包括的操作类别和操作参数以及上下文模块131存储的上下文信息,计算更新的转码参数,并生成包括更新的转码参数的转码指令。
这样,会话控制单元101可以对操作动作进行解析,根据操作动作以及上下文信息,计算更新后的转码参数。会话控制单元101通过转码指令调度转码单元102,指示转码单元102执行相应的转码动作。这里,本发明实施例不限制所有的转码指令均需依据上下文信息生成。例如,某些操作(如下面表1例示的初始化操作)可能不需要上下文信息。
可选地,作为另一实施例,上下文模块131所存储的上下文信息还可以包括用户代理的播放窗口的尺寸参数和/或原始视频图像的尺寸参数。这些尺寸参数一般是固定不变的。存储这些尺寸参数可以使得处理模块132的处理更快捷。例如,播放窗口的尺寸参数可以是窗口宽度和高度,原始视频图像的尺寸参数可以是图像宽度和高度,但是本发明实施例对尺寸参数的具体形式不作限制。例如,尺寸参数可以是对角线两个端点的坐标或者对角线长度等。
另一方面,上下文模块131还可以利用本次操作动作的结果更新上下文信息,从而使得上下文信息与当前视频图像保持一致。例如,上下文模块131可将本次操作控制信令指示的操作动作所产生的相应参数添加到上下文信息中,或替代之前存储的相应参数。在上下文模块131存储多个历史操作动作产生的参数的情况下,可以更方便地实现操作动作的回退。
下面还将结合具体实施例描述根据上下文信息和本次操作动作计算调整后的转码参数的例子。
本发明实施例中会话控制单元根据用户代理的操作控制信令生成转码指令,以使得转码单元动态更新转码参数,从而实现了根据需要对原始视频进行动态转码处理,提高了视频动态调整的操作灵活度。
另外,本发明实施例的转码单元可以仅仅对部分视频进行转码处理和发送,节省网络资源和运算资源。
图3是本发明一个实施例的动态调整视频的终端的框图。图3的终端30包括播放模块31、生成模块32、发送模块33和接收模块34。播放模块31、生成模块32、发送模块33和接收模块34也可以组合为上述用户代理。终端30可以作为图1的系统100的一部分。例如,终端30可以与系统100的会话控制单元101和转码单元102进行通信。或者,终端30可以包括系统100的会话控制单元101,与网络侧的转码单元102进行通信。下面结合图1的系统100描述终端30的各个模块,因此将适当省略重复的描述。
播放模块31播放从转码单元102接收的视频图像。生成模块32在视频播放过程中生成操作控制信令,该操作控制信令包括对视频图像执行的操作动作的操作类别或者包括操作动作的操作类别和操作参数。
发送模块33向会话控制单元101发送操作控制信令,以便于会话控制单元101根据操作控制信令生成转码指令并向转码单元102发送转码指令,该转码指令包括更新的转码参数,以便于转码单元102根据更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像。
接收模块34从转码单元102接收转码后的视频图像,播放模块31播放该转码后的视频图像。
本发明实施例的终端在需要对视频图像进行操作动作时,不进行本地处理,而是向会话控制单元发送操作控制信令,使得会话控制单元更新转码单元的转码参数,从而由转码单元完成视频的调整处理。这样能够提高视频动态调整的操作灵活度。另外,本发明实施例能够节省终端的运算资源和网络传输所需的资源。
本发明实施例对终端30的具体形式不作限制。例如,终端30可以是移动终端或固定终端等,可以经无线或有线方式与网络侧进行通信,如移动电话(或称为“蜂窝”电话)和计算机等,例如,可以是便携式、袖珍式、手持式、计算机内置的装置或者车载的装置等。
可选地,作为一个实施例,生成模块32可根据用户在视频播放过程中对视频图像的操作动作而生成操作控制信令;或者,操作控制信令可以是预先设定的,由生成模块32定时触发,或通过事件触发方式实现。例如,操作控制信令可包括该操作动作的操作类别(如缩放、漫游、填充等),或者包括该操作动作的操作类别和操作参数(如有操作参数的话)。下面还将结合表1的实施例具体描述操作控制信令所包括的一些操作类别和相应操作参数(如果该操作类别有操作参数的话)的例子。但应注意,表1的实施例仅仅是示例性的,而非对本发明实施例范围的限制。
例如,用户可通过鼠标、键盘、手指触摸屏、手写笔,操作软件按钮、菜单或屏幕来实现对视频画面的缩放、移动、局部放大等操作动作的配置。另一方面,用户可通过遥控器、按键、智能感应输入设备,操作解码器来实现对视频画面的缩放、移动、局部放大等操作动作的配置。生成模块32生成相应的操作控制信令,以指示操作动作。下文中还将结合具体实施例更加详细地描述对视频图像执行的操作动作的例子。
可选地,作为一个实施例,操作控制信令所包括的操作类别可以是初始化操作,操作控制信令所包括的操作参数可以是用户代理(如用户代理的播放模块31)的播放窗口的尺寸参数、原始视频图像的尺寸参数以及原始视频图像在播放窗口中的位置参数。播放窗口的尺寸参数可以是播放窗口的宽度和高度,例如以像素为单位,表示播放窗口的分辨率。原始视频图像的尺寸参数可以是原始视频图像的宽度和高度,例如以像素为单位,表示原始视频图像的分辨率。原始视频图像在播放窗口中的位置参数可以是原始视频图像中某一点(例如左上角的起点)在播放窗口中的坐标。但本发明实施例对上述参数的具体形式不作限制。
或者,操作控制信令所包括的操作类别可以是缩放操作,操作控制信令所包括的操作参数可以是缩放后的视频图像相对于原始视频图像的比例参数,例如可以是宽度缩放百分比和高度缩放百分比。但本发明实施例对上述参数的具体形式不作限制。
或者,操作控制信令所包括的操作类别可以是画面漫游操作,操作控制信令所包括的操作参数可以是漫游后的视频图像相对于原始视频图像的偏移尺寸参数。画面漫游是指所播放的视频图像在播放窗口内移动的操作,例如图像跟随用户的鼠标在不同方向上平移。偏移尺寸参数可以是图像移动的距离,如在横坐标上移动的长度(可以为正值、负值或零)或在纵坐标上移动的长度(可以为正值、负值或零)。但本发明实施例对上述参数的具体形式不作限制。
或者,操作控制信令所包括的操作类别可以是局部缩放操作,操作控制信令所包括的操作参数为局部缩放目标区域的尺寸参数、位置参数和比例参数。局部缩放是对部分视频图像(即上述局部缩放目标区域内的视频图像)进行缩放的操作。局部缩放目标区域的尺寸参数可以是该区域的宽度和高度,例如以像素为单位。局部缩放目标区域的位置参数可以是该区域中的某一点(例如左上角的起点)在播放窗口中的坐标。局部缩放目标区域的比例参数可以是该区域的缩放百分比。但本发明实施例对上述参数的具体形式不作限制,例如局部缩放目标区域的比例参数也可以是缩放后的相应区域的宽度和高度。
或者,操作控制信令所包括的操作类别可以是停止局部缩放操作。停止局部缩放操作是指停止上述局部缩放的操作,可以恢复为播放原始视频图像或局部缩放操作之前的视频图像。停止局部缩放操作可以不需要操作参数。如果需要恢复为局部缩放操作之前的视频图像,则操作控制信令有可能包含与该局部缩放操作之前的视频图像有关的操作参数。
或者,操作控制信令所包括的操作类别可以是播放位置居中操作。播放位置居中操作是使得所播放的视频图像位于播放窗口中间位置的操作。播放位置居中操作可以不需要操作参数,也可以根据需要包括其他操作参数,本发明对此不作限制。
或者,操作控制信令所包括的操作类别可以是满屏填充操作。播放位置居中操作是使得所播放的视频图像填充满播放窗口的操作。满屏填充操作可以不需要操作参数,也可以根据需要包括其他操作参数,本发明对此不作限制。
但是,本发明实施例不限于上述具体例子,可以根据需要增加、删除或替换所例示的操作动作。例如,可以增加一些更复杂的操作动作(如多个局部视频的叠加,或一个或多个局部视频与全部视频的叠加等)及相应的参数。这些修改均落入本发明实施例的范围内。
图4是本发明一个实施例的动态调整视频的方法的流程图。下面结合图1的系统100描述图4的方法,并适当省略重复的描述。
301,会话控制单元101在视频播放过程中,接收用户代理发送的操作控制信令,根据操作控制信令生成转码指令,转码指令包括更新的转码参数;
302,会话控制单元101向转码单元102发送所述转码指令,以便于转码单元102根据更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像以及将转码后的视频图像发送给用户代理。
本发明实施例中会话控制单元根据用户代理的操作控制信令生成转码指令,以使得转码单元动态更新转码参数,从而实现了根据需要对原始视频进行动态转码处理,提高了视频动态调整的操作灵活度。
另外,本发明实施例无需终端对视频图像进行本地调整处理,从而能够节省终端的运算资源。本发明实施例还能够节省转码单元的运算资源和视频传输所需的网络资源。
可选地,作为一个实施例,在步骤301中,可根据操作控制信令所包括的操作类别或者根据操作控制信令所包括的操作类别和操作参数,计算更新的转码参数,并生成包括更新的转码参数的转码指令。
可选地,作为另一实施例,在步骤301中,可根据操作控制信令所包括的操作类别以及上下文信息或者根据操作控制信令所包括的操作类别和操作参数以及上下文信息,计算更新的转码参数,其中上下文信息包括当前视频图像的位置参数和/或比例参数。
可选地,作为另一实施例,上下文信息还可包括用户代理的播放窗口的尺寸参数和/或原始视频图像的尺寸参数。
可选地,作为另一实施例,更新的转码参数可包括部分视频图像的位置参数。转码单元可根据所述部分视频图像的位置参数,从原始视频图像中截取部分视频图像,对部分视频图像进行转码以生成转码后的视频图像。
可选地,作为另一实施例,更新的转码参数还可包括部分视频图像的比例参数。转码单元可根据部分视频图像的比例参数,对所截取的部分视频图像进行缩放,对缩放后的部分视频图像进行转码以生成转码后的视频图像。
可选地,作为另一实施例,转码单元在对缩放后的部分视频图像进行转码以生成转码后的视频图像时,可将缩放后的部分视频图像叠加到原始视频图像上,并对叠加后的视频图像进行转码以生成转码后的视频图像。
可选地,作为另一实施例,操作控制信令所包括的操作类别为初始化操作,操作控制信令所包括的操作参数为用户代理的播放窗口的尺寸参数、原始视频图像的尺寸参数以及原始视频图像在播放窗口中的位置参数;或者,操作控制信令所包括的操作类别为缩放操作,操作控制信令所包括的操作参数为缩放后的视频图像相对于原始视频图像的比例参数;或者,操作控制信令所包括的操作类别为画面漫游操作,操作控制信令所包括的操作参数为漫游后的视频图像相对于原始视频图像的偏移尺寸参数;或者,操作控制信令所包括的操作类别为局部缩放操作,操作控制信令所包括的操作参数为局部缩放目标区域的尺寸参数、位置参数和比例参数;或者,操作控制信令所包括的操作类别为停止局部缩放操作;或者,操作控制信令所包括的操作类别为播放位置居中操作;或者,操作控制信令所包括的操作类别为满屏填充操作。
图5是本发明另一实施例的动态调整视频的方法的流程图。图5的方法可以由图3的终端30执行,因此将适当省略重复的描述。
501,播放从转码单元接收的视频图像;
502,在视频播放过程中生成操作控制信令,该操作控制信令包括对视频图像执行的操作动作的操作类别或者包括操作动作的操作类别和操作参数;
503,向会话控制单元发送操作控制信令,以便于会话控制单元根据操作控制信令生成转码指令并向转码单元发送转码指令,转码指令包括更新的转码参数,以便于转码单元根据更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像;
504,从转码单元接收转码后的视频图像,并播放转码后的视频图像。
本发明实施例的终端在需要对视频图像进行操作动作时,不进行本地处理,而是向会话控制单元发送操作控制信令,使得会话控制单元更新转码单元的转码参数,从而由转码单元完成视频的调整处理。这样能够提高视频动态调整的操作灵活度。另外,本发明实施例能够节省终端的运算资源和网络传输所需的资源。
可选地,作为一个实施例,在步骤502中,可根据用户在视频播放过程中对视频图像的操作动作而生成操作控制信令;或者,操作控制信令可以是预先设定的,由生成模块32定时触发,或通过事件触发方式实现。
可选地,作为另一实施例,操作控制信令所包括的操作类别为初始化操作,操作控制信令所包括的操作参数为用户代理的播放窗口的尺寸参数、原始视频图像的尺寸参数以及原始视频图像在播放窗口中的位置参数;或者,操作控制信令所包括的操作类别为缩放操作,操作控制信令所包括的操作参数为缩放后的视频图像相对于原始视频图像的比例参数;或者,操作控制信令所包括的操作类别为画面漫游操作,操作控制信令所包括的操作参数为漫游后的视频图像相对于原始视频图像的偏移尺寸参数;或者,操作控制信令所包括的操作类别为局部缩放操作,操作控制信令所包括的操作参数为局部缩放目标区域的尺寸参数、位置参数和比例参数;或者,操作控制信令所包括的操作类别为停止局部缩放操作;或者,操作控制信令所包括的操作类别为播放位置居中操作;或者,操作控制信令所包括的操作类别为满屏填充操作。
图6是本发明另一实施例的播放视频的过程的示意流程图。图6的实施例中,沿用与图1相同的附图标记以表示相同的部件。另外,图6中的用户代理103可以在终端侧实现,视频源104用于存储视频内容并根据转码单元102的请求向转码单元102发送原始视频。视频源104可以是任何现有的视频源,因此不再赘述。
601,用户代理103向转码单元102请求视频。
602,转码单元102根据用户代理103的请求,向视频源104请求视频。
603,视频源104向转码单元102返回原始视频图像。原始视频图像可以是实时视频、录像、静态图像等,本发明对此不作限制。
步骤603中发送原始视频图像的方式可参照现有技术,因此不再赘述。
604,转码单元102对原始视频图像进行转码处理,返回适合用户代理103的分辨率和编码格式的视频图像,以便用户代理103进行播放。
步骤604中,转码单元102所使用的转码参数可以是未经更新的转码参数,也可以是经图5的方法一次或多次更新后的转码参数,本发明对此不作限制。
605,在播放过程中用户调整播放区域或分辨率,或用户代理103根据用户设定自动调整播放区域或分辨率,因此用户代理103发送操作控制信令到会话控制单元101。操作控制信令可指示某一操作动作。
606,会话控制单元101根据操作控制信令所指示的操作动作和自身存储的上下文信息(如图2中的上下文模块131存储的上下文信息),将操作控制信令转变为转码指令,并向转码单元102发送该转码指令。
607,转码单元102根据转码指令的指示,更新转码参数。
608,转码单元102继续从视频源104接收原始视频图像,并根据更新后的转码参数,对所接收的原始视频图像进行转码处理。
609,转码单元102将在步骤608中转码后的视频图像发送给用户代理103,以便用户代理103进行播放。
此后,如果还需进行其他操作动作,可重复步骤605-609。
传统的转码单元只能对完整的视频进行转码处理,因此也只能将完整的视频发送给用户代理。在此情况下,如果用户只需观看部分视频,转码单元仍然需要处理全部视频并将全部视频发送给用户代理,浪费了转码单元的运算资源并占用网络资源。
本发明实施例的转码单元102的转码参数可以灵活更新,可以仅仅处理一部分视频,从而节省转码单元102的运算资源。例如,在用户需要放大局部视频图像时,转码单元102可以仅仅处理该局部视频图像,对除了该局部视频图像之外的部分不作处理,节省了运算资源。
另外,本发明实施例的转码单元102只传输转码后的视频图像,而无需传输全部视频,从而节省了网络资源。例如,在用户需要在图像A上叠加较小的图像B时,转码单元102可以不处理图像A被图像B遮挡的部分,节省运算资源;同时,转码单元102可以不传输图像A被图像B遮挡的部分,节省网络资源。
传统的终端如果需要在本地播放窗口中进行视频图像的缩放等处理,则需要占用终端上用户代理的解码、编码等运算资源。本发明实施例的转码单元101负责执行视频图像的转码处理,而无需用户代理103的本地调整处理,这样能够节省终端的运算资源。
下面结合具体例子,更加详细地描述本发明实施例。应注意,这些例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员可以基于这些例子进行修改,如采用其他伪代码、其他操作动作、其他参数名等,这样的修改均落入本发明实施例的范围内。
结合图6的流程图描述以下具体例子。用户代理103向会话控制单元101发送的操作控制信令所指示的操作动作有多种,不同操作类别对应有不同参数,以及参数描述,如表1所示。
下面给出会话控制单元101根据表1中的操作动作得到转码指令的伪代码的例子,但这些例子只是为了帮助本领域技术人员理解实现本发明实施例的一种实施方式,而非要限制本发明实施例的范围。本领域技术人员根据所给出的伪代码的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。
初始化操作动作转换为转码指令的伪代码的例子如下:
上述例子中,初始化操作动作的操作参数pX和pY默认为固定值0。该操作动作不需要上下文(Context)信息,但是会更新上下文信息。上下文信息中,Context.ScreenWidth表示用户代理的播放窗口的宽度,Context.ScreenHeight表示用户代理的播放窗口的高度,Context.ImageWidth表示原始视频图像的宽度,Context.ImageHeight表示原始视频图像的高度。这些参数在初始化操作之后被更新到在图2中的上下文模块131所存储的上下文信息中,一般是在初始化之后固定不变的参数。
Context.PositionX表示当前视频图像在播放窗口中的位置横坐标,Context.PositionY表示当前视频图像在播放窗口中的位置纵坐标,Context.CurrentScaleWidth表示当前视频图像的宽度缩放百分比,Context.CurrentScaleHeight表示当前视频图像的高度缩放百分比。这些参数是本次操作动作产生的参数,可能会随着操作动作而产生变化,也会更新到图2中的上下文模块131中存储的上下文信息中。
Context.Out[]表示当前输出,其中的内容与上下文信息是一致的。当前输出为向转码单元102发送的转码指令。转码单元102需要根据Context.Out[]中所指示的转码参数进行转码操作。例如,参照上述伪代码,转码单元102按照Output.PositionX和Output.PositionY将视频图像的起点坐标更新为[0,0]。转码单元102按照Output.ImageWidth将视频图像的宽度设置为iWidth,按照Output.ImageHeight将视频图像的高度设置为iHeight。转码单元102还按照Output.ScaleWidth将视频图像的宽度缩放比例设置为iWidth/sWidth,并按照Output.ScaleHeight将视频图像的高度缩放比例设置为iHeight/sHeight。其他参数的定义如表1所示。下面的伪代码中,不再重复描述相同参数的定义。
缩放操作动作转换为转码指令的伪代码的例子如下:
Context.Out[]表示当前输出,其中的内容与上下文信息是一致的。当前输出为向转码单元102发送的转码指令。转码单元102需要根据Context.Out[]中所指示的转码参数进行转码操作。例如,参照上述伪代码,转码单元102按照Output.PositionX和Output.PositionY更新视频图像的起点坐标。转码单元102按照Output.ImageWidth将视频图像的宽度设置为ScreenFillWidth/Context.CurrentScaleWidth,按照Output.ImageHeight将视频图像的高度设置为ScreenFillHeight/Context.CurrentScaleHeight。转码单元102还按照Output.ScaleWidth将视频图像的宽度缩放比例设置为Context.CurrentScaleWidth,并按照Output.ScaleHeight将视频图像的高度缩放比例设置为Context.CurrentScaleHeight。
漫游操作动作转换为转码指令的伪代码的例子如下:
Context.Out[]表示当前输出,其中的内容与上下文信息是一致的。当前输出为向转码单元102发送的转码指令。转码单元102需要根据Context.Out[]中所指示的转码参数进行转码操作。例如,参照上述伪代码,转码单元102按照Output.PositionX和Output.PositionY更新视频图像的起点坐标。。转码单元102按照Output.ImageWidth将视频图像的宽度设置为ScreenFillWidth/Context.CurrentScaleWidth,按照Output.ImageHeight将视频图像的高度设置为ScreenFillHeight/Context.CurrentScaleHeight。转码单元102还按照Output.ScaleWidth  将视频图像的宽度缩放比例设置为Context.CurrentScaleWidth,并按照Output.ScaleHeight将视频图像的高度缩放比例设置为Context.CurrentScaleHeight。
局部缩放操作动作转换为转码指令的伪代码的例子如下:
Context.Out[]表示当前输出,其中的内容与上下文信息是一致的。当前输出为向转码单元102发送的转码指令。转码单元102需要根据Context.Out[]中所指示的转码参数进行转码操作。例如,参照上述伪代码,转码单元102按照Output2.PositionX和Output2.PositionY更新视频图像的起点坐标。。转码单元102按照Output2.ImageWidth将视频图像的宽度设置为ScreenFillWidth/Output2.ScaleWidth,按照Output.ImageHeight将视频图像的高度设置为ScreenFillHeight/Output2.ScaleHeight。转码单元102还按照Output2.ScaleWidth将视频图像的宽度缩放比例设置为Context.CurrentScaleWidth*wScale,并按照Output2.ScaleHeight将视频图像的高度缩放比例设置为Context.CurrentScaleHeight*hScale。
停止局部缩放操作动作转换为转码指令的伪代码的例子如下:
Context.Out[]表示当前输出。当前输出为向转码单元102发送的转码指令。转码单元102根据该转码指令停止局部缩放操作,例如可以将转码参数恢复为初始化之后的转码参数。
播放位置居中操作动作转换为转码指令的伪代码的例子如下:
Context.Out[]表示当前输出,其中的内容与上下文信息是一致的。当前输出为向转码单元102发送的转码指令。转码单元102需要根据Context.Out[]中所指示的转码参数进行转码操作。例如,参照上述伪代码,转码单元102按照Output.PositionX和Output.PositionY更新视频图像的起点坐标。。转码单元102按照Output.ImageWidth将视频图像的宽度设置为ScreenFillWidth/Context.CurrentScaleWidth,按照Output.ImageHeight将视频图像的高度设置为ScreenFillHeight/Context.CurrentScaleHeight。转码单元102还按照Output.ScaleWidth  将视频图像的宽度缩放比例设置为Context.CurrentScaleWidth,并按照Output.ScaleHeight将视频图像的高度缩放比例设置为Context.CurrentScaleHeight。
满屏填充操作动作转换为转码指令的伪代码的例子如下:
Context.Out[]表示当前输出,其中的内容与上下文信息是一致的。当前输出为向转码单元102发送的转码指令。转码单元102需要根据Context.Out[]中所指示的转码参数进行转码操作。例如,参照上述伪代码,转码单元102按照Output.PositionX和Output.PositionY将视频图像的起点坐标更新为[0,0]。转码单元102按照Output.ImageWidth将视频图像的宽度设置为Context.ImageWidth,按照Output.ImageHeight将视频图像的高度设置为Context.ImageHeight。转码单元102还按照Output.ScaleWidth将视频图像的宽度缩放比例设置为Context.CurrentScaleWidth,并按照Output.ScaleHeight将视频图像的高度缩放比例设置为Context.CurrentScaleHeight。
根据上述例子,会话控制单元101最终生成转码指令Context.Out[],根据转码指令,调度转码单元102更新转码参数并根据更新后的转码参数进行转码。
转码单元102对从视频源(如图6的视频源104)接收的原始视频进行解码、截取、缩放、局部放大、叠加、编码等处理,生成转码后的视频。例如,可通过上述局部缩放操作动作实现截取、局部放大和叠加的功能。
具体地,转码单元102在进行解码时,可将编码后的数字视频,解码为易于计算机理解的图像格式,如:将H264格式解码为YUV(亮度和色差信号)或BMP(Bitmap,位图)格式。
转码单元102在进行截取时,可从完整的原始视频图像中截取需要处理或输出的部分视频图像。例如,可将局部缩放的操作参数wScale和hScale设置为1,X和Y表示所截取的部分视频图像的起始坐标,W和H分别表示所截取的部分视频图像的宽度和高度。如果需要输出完整的原始视频图像,则全部截取,即X和Y为0,W和H分别为原始视频图像的宽度和高度。
转码单元102在进行缩放时,可对截取出的图像,按照一定的比例进行扩充或缩小,此时局部缩放的操作参数wScale和hScale可能不为1。缩放时一般采用插值算法。如果进行局部放大,对于局部放大的区域之外的其它视频图像可以不进行缩放和传输,以加快运算,节省运算资源和网络资源。另外,转码单元102在进行局部放大时,局部放大可和其它视频图像的缩放和并行或串行执行。
转码单元102在进行叠加时,可以将局部放大的视频图像叠加到其它视频图像,即用局部放大后的视频图像的像素,替换其它视频图像对应位置的像素。这样,无需传输被替换的像素,能够节省网络资源。
转码单元102在进行编码时,将转码后的视频画面,编码为利于在网络上传输的数字视频格式。如:将YUV或BMP格式编码为H264或MPEG4。然后转码单元102可以向用户代理103发送经编码的转码后的视频图像。
下面给出转码单元102进行转码处理的伪代码的一个例子。但该例子只是为了帮助本领域技术人员理解实现本发明实施例的一种实施方式,而非要限制本发明实施例的范围。本领域技术人员根据所给出的伪代码的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。
在截取图像时,转码单元102可按照Output(转码指令)中包括的起始坐标(X,Y)和尺寸(W,H)截取相应的图像。
用户代理103接收并播放由转码单元102转码后的视频。例如,用户代理103可以在播放窗口中播放所接收的视频。
图7-图11是本发明实施例的视频播放例子的示意图。图7-图11的例子仅仅是为了解释可实施本发明实施例的场景,而非限制本发明实施例的范围。在图7-图11的描述中,“播放区域”是指视频图像位于播放窗口中的那部分区域。
图7是完整填充视频的例子,可利用上述满屏填充操作动作来实现。如图7所示,视频图像(阴影部分)刚好能够填充满播放窗口(粗实线框)。这种情况下,参照上述满屏填充操作动作的伪代码,如果原始视频图像分辨率大于播放窗口的分辨率,Context.CurrentScaleWidth=Context.ImageWidth/Context.ScreenWidth>1或Context.CurrentScaleHeight=Context.ImageHeight/Context.ScreenHeight>1,则转码单元102根据播放窗口的分辨率对原始视频进行缩小,缩放比按照Output.ScaleWidth=Context.CurrentScaleWidth和Output.ScaleHeight=Context.CurrentScaleHeight。
另一方面,如果原始视频图像小于播放窗口的分辨率,转码单元102可以透传原始视频,由用户代理103进行放大。也可以采用上述表1的满屏填充操作动作,由转码单元102根据播放窗口分辨率进行放大。也可以采用这两种方式的结合。具体使用哪种方式取决于用户代理103的运算能力和网络带宽的评估。
图7中,宽度Width是指视频图像的播放区域宽度所占的像素数目,此处即为播放窗口的宽度。高度Height是指视频图像的播放区域高度所占的像素数目,此处即为播放窗口的高度。
起点坐标(x,y)为视频图像在播放区域中的相对位置,此处(x,y)为(0,0)。
图8是部分填充视频的例子。在图8的例子中,视频图像(阴影部分)小于播放窗口(粗实线框)。图8的例子可通过局部缩放操作动作实现,其中转码指令要求转码单元102截取完整的原始视频图像,并将原始视频图像缩放至阴影部分的区域(播放区域)的尺寸。相应参数的设置不再赘述。
这种情况下,如果原始视频图像分辨率大于播放区域的分辨率,则转码单元102根据播放区域的分辨率对原始视频进行缩小。如果原始视频图像小于播放区域的分辨率,转码单元102可以透传原始视频,由用户代理103进行放大;也可以由转码单元102根据播放窗口分辨率进行放大;也可以两种方式相结合。具体使用哪种方式取决于用户代理的运算能力和网络带宽的评估。
图8中,宽度Width为视频图像的播放区域宽度所占的像素数目,高度Height为视频图像的播放区域高度所占的像素数目。起点坐标(x,y)为视频图像在播放区域中的相对位置,此处(x,y)为(0,0)。
图9为视频图像超出播放区域的例子。图9的例子中,播放区域与播放窗口(粗实线框)相同,能实现视频图像(阴影部分)的局部播放和漫游。图9的例子可通过上述画面漫游操作动作实现。
当视频图像放大到一定程度时,会超出播放区域。在此情况下,允许用户代理103播放部分图像(如图9所示的播放窗口内的图像)。并且可以保持视频图像分辨率不变的情况下移动图像,播放不同的区域,实现视频图像的漫游。
这种情况下,如果原始视频图像分辨率大于播放区域的分辨率,则转码单元102根据播放区域的分辨率对原始视频图像进行截取,丢弃播放区域外的图像,只对播放区域的视频图像进行转码。
图9中,宽度Width为视频图像的播放区域宽度所占的像素数目,高度Height为视频图像的播放区域高度所占的像素数目。起点坐标(x,y)为视频图像在播放区域中的相对位置,此处(x,y)的值参见图9所示。
图10为部分填充视频图像的例子。图10的例子中,播放区域(粗实线框中的阴影部分)小于播放窗口(粗实线框),同样能够实现视频图像的局部播放和漫游。图10的例子可通过上述画面漫游操作动作实现。
视频图像在漫游中,允许移出播放区域。这种情况下,如果原始视频图像分辨率大于播放区域的分辨率,则转码单元102根据播放区域的分辨率对原始视频进行截取,丢弃播放区域外的图像,只对播放区域的视频图像进行转码。
图10中,宽度Width为视频图像的播放区域宽度所占的像素数目,高度Height为视频图像的播放区域高度所占的像素数目。起点坐标(x,y)为播放区域在完整视频图像中的相对位置,此处(x,y)的值参见上图。如果x<0,则设置x=0;或者,如果y<0,则设置y=0。
图11A和图11B是视频局部放大的例子。图11A是局部放大前的视频,假设与图7相似,视频图像(阴影部分)刚好能够填充满播放窗口(粗实线框)。
现在需要将W1-H1所表示的虚框内的视频图像(称为“局部放大目标区域”)放大到W2-H2所表示的虚框(称为“局部放大后区域”)。宽度放大比例为W2/W1,高度放大比例为H2/H1。
在视频播放的过程中,允许对局部视频图像进行放大,例如通过上述局部缩放操作动作。在这种情况下,转码单元102首先根据播放区域的分辨率对原始视频进行转码;然后转码单元102对选中的局部放大目标区域中的图像,根据指定的比例(如上述W2/W1和H2/H1)进行转码;最后将两次转码结果进行视频叠加。图11B显示了叠加后的视频图像。
另外,转码单元102在对原始视频进行转码时,可以对W2-H2覆盖的区域不执行转码处理,因为这个区域将来会被放大后的W1-H1遮住而看不到。这样能够节省转码单元102的运算资源。
图11A-11B中,宽度Width为视频图像的播放区域宽度所占的像素数目,高度Height为视频图像的播放区域高度所占的像素数目。W1为局部放大目标区域宽度所占像素数目,H1为局部放大目标区域高度所占像素数目。W2为局部放大后区域宽度所占像素数目,H2为局部放大后区域高度所占像素数目。
起点坐标(x,y)为视频图像在播放区域中的相对位置,此处(x,y)为(0,0)。起点坐标(x1,y1)为局部放大目标区域相对于播放区域的位置。起点坐标(x2,y2)为局部放大后区域相对于播放区域的位置。
本发明实施例中会话控制单元根据用户代理的操作控制信令生成转码指令,以使得转码单元动态更新转码参数,从而实现了根据需要对原始视频进行动态转码处理,提高了视频动态调整的操作灵活度。
另外,本发明实施例的转码单元可以仅仅对部分视频进行转码处理和发送,节省网络资源和运算资源。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (16)

1.一种动态调整视频的方法,其特征在于,包括:
在视频播放过程中,接收用户代理发送的操作控制信令,根据所述操作控制信令生成转码指令,所述转码指令包括更新的转码参数,其中,所述根据所述操作控制信令生成转码指令,包括:根据所述操作控制信令所包括的操作类别或者根据所述操作控制信令所包括的操作类别和操作参数,计算所述更新的转码参数,并生成包括所述更新的转码参数的所述转码指令;
向转码单元发送所述转码指令,以便于所述转码单元根据所述更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像以及将所述转码后的视频图像发送给用户代理,其中,所述更新的转码参数包括部分视频图像的位置参数,所述转码单元根据所述更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像,包括:所述转码单元根据所述部分视频图像的位置参数,从原始视频图像中截取所述部分视频图像,对所述部分视频图像进行转码以生成所述转码后的视频图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述操作控制信令所包括的操作类别和操作参数,计算所述更新的转码参数,包括:
根据所述操作控制信令所包括的操作类别以及上下文信息或者根据所述操作控制信令所包括的操作类别和操作参数以及上下文信息,计算所述更新的转码参数,其中所述上下文信息包括当前视频图像的位置参数和/或比例参数。
3.根据权利要求2所述的方法,其特征在于,所述上下文信息还包括所述用户代理的播放窗口的尺寸参数和/或所述原始视频图像的尺寸参数。
4.根据权利要求1所述的方法,其特征在于,所述更新的转码参数还包括所述部分视频图像的比例参数,
所述转码单元对所述部分视频图像进行转码以生成所述转码后的视频图像,包括:所述转码单元根据所述部分视频图像的比例参数,对所截取的所述部分视频图像进行缩放,对缩放后的部分视频图像进行转码以生成所述转码后的视频图像。
5.根据权利要求4所述的方法,其特征在于,所述转码单元对缩放后的部分视频图像进行转码以生成所述转码后的视频图像,包括:
所述转码单元将缩放后的部分视频图像叠加到所述原始视频图像上,并对叠加后的视频图像进行转码以生成所述转码后的视频图像。
6.根据权利要求1所述的方法,其特征在于,
所述操作控制信令所包括的操作类别为初始化操作,所述操作控制信令所包括的操作参数为所述用户代理的播放窗口的尺寸参数、所述原始视频图像的尺寸参数以及所述原始视频图像在所述播放窗口中的位置参数;或者,
所述操作控制信令所包括的操作类别为缩放操作,所述操作控制信令所包括的操作参数为缩放后的视频图像相对于所述原始视频图像的比例参数;或者,
所述操作控制信令所包括的操作类别为画面漫游操作,所述操作控制信令所包括的操作参数为漫游后的视频图像相对于所述原始视频图像的偏移尺寸参数;或者,
所述操作控制信令所包括的操作类别为局部缩放操作,所述操作控制信令所包括的操作参数为局部缩放目标区域的尺寸参数、位置参数和比例参数;或者,
所述操作控制信令所包括的操作类别为停止局部缩放操作;或者,
所述操作控制信令所包括的操作类别为播放位置居中操作;或者,
所述操作控制信令所包括的操作类别为满屏填充操作。
7.一种动态调整视频的方法,其特征在于,包括:
播放从转码单元接收的视频图像;
在视频播放过程中生成操作控制信令,所述操作控制信令包括对所述视频图像执行的操作动作的操作类别或者包括所述操作动作的操作类别和操作参数;
向会话控制单元发送所述操作控制信令,以便于所述会话控制单元根据所述操作控制信令生成转码指令并向所述转码单元发送所述转码指令,所述转码指令包括更新的转码参数,以便于所述转码单元根据所述更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像,其中,所述更新的转码参数包括部分视频图像的位置参数,所述转码单元根据所述更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像,包括:所述转码单元根据所述部分视频图像的位置参数,从原始视频图像中截取所述部分视频图像,对所述部分视频图像进行转码以生成所述转码后的视频图像;
从所述转码单元接收所述转码后的视频图像,并播放所述转码后的视频图像。
8.根据权利要求7所述的方法,其特征在于,
所述操作控制信令所包括的操作类别为初始化操作,所述操作控制信令所包括的操作参数为用户代理的播放窗口的尺寸参数、所述原始视频图像的尺寸参数以及所述原始视频图像在所述播放窗口中的位置参数;或者,
所述操作控制信令所包括的操作类别为缩放操作,所述操作控制信令所包括的操作参数为缩放后的视频图像相对于所述原始视频图像的比例参数;或者,
所述操作控制信令所包括的操作类别为画面漫游操作,所述操作控制信令所包括的操作参数为漫游后的视频图像相对于所述原始视频图像的偏移尺寸参数;或者,
所述操作控制信令所包括的操作类别为局部缩放操作,所述操作控制信令所包括的操作参数为局部缩放目标区域的尺寸参数、位置参数和比例参数;或者,
所述操作控制信令所包括的操作类别为停止局部缩放操作;或者,
所述操作控制信令所包括的操作类别为播放位置居中操作;或者,
所述操作控制信令所包括的操作类别为满屏填充操作。
9.一种用于动态调整视频的系统,其特征在于,包括:
会话控制单元,用于在视频播放过程中,接收用户代理发送的操作控制信令,根据所述操作控制信令生成转码指令,所述转码指令包括更新的转码参数,其中,所述会话控制单元具体用于根据所述操作控制信令所包括的操作类别或者根据所述操作控制信令所包括的操作类别和操作参数,计算所述更新的转码参数,并生成包括所述更新的转码参数的所述转码指令;
转码单元,用于接收所述会话控制单元发送的所述转码指令,根据所述更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像以及将所述转码后的视频图像发送给用户代理,其中,所述更新的转码参数包括部分视频图像的位置参数,所述转码单元具体用于根据所述部分视频图像的位置参数,从原始视频图像中截取所述部分视频图像,对所述部分视频图像进行转码以生成所述转码后的视频图像。
10.根据权利要求9所述的系统,其特征在于,所述会话控制单元包括:
上下文模块,用于存储上下文信息,所述上下文信息包括当前视频图像的位置参数和/或比例参数;
处理模块,用于根据所述操作控制信令所包括的操作类别以及所述上下文模块存储的上下文信息或者根据所述操作控制信令所包括的操作类别和操作参数以及所述上下文模块存储的上下文信息,计算所述更新的转码参数,并生成包括所述更新的转码参数的所述转码指令。
11.根据权利要求10所述的系统,其特征在于,所述上下文模块存储的上下文信息还包括所述用户代理的播放窗口的尺寸参数和/或所述原始视频图像的尺寸参数。
12.根据权利要求9所述的系统,其特征在于,所述更新的转码参数还包括所述部分视频图像的比例参数,
所述转码单元具体用于根据所述部分视频图像的比例参数,对所截取的所述部分视频图像进行缩放,对缩放后的部分视频图像进行转码以生成所述转码后的视频图像。
13.根据权利要求12所述的系统,其特征在于,所述转码单元具体用于将缩放后的部分视频图像叠加到所述原始视频图像上,并对叠加后的视频图像进行转码以生成所述转码后的视频图像。
14.根据权利要求9所述的系统,其特征在于,
所述操作控制信令所包括的操作类别为初始化操作,所述操作控制信令所包括的操作参数为所述用户代理的播放窗口的尺寸参数、所述原始视频图像的尺寸参数以及所述原始视频图像在所述播放窗口中的位置参数;或者,
所述操作控制信令所包括的操作类别为缩放操作,所述操作控制信令所包括的操作参数为缩放后的视频图像相对于所述原始视频图像的比例参数;或者,
所述操作控制信令所包括的操作类别为画面漫游操作,所述操作控制信令所包括的操作参数为漫游后的视频图像相对于所述原始视频图像的偏移尺寸参数;或者,
所述操作控制信令所包括的操作类别为局部缩放操作,所述操作控制信令所包括的操作参数为局部缩放目标区域的尺寸参数、位置参数和比例参数;或者,
所述操作控制信令所包括的操作类别为停止局部缩放操作;或者,
所述操作控制信令所包括的操作类别为播放位置居中操作;或者,
所述操作控制信令所包括的操作类别为满屏填充操作。
15.一种动态调整视频的终端,其特征在于,包括:
播放模块,用于播放从转码单元接收的视频图像;
生成模块,用于在视频播放过程中生成操作控制信令,所述操作控制信令包括对所述视频图像执行的操作动作的操作类别或者包括所述操作动作的操作类别和操作参数;
发送模块,用于向会话控制单元发送所述操作控制信令,以便于所述会话控制单元根据所述操作控制信令生成转码指令并向所述转码单元发送所述转码指令,所述转码指令包括更新的转码参数,以便于所述转码单元根据所述更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像,其中,所述更新的转码参数包括部分视频图像的位置参数,所述转码单元根据所述更新的转码参数对从视频源接收的原始视频图像进行转码处理,从而生成转码后的视频图像,包括:所述转码单元根据所述部分视频图像的位置参数,从原始视频图像中截取所述部分视频图像,对所述部分视频图像进行转码以生成所述转码后的视频图像;
接收模块,用于从所述转码单元接收所述转码后的视频图像;
所述播放模块还用于播放所述转码后的视频图像。
16.根据权利要求15所述的终端,其特征在于,
所述操作控制信令所包括的操作类别为初始化操作,所述操作控制信令所包括的操作参数为用户代理的播放窗口的尺寸参数、所述原始视频图像的尺寸参数以及所述原始视频图像在所述播放窗口中的位置参数;或者,
所述操作控制信令所包括的操作类别为缩放操作,所述操作控制信令所包括的操作参数为缩放后的视频图像相对于所述原始视频图像的比例参数;或者,
所述操作控制信令所包括的操作类别为画面漫游操作,所述操作控制信令所包括的操作参数为漫游后的视频图像相对于所述原始视频图像的偏移尺寸参数;或者,
所述操作控制信令所包括的操作类别为局部缩放操作,所述操作控制信令所包括的操作参数为局部缩放目标区域的尺寸参数、位置参数和比例参数;或者,
所述操作控制信令所包括的操作类别为停止局部缩放操作;或者,
所述操作控制信令所包括的操作类别为播放位置居中操作;或者,
所述操作控制信令所包括的操作类别为满屏填充操作。
CN201210063687.4A 2012-03-12 2012-03-12 动态调整视频的系统、终端和方法 Active CN102595242B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201210063687.4A CN102595242B (zh) 2012-03-12 2012-03-12 动态调整视频的系统、终端和方法
PCT/CN2013/072063 WO2013135141A1 (zh) 2012-03-12 2013-03-01 动态调整视频的系统、终端和方法
US14/485,466 US9756328B2 (en) 2012-03-12 2014-09-12 System, terminal, and method for dynamically adjusting video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210063687.4A CN102595242B (zh) 2012-03-12 2012-03-12 动态调整视频的系统、终端和方法

Publications (2)

Publication Number Publication Date
CN102595242A CN102595242A (zh) 2012-07-18
CN102595242B true CN102595242B (zh) 2015-03-11

Family

ID=46483373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210063687.4A Active CN102595242B (zh) 2012-03-12 2012-03-12 动态调整视频的系统、终端和方法

Country Status (3)

Country Link
US (1) US9756328B2 (zh)
CN (1) CN102595242B (zh)
WO (1) WO2013135141A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102595242B (zh) * 2012-03-12 2015-03-11 华为技术有限公司 动态调整视频的系统、终端和方法
CN104782136B (zh) * 2012-09-28 2018-10-23 英特尔公司 在云中处理视频数据
CN104700750B (zh) * 2013-12-05 2018-07-10 王非 一种广告的播放方法、装置及系统
CN103618868A (zh) * 2013-12-13 2014-03-05 广东欧珀移动通信有限公司 移动设备的低分辨率视频播放方法及系统
CN104980697A (zh) * 2015-04-28 2015-10-14 杭州普维光电技术有限公司 一种网络摄像机视频传输方法
CN107205164B (zh) * 2016-03-18 2020-09-01 百度在线网络技术(北京)有限公司 一种视频转码方法及装置
CN106534863A (zh) * 2016-11-11 2017-03-22 协创数据技术股份有限公司 一种视频直播流转码装置
CN106686417A (zh) * 2017-01-18 2017-05-17 环球智达科技(北京)有限公司 一种智能电视应用分辨率适配方案
US20190045213A1 (en) * 2017-08-03 2019-02-07 Intel Corporation Reference frame reprojection for improved video coding
CN107529092A (zh) * 2017-09-30 2017-12-29 北京元心科技有限公司 用户设备、多媒体信息处理的方法及装置
CN109963200A (zh) * 2017-12-25 2019-07-02 上海全土豆文化传播有限公司 视频播放方法及装置
CN111277858B (zh) * 2018-12-05 2022-06-17 西安诺瓦星云科技股份有限公司 视频处理方法及装置、视频处理器和存储介质
TWI762792B (zh) 2019-06-26 2022-05-01 佳世達科技股份有限公司 顯示系統及其顯示方法
CN110389737B (zh) * 2019-06-27 2023-07-25 苏州佳世达电通有限公司 显示系统及其显示方法
CN110557651B (zh) * 2019-09-09 2021-09-24 云南师范大学 一种基于大数据分布式存储技术的超高清动态图像展示方法
US11474200B2 (en) 2019-11-08 2022-10-18 Vayyar Imaging Ltd. Systems and methods for providing wide beam radar arrays
CN111918069B (zh) * 2020-07-10 2023-08-15 上海网达软件股份有限公司 实时转码过程中动态编辑图文的方法与系统
CN112199006B (zh) * 2020-12-08 2021-02-19 江苏北弓智能科技有限公司 一种终端设备画面显示自适应方法
CN116684668B (zh) * 2023-08-03 2023-10-20 湖南马栏山视频先进技术研究院有限公司 一种自适应的视频帧处理方法及播放终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1558663A (zh) * 2004-01-15 2004-12-29 威盛电子股份有限公司 影音播放装置中调整子图像显示的方法
CN101848382A (zh) * 2010-05-31 2010-09-29 深圳市景阳科技股份有限公司 一种视频流图像分辨率和码流的调整方法及系统
CN101951493A (zh) * 2010-09-25 2011-01-19 中兴通讯股份有限公司 移动终端及其视频通话中对远端图像局部放大方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4266218B2 (ja) * 2005-09-29 2009-05-20 株式会社東芝 動画像データの再圧縮符号化方法、装置及びプログラム
EP1777962A1 (en) * 2005-10-24 2007-04-25 Alcatel Lucent Access/edge node supporting multiple video streaming services using a single request protocol
US9113194B2 (en) * 2007-12-19 2015-08-18 Arris Technology, Inc. Method and system for interleaving video and data for transmission over a network at a selected bit rate
CN101321280A (zh) * 2008-07-22 2008-12-10 国家广播电影电视总局广播科学研究院 一种实时视频转码流媒体服务器
US9131007B2 (en) * 2009-05-19 2015-09-08 Vitrual World Computing, Inc. System and method for dynamically transcoding data requests
CN101635854B (zh) * 2009-08-26 2012-07-04 腾讯科技(深圳)有限公司 一种实现合并转码的方法和装置
CN102595242B (zh) * 2012-03-12 2015-03-11 华为技术有限公司 动态调整视频的系统、终端和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1558663A (zh) * 2004-01-15 2004-12-29 威盛电子股份有限公司 影音播放装置中调整子图像显示的方法
CN101848382A (zh) * 2010-05-31 2010-09-29 深圳市景阳科技股份有限公司 一种视频流图像分辨率和码流的调整方法及系统
CN101951493A (zh) * 2010-09-25 2011-01-19 中兴通讯股份有限公司 移动终端及其视频通话中对远端图像局部放大方法

Also Published As

Publication number Publication date
CN102595242A (zh) 2012-07-18
US20150023403A1 (en) 2015-01-22
US9756328B2 (en) 2017-09-05
WO2013135141A1 (zh) 2013-09-19

Similar Documents

Publication Publication Date Title
CN102595242B (zh) 动态调整视频的系统、终端和方法
KR102545195B1 (ko) 가상 현실 시스템에서 컨텐트 전송 및 재생 방법 및 장치
CN107147769B (zh) 基于移动终端的设备控制方法、装置和移动终端
US20090322784A1 (en) System and method for virtual 3d graphics acceleration and streaming multiple different video streams
CN1984330B (zh) 利用应用元数据的图形用户接口的自适应视频压缩方法和系统
JP5548671B2 (ja) 画像処理システム、画像提供サーバ、情報処理装置、および画像処理方法
CN105393532B (zh) 信息处理设备和方法
EP2490179B1 (en) Method and apparatus for transmitting and receiving a panoramic video stream
CN106713915B (zh) 对视频数据进行编码的方法
CN111355954A (zh) 为视频播放器装置处理视频数据
WO2012039404A1 (ja) 映像ビットストリームの伝送システム
KR101770070B1 (ko) 비디오 컨퍼런스를 위한 비디오 스트림 제공 방법 및 시스템
US20110258339A1 (en) Information processing apparatus, computer-readable non transitory storage medium storing image transmission program, and computer-readable storage medium storing image display program
JP7177034B2 (ja) レガシー及び没入型レンダリングデバイスのために没入型ビデオをフォーマットする方法、装置、及びストリーム
JP2010286811A (ja) 組立式表示設備およびその画面制御方法とシステム
CN110221797B (zh) 多屏拼接系统中信号源设备的控制方法及系统
CN103650003A (zh) 图像显示系统、信息处理设备、服务器和图像处理方法
CN106162174A (zh) 一种视频多分辨率编码方法和装置
JP5941000B2 (ja) 映像配信装置及び映像配信方法
CN104010204A (zh) 图像信息处理方法及装置
CN113475091B (zh) 显示设备及其图像显示方法
CN111741343A (zh) 视频处理方法及装置、电子设备
CN114930812B (zh) 用于解码3d视频的方法和装置
CN114642002A (zh) 显示装置及其操作方法
CN115136595A (zh) 用于流式传输到异构客户端端点的2d视频的适配

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant