CN114286136A - 视频播放编码方法、装置、设备及计算机可读存储介质 - Google Patents

视频播放编码方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN114286136A
CN114286136A CN202111636540.5A CN202111636540A CN114286136A CN 114286136 A CN114286136 A CN 114286136A CN 202111636540 A CN202111636540 A CN 202111636540A CN 114286136 A CN114286136 A CN 114286136A
Authority
CN
China
Prior art keywords
video
target
coded
video object
display area
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
CN202111636540.5A
Other languages
English (en)
Other versions
CN114286136B (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.)
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Culture 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 China Mobile Communications Group Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202111636540.5A priority Critical patent/CN114286136B/zh
Priority claimed from CN202111636540.5A external-priority patent/CN114286136B/zh
Publication of CN114286136A publication Critical patent/CN114286136A/zh
Application granted granted Critical
Publication of CN114286136B publication Critical patent/CN114286136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种视频播放编码方法、装置、设备及计算机可读存储介质,视频播放编码方法包括:获取待编码视频,识别所述待编码视频中目标视频对象;根据所述待编码视频的横屏尺寸确定所述待编码视频的目标视频对象尺寸,并根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标;根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分,得到横屏显示区域中划分的目标显示区域,其中,目标显示区域包括竖屏显示区域;根据所述目标显示区域对所述待编码视频进行编码。本发明实现了在传输一路横屏视频流信息的基础上同时播放横屏视频和竖屏视频。

Description

