[go: up one dir, main page]

CN114339248A - 一种视频转码及视频显示方法、装置及电子设备 - Google Patents

一种视频转码及视频显示方法、装置及电子设备 Download PDF

Info

Publication number
CN114339248A
CN114339248A CN202111657026.XA CN202111657026A CN114339248A CN 114339248 A CN114339248 A CN 114339248A CN 202111657026 A CN202111657026 A CN 202111657026A CN 114339248 A CN114339248 A CN 114339248A
Authority
CN
China
Prior art keywords
image
resolution
target
initial
sub
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.)
Pending
Application number
CN202111657026.XA
Other languages
English (en)
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202111657026.XA priority Critical patent/CN114339248A/zh
Publication of CN114339248A publication Critical patent/CN114339248A/zh
Priority to EP22914332.6A priority patent/EP4460007A4/en
Priority to US18/724,494 priority patent/US20250071300A1/en
Priority to PCT/CN2022/139653 priority patent/WO2023125078A1/zh
Priority to KR1020247022589A priority patent/KR20240121800A/ko
Priority to JP2024539377A priority patent/JP2024545784A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • 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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)

Abstract

本发明实施例提供了一种视频转码及视频显示方法、装置及电子设备,涉及视频处理技术领域。该视频转码方法包括:获取多路视频图像拼接得到的初始图像中的第一图像;确定各个初始子图像的初始分辨率;其中,每个初始分辨率不大于预设编码器所能支持的输入数据的最大分辨率,每个初始子图像转码后的目标子图像的目标分辨率不大于预设编码器所能支持的输出数据的最大分辨率;基于各个初始分辨率,将待切割图像分割为各个初始子图像;利用预设编码器,按照每个初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流。与现有技术相比,应用本发明实施例提供的方案,可以实现对多路视频画面拼接后视频画面的转码。

Description

一种视频转码及视频显示方法、装置及电子设备
技术领域
本发明涉及视频处理技术领域,特别是涉及一种视频转码及视频显示方法、装置及电子设备。
背景技术
当前,为了能够从多角度对被监控区域进行更全面的监控,会在被监控区域中安装多个视频采集设备,以期能够全覆盖被监控区域的全部空间。并且,为了能够同时显示被监控区域的全部监控视频画面,通常会对上述多个视频采集设备所采集到的多路视频画面进行拼接,并显示拼接后视频画面。
其中,上述拼接后视频图像的分辨率为上述多路视频画面的分辨率之和。然而,在有些情况下,用户希望利用其他分辨率显示上述拼接后视频画面中的画面。例如,利用其他分辨率显示上述拼接后视频画面;又例如,利用其他分辨率显示上述拼接后视频画面中的局部画面等。
基于此,如何对多路视频拼接后视频画面进行转码,以使得解码后所显示的视频画面的分辨率能够满足用户需求,成为当前亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种视频转码及视频显示方法、装置及电子设备,以实现对多路视频画面拼接后视频画面的转码,以使得解码后所显示的视频画面的分辨率能够满足用户需求。具体技术方案如下:
第一方面,本发明实施例提供了一种视频转码方法,所述方法包括:
获取多路视频图像拼接得到的初始图像中的第一图像;
确定待转码的各个初始子图像的初始分辨率;其中,每个初始分辨率不大于预设编码器所能支持的输入数据的最大分辨率,每个初始子图像转码后的目标子图像的目标分辨率不大于所述预设编码器所能支持的输出数据的最大分辨率,各个目标分辨率的和值为所述第一图像转码后的第二图像的预设分辨率;
基于各个初始分辨率,将所述待切割图像分割为待转码的各个初始子图像;
利用所述预设编码器,按照每个初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流。
可选的,一种具体实现方式中,所述方法还包括:
在每路目标码流的码流信息中添加指定信息结构体,得到各路待封装码流;
对所述各路待封装码流进行封装,并在封装信息中添加所述指定信息结构体,得到关于所述第一图像的多轨流码流。
可选的,一种具体实现方式中,所述方法还包括:
复制所述多轨流码流,并将所得到的多个所述多轨流码流传输给指定设备。
可选的,一种具体实现方式中,所述确定待转码的各个初始子图像的初始分辨率,包括:
确定预设的转码后的各个目标子图像的目标分辨率;
针对每个目标分辨率,基于该目标分辨率在所述预设分辨率中所占的第一比例和所述第一图像的指定分辨率,确定该目标分辨率对应的初始分辨率,作为该目标分辨率对应的初始子图像的初始分辨率;
其中,每个初始分辨率在所述指定分辨率中所占的第二比例,与该初始分辨率对应的目标分辨率在所述预设分辨率中所占的第一比例相同。
可选的,一种具体实现方式中,所述基于各个初始分辨率,将所述待切割图像分割为待转码的各个初始子图像,包括:
按照所确定的各个初始分辨率,将所述待切割图像分割为不存在重叠区域的待转码的各个初始子图像。
可选的,一种具体实现方式中,在所述基于各个初始分辨率,将所述待切割图像分割为待转码的各个初始子图像之前,所述方法还包括:
将每个不满足所述预设编码器的字节对齐要求的初始分辨率,增大为满足所述字节对齐要求的分辨率,得到各个切割分辨率;
所述基于各个初始分辨率,将所述第一图像分割为待转码的各个初始子图像,包括:
基于各个可用分辨率和各个切割分辨率,将所述第一图像分割为待转码的各个初始子图像;其中,所述可用分辨率为:满足所述字节对齐要求的初始分辨率;各个初始子图像中包括:存在重叠区域的初始子图像;
所述利用所述预设编码器,按照每个初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流,包括:
针对每个分辨率为可用分辨率的初始子图像,利用所述预设编码器,按照该初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到目标码流;
针对每个分辨率为切割分辨率的初始子图像,利用所述预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码,并在所得到的码流的码流信息中添加关于指定像素的标记,得到目标码流;
其中,所述编码分辨率为:该初始子图像转码后的目标子图像的目标分辨率与指定倍数的乘积,所述指定倍数为:该初始子图像的切割分辨率与该初始子图像的初始分辨率的比值,所述指定像素为:将该初始子图像转码后的目标子图像的目标分辨率增加到所述编码分辨率时,该初始子图像转码后的目标子图像中增加的像素。
可选的,一种具体实现方式中,在所述利用所述预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码之前,所述方法还包括:
判断该初始子图像的切割分辨率是否不大于所述预设编码器所能支持的输入数据的最大分辨率,并且,该初始子图像的编码分辨率是否不大于所述预设编码器所能支持的输出数据的最大分辨率;
如果是,则利用所述预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码;
否则,返回所述确定待转码的各个初始子图像的初始分辨率的步骤。
第二方面,本发明实施例提供了一种视频显示方法,所述方法包括:
获取关于目标图像的各路目标码流;其中,所述目标码流是上述第一方面提供的任一视频转码方法得到的;
对每路目标码流进行解码,得到每路目标码流对应的转码后的目标子图像;
对所得到的各个目标子图像进行拼接显示,得到目标图像。
可选的,一种具体实现方式中,所述对每路目标码流进行解码,得到每路目标码流对应的转码后的目标子图像,包括:
针对每路目标码流,检测该目标码流中是否存在关于指定像素的标记;
若存在,对该路目标码流进行解码,并剪裁解码后所得到的图像中,所述指定像素所对应的图像区域,得到该路目标码流对应的转码后的目标子图像;
若不存在,对该路目标码流进行解码,得到该路目标码流对应的转码后的目标子图像。
第三方面,本发明实施例提供了一种视频转码装置,所述装置包括:
图像获取模块,用于获取多路视频图像拼接得到的初始图像中的第一图像;
分辨率确定模块,用于确定待转码的各个初始子图像的初始分辨率;其中,每个初始分辨率不大于预设编码器所能支持的输入数据的最大分辨率,每个初始子图像转码后的目标子图像的目标分辨率不大于所述预设编码器所能支持的输出数据的最大分辨率,各个目标分辨率的和值为所述第一图像转码后的第二图像的预设分辨率;
图像分割模块,用于基于各个初始分辨率,将所述待切割图像分割为待转码的各个初始子图像;
图像编码模块,用于利用所述预设编码器,按照每个初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流。
可选的,一种具体实现方式中,所述装置还包括:码流封装模块,用于在每路目标码流的码流信息中添加指定信息结构体,得到各路待封装码流;对所述各路待封装码流进行封装,并在封装信息中添加所述指定信息结构体,得到关于所述第一图像的多轨流码流。
可选的,一种具体实现方式中,所述装置还包括:码流复制模块,用于复制所述多轨流码流,并将所得到的多个所述多轨流码流传输给指定设备。
可选的,一种具体实现方式中,所述分辨率确定模块具体用于:确定预设的转码后的各个目标子图像的目标分辨率;针对每个目标分辨率,基于该目标分辨率在所述预设分辨率中所占的第一比例和所述第一图像的指定分辨率,确定该目标分辨率对应的初始分辨率,作为该目标分辨率对应的初始子图像的初始分辨率;其中,每个初始分辨率在所述指定分辨率中所占的第二比例,与该初始分辨率对应的目标分辨率在所述预设分辨率中所占的第一比例相同。
可选的,一种具体实现方式中,所述图像分割模块具体用于:按照所确定的各个初始分辨率,将所述待切割图像分割为不存在重叠区域的待转码的各个初始子图像。
可选的,一种具体实现方式中,所述装置还包括:分辨率变更模块,用于在所述基于各个初始分辨率,将所述待切割图像分割为待转码的各个初始子图像之前,将每个不满足所述预设编码器的字节对齐要求的初始分辨率,增大为满足所述字节对齐要求的分辨率,得到各个切割分辨率;
所述图像分割模块具体用于:基于各个可用分辨率和各个切割分辨率,将所述第一图像分割为待转码的各个初始子图像;其中,所述可用分辨率为:满足所述字节对齐要求的初始分辨率;各个初始子图像中包括:存在重叠区域的初始子图像;
所述图像编码模块具体用于:针对每个分辨率为可用分辨率的初始子图像,利用所述预设编码器,按照该初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到目标码流;针对每个分辨率为切割分辨率的初始子图像,利用所述预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码,并在所得到的码流的码流信息中添加关于指定像素的标记,得到目标码流;其中,所述编码分辨率为:该初始子图像转码后的目标子图像的目标分辨率与指定倍数的乘积,所述指定倍数为:该初始子图像的切割分辨率与该初始子图像的初始分辨率的比值,所述指定像素为:将该初始子图像转码后的目标子图像的目标分辨率增加到所述编码分辨率时,该初始子图像转码后的目标子图像中增加的像素。
可选的,一种具体实现方式中,所述装置还包括:分辨率判断模块,用于在所述利用所述预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码之前,判断该初始子图像的切割分辨率是否不大于所述预设编码器所能支持的输入数据的最大分辨率,并且,该初始子图像的编码分辨率是否不大于所述预设编码器所能支持的输出数据的最大分辨率;如果是,触发所述图像编码模块,否则,触发所述分辨率确定模块。
第四方面,本发明实施例提供了一种视频显示装置,所述装置包括:
码流获取模块,用于获取关于目标图像的各路目标码流;其中,所述目标码流是基于上述第一方面提供的任一视频转码方法得到的;
码流解码模块,用于对每路目标码流进行解码,得到每路目标码流对应的转码后的目标子图像;
图像拼接模块,用于对所得到的各个目标子图像进行拼接显示,得到目标图像。
可选的,一种具体实现方式中,所述码流解码模块具体用于:针对每路目标码流,检测该目标码流中是否存在关于指定像素的标记;若存在,对该路目标码流进行解码,并剪裁解码后所得到的图像中,所述指定像素所对应的图像区域,得到该路目标码流对应的转码后的目标子图像;若不存在,对该路目标码流进行解码,得到该路目标码流对应的转码后的目标子图像。
第五方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述第一方面提供的任一视频转码方法的步骤,和/或,上述第二方面提供的任一视频显示方法的步骤。
第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的任一视频转码方法的步骤,和/或,上述第二方面提供的任一视频显示方法的步骤。
第七方面,本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面提供的任一视频转码方法的步骤,和/或,上述第二方面提供的任一视频显示方法的步骤。
本发明实施例有益效果:
以上可见,应用本发明实施例提供的方案,在对多路视频图像拼接后视频画面进行转码时,可以根据用户需求,预先设置用于转码的编码器,进而,确定该预设编码器所能支持的输入数据的最大分辨率和输出数据的最大分辨率。
这样,在获取到多路视频图像拼接得到的待转码的初始图像后,可以首先从该初始图像中获取待进行转码的第一图像。进而,便可以确定该第一图像所分割得到的待转码的各个初始子图像的初始分辨率。其中,每个初始分辨率不大于上述预设编码器所能支持的输入数据的最大分辨,在对每个初始子图像进行编码后所得到的目标子图像的目标分辨率不大于上述预设编码器所能支持的输出数据的最大分辨率,并且,各个目标分辨率的和值为上述第一图像转码后的第二图像的预设分辨率。之后,便可以基于各个初始分辨率,将上述第一图像分割为各个待转码的初始子图像,并利用上述预设编码器,按照每个初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流。
针对每个初始子图像,由于是按照该初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码的,因此,在对编码后所得到的目标码流进行解码后,所得到的目标子图像的分辨率即为上述目标分辨率。进而,由于各个目标分辨率的和值为上述第一图像转码后的第二图像的预设分辨率,那么,对上述各路目标码流进行解码后,所得到的各个目标子图像的分辨率之和同样为上述预设分辨率。从而,便可以实现对上述第一图像的转码,以使得解码后所显示的第二图像的分辨率能够满足用户需求。
此外,应用本发明实施例提供的方案,通过对多个初始子图像进行编码,完成对上述第一图像的转码,可以避免对整个第一图像进行编码时,所受到的预设编码器的所能支持的输入数据的最大分辨率和输出数据的最大分辨率的限制。并且,由于多个目标子图像的数量可以不等于拼接得到上述初始图像的多路视频图像的数量,从而,可以避免对拼接得到上述第一图像的多路视频图像分别编码时,所受到的转码后的目标图像的预设分辨率必须为上述多路视频图像的数量的整数倍的限制。这样,可以更加灵活地对上述第一图像进行转码。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的一种视频转码方法的流程示意图;
图2为一种示例中,一个3轨流码流对应的视频画面;
图3为一种示例中,对多轨流码流所包括的多轨道码流进行拼接的示意图;
图4为一种示例中,各个初始图像的初始分辨率的示意图;
图5为本发明实施例提供的另一种视频转码方法的流程示意图;
图6为本发明实施例提供的另一种视频转码方法的流程示意图;
图7为本发明实施例提供的另一种视频转码方法的流程示意图;
图8为本发明实施例提供的另一种视频转码方法的流程示意图;
图9为本发明实施例提供的一种视频显示方法的流程示意图;
图10为本发明实施例提供的一种视频转码装置的结构示意图;
图11为本发明实施例提供的一种视频显示装置的结构示意图;
图12为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,拼接后视频图像的分辨率为多路视频画面的分辨率之和。然而,在有些情况下,用户希望利用其他分辨率显示上述拼接后视频画面中的画面。例如,利用其他分辨率显示上述拼接后视频画面;又例如,利用其他分辨率显示上述拼接后视频画面中的局部画面等。基于此,如何对多路视频拼接后视频画面进行转码,以使得解码后所显示的视频画面的分辨率能够满足用户需求,成为当前亟待解决的问题。
为了解决上述技术问题,本发明实施例提供了一种视频转码方法。
其中,该方法适用于任一需要对多路视频画面拼接得到的拼接后视频图像中的图像进行转码的应用场景,例如,工厂监控场景、道路监控场景等。并且,该方法可以应用于任一对视频画面进行转码,以得到视频码流的电子设备,例如,具有图像处理功能的采集设备、与采集设备通信连接的服务器、与采集设备通信连接的显示设备等。基于此,本发明实施例不对该方法的应用场景和执行主体进行具体限定。
本发明实施例提供的一种视频转码方法,可以包括如下步骤:
获取多路视频图像拼接得到的待转码的初始图像中的第一图像;
确定待转码的各个初始子图像的初始分辨率;其中,每个初始分辨率不大于预设编码器所能支持的输入数据的最大分辨率,每个初始子图像转码后的目标子图像的目标分辨率不大于所述预设编码器所能支持的输出数据的最大分辨率,各个目标分辨率的和值为所述第一图像转码后的第二图像的预设分辨率;
基于各个初始分辨率,将所述待切割图像分割为待转码的各个初始子图像;
利用所述预设编码器,按照每个初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流。
以上可见,应用本发明实施例提供的方案,在对多路视频图像拼接后视频画面进行转码时,可以根据用户需求,预先设置用于转码的编码器,进而,确定该预设编码器所能支持的输入数据的最大分辨率和输出数据的最大分辨率。
这样,在获取到多路视频图像拼接得到的待转码的初始图像后,可以首先从该初始图像中获取待进行转码的第一图像。进而,便可以确定该第一图像所分割得到的待转码的各个初始子图像的初始分辨率。其中,每个初始分辨率不大于上述预设编码器所能支持的输入数据的最大分辨,在对每个初始子图像进行编码后所得到的目标子图像的目标分辨率不大于上述预设编码器所能支持的输出数据的最大分辨率,并且,各个目标分辨率的和值为上述第一图像转码后的第二图像的预设分辨率。之后,便可以基于各个初始分辨率,将上述第一图像分割为各个待转码的初始子图像,并利用上述预设编码器,按照每个初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流。
针对每个初始子图像,由于是按照该初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码的,因此,在对编码后所得到的目标码流进行解码后,所得到的目标子图像的分辨率即为上述目标分辨率。进而,由于各个目标分辨率的和值为上述第一图像转码后的第二图像的预设分辨率,那么,对上述各路目标码流进行解码后,所得到的各个目标子图像的分辨率之和同样为上述预设分辨率。从而,便可以实现对上述第一图像的转码,以使得解码后所显示的第二图像的分辨率能够满足用户需求。
此外,应用本发明实施例提供的方案,通过对多个初始子图像进行编码,完成对上述第一图像的转码,可以避免对整个第一图像进行编码时,所受到的预设编码器的所能支持的输入数据的最大分辨率和输出数据的最大分辨率的限制。并且,由于多个目标子图像的数量可以不等于拼接得到上述初始图像的多路视频图像的数量,从而,可以避免对拼接得到上述第一图像的多路视频图像分别编码时,所受到的转码后的目标图像的预设分辨率必须为上述多路视频图像的数量的整数倍的限制。这样,可以更加灵活地对上述第一图像进行转码。
下面结合附图,对本发明实施例提供的一种视频转码方法进行具体说明。
图1为本发明实施例提供的一种视频转码方法的流程示意图,如图1所示,该方法可以包括如下步骤:
S101:获取多路视频图像拼接得到的初始图像中的第一图像;
在进行视频转码时,可以首先获取多路视频图像拼接得到的初始图像,进而,便可以从该初始图像中获取待转码的第一图像。其中,上述第一图像可以是完整的初始图像,从而,对上述初始图像进行转码;上述第一图像也可以是初始图像中的局部图像,从而,对上述初始图像中的部分图像进行转码。
其中,可以设置多个视频采集设备,并且,每个视频采集设备可以对自身所对应的采集区域进行视频采集,从而,得到多路视频码流。进而,在对上述多路视频码流进行解码后,便可以得到多路视频图像。这样,便可以将多路视频图像进行拼接,得到初始图像。并且,该初始图像的分辨率即为多路视频图像的分辨率之和。
可选的,上述初始图像可以是对多轨流码流进行解码所得到的。
其中,所谓多轨流码流是指:多轨道的视频码流构成的视频码流。具体的,可以通过一个物理通道获取多轨道的视频码流,并在该物理通道中对所获取到的多轨道的视频码流进行视频图像处理,从而,得到多轨流码流,则该物理通道即可以称为多轨流通道。
这样,多轨流码流对应的视频画面即为:由构成多轨流码流的多轨道的视频码流分别对应的视频画面无缝拼接得到的在同一总显示表面进行显示的画面,即上述初始图像为由构成多轨流码流的多轨道的视频码流分别对应的视频画面无缝拼接得到的在同一总显示表面进行显示的画面。
例如,如图2所示,为一个3轨流码流对应的视频画面,在图2中,通过两条线条将整个视频画面划分为了3个部分,其中,每一部分为一轨道视频码流对应的视频画面,显然,该视频画面是由三轨道的视频码流分别对应的视频画面无缝拼接得到的,且在同一总显示表面进行显示。需要说明的,在图2中,两条线条是用于说明多轨流对应的视频画面而特意添加的,而在实际应用中,该两条线条并不存在。
与仅仅对应于一轨道视频码流的普通码流相比,多轨流码流对应的封装信息和所包括的各轨道码流的裸流信息中增加了MFI(Multipe Frame Indicator,合成帧信息字节)信息结构体,MFI信息结构体用于表示多轨流码流所包括的视频码流的轨道数,视频码流的开始标记和结束标记,以及各轨道的视频码流对应的视频画面间的拼接信息等。
其中,多对流码流对应的视频画面中每一轨道视频码流对应的子视频画面可以称为每一轨画面,相应的,多对流码流对应的视频画面中第N轨道视频码流对应的子视频画面可以称为第N轨画面。
此外,针对多轨流码流对应的视频画面,该视频画面的分辨率是构成该视频画面的多轨道的视频码流分别对应的视频画面的分辨率的和值。基于此,当在实际应用中需要使用较大分辨率的视频画面时,便可以通过多轨流码流实现。并且,随着多轨流码流对应的视频码流的轨道数的增大,多轨流通道对应的视频画面的分辨率可以无限增大。
并且,针对多轨流码流对应的视频画面,该视频画面中每一轨道视频码流对应的视频画面的尺寸大小可以相同,也可以不同。
如图3所示,在拼接得到多轨流码流对应的视频画面时,可以首先获取多轨流码流的最新1帧视频画面的码流,该最新1帧视频画面的码流是包含MFI信息结构体的多个轨道的连续码流。其中,MFI信息结构体中的TI表示多轨流码流所包括的轨道的总量,MFI信息结构体中的N表示当前码流是多轨流码流中的第N个轨道的码流。这样,对多轨流码流的最新1帧视频画面的码流进行解码拼接的过程可以包括如下环节:
环节1:从这帧视频画面的帧信息中获取各轨道码流对应的视频画面的宽和高。
环节2:为多轨流码流所包括的各个轨道码流分配帧缓冲区Pool,用于存储各个轨道码流解码后的数据。例如,若多轨流码流对应的视频画面的分辨率为:宽为W,高为H,则分配的帧缓冲区Pool的宽为W,高为H。
环节3:将上述帧缓冲区Pool等分为TI个子缓冲区pool[1]-子缓冲区pool[T1],并且,每个子缓冲区的宽为W/TI,高为H,并记录该TI个子缓冲区的首地址pool[0]到pool[TI-1]。
环节4:依次解码多轨流码流所包括的各个轨道码流;其中,若当前码流为多轨流码流中的第1个轨道码流,即N=1,则从第1个子缓冲区pool[1]的首地址pool[0]开始,将该第1个轨道码流解码后的YUV数据存入帧缓冲区Pool。进而,依次将多轨流码流所包括的各个轨道码流解码后的YUV数据,分别通过TI个子缓冲区个子缓冲区pool[1]-子缓冲区pool[T1]的首地址pool[0]-pool[TI-1]存放进帧缓冲区Pool中。其中,每个轨道码流解码后的YUV数据为宽为W/TI,高为H的YUV数据。
环节5:若解码得到多轨流码流所包括的第TI个轨道的码流,即N=TI,则多轨流码流所包括的用于拼接得到最新1帧视频画面的所有轨道码流解码后的YUV数据均已存放进帧缓冲区Pool,此时,对多轨流码流的解码拼接完成。
至此,解码拼接后的最新1帧视频画面便可以在同一总显示表面进行显示,从而,可以用于后续视频画面的显示、传输和存储等处理。
S102:确定待转码的各个初始子图像的初始分辨率;
其中,每个初始分辨率不大于预设编码器所能支持的输入数据的最大分辨率,每个初始子图像转码后的目标子图像的目标分辨率不大于预设编码器所能支持的输出数据的最大分辨率,各个目标分辨率的和值为第一图像转码后的第二图像的预设分辨率;
在对上述第一图像进行转码时,可以预先确定用于对上述第一图像进行编码的预设编码器,并得到该预设编码器所能支持的输入数据的最大分辨率,以及该预设编码器所能支持的输出数据的最大分辨率。
其中,在对上述第一图像进行转码时,所得到的转码后码流可以由多路码流构成,则每路码流是由上述预设编码器对一个待转码的初始子图像进行编码得到的,而每个待转码的初始子图像是上述第一图像的一个子图像。
因此,为了能够在第一图像中分割得到待转码的各个初始子图像,在得到上述第一图像后,可以进一步确定待转码的各个初始子图像的初始分辨率。
其中,考虑到上述预设编码器对于输入数据的分辨率限制,所确定的各个初始分辨率不大于预设编码器所能支持的输入数据的最大分辨率;并且,各个初始子图像拼接后的图像包括上述第一图像的全部图像区域。
可选的,各个初始子图像的初始分辨率可以是预先设定的。
可选的,各个初始子图像的初始分辨率可以是基于预先设定的初始子图像的数量以及第一图像的指定分辨率确定的。例如,将第一图像的指定分辨率平均分配给各个初始子图像,从而,各个初始子图像的初始分辨率相同,进而,各个目标子图像的目标分辨率也相同。
可选的,各个初始子图像的初始分辨率可以是基于预先设定的各个图像转码后的目标子图像的目标分辨率,以及上述第一图像转码后的第二图像的预设分辨率确定的。
对于上述第一图像转码后的第二图像而言,该第二图像是由每个初始子图像转码后的目标子图像拼接得到的,也就是说,针对每个初始子图像,上述编码器对该初始子图像进行编码,得到码流,进而,在对该码流进行解码后,便可以得到该初始子图像转码后的目标子图像,该目标子图像的分辨率需要满足上述预设编码器对于输出数据的分辨率限制。
基于此,考虑到上述预设编码器对于输出数据的分辨率限制,每个初始子图像转码后的目标子图像的目标分辨率不大于上述预设编码器所能支持的输出数据的最大分辨率;并且,由于上述第一图像转码后的第二图像是由各个目标子图像拼接得到的,为了使得各个目标子图像拼接得到的图像的分辨率为上述第一图像转码后的第二图像的预设分辨率,因此,各个分辨率的和值为上述第一图像转码后的第二图像的预设分辨率。
其中,上述第二图像的预设分辨率是指:在对上述第一图像进行转码,得到码流后,当对该码流进行解码,得到转码后的第二图像时,用户所希望的该第二图像的分辨率。
例如,上述第一图像的分辨率为:宽为DW,高为DH,在对该第一图像进行转码,得到码流后,当对该码流进行解码,得到转码后的第二图像时,用户所希望的该第二图像的分辨率为:宽为W0,高为H0,则上述第二图像的预设分辨率即为宽为W0,高为H0。
可选的,上述第二图像的预设分辨率可以大于上述第一图像的指定分辨率,也可以小于上述第一图像的指定分辨率,还可以等于上述第一图像的指定分辨率。也就是说,可以通过上述第二图像的预设分辨率与第一图像的指定分辨率的大小,实现转码后的第二图像对待转码的第一图像的缩放。
其中,当上述第二图像的预设分辨率大于上述第一图像的指定分辨率时,实现转码后的第二图像对待转码的第一图像的图像放大;当上述第二图像的预设分辨率小于上述第一图像的指定分辨率时,实现转码后的第二图像对待转码的第一图像的图像缩小。
其中,上述第二图像的预设分辨率,以及上述各个初始子图像的数量可以是用户根据实际应用的需求进行设定,对此,本发明实施例不做具体限定。例如,上述指定数量可以为2、3等。
可选的,一种具体实现方式中,上述步骤S102,可以包括如下步骤11-12:
步骤11:确定预设的转码后的各个目标子图像的目标分辨率;
步骤12:针对每个目标分辨率,基于该目标分辨率在预设分辨率中所占的第一比例和第一图像的指定分辨率,确定该目标分辨率对应的初始分辨率,作为该目标分辨率对应的初始子图像的初始分辨率;
其中,每个初始分辨率在指定分辨率中所占的第二比例,与该初始分辨率对应的目标分辨率在预设分辨率中所占的第一比例相同。
在本具体实现方式中,为了实现转码后的第二图像对待转码的第一图像的缩放,各个目标子图像对所对应的初始子图像进行等比例缩放。
也就是说,每个初始子图像的初始分辨率与该初始子图像转码后的目标分辨率的比值相同。这样,在各个初始子图像的初始分辨率的和值为上述第一图像的指定分辨率的情况下,每个初始子图像的初始分辨率在上述指定分辨率中所占的比例,与该初始子图像转码后的目标分辨率在上述第二图像的预设分辨率中所占的比例相同。
其中,在对上述第一图像进行转码时,用户可以设定拼接得到上述第一图像转码后的第二图像的各个目标子图像的目标分辨率,即可以确定用户所希望的各个目标子图像的分辨率。
这样,在确定每个初始子图像的初始分辨率时,可以首先确定预设的转码后的各个目标子图像的目标分辨率。
进而,针对所确定的每个目标分辨率,便可以基于该目标分辨率在预设分辨率中所占的第一比例和第一图像的指定分辨率,确定该目标分辨率对应的初始分辨率,作为该目标分辨率对应的初始子图像的初始分辨率,得到待转码的各个初始子图像的初始分辨率。
其中,每个初始分辨率在上述第一图像的指定分辨率中所占的第二比例,与该初始分辨率对应的目标分辨率在上述第二图像的预设分辨率中所占的第一比例相同。每个初始子图像对应的目标分辨率即为:该初始子图像转码后的目标子图像的目标分辨率。
也就是说,每个初始分辨率在第一图像的指定分辨率中所占的第二比例,与该初始分辨率转码后的目标子图像的目标分辨率在第二图像的预设分辨率中所占的第一比例相同。
可选的,针对所确定的每个目标分辨率,可以计算该目标分辨率在预设分辨率中所占的第一比例,进而,计算该第一比例与第一图像的指定分辨率的乘积,并将该乘积作为该目标分辨率对应的初始子图像的初始分辨率。
例如,上述第一图像的指定分辨率为:宽为DW,高为DH,上述第二图像的预设分辨率为:宽为(W6+W7),高为H6;存在两个目标子图像,并且,两个目标子图像的目标分辨率分别为:宽为W6,高为H6,以及宽为W7,高为H6,则可以确定两个初始子图像的初始分辨率分别为:宽为W6/(W6+W7)*DW,高为DH,以及宽为W7/(W6+W7)*DW,高为DH。
当然,还可以通过其他方式执行上述步骤S102,对此,本发明实施例不做具体限定。
例如,在保证每个初始分辨率不大于上述预设编码器所能支持的输入数据的最大分辨率,每个初始子图像转码后的目标子图像的目标分辨率不大于上述预设编码器所能支持的输出数据的最大分辨率,以及各个目标分辨率的和值为上述第一图像转码后的第二图像的预设分辨率的基础上,随机确定每个初始子图像的初始分辨率。此时,所确定的每个初始子图像的初始分辨率可以是不完全相同的,从而,实现对上述第一图像的不规则分割。
示例性的,如图4所示,上述第一图像的指定分辨率为:宽为DW,高为DH,各个初始子图像的数量为5,则所确定的初始子图像1的初始分辨率为:宽为W1,高为H1;初始子图像2的初始分辨率为:宽为W2,高为H1;初始子图像3的初始分辨率为:宽为W3,高为H1;初始子图像4的初始分辨率为:宽为W4,高为H4;初始子图像5的初始分辨率为:宽为W5,高为H4。
S103:基于各个初始分辨率,将第一图像分割为待转码的各个初始子图像;
在得到上述各个初始子图像的初始分辨率后,便可以基于每个初始分辨率,将上述初始图像分割为指定数量个初始子图像。
其中,可选的,一种具体实现方式中,上述步骤S103可以包括如下步骤21:
步骤21:按照所确定的各个初始初始分辨率,将待切割图像分割为不存在重叠区域的待转码的各个初始子图像。
在本具体实现方式中,在得到上述各个初始子图像的初始分辨率后,便可以按照所确定的各个初始分辨率,将待切割图像分割为不存在重叠区域的待转码的各个初始子图像。
其中,由于各个初始子图像之间不存在重叠区域,并且,各个初始子图像中可以包括上述第一图像的全部图像区域,因此,各个初始子图像的初始初始分辨率的和值为上述第一图像的指定分辨率。
例如,如图4所示,按照所确定的初始子图像1-5的初始分辨率,将上述第一图像分给为5个初始子图像。
S104:利用预设编码器,按照每个初始子图像对应的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流。
在得到上述各个初始子图像后,针对每个初始子图像,便可以利用预设编码器,按照该初始子图像对应的目标子图像的目标分辨率,对该初始子图像进行编码,得到关于该初始子图像的目标码流。
其中,针对每个初始子图像,在对所得到的关于该初始子图像的目标码流进行解码后,所得到的目标子图像的分辨率即为:该初始子图像转码后的目标子图像的目标分辨率。
这样,在对上述各个初始子图像进行编码后,便可以得到各路目标码流。即所得到的目标码流的数量与各个初始子图像的数量相同。
例如,上述第一图像的指定分辨率为:宽为DW,高为DH,对上述第一图像进行分割得到初始分辨率为:宽为W6/(W6+W7)*DW,高为DH的初始子图像a,以及初始分辨率为:宽为W7/(W6+W7)*DW,高为DH的初始子图像b。并且,上述第二图像的预设分辨率为:宽为(W6+W7),高为H6;上述初始子图像a转码后的目标子图像的目标分辨率为:宽为W6,高为DH,上述初始子图像b转码后的目标子图像的目标分辨率为:宽为W7,高为DH。
这样,便可以利用预设编码器,按照宽为W6,高为DH的目标分辨率,对分辨率为宽为W6/(W6+W7)*DW,高为DH的初始子图像a,进行编码,得到目标码流,并且,利用预设编码器,按照宽为W7,高为DH的目标分辨率,对分辨率为宽为W7/(W6+W7)*DW,高为DH的初始子图像b,进行编码,得到目标码流。
在得到上述各路目标码流后,便可以对上述各路目标码流执行后续的解码显示、传输和存储等处理。
可选的,一种具体实现方式中,如图5所示,本发明实施例提供的一种视频转码方法,还可以包括如下步骤S105-S106:
S105:在每路目标码流的码流信息中添加指定信息结构体,得到各路待封装码流;
S106:对各路待封装码流进行封装,并在封装信息中添加指定信息结构体,得到关于第一图像的多轨流码流。
在本具体实现方式中,在得到上述各路目标码流后,可以将上述各路目标码流转换为多轨流码流,其中,该多轨流码流所包括的轨道的数量为上述各路目标码流的数量。
这样,在得到上述各路目标码流后,可以首先在每路目标码流的码流信息中添加指定信息结构体,得到多路待封装码流。其中,每路目标码流可以视为多轨流码流中的每个轨道的裸流,则在每路目标码流的码流信息中添加指定信息结构体,得到多路待封装码流,即为在每个轨道的码流的裸流信息中添加指定信息结构体,得到各路待封装的裸流。进而,便可以对上述各路待封装码流进行封装,并在所生成的封装信息中添加指定信息结构体,得到关于上述第一图像的多轨流码流。其中,上述指定信息结构体为MFI信息结构体。
可选的,一种具体实现方式中,如图6所示,本发明实施例提供的一种视频转码方法,还可以包括如下步骤S107:
S107:复制多轨流码流,并将所得到的多个多轨流码流传输给指定设备。
在本具体实现方式中,在得到上述关于第一图像的多轨流码流后,可能存在多个用户希望能够获取上述多轨流码流,因此,可以对上述多轨流码流进行复制,并将复制得到的多个多轨流码流传输给指定设备。其中,可以将复制得到的多个多轨流码流传输给同一个指定设备,也可以多个多轨流码流传输给不同的多个指定设备,这都是合理的。
以上可见,应用本发明实施例提供的方案,在对多路视频图像拼接后视频画面进行转码时,针对每个初始子图像,由于是按照该初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码的,因此,在对编码后所得到的目标码流进行解码后,所得到的目标子图像的分辨率即为上述目标分辨率。进而,由于各个目标分辨率的和值为上述第一图像转码后的第二图像的预设分辨率,那么,对上述各路目标码流进行解码后,所得到的各个目标子图像的分辨率之和同样为上述预设分辨率。从而,便可以实现对上述第一图像的转码,以使得解码后所显示的第二图像的分辨率能够满足用户需求。
此外,应用本发明实施例提供的方案,通过对多个初始子图像进行编码,完成对上述第一图像的转码,可以避免对整个第一图像进行编码时,所受到的预设编码器的所能支持的输入数据的最大分辨率和输出数据的最大分辨率的限制。并且,由于多个目标子图像的数量可以不等于拼接得到上述初始图像的多路视频图像的数量,从而,可以避免对拼接得到上述第一图像的多路视频图像分别编码时,所受到的转码后的目标图像的预设分辨率必须为上述多路视频图像的数量的整数倍的限制。这样,可以更加灵活地对上述第一图像进行转码。
通常,编码器对输入数据的分辨率存在字节对齐要求,也就是说,编码器只能对初始分辨率满足字节对齐要求的初始子图像进行编码。
例如,编码器要求n字节对齐,即编码器只能对初始分辨率为n的倍数的初始子图像进行编码。
基于此,可选的,一种具体实现方式中,如图7所示,本发明实施例提供的一种视频转码方法还可以包括如下步骤S108:
S108:将每个不满足预设编码器的字节对齐要求的初始分辨率,增大为满足字节对齐要求的分辨率,得到各个切割分辨率。
在本具体实现方式中,在得到各个初始子图像的初始分辨率后,针对每个初始分辨率,可以判断该初始分辨率是否满足上述预设编码器的字节对齐要求。
其中,在判断出该初始分辨率不满足上述字节对齐要求时,可以对该初始分辨率进行字节补齐,即将该初始分辨率增大为满足字节对齐要求的分辨率,并将进行字节补齐后所得到的分辨率,作为该初始子图像的切割分辨率。
可选的,在判断出该初始分辨率不满足上述字节对齐要求时,可以将初始分辨率增大为,与该初始分辨率差距最小,且满足字节对齐要求的分辨率。
示例性的,预设编码器要求8字节对齐,而某个初始分辨率为:宽为15,高为16,则可以将该初始分辨率增加为:宽为16,高为16,得到切割分辨率。
这样,在得到各个初始子图像的初始分辨率后,便可以将每个不满足预设编码器的字节对齐要求的初始分辨率,增大为满足字节对齐要求的分辨率,得到各个切割分辨率。
相应的,在本具体实现方式中,上述步骤S103,基于各个初始分辨率,将第一图像分割为待转码的各个初始子图像,可以包括如下步骤S1031:
S1031:基于各个可用分辨率和各个切割分辨率,将第一图像分割为待转码的各个初始子图像。
其中,可用分辨率为:满足字节对齐要求的初始分辨率;各个初始子图像中包括:存在重叠区域的初始子图像。
可以将各个初始子图像的初始分辨率中,满足上述预设编码器的字节对齐要求的初始分辨率,作为可用分辨率。这样,在得到上述各个切割分辨率后,便可以基于各个可用分辨率和各个切割分辨率,将上述第一图像分割为待转码的各个初始子图像。
其中,由于各个初始子图像的初始分辨率的和值为上述第一图像的指定分辨率,而各个切割分辨率是由初始分辨率增大得到的,因此,各个可用分辨率与各个切割分辨率的和值大于上述第一图像的指定分辨率。进而,在按照各个可用分辨率和各个切割分辨率,将上述第一图像分割为待转码的各个初始子图像时,所得到的各个初始子图像包括上述第一图像的全部图像区域,并且,所得到的各个初始子图像拼接得到的图像的分辨率大于上述第一图像的分辨率,即所得到的各个初始子图像拼接得到的图像的尺寸大于上述第一图像的尺寸,那么,所得到的各个初始子图像中包括:存在重叠区域的初始子图像。
相应的,在本具体实现方式中,上述步骤S104,利用预设编码器,按照每个初始子图像对应的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流,可以包括如下步骤S1041-S1042:
S1041:针对每个分辨率为可用分辨率的初始子图像,利用预设编码器,按照该初始子图像对应的目标子图像的目标分辨率,对该初始子图像进行编码,得到目标码流;
S1042:针对每个分辨率为切割分辨率的初始子图像,利用预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码,并在所得到的码流的码流信息中添加关于指定像素的标记,得到目标码流;
其中,编码分辨率为:该初始子图像转码后的目标子图像的目标分辨率与指定倍数的乘积,指定倍数为:该初始子图像的切割分辨率与该初始子图像的初始分辨率的比值,指定像素为:将该初始子图像转码后的目标子图像的目标分辨率增加到编码分辨率时,该初始子图像转码后的目标子图像中增加的像素。
在本具体实现方式中,针对每个初始子图像,可以首先确定该初始子图像的分辨率为满足上述字节对齐要求的可用分辨率,还是为由初始分辨率增大得到的切割分辨率。
这样,针对每个分辨率为可用分辨率的初始子图像,便可以利用预设编码器,按照该初始子图像对应的目标子图像的目标分辨率,对该初始子图像进行编码,得到目标码流。
针对每个分辨率为切割分辨率的初始子图像,由于该初始子图像中的部分像素构成的图像区域是通过增大该初始子图像的初始分辨率得到的,因此,在利用预设编码器,对该初始子图像进行编码时,所依据的编码分辨率是由该初始子图像转码后的目标子图像的目标分辨率增大得到的。
这样,为了便于描述,针对每个分辨率为切割分辨率的初始子图像,将按照该初始子图像转码后的目标子图像的目标分辨率进行编码所得到的码流称为基准码流,并将对基准码流进行解码所得到的图像称为基准图像;而按照编码分辨率对该初始子图像进行编码,得到目标码流,并对该目标码流进行解码所得到的图像即为该初始子图像转码后的目标子图像。其中,由于上述编码分辨率是由上述目标分辨率增大得到的,因此,上述目标子图像中存在由上述基准图像增加得到的图像区域。而在对上述目标子图像进行拼接,以得到上述第二图像时,针对上述目标子图像中增加得到的图像区域,需要将该图像区域与其他包括该图像区域的目标子图像重叠,或者,将该图像区域进行剪裁。
基于此,针对每个分辨率为切割分辨率的初始子图像,可以确定利用上述预设编码器,对该初始子图像进行编码时,所使用的编码分辨率,即确定该初始子图像的编码分辨率。
其中,该编码分辨率为:该初始子图像转码后的目标子图像的目标分辨率与指定倍数的乘积,而该指定倍数为:该初始子图像的切割分辨率与该初始子图像的切割分辨率的比值。
可选的,针对每个分辨率为切割分辨率的初始子图像,首先计算该初始子图像的切割分辨率与该初始子图像的初始分辨率的比值,进而,计算该初始子图像转码后的目标子图像的目标分辨率与上述比值的乘积,得到编码分辨率。
针对每个分辨率为切割分辨率的初始子图像,在确定该初始子图像的编码分辨率之后,便可以利用预设编码器,按照该编码分辨率,对该初始子图像进行编码。进而,为了便于后续对该初始子图像增加后的目标子图像中,上述增加得到的图像区域的重叠或剪裁,可以在编码所得到的码流的码流信息中,添加关于指定像素的标记,得到目标码流。
其中,上述指定像素为:将该初始子图像转码后的目标子图像的目标分辨率增加到上述编码分辨率时,该初始子图像转码后的目标子图像中增加的像素。
也就是说,该指定像素可以理解为:该初始子图像的编码分辨率与该初始子图像的转码后的目标子图像的目标分辨率的差值所对应的像素。
可选的,上述关于指定像素的标记可以为:初始子图像的编码分辨率与该初始子图像的转码后的目标子图像的目标分辨率的差值。
例如,上述预设编码器要求8字节对齐,而某个初始子图像的初始分辨率为:宽为15,高为16,该初始子图像转码后的目标子图像的目标分辨率为:宽为W8,高为H8,则可以将该初始分辨率增加为:宽为16,高为16,得到切割分辨率,进而,按照上述切割子分辨率,切割得到初始子图像。基于此,在对该初始子图像进行转码时,首先确定该初始子图像的编码分辨率为:宽为W8*16/15,高为H8。则便可以利用预设编码器,按照宽为W8*16/15,高为H8的编码分辨率,对上述初始子图像,进行编码,并在所得到的码流中,添加关于指定像素的标记,得到目标码流。
其中,上述指定像素为:将宽为W8,高为H8的目标分辨率宽,增加到宽为W8*16/15,高为H8的编码分辨率时,上述目标子图像中所增加的像素,从而,上述指定像素构成的图像区域的分辨率为:宽为W8*16/15-W8,高为H8,则上述所添加的关于指定像素的标记可以为:W8*16/15-W8。
针对每个分辨率为切割分辨率的初始子图像,由于在分割得到该初始子图像时,所利用的分割分辨率大于所确定的该初始子图像的初始分辨率,并且,在对该初始子图像进行编码时,所采用的编码分辨率大于该初始子图像转码后的目标子图像的目标分辨率,因此,在对该初始子图像进行编码之前,需要首先判断该初始子图像的切割分辨率是否满足上述预设编码器对于输入数据的分辨率限制,以及该初始子图像的编码分辨率是否满足上述预设编码器对于输出数据的分辨率限制。
基于此,可选的,一种具体实现方式中,如图8所示,本发明实施例提供的一种视频转码方法还可以包括如下步骤S109:
S109:判断该初始子图像的切割分辨率是否不大于预设编码器所能支持的输入数据的最大分辨率,并且,该初始子图像的编码分辨率是否不大于预设编码器所能支持的输出数据的最大分辨率;如果是,则执行上述步骤S1042;否则,返回上述步骤S102。
在本具体实现方式中,针对每个分辨率为切割分辨率的初始子图像,在切割得到分辨率为切割分辨率的该初始子图像,并确定该初始子图像的编码分辨率后,可以首先判断该初始子图像的切割分辨率是否不大于上述预设编码器所能支持的输入数据的最大分辨率,以及该初始子图像的编码分辨率是否不大于上述预设编码器所能支持的输出数据的最大分辨率。
其中,在判断出该初始子图像的切割分辨率不大于上述预设编码器所能支持的输入数据的最大分辨率,并且,该初始子图像的编码分辨率不大于上述预设编码器所能支持的输出数据的最大分辨率时,便可以继续利用上述预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码,并在所得到的码流的码流信息中添加关于指定像素的标记,得到目标码流。
相应的,在判断出该初始子图像的切割分辨率大于上述预设编码器所能支持的输入数据的最大分辨率,和/或,该初始子图像的编码分辨率大于上述预设编码器所能支持的输出数据的最大分辨率时,由于该初始子图像的切割分辨率不满足上述预设编码器对于输入数据的分辨率限制,和/或,该初始子图像的编码分辨率不满足上述预设编码器对于输入数据的分辨率限制,因此,上述预设编码器无法对该初始子图像进行编码,因此,可以重新确定每个初始子图像的初始分辨率,从而,按照重新确定的每个初始子图像的初始分辨率,执行后续的视频转码方法。
相应于上述本发明实施例提供的一种视频转码方法,本发明实施例还提供了一种视频显示方法。
其中,该方法适用于任一对多路视频画面进行拼接得到的拼接后视频图像的应用场景。例如,工厂监控场景、道路监控场景等。并且,该方法可以应用于任一多路视频画面进行拼接显示的电子设备,例如,具有图像处理功能的采集设备、与采集设备通信连接的服务器、与采集设备通信连接的显示设备等。基于此,本发明实施例不对该方法的应用场景和执行主体进行具体限定。
并且,本发明实施例提供的一种视频转码方法的执行主体与本发明实施例提供的一种视频显示方法的执行主体可以相同,也可以不同。
图9为本发明实施例提供的一种视频显示方法的流程示意图,如图9所示,该方法可以包括如下步骤:
S901:获取关于目标图像的各路目标码流;
其中,各路目标码流是基于上述本发明实施例提供的任一视频转码方法得到的;
S902:对每路目标码流进行解码,得到每路目标码流对应的转码后的目标子图像;
可选的,一种具体实现方式中,上述步骤S902,可以包括如下步骤31-33:
步骤31:针对每路目标码流,检测该目标码流中是否存在关于指定像素的标记;若存在,执行步骤32;若不存在,执行步骤33;
步骤32:对该路目标码流进行解码,并剪裁解码后所得到的图像中,指定像素所对应的图像区域,得到该路目标码流对应的转码后的目标子图像;
步骤33:对该路目标码流进行解码,得到该路目标码流对应的转码后的目标子图像。
在本具体实现方式中,针对某路目标码流,该目标码流可以是按照上述指定分辨率进行编码得到的,因此,在对该目标码流进行解码后,所得到的图像中,存在需要与其他包括该图像区域的目标子图像重叠,或者,剪裁的图像区域,并且,该路目标码流中添加了关于将该初始子图像对应的目标子图像的目标分辨率增加到指定分辨率时,该初始子图像对应的目标子图像中所增加的指定像素的标记,即在该路目标码流中标记了上述需要重叠或者剪裁的图像区域。
这样,针对每路目标码流,可以首先检测该目标码流中是否存在关于指定像素的标记。
其中,若检测到目标码流中存在关于指定像素的标记,则可以对该路目标码流进行解码,并剪裁解码后所得到的图像中,指定像素所对应的图像区域,得到该路目标码流对应的转码后的目标子图像。
若检测到目标码流中不存在关于指定像素的标记,则可以直接对该路目标码流进行解码,得到该路目标码流对应的转码后的目标子图像。
S903:对所得到的各个目标子图像进行拼接显示,得到目标图像。
在对多路视频进行拼接以得到拼接显示视频画面时,可以首先获取基于上述本发明实施例提供的任一视频转码方法得到的各路目标码流。进而,便可以对每路目标码流进行解码,得到每路目标码流对应的目标子图像,这样,便可以对所得到的各个目标子图像进行拼接显示,得到目标图像。
其中,可选的,当上述所得到的各路目标码流为多轨流码流时,可以按照上述多轨流码流对应的视频画面的拼接方法,对所得到的对每路目标码流进行解码,得到每路目标码流对应的目标子图像,并对所得到的各个目标子图像进行拼接显示,得到目标图像。
以上可见,应用本发明实施例提供的方案,在实现对多路视频画面拼接后视频画面的转码,以使得解码后所显示的视频画面的分辨率能够满足用户需求的基础上,可以通过对所得到的各路目标码流的解码拼接,得到分辨率满足用户需求的视频画面。
相应于上述本发明实施例提供的一种视频转码方法,本发明实施例还提供了一种视频转码装置。
图10为本发明实施例提供的一种视频转码装置的结构示意图,如图10所示,该装置可以包括如下模块:
图像获取模块1001,用于获取多路视频图像拼接得到的初始图像中的第一图像;
分辨率确定模块1002,用于确定待转码的各个初始子图像的初始分辨率;其中,每个初始分辨率不大于预设编码器所能支持的输入数据的最大分辨率,每个初始子图像转码后的目标子图像的目标分辨率不大于所述预设编码器所能支持的输出数据的最大分辨率,各个目标分辨率的和值为所述第一图像转码后的第二图像的预设分辨率;
图像分割模块1003,用于基于各个初始分辨率,将所述待切割图像分割为待转码的各个初始子图像;
图像编码模块1004,用于利用所述预设编码器,按照每个初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流。
以上可见,应用本发明实施例提供的方案,在对多路视频图像拼接后视频画面进行转码时,可以根据用户需求,预先设置用于转码的编码器,进而,确定该预设编码器所能支持的输入数据的最大分辨率和输出数据的最大分辨率。
这样,在获取到多路视频图像拼接得到的待转码的初始图像后,可以首先从该初始图像中获取待进行转码的第一图像。进而,便可以确定该第一图像所分割得到的待转码的各个初始子图像的初始分辨率。其中,每个初始分辨率不大于上述预设编码器所能支持的输入数据的最大分辨,在对每个初始子图像进行编码后所得到的目标子图像的目标分辨率不大于上述预设编码器所能支持的输出数据的最大分辨率,并且,各个目标分辨率的和值为上述第一图像转码后的第二图像的预设分辨率。之后,便可以基于各个初始分辨率,将上述第一图像分割为各个待转码的初始子图像,并利用上述预设编码器,按照每个初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流。
针对每个初始子图像,由于是按照该初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码的,因此,在对编码后所得到的目标码流进行解码后,所得到的目标子图像的分辨率即为上述目标分辨率。进而,由于各个目标分辨率的和值为上述第一图像转码后的第二图像的预设分辨率,那么,对上述各路目标码流进行解码后,所得到的各个目标子图像的分辨率之和同样为上述预设分辨率。从而,便可以实现对上述第一图像的转码,以使得解码后所显示的第二图像的分辨率能够满足用户需求。
此外,应用本发明实施例提供的方案,通过对多个初始子图像进行编码,完成对上述第一图像的转码,可以避免对整个第一图像进行编码时,所受到的预设编码器的所能支持的输入数据的最大分辨率和输出数据的最大分辨率的限制。并且,由于多个目标子图像的数量可以不等于拼接得到上述初始图像的多路视频图像的数量,从而,可以避免对拼接得到上述第一图像的多路视频图像分别编码时,所受到的转码后的目标图像的预设分辨率必须为上述多路视频图像的数量的整数倍的限制。这样,可以更加灵活地对上述第一图像进行转码。
可选的,一种具体实现方式中,所述装置还包括:码流封装模块,用于在每路目标码流的码流信息中添加指定信息结构体,得到各路待封装码流;对所述各路待封装码流进行封装,并在封装信息中添加所述指定信息结构体,得到关于所述第一图像的多轨流码流。
可选的,一种具体实现方式中,所述装置还包括:码流复制模块,用于复制所述多轨流码流,并将所得到的多个所述多轨流码流传输给指定设备。
可选的,一种具体实现方式中,所述分辨率确定模块1002具体用于:确定预设的转码后的各个目标子图像的目标分辨率;针对每个目标分辨率,基于该目标分辨率在所述预设分辨率中所占的第一比例和所述第一图像的指定分辨率,确定该目标分辨率对应的初始分辨率,作为该目标分辨率对应的初始子图像的初始分辨率;其中,每个初始分辨率在所述指定分辨率中所占的第二比例,与该初始分辨率对应的目标分辨率在所述预设分辨率中所占的第一比例相同。
可选的,一种具体实现方式中,所述图像分割模块1003具体用于:按照所确定的各个初始分辨率,将所述待切割图像分割为不存在重叠区域的待转码的各个初始子图像。
可选的,一种具体实现方式中,所述装置还包括:分辨率变更模块,用于在所述基于各个初始分辨率,将所述待切割图像分割为待转码的各个初始子图像之前,将每个不满足所述预设编码器的字节对齐要求的初始分辨率,增大为满足所述字节对齐要求的分辨率,得到各个切割分辨率;
所述图像分割模块1003具体用于:基于各个可用分辨率和各个切割分辨率,将所述第一图像分割为待转码的各个初始子图像;其中,所述可用分辨率为:满足所述字节对齐要求的初始分辨率;各个初始子图像中包括:存在重叠区域的初始子图像;
所述图像编码模块1004具体用于:针对每个分辨率为可用分辨率的初始子图像,利用所述预设编码器,按照该初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到目标码流;针对每个分辨率为切割分辨率的初始子图像,利用所述预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码,并在所得到的码流的码流信息中添加关于指定像素的标记,得到目标码流;其中,所述编码分辨率为:该初始子图像转码后的目标子图像的目标分辨率与指定倍数的乘积,所述指定倍数为:该初始子图像的切割分辨率与该初始子图像的初始分辨率的比值,所述指定像素为:将该初始子图像转码后的目标子图像的目标分辨率增加到所述编码分辨率时,该初始子图像转码后的目标子图像中增加的像素。
可选的,一种具体实现方式中,所述装置还包括:分辨率判断模块,用于在所述利用所述预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码之前,判断该初始子图像的切割分辨率是否不大于所述预设编码器所能支持的输入数据的最大分辨率,并且,该初始子图像的编码分辨率是否不大于所述预设编码器所能支持的输出数据的最大分辨率;如果是,触发所述图像编码模块1004,否则,触发所述分辨率确定模块1002。
相应于上述本发明实施例提供的一种视频显示方法,本发明实施例还提供了一种视频显示装置。
图11为本发明实施例提供的一种视频显示装置的结构示意图,如图11所示,该装置可以包括如下模块:
码流获取模块1101,用于获取关于目标图像的各路目标码流;其中,所述指定数量路目标码流是基于上述本发明实施例提供的任一项所述的视频转码方法得到的;
码流解码模块1102,用于对每路目标码流进行解码,得到每路目标码流对应的转码后的目标子图像;
图像拼接模块1103,用于对所得到的各个目标子图像进行拼接显示,得到目标图像。
以上可见,应用本发明实施例提供的方案,在实现对多路视频画面拼接后视频画面的转码,以使得解码后所显示的视频画面的分辨率能够满足用户需求的基础上,可以通过对所得到的各路目标码流的解码拼接,得到分辨率满足用户需求的视频画面。
可选的,一种具体实现方式中,所述码流解码模块1102具体用于:针对每路目标码流,检测该目标码流中是否存在关于指定像素的标记;若存在,对该路目标码流进行解码,并剪裁解码后所得到的图像中,所述指定像素所对应的图像区域,得到该路目标码流对应的转码后的目标子图像;若不存在,对该路目标码流进行解码,得到该路目标码流对应的转码后的目标子图像。
相应于上述本发明实施例提供的一种视频转码方法和一种视频显示方法,本发明实施例还提供了一种电子设备,如图12所示,包括处理器1201、通信接口1202、存储器1203和通信总线1204,其中,处理器1201,通信接口1202,存储器1203通过通信总线1204完成相互间的通信,存储器1203,用于存放计算机程序;处理器1201,用于执行存储器1203上所存放的程序时,实现上述本发明实施例提供的一种视频转码方法的步骤,和/或,上述本发明实施例提供的一种视频显示方法的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述本发明实施例提供的一种视频转码方法的步骤,和/或,上述本发明实施例提供的一种视频显示方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述本发明实施例提供的一种视频转码方法的步骤,和/或,上述本发明实施例提供的一种视频显示方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、计算机可读存储介质实施例,以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (15)