视频播放编码方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及视频编码技术领域,尤其涉及一种视频播放编码方法、装置、设备及计算机可读存储介质。
背景技术
现有技术中,视频的观看模式基本上是通过横屏观看整个视频。当观众想要观看喜欢的人物时,可点击目标人物,服务器在接收到点击操作时,根据横屏的视频流提取出包括目标人物的竖屏区域,并对横屏视频及竖屏视频分别进行编码,通过切换两路视频流的切换,使得目标人物以竖屏的方式进行播放展示。也就是如果用户观看横屏的视频,则请求横屏视频流数据,如果用户观看竖屏视频,则请求竖屏视频流数据,如想同时观看,则需要同时请求横屏和竖屏两路视频流数据,视频传输数据量大,对带宽要求高,当用户网络不能满足传输带宽需求时,容易引起卡顿,花屏等问题,用户体验感差。
发明内容
本发明的主要目的在于提供一种视频播放编码方法、装置、设备及计算机可读存储介质,旨在解决如何实现在传输一路横屏视频流信息的基础上同时播放横屏视频和竖屏视频的技术问题。
为实现上述目的,本发明提供一种视频播放编码方法,包括以下步骤:
获取待编码视频,识别所述待编码视频中目标视频对象;
根据所述待编码视频的横屏尺寸确定所述待编码视频的目标视频对象尺寸,并根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标;
根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分,得到所述横屏显示区域中划分的目标显示区域,其中,所述目标显示区域包括竖屏显示区域;
根据所述目标显示区域对所述待编码视频进行编码。
可选地,根据所述目标显示区域对所述待编码视频进行编码的步骤,包括:
获取所述目标显示区域的区域尺寸,并根据所述IDR帧标识确定所述待编码视频中当前帧的帧类型;
根据所述区域尺寸和所述帧类型构建编码参数,并根据所述编码参数进行编码。
可选地,根据所述编码参数进行编码的步骤,包括:
根据所述编码参数进行横屏编码,得到横屏视频码流,并获取目标显示区域的序列号,根据所述序列号和所述横屏视频码流构建竖屏的元数据流,将所述横屏视频码流和所述元数据流封装为编码视频。
可选地,将所述横屏视频码流和所述元数据流封装为编码视频的步骤,包括:
确定所述横屏视频码流中目标显示区域的视频数据流,并根据所述IDR帧标识截取所述元数据流中的部分,将所述视频数据流和截取的部分元数据流进行拼接,得到编码视频。
可选地,根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标的步骤,包括:
确定所述目标视频对象在所述待编码视频对应图像中的中心坐标,并计算所述目标视频对象尺寸中宽度值的一半,得到半宽值;
计算所述横屏尺寸中宽度值与所述半宽值之间的和值与差值,并计算所述横屏尺寸中宽度值和所述目标视频对象尺寸中宽度值之间的宽度差值;
若所述中心坐标的横坐标小于所述半宽值,则确定所述目标视频对象坐标的横坐标和纵坐标均为零;
若所述中心坐标的横坐标大于所述半宽值或小于所述差值,则确定所述目标视频对象坐标的横坐标为所述中心坐标的横坐标与所述半宽值之间的差值,所述目标视频对象坐标的纵坐标为零;
若所述中心坐标的横坐标大于所述和值,则确定所述目标视频对象坐标的横坐标为所述宽度差值,所述目标视频对象坐标的纵坐标为零。
可选地,根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分的步骤,包括:
根据所述IDR帧标识定位所述待编码视频中的IDR帧,并确定所述横屏尺寸中宽度值和所述目标视频对象尺寸中宽度值之间的宽度差值;
若所述目标视频对象坐标中的横坐标等于零或宽度差值,则根据所述IDR帧将所述待编码视频对应的横屏显示区域进行划分,得到一个目标显示区域和一个实际横屏显示区域;
若所述目标视频对象坐标中的横坐标大于零且小于所述宽度差值,则根据所述IDR帧将所述待编码视频对应的横屏显示区域进行划分,得到一个目标显示区域和两个实际横屏显示区域。
可选地,根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标的步骤之后,包括:
确定所述待编码视频对应的上一帧视频,并确定所述上一帧视频中的历史坐标,计算所述历史坐标和所述目标视频对象坐标之间的距离;
若所述距离大于预设距离,则重启IDR帧,并在重启成功后,执行所述根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分的步骤。
此外,为实现上述目的,本发明还提供一种视频播放编码装置,包括:
获取模块,用于获取待编码视频,识别所述待编码视频中目标视频对象;
计算模块,用于根据所述待编码视频的横屏尺寸确定所述待编码视频的目标视频对象尺寸,并根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标;
划分模块,用于根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分,得到所述横屏显示区域中划分的目标显示区域,其中,所述目标显示区域包括竖屏显示区域;
编码模块,用于根据所述目标显示区域对所述待编码视频进行编码。
此外,为实现上述目的,本发明还提供一种视频播放编码设备,视频播放编码设备包括存储器、处理器及存储在存储器上并可在处理器上运行的视频播放编码程序,视频播放编码程序被处理器执行时实现如上述的视频播放编码方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有视频播放编码程序,视频播放编码程序被处理器执行时实现如上述的视频播放编码方法的步骤。
本发明通过识别待编码视频中目标视频对象,并根据待编码视频的横屏尺寸确定目标视频对象尺寸,根据待编码视频确定待编码视频的目标视频对象坐标,再根据IDR帧标识、目标视频对象尺寸和目标视频对象坐标划分横屏显示区域和竖屏显示区域,并对待编码视频进行编码,得到编码视频,实现了同时播放横屏视频和竖屏视频,并且也实现通过一次编码,一路视频流的传输,一路视频流的解码,实现两路(横屏、竖屏)的渲染,大大提高了编解码效率,节省了传输的带宽,并且可以大大降低视频传输的数据量,仅传输一路横屏的视频数据及竖屏相关的位置、编码信息等参数,就可以实现同时播放横屏视频和竖屏视频,降低了对用户侧带宽的要求。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端\装置结构示意图;
图2为本发明视频播放编码方法第一实施例的流程示意图;
图3为本发明视频播放编码装置的装置模块示意图;
图4为本发明视频播放编码方法中竖屏的元数据流的结构示意图;
图5为本发明视频播放编码方法中显示划分的第一场景示意图;
图6为本发明视频播放编码方法中显示划分的第二场景示意图;
图7为本发明视频播放编码方法中显示划分的第三场景示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端为视频播放编码设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在终端设备移动到耳边时,关闭显示屏和/或背光。当然,终端设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及视频播放编码程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的视频播放编码程序,并执行以下操作:
获取待编码视频,识别所述待编码视频中目标视频对象;
根据待编码视频的横屏尺寸确定待编码视频的目标视频对象尺寸,并根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标;
根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分,得到所述横屏显示区域中划分的目标显示区域,其中,所述目标显示区域包括竖屏显示区域;
根据所述目标显示区域对所述待编码视频进行编码。
参照图2,本发明提供一种视频播放编码方法,在视频播放编码方法的第一实施例中,视频播放编码方法包括以下步骤:
步骤S10,获取待编码视频,识别所述待编码视频中目标视频对象;
由于目前无法实现横竖屏同时观看的模式,并且是通过横屏转竖屏的方式使用户交替观看整体与细节。但是在编码及传输过程中分别需要对横屏与竖屏的视频进行编码传输。并且是通过两路视频流的切换实现横屏转竖屏播放。因此在本实施例中,是通过实现通过一次编码,一路视频流的传输,一路视频流的解码来实现两路(横屏、竖屏)的渲染,提高了编码效率,节省了传输的带宽,并且可以实现即可通过横屏观看整个视频,又可通过竖屏观看自己关注的主角的细节。
因此在本实施例中,当接收到横竖频同时编码任务,时,先获取待编码视频,并识别待编码视频的类型,如体育类、演艺类、电视机剧类等。并且会针对不同类型的视频使用不同的模型进行用户关注的视频对象的识别,并在识别后,输出用户关注的对象图像的中心坐标,即目标视频对象的中心坐标(x,y)。
步骤S20,根据所述待编码视频的横屏尺寸确定所述待编码视频的目标视频对象尺寸,并根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标;
获取准备播放待编码视频的终端屏幕的屏幕尺寸,并将此屏幕尺寸作为横屏视频的横屏尺寸,如横屏视频的宽和高。若横屏视频的横屏尺寸为W*H,则可以将横屏视频的高H作为目标视频对象视频的高h,即h=H,再根据预设的比例(如9:16)计算目标视频对象视频的宽w,并将计算得到的目标视频对象视频的高h和宽w作为目标视频对象尺寸。并根据目标视频对象的中心坐标(x,y)计算目标视频对象视频的左上角像素的坐标(x1,y1),再将此坐标作为目标视频对象视频的目标视频对象坐标。其中,若x-w/2>0,或者x+w/2<W,则可以确定x1=x-w/2,y1=0。若x-w/2>W,则可以确定x1=W-w,y1=0。若x-w/2<0,则可以确定x1=0,y1=0。
步骤S30,根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分,得到所述横屏显示区域中划分的目标显示区域,其中,所述目标显示区域包括竖屏显示区域;
在确定目标视频对象坐标后,还需要确定是否重启IDR帧。即可以获取上一帧的左上角坐标(xl’,yl’),并将其作为历史目标视频对象坐标,然后再计算目标视频对象坐标和历史目标视频对象坐标之间的距离,即|xl’-xl|。若检测到|xl’-xl|>K,w/2<K<w,则可以确定需要重启IDR帧。其中,I帧时编码的关键帧,I帧不需要参考前后帧就能解码处理。而IDR帧就是I帧,但是在IDR帧之后的所有帧都不能引用任何IDR帧之前的帧的内容,与此相反,对于普通的I-帧来说,位于其之后的B-和P-帧可以引用位于普通I-帧之前的I-帧。重启IDR帧为的是后续的帧能够正常解码出来。
然后在获取待编码视频中的IDR帧标识,并根据竖屏视频左上角像素的坐标(即目标视频对象坐标)、竖屏视频的宽和高(即目标视频对象尺寸)和IDR帧标识,对待编码视频流对应的横屏显示区域进行MCTS划分得到横屏显示区域中划分的至少一个目标显示区域。并将划分得到的MCTS区域作为目标显示区域,其中,目标显示区域包括竖屏显示区域或其它形状的显示区域,如正方形显示区域、菱形显示区域等。在本实施例中仅以目标显示区域为竖屏显示区域为例进行举例说明,并不仅仅代表目标显示区域为竖屏显示区域。
步骤S40,根据所述目标显示区域对所述待编码视频进行编码。
在确定目标显示区域后,可以根据目标显示区域的宽和高来设置编码参数,如编码参数为num_Tile_columns_minus1=2或者3,num_Tile_rows_minus1=0,column_width_minus1;row_height_minus1=H。并根据设置好的编码参数对待编码视频进行编码,得到编码视频。再根据是否为IDR帧标识来设置帧的类型(如I帧或P帧)。其中,横屏编码的码流结构包括IDR帧的码流结构和P帧的码流结构。并且在每帧编码完成后,除了输出横屏的视频码流外,还需要额外对竖屏的每一帧生产元数据流,如图4所示,包括AUD、VPS、SPS、PPS、SEI的数据以及IDR标识及竖屏序列号等。其中,AUD,VPS,SEI直接拷贝,针对每个GOP,需要修改SPS的参数pic_width_in_luma_samples=w;针对每一帧,修改PPS的参数:num_tile_columns_minus1=0。并且在编码完成后,对视频码流进行包装,得到编码视频,其中,横屏的视频码流为主码流,竖屏的元数据流为辅助数据流。也就是横屏和竖屏是一路数据流,竖屏的数据流是在播放器解码时从横屏的数据流分离出来的;比如横屏的数据流大小是100M,竖屏的100M中的25M,在网络上传输的是100M,达到125M的效果,从而节省带宽。
当播放器接收到播放事件时,如接收到播放指令时,会根据此播放指令主动申请编码视频,以便进行后期的解码播放。如当用户点击屏幕,触发竖屏视频播放时,会解析横屏视频的元数据流中的IDR标识字段,并在确定当前帧为IDR帧时,获取竖屏序号,将其作为当前序号。然后在横屏的视频码流中获取每一帧当前序号的竖屏视频码流,并修改视频码流的参数进行解码播放。
当检测到用户点击屏幕,触发竖屏视频播放结束时,播放器直接关闭竖屏视频流的解码,只播放横屏。
在本实施例中,通过识别待编码视频中目标视频对象,并根据待编码视频的横屏尺寸确定目标视频对象尺寸,确定待编码视频的目标视频对象坐标,再根据IDR帧标识、目标视频对象尺寸和目标视频对象坐标划分横屏显示区域和竖屏显示区域,并对待编码视频进行编码,得到编码视频,实现了同时播放横屏视频和竖屏视频,并且也实现通过一次编码,一路视频流的传输,一路视频流解码,实现两路(横屏、竖屏)的渲染,大大提高了编解码效率,节省了传输的带宽,并且可以大大降低视频传输的数据量,仅传输一路横屏的视频数据及竖屏相关的位置、编码信息等参数,就可以实现同时播放横屏视频和竖屏视频,降低了对用户侧带宽的要求。
进一步地,基于上述本发明的第一实施例,提出本发明视频播放编码方法的第二实施例,在本实施例中,上述实施例步骤S40,根据所述目标显示区域对所述待编码视频进行编码的步骤的细化,包括:
步骤a,获取所述目标显示区域的区域尺寸,并根据所述IDR帧标识确定所述待编码视频中当前帧的帧类型;
在本实施例中,在确定目标显示区域后,可以先确定实际显示的横屏显示区域和竖屏显示区域,并获取这两个显示区域的区域尺寸,即宽和高。并获取IDR帧标识,根据IDR帧标识确定待编码视频中当前帧的帧类型。如I帧或P帧。
步骤b,根据所述区域尺寸和所述帧类型构建编码参数,并根据所述编码参数进行编码。
然后再根据区域尺寸和帧类型来构建编码参数,并根据编码参数对当前帧进行编码,当待编码视频的所有帧都编码完成,得到对应的编码码流后,就可以将其作为横屏的视频码流,并且在每帧编码完成后,还会对竖屏的每帧生产元数据流,再将视频码流和元数据流封装为编码视频。
在本实施例中,通过根据目标显示区域的区域尺寸和当前帧的帧类型构建编码参数,再根据编码参数进行编码,得到编码视频,从而保障了获取到的编码视频的准确性。
具体地,根据所述编码参数进行编码的步骤,包括:
步骤c,根据所述编码参数进行横屏编码,得到横屏视频码流,并获取目标显示区域的序列号,根据所述序列号和所述横屏视频码流构建竖屏的元数据流,将所述横屏视频码流和所述元数据流封装为编码视频。
在本实施例中,当构建好编码参数后,可以直接根据此编码参数进行每一帧的横屏编码,并当完成所有帧的横屏编码,得到的视频码流后,即得到横屏视频码流(即横屏的视频码流)。可以根据目标显示区域的元数据流来封装为编码视频。而在构建目标显示区域的元数据流时,需要获取IDR标识和目标显示区域的序列号,并根据IDR标识和序列号、以及横屏视频码流中的部分参数来构建目标显示区域的元数据流,即在完成每一帧的横屏码流构建时,也会构建该帧的目标显示区域(如竖屏)的元数据流。将横屏码流中的AUD、VPS和SEI直接进行拷贝,并与IDR标识和竖屏序列号一起构建元数据流。
在本实施例中,通过根据编码参数进行横屏编码得到横屏视频码流,再根据目标显示区域的序列号和横屏视频码流构建元数据流,将横屏视频码流和元数据流封装为编码视频,从而保障了获取到的编码视频的准确性。
具体地,将所述横屏视频码流和所述元数据流封装为编码视频的步骤,包括:
步骤d,确定所述横屏视频码流中目标显示区域的视频数据流,并根据所述IDR帧标识截取所述元数据流中的部分,将所述视频数据流和截取的部分元数据流进行拼接,得到编码视频。
在本实施例中,针对每一帧,先确定横屏视频码流中竖屏区域(即目标显示区域)的视频数据流,并截取元数据流中的部分,将其作为部分元数据流,如元数据流从头截取到SEI字节,即将元数据流中排列在IDR帧标识前面的元数据流作为部分元数据流进行截取。将视频数据流和部分元数据流进行拼接。并在完成所有帧的拼接后,得到的视频数据就为编码视频。
在本实施例中,通过确定横屏视频码流中目标显示区域的视频数据流,并将截取的部分元数据流和视频数据流进行拼接,得到编码视频,从而保障了获取到的编码视频的准确性。
进一步地,根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标的步骤,包括:
步骤e,确定所述目标视频对象在所述待编码视频对应图像中的中心坐标,并计算所述目标视频对象尺寸中宽度值的一半,得到半宽值;
在本实施例中,当识别到待编码视频中的目标视频对象时,可以直接确目标视频对象在待编码视频对应图像中的中心坐标(x,y),并且会确定目标视频对象尺寸中的宽度值w,计算该宽度值的一半,即w/2,并将其作为半宽值。
步骤f,计算所述横屏尺寸中宽度值与所述半宽值之间的和值与差值,并计算所述横屏尺寸中宽度值和所述目标视频对象尺寸中宽度值之间的宽度差值;
获取横屏视频中的横屏尺寸,并确定横屏尺寸中的宽度值W,再计算宽度值W与半宽值w/2之间的和值与差值,即差值为W-w/2,和值为W+w/2。并且在本实施例中,还需要计算横屏尺寸中宽度值W和目标视频对象尺寸中宽度值w之间的差值,并将其作为宽度差值。
步骤g,若所述中心坐标的横坐标小于所述半宽值,则确定所述目标视频对象坐标的横坐标和纵坐标均为零;
在确定目标视频对象坐标时,可以先计算中心坐标的横坐标x与半宽值w/2之间的差值x-w/2,并在x-w/2<0时,确定中心坐标的横坐标小于半宽值,此时就可以确定目标视频对象坐标的横坐标和纵坐标均为零,即目标视频对象坐标(x1,y1)=(0,0)。
步骤h,若所述中心坐标的横坐标大于所述半宽值或小于所述差值,则确定所述目标视频对象坐标的横坐标为所述中心坐标的横坐标与所述半宽值之间的差值,所述目标视频对象坐标的纵坐标为零;
当x-w/2>0时,确定中心坐标的横坐标大于半宽值,即x>w/2,此时可以计算中心坐标的横坐标x与半宽值w/2之间的差值,即x-w/2,并将此差值作为目标视频对象坐标的横坐标x1,并将目标视频对象坐标中的纵坐标设置为零。即目标视频对象坐标(x1,y1)=(x-w/2,0)。或者当x+w/2<W时,即x<W-w/2,此时可以确定中心坐标的横坐标小于差值,此时同样可以确定目标视频对象坐标的横坐标x1=x-w/2,纵坐标y1=0。并且需要说明的是,当目标视频对象坐标的横坐标x1为x-w/2时,由于x<W-w/2,因此也可以确定目标视频对象坐标的横坐标x1小于宽度差值W-w。并且当目标视频对象坐标的横坐标x1为x-w/2,由于x>w/2,因此也可以确定目标视频对象坐标的横坐标x1大于零。
步骤i,若所述中心坐标的横坐标大于所述和值,则确定所述目标视频对象坐标的横坐标为所述宽度差值,所述目标视频对象坐标的纵坐标为零。
在本实施例中,当x-w/2>W,即中心坐标的横坐标x>和值W+w/2时,可以直接确定目标视频对象坐标的横坐标x1为宽度差值,即W-w,目标视频对象坐标的纵坐标为零。
在本实施例中,通过确定目标视频对象在待编码视频对应图像中的中心坐标,并计算目标视频对象尺寸中宽度值的一半,得到半宽值,并计算横屏尺寸中宽度值与半宽值之间的和值与差值,再根据中心坐标的横坐标与半宽值、和值、差值之间的比较结果确定目标视频对象坐标,从而保障了获取到的目标视频对象坐标的准确有效性。
进一步地,根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分的步骤,包括:
步骤m,根据所述IDR帧标识定位所述待编码视频中的IDR帧,并确定所述横屏尺寸中宽度值和所述目标视频对象尺寸中宽度值之间的宽度差值;
在本实施例中,对待编码视频进行划分时,可以先根据当前帧是否为IDR帧标识来定位待编码视频中的IDR帧,在定位到IDR帧后,可以进行显示区域的划分。即可以先计算横屏尺寸中宽度值和目标视频对象尺寸中宽度值之间的差值,将其作为宽度差值。
步骤n,若所述目标视频对象坐标中的横坐标等于零或宽度差值,则根据所述IDR帧将所述待编码视频对应的横屏显示区域进行划分,得到一个目标显示区域和一个实际横屏显示区域;
在本实施例中,若目标视频对象坐标中的横坐标等于零,即此时目标视频对象坐标为原点坐标,x1=0,y1=0。此时就可以根据IDR帧将待编码视频对应的每一帧的视频图像划分为两个MCTS区域,一个作为实际横屏显示区域(即实际显示的横屏显示区域),另一个作为目标显示区域。如图5所示,一个MCTS区域的区域尺寸为w*H,左上角坐标为(0,0)。另一个MCTS的区域尺寸为(W-w)*H,左上角坐标为(w,0),竖屏序号为0。
若目标视频对象坐标中的横坐标等宽度差值,即x1=W-w,y1=0。此时同样可以根据IDR帧将待编码视频对应的每一帧的视频图像划分为两个MCTS区域,一个作为横屏显示区域,另一个作为竖屏显示区域(即目标显示区域)。如图6所示,一个MCTS区域的区域尺寸为(W-w)*H,左上角坐标为(0,0)。另一个MCTS的区域尺寸为w*H,左上角坐标为(W-w,0),竖屏序号为1。
步骤o,若所述目标视频对象坐标中的横坐标大于零且小于所述宽度差值,则根据所述IDR帧将所述待编码视频对应的横屏显示区域进行划分,得到一个目标显示区域和两个实际横屏显示区域。
若目标视频对象坐标中的横坐标大于零且小于宽度差值,即0<x1<W-w;则此时可以根据IDR帧将待编码视频对应的每一帧的视频图像划分为三个MCTS区域,即一个目标显示区域和两个实际横屏显示区域。如图7所示,一个MCTS的区域大小是xl*H,左上角坐标为(0,0);第二个MCTS的区域大小是w*H,左上角坐标为(xl,0);第三个MCTS区域大小为(W-x-w)*H,左上角坐标为(xl+w,0);竖屏序号为1。
在本实施例中,通过在目标视频对象坐标中的横坐标等于零或宽度差值时,根据IDR帧划分为一个目标显示区域和一个实际横屏显示区域,或在目标视频对象坐标中的横坐标大于零且小于宽度差值时,根据IDR帧划分为一个目标显示区域和两个实际横屏显示区域,从而可以保障划分的显示区域至少包括有一个横屏显示区域和一个竖屏显示区域,为后续进行横屏视频和竖屏视频同时播放提供了基础。
进一步地,根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标的步骤之后,包括:
步骤p,确定所述待编码视频对应的上一帧视频,并确定所述上一帧视频中的历史目标视频对象坐标,计算所述历史目标视频对象坐标和所述目标视频对象坐标之间的距离;
在本实施例中,再对待编码视频进行划分前,可以先确定待编码视频对应的上一帧视频,并确定上一帧视频中左上角坐标,并将其作为历史目标视频对象坐标。并计算历史目标视频对象坐标和目标视频对象坐标之间的距离,即可以直接计算历史目标视频对象坐标的横坐标和目标视频对象坐标的横坐标之间的绝对差值,并将此绝对差值作为历史目标视频对象坐标和目标视频对象坐标之间的距离。
步骤q,若所述距离大于预设距离,则重启IDR帧,并在重启成功后,执行所述根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分的步骤。
当经过判断发现距离大于预设距离时,需要重启IDR帧,以便后续的帧能正常解码处理。并在重启成功后,再执行获取待编码视频对应的IDR帧标识的步骤,以便完成后续区域划分,从而实现横屏和竖屏同时播放的效果。
在本实施例中,通过确定待编码视频对应的上一帧视频,并计算上一帧视频中历史目标视频对象坐标和目标视频对象坐标之间的距离,在距离大于预设距离时,重启IDR帧,再进行待编码视频划分,从而保障了后续帧能够正常解码出来。
此外,参照图3,本发明实施例还提供一种视频播放编码装置,包括:
获取模块A10,用于获取待编码视频,识别所述待编码视频中目标视频对象;
计算模块A20,用于根据所述待编码视频的横屏尺寸确定所述待编码视频的目标视频对象尺寸,并根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标;
划分模块A30,用于根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分,得到横屏显示区域中划分的目标显示区域,其中,所述目标显示区域包括竖屏显示区域;
编码模块A40,用于根据所述目标显示区域对所述待编码视频进行编码。
可选地,编码模块A40,用于:
获取所述目标显示区域的区域尺寸,并根据所述IDR帧标识确定所述待编码视频中当前帧的帧类型;
根据所述区域尺寸和所述帧类型构建编码参数,并根据所述编码参数进行编码。
可选地,编码模块A40,用于:
根据所述编码参数进行横屏编码,得到横屏视频码流,并获取目标显示区域的序列号,根据所述序列号和所述横屏视频码流构建元数据流,将所述横屏视频码流和所述元数据流封装为编码视频。
可选地,编码模块A40,用于:
确定所述横屏视频码流中目标显示区域的视频数据流,并根据所述IDR帧标识截取所述元数据流中的部分,将所述视频数据流和截取的部分元数据流进行拼接,得到编码视频。
可选地,计算模块A20,用于:
确定所述目标视频对象在所述待编码视频对应图像中的中心坐标,并计算所述目标视频对象尺寸中宽度值的一半,得到半宽值;
计算所述横屏尺寸中宽度值与所述半宽值之间的和值与差值,并计算所述横屏尺寸中宽度值和所述目标视频对象尺寸中宽度值之间的宽度差值;
若所述中心坐标的横坐标小于所述半宽值,则确定所述目标视频对象坐标的横坐标和纵坐标均为零;
若所述中心坐标的横坐标大于所述半宽值或小于所述差值,则确定所述目标视频对象坐标的横坐标为所述中心坐标的横坐标与所述半宽值之间的差值,所述目标视频对象尺寸的纵坐标为零;
若所述中心坐标的横坐标大于所述和值,则确定所述目标视频对象坐标的横坐标为所述宽度差值,所述目标视频对象尺寸的纵坐标为零。
可选地,划分模块A30,用于:
根据所述IDR帧标识定位所述待编码视频中的IDR帧,并确定所述横屏尺寸中宽度值和所述目标视频对象尺寸中宽度值之间的宽度差值;
若所述目标视频对象坐标中的横坐标等于零或宽度差值,则根据所述IDR帧将所述待编码视频对应的横屏显示区域进行划分,得到一个目标显示区域和一个实际横屏显示区域;
若所述目标视频对象坐标中的横坐标大于零且小于所述宽度差值,则根据所述IDR帧将所述待编码视频对应的横屏显示区域进行划分,得到一个目标显示区域和两个实际横屏显示区域。
可选地,划分模块A30,用于:
确定所述待编码视频对应的上一帧视频,并确定所述上一帧视频中的历史目标视频对象坐标,计算所述历史目标视频对象坐标和所述目标视频对象坐标之间的距离;
若所述距离大于预设距离,则重启IDR帧,并在重启成功后,执行所述根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分的步骤。
其中,视频播放编码装置的各个功能模块实现的步骤可参照本发明视频播放编码方法的各个实施例,此处不再赘述。
此外,本发明还提供一种视频播放编码设备,所述视频播放编码设备包括:存储器、处理器及存储在所述存储器上的视频播放编码程序;所述处理器用于执行所述视频播放编码程序,以实现上述视频播放编码方法各实施例的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述视频播放编码方法各实施例的步骤。
本发明计算机可读存储介质具体实施方式与上述视频播放编码方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种视频播放编码方法,其特征在于,所述视频播放编码方法包括以下步骤:
获取待编码视频,识别所述待编码视频中目标视频对象;
根据所述待编码视频的横屏尺寸确定所述待编码视频的目标视频对象尺寸,并根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标;
根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分,得到所述横屏显示区域中划分的目标显示区域,其中,所述目标显示区域包括竖屏显示区域;
根据所述目标显示区域对所述待编码视频进行编码。
2.如权利要求1所述的视频播放编码方法,其特征在于,所述根据所述目标显示区域对所述待编码视频进行编码的步骤,包括:
获取所述目标显示区域的区域尺寸,并根据所述IDR帧标识确定所述待编码视频中当前帧的帧类型;
根据所述区域尺寸和所述帧类型构建编码参数,并根据所述编码参数进行编码。
3.如权利要求2所述的视频播放编码方法,其特征在于,所述根据所述编码参数进行编码的步骤,包括:
根据所述编码参数进行横屏编码,得到横屏视频码流,并获取目标显示区域的序列号,根据所述序列号和所述横屏视频码流构建元数据流,将所述横屏视频码流和所述元数据流封装为编码视频。
4.如权利要求3所述的视频播放编码方法,其特征在于,所述将所述横屏视频码流和所述元数据流封装为编码视频的步骤,包括:
确定所述横屏视频码流中目标显示区域的视频数据流,并根据所述IDR帧标识截取所述元数据流中的部分,将所述视频数据流和截取的部分元数据流进行拼接,得到编码视频。
5.如权利要求1所述的视频播放编码方法,其特征在于,所述根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标的步骤,包括:
确定所述目标视频对象在所述待编码视频对应图像中的中心坐标,并计算所述目标视频对象尺寸中宽度值的一半,得到半宽值;
计算所述横屏尺寸中宽度值与所述半宽值之间的和值与差值,并计算所述横屏尺寸中宽度值和所述目标视频对象尺寸中宽度值之间的宽度差值;
若所述中心坐标的横坐标小于所述半宽值,则确定所述目标视频对象坐标的横坐标和纵坐标均为零;
若所述中心坐标的横坐标大于所述半宽值或小于所述差值,则确定所述目标视频对象坐标的横坐标为所述中心坐标的横坐标与所述半宽值之间的差值,所述目标视频对象坐标的纵坐标为零;
若所述中心坐标的横坐标大于所述和值,则确定所述目标视频对象坐标的横坐标为所述宽度差值,所述目标视频对象坐标的纵坐标为零。
6.如权利要求5所述的视频播放编码方法,其特征在于,所述根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分的步骤,包括:
根据所述IDR帧标识定位所述待编码视频中的IDR帧,并确定所述横屏尺寸中宽度值和所述目标视频对象尺寸中宽度值之间的宽度差值;
若所述目标视频对象坐标中的横坐标等于零或宽度差值,则根据所述IDR帧将所述待编码视频对应的横屏显示区域进行划分,得到一个目标显示区域和一个实际横屏显示区域;
若所述目标视频对象坐标中的横坐标大于零且小于所述宽度差值,则根据所述IDR帧将所述待编码视频对应的横屏显示区域进行划分,得到一个目标显示区域和两个实际横屏显示区域。
7.如权利要求1-6任一项所述的视频播放编码方法,其特征在于,所述根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标的步骤之后,还包括:
确定所述待编码视频对应的上一帧视频,并确定所述上一帧视频中的历史坐标,计算所述历史坐标和所述目标视频对象坐标之间的距离;
若所述距离大于预设距离,则重启IDR帧,并在重启成功后,执行所述根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分的步骤。
8.一种视频播放编码装置,其特征在于,所述视频播放编码装置包括:
获取模块,用于获取待编码视频,识别所述待编码视频中目标视频对象;
计算模块,用于根据所述待编码视频的横屏尺寸确定所述待编码视频的目标视频对象尺寸,并根据所述目标视频对象计算所述目标视频对象的目标视频对象坐标;
划分模块,用于根据所述待编码视频的IDR帧标识、所述目标视频对象尺寸和所述目标视频对象坐标对所述待编码视频对应的横屏显示区域进行划分,得到所述横屏显示区域中划分的目标显示区域,其中,所述目标显示区域包括竖屏显示区域;
编码模块,用于根据所述目标显示区域对所述待编码视频进行编码。
9.一种视频播放编码设备,其特征在于,所述视频播放编码设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的视频播放编码程序,所述视频播放编码程序被所述处理器执行时实现如权利要求1至7中任一项所述的视频播放编码方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有视频播放编码程序,所述视频播放编码程序被处理器执行时实现如权利要求1至7中任一项所述的视频播放编码方法的步骤。
CN202111636540.5A 2021-12-28 视频播放编码方法、装置、设备及计算机可读存储介质 Active CN114286136B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111636540.5A CN114286136B (zh) 2021-12-28 视频播放编码方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111636540.5A CN114286136B (zh) 2021-12-28 视频播放编码方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN114286136A true CN114286136A (zh) 2022-04-05
CN114286136B CN114286136B (zh) 2024-05-31