1.一种视频转码方法,其特征在于,所述方法包括:
获取多路视频图像拼接得到的初始图像中的第一图像;
确定待转码的各个初始子图像的初始分辨率;其中,每个初始分辨率不大于预设编码器所能支持的输入数据的最大分辨率,每个初始子图像转码后的目标子图像的目标分辨率不大于所述预设编码器所能支持的输出数据的最大分辨率,各个目标分辨率的和值为所述第一图像转码后的第二图像的预设分辨率;
基于各个初始分辨率,将所述待切割图像分割为待转码的各个初始子图像;
利用所述预设编码器,按照每个初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在每路目标码流的码流信息中添加指定信息结构体,得到各路待封装码流;
对所述各路待封装码流进行封装,并在封装信息中添加所述指定信息结构体,得到关于所述第一图像的多轨流码流。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
复制所述多轨流码流,并将所得到的多个所述多轨流码流传输给指定设备。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述确定待转码的各个初始子图像的初始分辨率,包括:
确定预设的转码后的各个目标子图像的目标分辨率;
针对每个目标分辨率,基于该目标分辨率在所述预设分辨率中所占的第一比例和所述第一图像的指定分辨率,确定该目标分辨率对应的初始分辨率,作为该目标分辨率对应的初始子图像的初始分辨率;
其中,每个初始分辨率在所述指定分辨率中所占的第二比例,与该初始分辨率对应的目标分辨率在所述预设分辨率中所占的第一比例相同。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述基于各个初始分辨率,将所述待切割图像分割为待转码的各个初始子图像,包括:
按照所确定的各个初始分辨率,将所述待切割图像分割为不存在重叠区域的待转码的各个初始子图像。
6.根据权利要求1-3任一项所述的方法,其特征在于,在所述基于各个初始分辨率,将所述待切割图像分割为待转码的各个初始子图像之前,所述方法还包括:
将每个不满足所述预设编码器的字节对齐要求的初始分辨率,增大为满足所述字节对齐要求的分辨率,得到各个切割分辨率;
所述基于各个初始分辨率,将所述第一图像分割为待转码的各个初始子图像,包括:
基于各个可用分辨率和各个切割分辨率,将所述第一图像分割为待转码的各个初始子图像;其中,所述可用分辨率为:满足所述字节对齐要求的初始分辨率;各个初始子图像中包括:存在重叠区域的初始子图像;
所述利用所述预设编码器,按照每个初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流,包括:
针对每个分辨率为可用分辨率的初始子图像,利用所述预设编码器,按照该初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到目标码流;
针对每个分辨率为切割分辨率的初始子图像,利用所述预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码,并在所得到的码流的码流信息中添加关于指定像素的标记,得到目标码流;
其中,所述编码分辨率为:该初始子图像转码后的目标子图像的目标分辨率与指定倍数的乘积,所述指定倍数为:该初始子图像的切割分辨率与该初始子图像的初始分辨率的比值,所述指定像素为:将该初始子图像转码后的目标子图像的目标分辨率增加到所述编码分辨率时,该初始子图像转码后的目标子图像中增加的像素。
7.根据权利要求6所述的方法,其特征在于,在所述利用所述预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码之前,所述方法还包括:
判断该初始子图像的切割分辨率是否不大于所述预设编码器所能支持的输入数据的最大分辨率,并且,该初始子图像的编码分辨率是否不大于所述预设编码器所能支持的输出数据的最大分辨率;
如果是,则利用所述预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码;
否则,返回所述确定待转码的各个初始子图像的初始分辨率的步骤。
8.一种视频显示方法,其特征在于,所述方法包括:
获取关于目标图像的各路目标码流;其中,所述目标码流是基于权利要求1-7任一项所述的视频转码方法得到的;
对每路目标码流进行解码,得到每路目标码流对应的转码后的目标子图像;
对所得到的各个目标子图像进行拼接显示,得到目标图像。
9.根据权利要求8所述的方法,其特征在于,所述对每路目标码流进行解码,得到每路目标码流对应的转码后的目标子图像,包括:
针对每路目标码流,检测该目标码流中是否存在关于指定像素的标记;
若存在,对该路目标码流进行解码,并剪裁解码后所得到的图像中,所述指定像素所对应的图像区域,得到该路目标码流对应的转码后的目标子图像;
若不存在,对该路目标码流进行解码,得到该路目标码流对应的转码后的目标子图像。
10.一种视频转码装置,其特征在于,所述装置包括:
图像获取模块,用于获取多路视频图像拼接得到的初始图像中的第一图像;
分辨率确定模块,用于确定待转码的各个初始子图像的初始分辨率;其中,每个初始分辨率不大于预设编码器所能支持的输入数据的最大分辨率,每个初始子图像转码后的目标子图像的目标分辨率不大于所述预设编码器所能支持的输出数据的最大分辨率,各个目标分辨率的和值为所述第一图像转码后的第二图像的预设分辨率;
图像分割模块,用于基于各个初始分辨率,将所述待切割图像分割为待转码的各个初始子图像;
图像编码模块,用于利用所述预设编码器,按照每个初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到各路目标码流。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
码流封装模块,用于在每路目标码流的码流信息中添加指定信息结构体,得到各路待封装码流;对所述各路待封装码流进行封装,并在封装信息中添加所述指定信息结构体,得到关于所述第一图像的多轨流码流;
和/或,
所述装置还包括:码流复制模块,用于复制所述多轨流码流,并将所得到的多个所述多轨流码流传输给指定设备;
和/或,
所述分辨率确定模块具体用于:确定预设的转码后的各个目标子图像的目标分辨率;针对每个目标分辨率,基于该目标分辨率在所述预设分辨率中所占的第一比例和所述第一图像的指定分辨率,确定该目标分辨率对应的初始分辨率,作为该目标分辨率对应的初始子图像的初始分辨率;其中,每个初始分辨率在所述指定分辨率中所占的第二比例,与该初始分辨率对应的目标分辨率在所述预设分辨率中所占的第一比例相同;
和/或,
所述图像分割模块具体用于:按照所确定的各个初始分辨率,将所述待切割图像分割为不存在重叠区域的待转码的各个初始子图像;
和/或,
所述装置还包括:分辨率变更模块,用于在所述基于各个初始分辨率,将所述待切割图像分割为待转码的各个初始子图像之前,将每个不满足所述预设编码器的字节对齐要求的初始分辨率,增大为满足所述字节对齐要求的分辨率,得到各个切割分辨率;所述图像分割模块具体用于:基于各个可用分辨率和各个切割分辨率,将所述第一图像分割为待转码的各个初始子图像;其中,所述可用分辨率为:满足所述字节对齐要求的初始分辨率;各个初始子图像中包括:存在重叠区域的初始子图像;所述图像编码模块具体用于:针对每个分辨率为可用分辨率的初始子图像,利用所述预设编码器,按照该初始子图像转码后的目标子图像的目标分辨率,对该初始子图像进行编码,得到目标码流;针对每个分辨率为切割分辨率的初始子图像,利用所述预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码,并在所得到的码流的码流信息中添加关于指定像素的标记,得到目标码流;其中,所述编码分辨率为:该初始子图像转码后的目标子图像的目标分辨率与指定倍数的乘积,所述指定倍数为:该初始子图像的切割分辨率与该初始子图像的初始分辨率的比值,所述指定像素为:将该初始子图像转码后的目标子图像的目标分辨率增加到所述编码分辨率时,该初始子图像转码后的目标子图像中增加的像素;
和/或,
所述装置还包括:分辨率判断模块,用于在所述利用所述预设编码器,按照该初始子图像的编码分辨率,对该初始子图像进行编码之前,判断该初始子图像的切割分辨率是否不大于所述预设编码器所能支持的输入数据的最大分辨率,并且,该初始子图像的编码分辨率是否不大于所述预设编码器所能支持的输出数据的最大分辨率;如果是,触发所述图像编码模块,否则,触发所述分辨率确定模块。
12.一种视频显示装置,其特征在于,所述装置包括:
码流获取模块,用于获取关于目标图像的各路目标码流;其中,所述目标码流是基于权利要求1-7任一项所述的视频转码方法得到的;
码流解码模块,用于对每路目标码流进行解码,得到每路目标码流对应的转码后的目标子图像;
图像拼接模块,用于对所得到的各个目标子图像进行拼接显示,得到目标图像。
13.根据权利要求12所述的装置,其特征在于,所述码流解码模块具体用于:
针对每路目标码流,检测该目标码流中是否存在关于指定像素的标记;
若存在,对该路目标码流进行解码,并剪裁解码后所得到的图像中,所述指定像素所对应的图像区域,得到该路目标码流对应的转码后的目标子图像;
若不存在,对该路目标码流进行解码,得到该路目标码流对应的转码后的目标子图像。
14.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤,和/或,权利要求8-9任一所述的方法步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤,和/或,权利要求8-9任一所述的方法步骤。
CN202111657026.XA 2021-12-30 2021-12-30 一种视频转码及视频显示方法、装置及电子设备 Pending CN114339248A (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN202111657026.XA CN114339248A (zh) 2021-12-30 2021-12-30 一种视频转码及视频显示方法、装置及电子设备
EP22914332.6A EP4460007A4 (en) 2021-12-30 2022-12-16 Video transcoding and video display method, apparatus and electronic device
US18/724,494 US20250071300A1 (en) 2021-12-30 2022-12-16 Video transcoding and video display method, apparatus, and electronic device
PCT/CN2022/139653 WO2023125078A1 (zh) 2021-12-30 2022-12-16 一种视频转码及视频显示方法、装置及电子设备
KR1020247022589A KR20240121800A (ko) 2021-12-30 2022-12-16 비디오 트랜스코딩 및 비디오 디스플레이 방법, 장치 및 전자 기기
JP2024539377A JP2024545784A (ja) 2021-12-30 2022-12-16 ビデオトランスコード及びビデオ表示方法、装置並びに電子デバイス

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111657026.XA CN114339248A (zh) 2021-12-30 2021-12-30 一种视频转码及视频显示方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN114339248A true CN114339248A (zh) 2022-04-12

Family

ID=81019612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111657026.XA Pending CN114339248A (zh) 2021-12-30 2021-12-30 一种视频转码及视频显示方法、装置及电子设备

Country Status (6)

Country Link
US (1) US20250071300A1 (zh)
EP (1) EP4460007A4 (zh)
JP (1) JP2024545784A (zh)
KR (1) KR20240121800A (zh)
CN (1) CN114339248A (zh)
WO (1) WO2023125078A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116055778A (zh) * 2022-05-30 2023-05-02 荣耀终端有限公司 视频数据的处理方法、电子设备及可读存储介质
CN116320218A (zh) * 2023-05-24 2023-06-23 深圳金智凌轩视讯技术有限公司 基于嵌入式计算机平台的多路视频合成分析处理管理系统
WO2023125078A1 (zh) * 2021-12-30 2023-07-06 杭州海康威视数字技术股份有限公司 一种视频转码及视频显示方法、装置及电子设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118540432B (zh) * 2024-07-26 2024-09-27 浙江大华技术股份有限公司 视频数据处理方法及装置
CN119364043A (zh) * 2024-12-26 2025-01-24 中央广播电视总台 图像标记数据传输方法、装置、计算机设备和存储介质
CN119559198A (zh) * 2025-01-23 2025-03-04 苏州元脑智能科技有限公司 一种图像处理方法、设备、存储介质及计算机程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104159063A (zh) * 2013-05-14 2014-11-19 杭州海康威视数字技术股份有限公司 实时转码、解码方法及其装置
US9497457B1 (en) * 2012-10-18 2016-11-15 Altia Systems Inc Repacking of panoramic video based on standard image formats
CN111435979A (zh) * 2019-01-15 2020-07-21 西安诺瓦电子科技有限公司 视频图像处理方法和装置
CN113766235A (zh) * 2021-08-30 2021-12-07 聚好看科技股份有限公司 一种全景视频传输方法及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9451251B2 (en) * 2012-11-27 2016-09-20 Broadcom Corporation Sub picture parallel transcoding
CN107690074A (zh) * 2016-08-03 2018-02-13 中国电信股份有限公司 视频编码和还原方法、视频播放系统以及相关设备
KR102358757B1 (ko) * 2016-08-25 2022-02-07 엘지전자 주식회사 전방향 비디오를 전송하는 방법, 전방향 비디오를 수신하는 방법, 전방향 비디오 전송 장치, 전방향 비디오 수신 장치
US11049219B2 (en) * 2017-06-06 2021-06-29 Gopro, Inc. Methods and apparatus for multi-encoder processing of high resolution content
US11159776B2 (en) * 2019-08-16 2021-10-26 At&T Intellectual Property I, L.P. Method for streaming ultra high definition panoramic videos
CN111447394A (zh) * 2020-03-05 2020-07-24 视联动力信息技术股份有限公司 一种视频数据的处理方法、电子设备和存储介质
CN114339248A (zh) * 2021-12-30 2022-04-12 杭州海康威视数字技术股份有限公司 一种视频转码及视频显示方法、装置及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9497457B1 (en) * 2012-10-18 2016-11-15 Altia Systems Inc Repacking of panoramic video based on standard image formats
CN104159063A (zh) * 2013-05-14 2014-11-19 杭州海康威视数字技术股份有限公司 实时转码、解码方法及其装置
CN111435979A (zh) * 2019-01-15 2020-07-21 西安诺瓦电子科技有限公司 视频图像处理方法和装置
CN113766235A (zh) * 2021-08-30 2021-12-07 聚好看科技股份有限公司 一种全景视频传输方法及设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023125078A1 (zh) * 2021-12-30 2023-07-06 杭州海康威视数字技术股份有限公司 一种视频转码及视频显示方法、装置及电子设备
CN116055778A (zh) * 2022-05-30 2023-05-02 荣耀终端有限公司 视频数据的处理方法、电子设备及可读存储介质
CN116055778B (zh) * 2022-05-30 2023-11-21 荣耀终端有限公司 视频数据的处理方法、电子设备及可读存储介质
CN116320218A (zh) * 2023-05-24 2023-06-23 深圳金智凌轩视讯技术有限公司 基于嵌入式计算机平台的多路视频合成分析处理管理系统
CN116320218B (zh) * 2023-05-24 2023-08-29 深圳金智凌轩视讯技术有限公司 基于嵌入式计算机平台的多路视频合成分析处理管理系统

Also Published As

Publication number Publication date
EP4460007A4 (en) 2025-03-19
WO2023125078A1 (zh) 2023-07-06
EP4460007A1 (en) 2024-11-06
JP2024545784A (ja) 2024-12-11
KR20240121800A (ko) 2024-08-09
US20250071300A1 (en) 2025-02-27

Similar Documents

Publication Publication Date Title
CN114339248A (zh) 一种视频转码及视频显示方法、装置及电子设备
CN110868625A (zh) 一种视频播放方法、装置、电子设备及存储介质
KR101002886B1 (ko) 멀티-미디어 신호들의 인코딩
JP6120169B2 (ja) 画像編集装置
CN112804256B (zh) 多媒体文件中轨道数据的处理方法、装置、介质及设备
US20130141543A1 (en) Intelligent image surveillance system using network camera and method therefor
US9426476B2 (en) Video stream
US9621866B2 (en) Image processing apparatus, image processing method, and program
US10681367B2 (en) Intra-prediction video coding method and device
US20150117545A1 (en) Layered Video Encoding and Decoding
CN115883899B (zh) 图像同屏播放方法、系统、电子设备及可读存储介质
WO2020207403A1 (zh) 一种图像获取方法及装置
US20150117515A1 (en) Layered Encoding Using Spatial and Temporal Analysis
KR20150055854A (ko) 오픈플랫폼기반 영상저장장치 및 오픈플랫폼기반 영상저장장치에서 프로토콜 변환 방법
CN110944197A (zh) 一种图像、音频编码的方法和装置
CN113066140B (zh) 图像编码方法、装置、计算机设备及存储介质
CN116916071B (zh) 视频画面显示方法、系统、装置、电子设备以及存储介质
US20240298080A1 (en) Video processing method, apparatus and system
WO2024148979A1 (zh) 视频解码方法、装置、电子设备、计算机可读存储介质及计算机程序产品
CN115379158B (zh) 视频播放方法、装置、电子设备及计算机可读存储介质
KR20230093479A (ko) W3c 미디어 소스 및 암호화된 확장을 이용한 라이브 cmaf/dash 플레이어에서의 mpd 체이닝
CN115460369A (zh) 视频录像设备、离线视频分析方法、电子设备及存储介质
CN109495793B (zh) 一种弹幕写入方法、装置、设备及介质
CN107277650B (zh) 视频文件切割方法及装置
CN109302574A (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