Family

ID=

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2748412A1 (en) * 2002-01-02 2003-07-02 Sony Electronics Inc. Slice mask and moat pattern partial encryption
CN106303571A (zh) * 2016-08-29 2017-01-04 武汉斗鱼网络科技有限公司 图像采集过程中实现自适应屏幕旋转的方法及系统
CN106412691A (zh) * 2015-07-27 2017-02-15 腾讯科技(深圳)有限公司 一种视频图像的截取方法和装置
CN106506554A (zh) * 2016-12-29 2017-03-15 广州华多网络科技有限公司 直播编码的方法、装置、终端、联动编码服务器及系统
WO2018171447A1 (zh) * 2017-03-21 2018-09-27 腾讯科技(深圳)有限公司 视频编码方法、视频解码方法、计算机设备和存储介质
CN108650542A (zh) * 2018-05-09 2018-10-12 腾讯科技(深圳)有限公司 生成竖屏视频流、图像处理的方法、电子设备和视频系统
CN109791600A (zh) * 2016-12-05 2019-05-21 谷歌有限责任公司 将横屏视频转换为竖屏移动布局的方法
CN110049326A (zh) * 2019-05-28 2019-07-23 广州酷狗计算机科技有限公司 视频编码方法及装置、存储介质
CN110049324A (zh) * 2019-04-12 2019-07-23 深圳壹账通智能科技有限公司 视频编码方法、系统、设备及计算机可读存储介质
CN110062252A (zh) * 2019-04-30 2019-07-26 广州酷狗计算机科技有限公司 直播方法、装置、终端及存储介质
CN110839174A (zh) * 2019-12-02 2020-02-25 广州酷狗计算机科技有限公司 图像处理的方法、装置、计算机设备以及存储介质
CN111010590A (zh) * 2018-10-08 2020-04-14 传线网络科技(上海)有限公司 一种视频裁剪方法及装置
CN112492388A (zh) * 2020-11-30 2021-03-12 北京百度网讯科技有限公司 视频处理方法、装置、设备以及存储介质
CN113438436A (zh) * 2020-03-23 2021-09-24 阿里巴巴集团控股有限公司 一种视频播放方法、视频会议方法、直播方法及相关设备

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2748412A1 (en) * 2002-01-02 2003-07-02 Sony Electronics Inc. Slice mask and moat pattern partial encryption
CN106412691A (zh) * 2015-07-27 2017-02-15 腾讯科技(深圳)有限公司 一种视频图像的截取方法和装置
CN106303571A (zh) * 2016-08-29 2017-01-04 武汉斗鱼网络科技有限公司 图像采集过程中实现自适应屏幕旋转的方法及系统
CN109791600A (zh) * 2016-12-05 2019-05-21 谷歌有限责任公司 将横屏视频转换为竖屏移动布局的方法
CN106506554A (zh) * 2016-12-29 2017-03-15 广州华多网络科技有限公司 直播编码的方法、装置、终端、联动编码服务器及系统
WO2018171447A1 (zh) * 2017-03-21 2018-09-27 腾讯科技(深圳)有限公司 视频编码方法、视频解码方法、计算机设备和存储介质
CN108650542A (zh) * 2018-05-09 2018-10-12 腾讯科技(深圳)有限公司 生成竖屏视频流、图像处理的方法、电子设备和视频系统
CN111010590A (zh) * 2018-10-08 2020-04-14 传线网络科技(上海)有限公司 一种视频裁剪方法及装置
CN110049324A (zh) * 2019-04-12 2019-07-23 深圳壹账通智能科技有限公司 视频编码方法、系统、设备及计算机可读存储介质
CN110062252A (zh) * 2019-04-30 2019-07-26 广州酷狗计算机科技有限公司 直播方法、装置、终端及存储介质
CN110049326A (zh) * 2019-05-28 2019-07-23 广州酷狗计算机科技有限公司 视频编码方法及装置、存储介质
CN110839174A (zh) * 2019-12-02 2020-02-25 广州酷狗计算机科技有限公司 图像处理的方法、装置、计算机设备以及存储介质
CN113438436A (zh) * 2020-03-23 2021-09-24 阿里巴巴集团控股有限公司 一种视频播放方法、视频会议方法、直播方法及相关设备
CN112492388A (zh) * 2020-11-30 2021-03-12 北京百度网讯科技有限公司 视频处理方法、装置、设备以及存储介质

Similar Documents

Publication Publication Date Title
CN110459246B (zh) 用于回放全景视频内容的系统和方法
CN109416931B (zh) 用于视线跟踪的装置和方法
JP5108877B2 (ja) 表示装置
CN104010225B (zh) 显示全景视频的方法和系统
EP2815582B1 (en) Rendering of an interactive lean-backward user interface on a television
US11863801B2 (en) Method and device for generating live streaming video data and method and device for playing live streaming video
JP6154527B1 (ja) ゲームサーバ、ゲームシステム制御方法及びゲームシステム制御プログラム
CN110035316B (zh) 处理媒体数据的方法和装置
US11694316B2 (en) Method and apparatus for determining experience quality of VR multimedia
CN103841454A (zh) 用于处理视频信号以用于显示的方法和装置
CN105163152A (zh) 一种电视互动系统的互动接入方法
CN112584189A (zh) 直播数据处理方法、装置、系统与计算机可读存储介质
CN110933461B (zh) 图像处理方法、装置、系统、网络设备、终端及存储介质
CN112333438B (zh) 立体图像处理方法、装置、设备及计算机可读存储介质
CN114286136B (zh) 视频播放编码方法、装置、设备及计算机可读存储介质
US20080151336A1 (en) Method of Visualizing a Large Still Picture on a Small-Size Display
CN114286136A (zh) 视频播放编码方法、装置、设备及计算机可读存储介质
CN111711857A (zh) 多路视频播放方法、终端及可读存储介质
US9721615B2 (en) Non-linear video review buffer navigation
CN111225293A (zh) 一种视频数据处理方法、装置以及计算机存储介质
WO2023029204A1 (zh) 自由视点视频画面拼接方法、终端及可读存储介质
CN113949884A (zh) 多视点视频数据处理方法、设备及存储介质
US7149408B2 (en) Method and apparatus for editing video data
CN113596453A (zh) 视频压缩及解压方法、装置、设备及存储介质
CN112423108A (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