CN114125554B - 一种编解码方法、装置及系统 - Google Patents

一种编解码方法、装置及系统 Download PDF

Info

Publication number
CN114125554B
CN114125554B CN202010865789.2A CN202010865789A CN114125554B CN 114125554 B CN114125554 B CN 114125554B CN 202010865789 A CN202010865789 A CN 202010865789A CN 114125554 B CN114125554 B CN 114125554B
Authority
CN
China
Prior art keywords
code stream
frame
random access
machine
type
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
CN202010865789.2A
Other languages
English (en)
Other versions
CN114125554A (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 CN202010865789.2A priority Critical patent/CN114125554B/zh
Priority to PCT/CN2021/111545 priority patent/WO2022042281A1/zh
Priority to EP21860120.1A priority patent/EP4195674A4/en
Publication of CN114125554A publication Critical patent/CN114125554A/zh
Priority to US18/173,887 priority patent/US20230209131A1/en
Application granted granted Critical
Publication of CN114125554B publication Critical patent/CN114125554B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例公开了一种编解码方法、装置及系统,在多机位拍摄场景下实现低切换时延的机位转换。具体方案包括:多个机位码流中的每一个机位码流包括第一类码流及第二类码流;在播放多个机位码流中的第一机位码流的第一类码流中的第一图像帧时,接收用于指示播放第二机位码流的切换请求;确定第二机位码流的第一类码流和/或第二类码流中,播放时刻位于所述第一图像帧之后且距所述第一图像帧最近的第一随机访问帧;根据第二机位码流中第一随机访问帧的编码数据,解码得到第一随机访问帧,并以第一随机访问帧作为参考帧,解码得到并播放第二机位码流的第一类码流中播放时刻位于第一随机访问帧之后的图像帧。

Description

一种编解码方法、装置及系统
技术领域
本申请实施例涉及图像处理领域,尤其涉及一种编解码方法、装置及系统。
背景技术
在诸如体育赛事、主播等点播或直播应用中,为了给用户提供多角度、三维立体视觉体验,可以在同一个场景的不同位置布置多个摄像机(一个摄像机称为一个机位)从不同角度拍摄该场景,得到该场景的多个视频信号。用户可以选择观看某一个角度拍摄的场景视频,以及在观看过程中切换至观看其他角度拍摄的场景视频。因此,为了让用户能无卡顿感知不同角度的视频画面,需要保证多角度的视频之间最低的切换解码时延。
最常用的一种码流编码方案是将各个机位采集到的视频按照相同的固定帧内预测帧(解码时所有块的预测方式都是帧内参考模式)间隔编码。由于视频解码的第一帧需要所有块的预测方式都是帧内参考模式,当多机位拍摄的码流以固定帧内预测帧编码,在不同角度视频画面切换时,只有等当前机位视频解码到下一个机位码流插入点(帧内预测帧)处,才能切换到新机位继续解码显示。
假设多机位的码流编码时帧内预测帧间隔为X,则最差情况下,存在接近X-1个帧的解码时延,用户在切换不同角度的视频图像时,则会感受到X-1个帧的切换时延。如果帧率为30帧/秒 (frames per second,FPS),时延可以达到233毫秒(millisecond,ms)左右,用户可以明显感知到系统反应迟钝,用户体验差。
发明内容
本申请实施例提供一种编解码方法、装置及系统,在多机位拍摄场景下实现低切换时延的机位转换,以提高用户体验。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供一种解码方法,该方法可以应用于解码设备,该解码设备用于解码由多个机位拍摄同一场景得到的多个机位码流,多个机位码流中的每一个机位码流包括第一类码流及第二类码流;该多个机位码流中的任一个机位码流的第一类码流和/或该任一个机位码流的第二类码流包括用于作为该任一个机位码流的第一类码流解码的参考帧的随机访问帧,该解码方法可以包括:在播放多个机位码流中的第一机位码流的第一类码流中的第一图像帧时,接收切换请求,该切换请求用于指示解码设备播放多个机位码流中的第二机位码流;确定第二机位码流的第一类码流和/或第二类码流中,播放时刻位于所述第一图像帧之后且距所述第一图像帧最近的第一随机访问帧,第二机位码流的第一类码流中存在播放时刻处于第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,第二机位码流的第二类码流中存在播放时刻处于第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,第一图像帧的播放时刻处于该两个相邻随机访问帧的播放时刻之间;根据第二机位码流中第一随机访问帧的编码数据,解码得到第一随机访问帧,并以第一随机访问帧作为参考帧,解码得到并播放第二机位码流的第一类码流中播放时刻位于第一随机访问帧之后的图像帧。
在本申请提供的解码方法中,通过配置第二机位码流的第一类码流中存在播放时刻处于第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,第二机位码流的第二类码流中存在播放时刻处于第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,当第一机位码流切换至第二机位码流时,无需等待第一机位码流的随机访问片段播放完才能切换,减少了用户期望的切换点与目的机位的随机访问帧(切入点)的间隔,降低切换时延,在多机位拍摄场景下实现了低切换时延的机位转换,提高了用户体验。
其中,两个相邻随机访问帧是指:两个相邻随机访问帧之间不存在随机访问帧,但可以存在非随机访问帧。
在一种可能的实现方式中,第一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述第二机位码流的第一类码流中的随机访问帧对应的播放时刻均不相同,或者,第一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述第二机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。通过配置不同机位码流的第一类码流之间的随机访问帧对应的播放时刻不同,或者,不同机位码流的第一类码流与第二类码流的随机访问帧对应的播放时刻不同,以减少用户期望的切换点与目的机位的随机访问帧(切入点)的间隔,降低切换时延,在多机位拍摄场景下实现了低切换时延的机位转换,提高了用户体验。
在另一种可能的实现方式中,第二机位码流的第一类码流中的随机访问帧对应的播放时刻与第二机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。通过第二机位码流的第一类码流与第二类码流的随机访问帧对应的播放时刻不同,以保证其他机位码流切换到第二机位码流时,第一随机访问帧与用户期望的切换点间隔最小,尽可能的降低切换时延。
在另一种可能的实现方式中,第一随机访问帧对应的播放时刻位于第二随机访问帧对应的播放时刻之前,第二随机访问帧为第一机位码流的第一类码流中位于第一图像帧之后且距第一图像帧最近的随机访问帧。在该实现方式中,第一随机访问帧位于第二机位码流的第二类码流,通过第二类码流来完成第一类码流的接入点之间的衔接,进一步降低切换时延。
在另一种可能的实现方式中,任一机位码流的第二类码流包括任一随机访问帧,该任一随机访问帧为帧内预测帧,该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测仅参考该任一随机访问帧,该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻的图像帧,或者该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻之后的图像帧中的至少一个。该实现方式提供了通过第二类码流来完成第一类码流的接入点之间的衔接时的具体解码过程,更好的保证降低切换时延。
在另一种可能的实现方式中,任一机位码流的第二类码流包括任一随机访问帧,该任一随机访问帧为帧内预测帧,该任一机位码流的第一类码流中的播放时刻位于任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测不参考该任一机位码流的第二类码流中的播放时刻位于该任一随机访问帧的播放时刻之后的图像帧。
在另一种可能的实现方式中,任一机位码流的第二类码流包括任一随机访问帧,该任一随机访问帧为帧内预测帧,该任一机位码流的第一类码流中的播放时刻位于任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测不参考该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻之前的图像帧。
在另一种可能的实现方式中,上述任一机位码流为上述第二机位码流,上述任一随机访问帧为第一随机访问帧。
在另一种可能的实现方式中,上述多个机位为至少两个机位,上述多个机位码流为至少两个机位码流,多个机位的数量与多个机位码流的数量相同。
在另一种可能的实现方式中,上述任一个机位码流的第二类码流的随机访问帧用于在该任一个机位码流的第一类码流中的作为参考帧的图像帧不可得的情况下,替代任一个机位码流的第一类码流中不可得参考帧,以作为该任一个机位码流的第一类码流中参考不可得参考帧的图像帧的参考帧。
在另一种可能的实现方式中,第二机位码流的第一类码流和第二类码流为对同一视频帧序列编码得到。其中,第二类码流为对该同一视频帧序列的子序列编码得到,该子序列中相邻的图像帧在该同一视频帧序列中间隔M帧,M大于或等于1。通过间隔M帧编码,降低了编码计算量、存储量以及带宽要求。
在另一种可能的实现方式中,预设机位顺序中,相邻两个机位码流的第一类码流中,第i个随机访问帧间隔N帧,i大于或等于1,且小于或等于机位码流中随机访问帧的总数,N大于或等于1。提供了相邻机位码流的第一类码流中的随机访问帧对应的播放时刻不相同的具体实现。
在另一种可能的实现方式中,确定第二机位码流的第一类码流和/或第二类码流中,播放时刻位于第一图像帧之后且距第一图像帧最近的第一随机访问帧,包括:将第二机位码流的第一类码流中播放时刻位于第一图像帧之后的下一个随机访问帧,与第二机位码流的第二类码流中播放时刻位于第一图像帧之后的下一个随机访问帧中,播放时刻最靠近第一图像帧的随机访问帧确定为第一随机访问帧,以保证切换时延最小。
在另一种可能的实现方式中,第一类码流中包括间隔分布的帧内预测帧,两个相邻的帧内预测帧之间为帧间预测帧,第二类码流中的图像帧均为帧内预测帧。
在另一种可能的实现方式中,一个机位码流中可以包括多组码流,一组码流包括第一类码流及第二类码流,不同组码流的第一类码流的参数不同,该参数可以为分辨率或者码率。不同机位码流切换时,可以是相同参数的码流间切换,或者,也可以是不同参数的码流间的切换。一组码流中的第一类码流与第二类码流的码率可以相同,也可以不同。
第二方面,提供一种编码方法,该方法可以应用于编码设备,该编码设备用于编码由多个机位拍摄同一场景得到的多个视频帧序列。该编码方法可以包括:获取多个机位拍摄同一场景得到的多个视频帧序列;对该多个视频帧序列进行编码,得到多个机位码流,多个视频帧序列的数量与多个机位码流的数量相同;其中,多个机位码流中的每一个机位码流包括第一类码流及第二类码流;多个机位码流中的任一个机位码流的第一类码流和/或任一个机位码流的第二类码流包括用于作为该任一个机位码流的第一类码流解码的参考帧的随机访问帧;该任一机位码流的第一类码流中存在播放时刻处于多个机位码流中的另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,该任一机位码流的第二类码流中存在播放时刻处于另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧。
在本申请提供的编码方法中,通过配置任一机位码流的第一类码流中存在播放时刻处于另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,任一机位码流的第二类码流中存在播放时刻处于另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,当该另一机位码流切换至该任一机位码流时,无需等待该另一机位码流的随机访问片段播放完才能切换,减少了用户期望的切换点与目的机位的随机访问帧(切入点)的间隔,降低切换时延,在多机位拍摄场景下实现了低切换时延的机位转换,提高了用户体验。
在一种可能的实现方式中,该任一机位码流的第一类码流中的随机访问帧对应的播放时刻与该多个机位码流中的另一机位码流的第一类码流中的随机访问帧对应的播放时刻均不相同,或者,该任一机位码流的第一类码流中的随机访问帧对应的播放时刻与另一机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。通过配置不同机位码流的第一类码流之间的随机访问帧对应的播放时刻不同,或者,不同机位码流的第一类码流与第二类码流的随机访问帧对应的播放时刻不同,以减少用户期望的切换点与目的机位的随机访问帧(切入点)的间隔,降低切换时延,在多机位拍摄场景下实现了低切换时延的机位转换,提高了用户体验。
在另一种可能的实现方式中,任一机位码流的第一类码流中的随机访问帧对应的播放时刻与该任一机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。通过机位码流的第一类码流与第二类码流的随机访问帧对应的播放时刻不同,以保证其他机位码流切换到该机位码流时,第一随机访问帧与用户期望的切换点间隔最小,尽可能的降低切换时延。
在另一种可能的实现方式中,任一机位码流的第一类码流中的随机访问帧对应的播放时刻与该任一机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。通过任一机位码流的第一类码流与第二类码流的随机访问帧对应的播放时刻不同,以保证其他机位码流切换到该任一机位码流时,实际切换点与用户期望的切换点间隔最小,尽可能的降低切换时延。
在另一种可能的实现方式中,任一机位码流的第二类码流包括任一随机访问帧,该任一随机访问帧为帧内预测帧,该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测仅参考该任一随机访问帧,该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻的图像帧,或者任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻之后的图像帧中至少一个。该实现方式提供了通过第二类码流来完成第一类码流的接入点之间的衔接时的具体解码过程,更好的保证降低切换时延。
在另一种可能的实现方式中,任一机位码流的第二类码流包括任一随机访问帧,该任一随机访问帧为帧内预测帧,该任一机位码流的第一类码流中的播放时刻位于任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测不参考该任一机位码流的第二类码流中的播放时刻位于该任一随机访问帧的播放时刻之后的图像帧。
在另一种可能的实现方式中,任一机位码流的第二类码流包括任一随机访问帧,该任一随机访问帧为帧内预测帧,该任一机位码流的第一类码流中的播放时刻位于任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测不参考该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻之前的图像帧。
在另一种可能的实现方式中,上述多个机位为至少两个机位,上述多个机位码流为至少两个机位码流,多个机位的数量与多个机位码流的数量相同。
在另一种可能的实现方式中,任一机位码流的第一类码流和第二类码流为对同一视频帧序列编码得到。其中,第二类码流为对该同一视频帧序列的子序列编码得到,该子序列中相邻的图像帧在该同一视频帧序列中间隔M帧,M大于或等于1。通过间隔M帧编码,降低了编码计算量、存储量以及带宽要求。
在另一种可能的实现方式中,预设机位顺序中,相邻两个机位码流的第一类码流中,第i个随机访问帧间隔N帧,i大于或等于1,且小于或等于机位码流中随机访问帧的总数,N大于或等于1。提供了相邻机位码流的第一类码流中的随机访问帧对应的播放时刻不相同的具体实现。
在另一种可能的实现方式中,第一类码流中包括间隔分布的帧内预测帧,两个相邻的帧内预测帧之间为帧间预测帧,第二类码流中的图像帧均为帧内预测帧。
第三方面,提供一种解码设备,该解码设备用于解码由多个机位拍摄同一场景得到的多个机位码流,多个机位码流中的每一个机位码流包括第一类码流及第二类码流;该多个机位码流中的任一个机位码流的第一类码流和/或该任一个机位码流的第二类码流包括用于作为该任一个机位码流的第一类码流解码的参考帧的随机访问帧。该解码设备可以包括:接收单元、确定单元、解码播放单元。其中:
接收单元,用于在所述解码设备播放多个机位码流中的第一机位码流的第一类码流中的第一图像帧时,接收切换请求,该切换请求用于指示解码设备播放多个机位码流中的第二机位码流。
确定单元,用于确定第二机位码流的第一类码流和/或第二类码流中,播放时刻位于所述第一图像帧之后且距所述第一图像帧最近的第一随机访问帧,第二机位码流的第一类码流中存在播放时刻处于第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,第二机位码流的第二类码流中存在播放时刻处于第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,第一图像帧的播放时刻处于该两个相邻随机访问帧的播放时刻之间。
解码播放单元,用于根据第二机位码流中第一随机访问帧的编码数据,解码得到第一随机访问帧,并以第一随机访问帧作为参考帧,解码得到并播放第二机位码流的第一类码流中播放时刻位于第一随机访问帧之后的图像帧。
需要说明的是,第三方面提供的解码设备,用于实现上述第一方面提供的解码方法,其具体实现可以参照上述第一方面或其任一种可能的实现方式,不再赘述。
第四方面,提供一种编码设备,该编码设备用于编码由多个机位拍摄同一场景得到的多个视频帧序列。该编码设备可以包括:获取单元及编码单元。其中:
获取单元,用于获取多个机位拍摄同一场景得到的多个视频帧序列。
编码单元,用于对获取单元获取的进行编码,得到多个机位码流,多个视频帧序列的数量与多个机位码流的数量相同。其中,多个机位码流中的每一个机位码流包括第一类码流及第二类码流;多个机位码流中的任一个机位码流的第一类码流和/或任一个机位码流的第二类码流包括用于作为该任一个机位码流的第一类码流解码的参考帧的随机访问帧;该任一机位码流的第一类码流中存在播放时刻处于多个机位码流中的另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,该任一机位码流的第二类码流中存在播放时刻处于另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧。
需要说明的是,第四方面提供的编码设备,用于实现上述第二方面提供的编码方法,其具体实现可以参照上述第二方面或其任一种可能的实现方式,不再赘述。
第五方面,提供一种解码设备,该解码设备可以实现上述第一方面描述的方法示例中的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。该解码设备可以以芯片的产品形态存在。
在一种可能的实现方式中,该解码设备可以包括处理器和传输接口。其中,传输接口用于接收和/或发送数据。处理器被配置为调用存储在存储器中的软件指令,以使得该解码设备执行上述第一方面描述的方法示例中的功能。
第六方面,提供一种编码设备,该编码设备可以实现上述所述第二方面描述的方法示例中的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。该编码设备可以以芯片的产品形态存在。
在一种可能的实现方式中,该编码设备可以包括处理器和传输接口。其中,传输接口用于接收和/或发送数据。处理器被配置为调用存储在存储器中的软件指令,以使得该编码设备执行上述第二方面描述的方法示例中的功能。
第七方面,提供一种计算机可读存储介质,包括由多个机位拍摄的同一场景得到的多个机位码流中至少一个机位码流,多个机位码流中的每一个机位码流包括第一类码流及第二类码流;多个机位码流中的任一个机位码流的第一类码流和/或任一个机位码流的第二类码流包括用于作为任一个机位码流的第一类码流解码的参考帧的随机访问帧。任一机位码流的第一类码流中存在播放时刻处于另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,任一机位码流的第二类码流中存在播放时刻处于另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧。
在一种可能的实现方式中,任一机位码流的第一类码流中的随机访问帧对应的播放时刻与多个机位码流中另一机位码流的第一类码流中的随机访问帧对应的播放时刻均不相同,或者,任一机位码流的第一类码流中的随机访问帧对应的播放时刻与另一机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
第八方面,提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上或处理器上运行时,使得计算机或处理器执行上述第一方面或第二方面或其任一种可能的实现方式提供的解码方法或编码方法。
第九方面,提供一种计算机程序产品,该计算机程序产品包括指令,当该指令在计算机或处理器上运行时,使得计算机或处理器执行上述第一方面或第二方面或其任一种可能的实现方式提供的解码方法或编码方法。
第十方面,提供一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述方法中相应的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
第十一方面,提供一种编解码系统,该系统包括第五方面的解码设备、第六方面的编码设备,分别具备上述各个方面以及任一可能的实现方式的功能。
其中,需要说明的是,上述各个方面中的任意一个方面的各种可能的实现方式,在方案不矛盾的前提下,均可以进行组合。
附图说明
图1为一种多个机位码流的示意图;
图2为另一种多个机位码流的示意图;
图3为再一种多个机位码流的示意图;
图4为本申请实施例提供的一种多机位拍摄场景示意图;
图5为本申请实施例提供的一种图像处理设备的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图;
图7为本申请实施例提供的一种编解码方法的流程示意图;
图8至图18分别为本申请实施例提供的一种多个机位码流的示意图;
图19为本申请实施例提供的一种解码设备的结构示意图;
图20为本申请实施例提供的另一种解码设备的结构示意图;
图21为本申请实施例提供的一种编码设备的结构示意图;
图22为本申请实施例提供的另一种编码设备的结构示意图。
具体实施方式
在本申请实施例中,为了便于清楚描述本申请实施例的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。该“第一”、第二”描述的技术特征间无先后顺序或者大小顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。并且,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
在本申请实施例中,至少一个还可以描述为一个或多个,多个可以是两个、三个、四个或者更多个,本申请不做限制。
在描述本申请的实施例之前,此处先对本申请涉及的名词统一进行解释说明,后续不再一一进行说明。
机位,指多角度拍摄场景中的一个拍摄角度,也可以为多角度拍摄场景中一个地点的摄像机位置。
多机位拍摄,指使用两台或两台以上摄影机,对同一场景同时作多角度、多方位的拍摄,以得到多角度、多方位的视频流,便于用于在不同角度的视频流间切换观看,以提高用户体验。
图像帧,指静态的一帧图像。多个图像帧可以构成动态的视频帧序列,经视频编码后形成码流。应理解,一个码流中包括多个图像帧,在码流中每个图像帧对应一段数据。
帧内预测,指视频编解码领域中,能够不依赖其它帧独自完成解码的编码预测模式。
帧内预测帧,指图像帧中所有的块的预测方式为帧内预测,帧内预测帧能够不依赖其它帧独自完成解码。
帧间预测,指视频编解码领域中,需依赖其它帧才能完成解码的编码预测模式。
帧间预测帧,指帧中至少有一个块的预测方式为帧间预测。
随机访问帧,是指可提供随机访问功能的图像帧。可选的,随机访问帧可以包括随机访问片段的初始帧,或者,也可以包括帧内预测帧。
图像群组(goup of pictures,GOP)流,是指包含周期性的帧内预测帧的码流格式。在GOP流中,两个相邻的帧内预测帧之间可以为帧间预测帧,或者其他非帧内预测帧。
播放时刻,是指图像帧在码流中的播放时刻。播放时刻为相对值。比如,图像帧的播放是可以为相对于码流中第一个图像帧的时刻,或者,图像帧的播放时刻可以为码流总播放时长中播放该图像帧的时刻。一个图像帧的播放时刻位于另一图像帧的播放时刻之后,可以理解为该一个图像帧的播放时刻与另一图像帧的播放时刻相同,或者大于另一图像帧的播放时刻。需要说明的是,在多机位拍摄场景中,不同机位间时钟不一定同步,不同机位码流中相同播放时刻的图像帧的绝对时间存在偏差,本申请后续实施例中按照忽略该偏差描述。
PTS(显示时间戳),指用于指示每一帧图像的生成时间的标记。PTS可以用于播放器按照正常的其顺序显示每一帧视频,也可以用于音视频同步。PTS可以由编码器生成,也可以外部生成,本申请不予限定。PTS可以用于指示图像帧的播放时刻,不同码流中PTS相同的图像帧的播放时刻相同。
DTS(解码时间戳)指编码器为了提高压缩性能,对一段视频帧序列的帧进行重排编码,按照编码顺序向每一帧图像做的顺序性的标记。例如,编码器可以对先到的帧后编码。DTS可以为编码器的出帧顺序,因此编码器出帧的顺序和帧拍摄顺序会存在不一致的情况,也就是PTS和DTS顺序不一致的情况。DTS可以由编码器生成,也可以外部生成,本申请不予限定。需要说明的是,本申请针对低时延交互场景,以编码顺序和帧拍摄顺序一致来示例说明,码流的DTS和PTS顺序一致。
强交互场景,指接收用户输入,系统能够实时反馈的应用场景。比如游戏、直播互动等场景。
在多机位拍摄场景中,不同机位画面切换当前有如下几种方式:
方式1、多机位拍摄的码流以固定帧内预测帧编码,在不同角度视频画面切换时,必须等当前机位视频解码到下一个机位码流的固定帧内预测帧处,才能切换到新机位继续解码显示。
图1示意了2个机位采用方式1拍摄的码流,用户以某种行为触发了从机位1切换至机位2观看。假设用户最初观看机位1的视频,在第2帧(预期切换点)时用户计划切换到机位2观看,但是由于机位2最近的帧内预测帧为第9帧,因此需将机位1的视频解码播放到第8帧之后,在第9帧(实际切换点)才能切换到机位2,播放机位2的视频。实际切换点和预期切换点之间相差了7帧,在解码上就存在7帧的时延。假设多机位码流的帧内预测帧间隔为X,则最差情况下,存在接近X-1个帧的解码时延。如果帧率为30FPS,时延达到233ms左右,用户可以明显感知到系统反应迟钝。
方式2、每个机位准备两套码流,其中一套码流为GOP流,该GOP流的帧内预测帧的间隔设置较大(一般地,可选择1s、2s、5s等时间间隔),另外一套码流全部为帧内预测帧(即帧内预测帧间隔为1)。
图2示意了2个机位采用方式2拍摄的码流。如图2所示,机位1准备了GOP流#1_1和全帧内预测帧流#1_2,机位2准备了GOP流#2_1和全帧内预测帧流#2_2。用户观看机位1时,终端下载并解码GOP流#1_1;当用户在第2帧计划下一帧(即第3帧,预期切换点)切换到机位2观看,此时下载机位2对应的全帧内预测帧流#2_2,从该#2_2的第3帧开始解码,此时就可以将机位2的视频画面呈现给用户,解码全帧内预测帧流#2_2直到机位2的GOP流#2_1对应的下一个帧内预测帧(即第9帧),从GOP流#2_1的第9帧(下一个帧内预测帧)开始解码机位2的GOP流#2_1。
该方案采用全帧内预测帧码流来完成GOP流的接入帧之间的衔接,实现无缝单帧时延的机位切换。但该方案中每个机位都需要编码、存储、传输全帧内预测帧码流,存储量和下载量较大,带来存储和带宽的成本。
方式3、每个机位准备N套码流,N为GOP码流中帧内预测帧的间隔,每套码流依次延迟1帧开始编码。
图3示意了2个机位采用方式3拍摄的码流,图3中以N=5为例。机位1准备5套GOP码流记录为码流#1_1至#1_5,机位2准备5套GOP码流记录为码流#2_1至#2_5。
假设用户观看机位1的视频,在第2帧时用户计划切换到机位2观看,机位2第2帧为帧内预测帧的码流为码流#2_3,因此,解码完机位1的码流#1_1第2帧后,开始从机位2的码流#2_3的帧内预测帧解码播放。
虽然方式3实现了最低的切换时延,保证了用户体验,但是,每个机位都需要大量编码和存储,带来大量的编码计算和存储的成本。
基于此,本申请实施例提供一种编解码方法,每个机位准备两种码流(第一类码流和第二类码流),通过配置任一机位码流的第一类码流中存在播放时刻处于另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,任一机位码流的第二类码流中存在播放时刻处于另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,当该另一机位码流切换至该任一机位码流时,无需等待该另一机位码流的随机访问片段播放完才能切换,减少了用户期望的切换点与目的机位的随机访问帧(切入点)的间隔,降低切换时延,在多机位拍摄场景下实现了低切换时延的机位转换,提高了用户体验。
本申请实施例提供的编解码方法可以适用于图4示出的多机位拍摄场景。如图4所示,该多机位拍摄场景包括被拍摄场景401、位于多个机位的多个图像采集装置402、多个图像采集装置402连接的编码装置403、存储装置404以及用户终端405。
其中,可以将位于多个机位的多个图像采集装置402、多个图像采集装置402连接的编码装置403以及存储装置404可以作为编码端部分,将用户终端405作为解码端部分。
其中,位于多个机位的多个图像采集装置402用于对被拍摄场景401同时作多角度、多方位的拍摄,以得到多角度、多方位的码流,输出YUV视频或者压缩后的码流。
多个图像采集装置402将得到的视频流或视频文件发送到编码装置403。由编码装置403按照本申请提供的编码方法,得到多个机位码流,存储于存储装置404中。其中,多个机位码流中的每一个机位码流包括第一类码流及第二类码流;该多个机位码流中的任一个机位码流的第一类码流和/或该任一个机位码流的第二类码流包括用于作为该任一个机位码流的第一类码流解码的参考帧的随机访问帧。
具体的,若图像采集装置402输出的是未压缩的视频信号,则编码装置403可以将未压缩的视频信号按照特定的配置进行视频压缩编码,得到机位码流;若图像采集装置402输出的是压缩后的码流,则编码装置403可以将压缩的码流解码为未压缩的视频信号,再将未压缩的视频信号按照特定的配置压缩编码成机位码流。
进一步的,在点播类应用中,编码装置403可以将得到的机位码流存储至存储装置404中,待终端请求下载时读取。在直播类应用中,存储装置404则为少量的缓存空间。
用户终端405用于播放多个摄像机402对被拍摄场景401拍摄的机位码流。具体的,用户终端405可以包括下载模块4051、解码模块4052、播放显示模块4053以及用户交互模块4054。
其中,用户交互模块4054,用于接收用户的交互指令。
下载模块4051用于响应用户交互模块4054接收的用户交互指令,向编码端请求某一机位的机位码流,并将编码端下发的机位码流缓存,供解码模块4052解码使用。或者,根据用户需求在不同摄像机402拍摄的机位码流中切换。例如,在用户终端404播放某一机位的机位码流过程中,用户交互模块4054获取到用户期望切换到另一机位的画面的交互指令,下载模块4051则可以向编码端发送下载请求,以请求另一机位的机位码流。
解码模块4052用于将下载模块4051下载到的机位码流进行解码。可选的,解码模块4052的具体实现方式可以包括但不限于软件方式解码、硬件方式解码、或者软硬件混合方式解码。
其中,软件方式解码指的是处理器调用代码实现,该处理器可以是图形处理器(graphics processing unit, GPU),中央处理器(central processing unit ,CPU),数字信号处理器(digital signal processor,DSP)或者人工智能(artificial intelligence,AI)芯片,或者其他类型。
硬件方式解码指的是通过特定集成电路(application specific integratedcircuit,ASIC)或者现场可编程门阵列(field programmable gate array,FPGA)或者其他硬件单元实现解码过程。
软硬件混合方式解码指的是部分单元软件方式解码,部分单元硬件方式解码。
播放显示模块4053用于将解码模块4052解码后的视频进行播放渲染显示。
需要说明的是,在不同的场景中,图4示意的多机位拍摄场景中的各个设备的产品形态可以有所不同。
例如,图像采集装置402可以为摄像机,用户终端405可以为用户使用的具有播放功能的电子设备,例如手机、平板电脑(portable android device,PAD)、智能手表、智能电视或其他。
需要说明的是,图4示意的多机位拍摄场景中包括的各个设备的数量以及具体架构,可以根据实际需求配置,本申请实施例对此不予限定。当然,图4仅通过示例的形式描述了一种多机位拍摄场景的具体架构,但并不是对多机位拍摄场景的架构的限定。
下面结合附图,对本申请的实施例进行具体阐述。
一方面,本申请实施例提供一种图像处理设备,用于执行本申请提供的编解码方法,该图像处理设备可以为图4示意的拍摄场景中的编码装置402或用户终端405。图5示出的是与本申请各实施例相关的一种图像处理设备50。如图5所示,图像处理设备50可以包括处理器501、存储器502以及收发器503。
下面结合图5对图像处理设备50的各个构成部件进行具体的介绍:
其中,存储器502可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者上述种类的存储器的组合,用于存储可实现本申请方法的程序代码、配置文件或其他内容。
处理器501是图像处理设备50的控制中心。例如,处理器501可以是一个CPU,也可以是ASIC,或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个DSP,或,一个或者多个FPGA。
收发器503用于与其他设备进行通信。收发器503可以为图像处理设备50的通信端口或者其他。
一种可能的实现方式中,当图像处理设备50作为解码设备时,该解码设备用于解码由多个机位拍摄同一场景得到的多个机位码流,多个机位码流中的每一个机位码流包括第一类码流及第二类码流;该多个机位码流中的任一个机位码流的第一类码流和/或该任一个机位码流的第二类码流包括用于作为该任一个机位码流的第一类码流解码的参考帧的随机访问帧,处理器501通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行如下功能:
在播放多个机位码流中的第一机位码流的第一类码流中的第一图像帧时,接收切换请求,该切换请求用于指示解码设备播放多个机位码流中的第二机位码流;确定第二机位码流的第一类码流和/或第二类码流中,播放时刻位于所述第一图像帧之后且距所述第一图像帧最近的第一随机访问帧,第二机位码流的第一类码流中存在播放时刻处于第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,第二机位码流的第二类码流中存在播放时刻处于第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,第一图像帧的播放时刻位于该两个相邻随机访问帧的播放时刻之间;根据第二机位码流中第一随机访问帧的编码数据,解码得到第一随机访问帧,并以第一随机访问帧作为参考帧,解码得到并播放第二机位码流的第一类码流中播放时刻位于第一随机访问帧之后的图像帧。
示例性的,处理器501可以通过软件方式解码、硬件方式解码、或者软硬件混合方式解码实现本申请提供的解码方法。
另一种可能的实现方式中,当图像处理设备50作为编码设备时,该编码设备用于编码由多个机位拍摄同一场景得到的多个视频帧序列,处理器501通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行如下功能:
获取多个机位拍摄同一场景得到的多个视频帧序列;对该多个视频帧序列进行编码,得到多个机位码流,多个视频帧序列的数量与多个机位码流的数量相同;其中,多个机位码流中的每一个机位码流包括第一类码流及第二类码流;多个机位码流中的任一个机位码流的第一类码流和/或任一个机位码流的第二类码流包括用于作为该任一个机位码流的第一类码流解码的参考帧的随机访问帧;该任一机位码流的第一类码流中存在播放时刻处于多个机位码流中的另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,该任一机位码流的第二类码流中存在播放时刻处于另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧。
图6为本申请实施例提供的一种电子设备的结构示意图。上述图像处理设备50、用户终端405结构可以如图6所示。
如图6所示,电子设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本实施例示意的结构并不构成对电子设备的具体限定。在另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,GPU,图像信号处理器(image signalprocessor,ISP),控制器,存储器,视频编解码器,DSP,基带处理器,神经网络处理器(neural-network processing unit,NPU)等中的一个或多个。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,SIM接口,USB接口等中的一个或多个。
示例性的,处理器110可以通过软件方式解码、硬件方式解码、或者软硬件混合方式解码实现本申请提供的解码方法。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142,充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括第二代手机通信技术(thesecond generation mobile communication technology,2G)/第三代手机通信技术(the3rd generation mobile communication technology,3G)/第四代手机通信技术(the 4thgeneration mobile communication technology,4G)/第五代手机通信技术((the 5thgeneration mobile communication technology,5G)等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。例如,电子设备可以通过天线1和移动通信模块150与其他电子设备进行视频通话或视频会议。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,IR技术等中的一个或多个。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenithsatellite system,QZSS),星基增强系统(satellite based augmentation systems,SBAS)等中的一个或多个。
电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。例如,电子设备通过GPU,显示屏194,以及应用处理器可以实现本申请方案中机位码流的渲染显示等操作。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP 用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备可以包括1个或N个摄像头193,N为大于1的正整数。在本实施例中,该摄像头193可以采用隐藏式方式设置在电子设备中,也可以不采用隐藏式方式设置,本实施例在此不做具体限制。
数字信号处理器用于处理数字信号。
视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如通话,音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息或需要通过语音助手触发电子设备执行某些功能时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备可以设置至少一个麦克风170C。在另一些实施例中,电子设备可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备根据压力传感器180A检测所述触摸操作强度。电子设备也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。
陀螺仪传感器180B可以用于确定电子设备的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备是翻盖机时,电子设备可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备在各个方向上(一般为三轴)加速度的大小。当电子设备静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备通过发光二极管向外发射红外光。电子设备使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备附近有物体。当检测到不充分的反射光时,电子设备可以确定电子设备附近没有物体。电子设备可以利用接近光传感器180G检测用户手持电子设备贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备对电池142加热,以避免低温导致电子设备异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备的接触和分离。电子设备可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备中,不能和电子设备分离。
以下实施例中的解码方法均可以在具有上述硬件结构的电子设备中实现。
另一方面,本申请实施例提供一种编解码方法,应用于多机位拍摄场景中编码设备及解码设备的工作过程。编码设备用于编码由多个机位拍摄同一场景得到的多个视频帧序列,得到多个机位码流,解码设备用于解码由多个机位拍摄同一场景得到的多个机位码流。下述实施例以编码端设备的编码过程,以及解码设备的解码过程为例,对本申请提供的方案进行详细说明。如图7所示,该方法可以包括:
S701、编码设备获取由多个机位拍摄同一场景得到多个视频帧序列。
其中,上述多个机位为至少两个机位。多个视频帧序列的数量与多个机位的数量相同。
一种可能的实现方式中,编码设备中内置了拍摄装置(例如摄像头),S701中的编码设备则可以有多个,每个编码设备为一个机位,用于对同一场景拍摄得到一个视频帧序列。每个编码设备可以通过其内置的拍摄装置拍摄该同一场景,得到其所属机位的视频帧序列。
另一种可能的实现方式中,编码设备与位于不同机位的拍摄装置连接,由不同机位的拍摄装置拍摄同一场景得到多个视频帧序列后发送给编码设备。相应的,S701中编码设备可以接收不同机位的拍摄装置拍摄同一场景得到的多个视频帧序列。S701中的编码设备可以为一个或者多个,本申请实施例对此不予限定。
S702、编码设备对多个视频帧序列编码,得到多个机位码流。
其中,多个视频帧序列的数量与多个机位码流的数量相同。多个机位码流为至少两个机位码流。多个机位的数量与多个机位码流的数量相同。
具体的,多个机位码流中的每一个机位码流包括第一类码流及第二类码流。多个机位码流中的任一个机位码流的第一类码流和/或任一个机位码流的第二类码流包括用于作为该任一个机位码流的第一类码流解码的参考帧的随机访问帧。
其中,随机访问帧作为播放码流的切入点。
一种可能的实现方式中,第一类码流可以包括间隔分布的随机访问帧,且相邻的随机访问中之间为非随机访问帧。第二类码流仅包括随机访问帧。
需要说明的是,为了适应不同解码设备的性能或者为了适应不同的网络带宽,S702中编码设备对多个视频帧序列编码,得到多个机位码流的过程中,对一个机位的视频帧序列编码可以得到的这个机位的机位码流可以包括多组码流,一组码流包括第一类码流及第二类码流,不同组码流中的第一类码流的参数不同,该参数可以为分辨率或者码率。其中,一组码流中的第一类码流与第二类码流的码率可以相同,也可以不同。
示例性的,为了适应不同解码设备的性能,S702中编码设备对多个视频帧序列编码,得到多个机位码流的过程中,对一个机位的视频帧序列编码得到两种不同分辨率的码流,一个机位的机位码流可以包括2组码流,一组码流是720P分辨率的码流(包括720P的第一类码流和720P的第二类码流),另一组码流是1080P分辨率的码流(包括1080P的第一类码流和1080P的第二类码流)。
示例性的,为了适应不同带宽需求,S702中编码设备对多个视频帧序列编码,得到多个机位码流的过程中,可以为对一个机位的视频帧序列编码得到两种不同码率的码流,一个机位的机位码流则可以包括2组码流,一组码流包括3兆比特每秒(million bits persecond,Mbps)码率的第一类码流、3Mbps或其他码率的第二类码流),另一组码流是500千比特每秒(kilo bits per second,kbps)码率的第一类码流、500kbps或其他码率的第二类码流)。
需要说明的是,当一个机位码流中包括多组码流时,下述对任一个机位码流的描述,是指任一个机位码流中一组码流。
具体的,多个机位码流中,任一个机位码流的第二类码流的随机访问帧用于在该任一个机位码流的第一类码流中的作为参考帧的图像帧不可得的情况下,替代该任一个机位码流的第一类码流中不可得参考帧,以作为任一个机位码流的第一类码流中参考不可得参考帧的图像帧的参考帧。
另一种可能的实现方式中,上述多个机位码流中任一机位码流的第二类码流包括任一随机访问帧,该任一随机访问帧为帧内预测帧,该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测仅参考该任一随机访问帧,该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻的图像帧,或者该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻之后的图像帧中至少一个。
一种可能的实现方式中,该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测仅参考该任一随机访问帧,该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻的图像帧,或者该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻之后的图像帧中的一个或两个。
示例性的,当第一随机访问帧为第二机位码流的第二类码流中的图像帧时,且第一随机访问帧为帧内预测帧,第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测可以参考:第一随机访问帧,或者,第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻的图像帧,或者,第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻之后的图像帧。
示例性的,当第一随机访问帧为第二机位码流的第二类码流中的图像帧时,且第一随机访问帧为帧内预测帧,第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测可以参考:第一随机访问帧,或者,第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻的图像帧,或者,第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻之后的图像帧中的任两个。
在另一种可能的实现方式中,任一机位码流的第二类码流包括任一随机访问帧,该任一随机访问帧为帧内预测帧,该任一机位码流的第一类码流中的播放时刻位于任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测不参考该任一机位码流的第二类码流中的播放时刻位于该任一随机访问帧的播放时刻之后的图像帧。
在另一种可能的实现方式中,任一机位码流的第二类码流包括任一随机访问帧,该任一随机访问帧为帧内预测帧,该任一机位码流的第一类码流中的播放时刻位于任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测不参考该任一机位码流的第一类码流中的播放时刻位于该任一随机访问帧的播放时刻之前的图像帧。
示例性的,S702中编码设备编码得到的两个机位的机位码流(机位码流1和机位码流2)可以如图8所示,机位码流1包括第一类码流(码流1-1)和第二类码流(码流1-2),机位码流2包括第一类码流(码流2-1)和第二类码流(码流2-2)。机位码流1的第二类码流(码流1-2)中包括的播放时刻4的随机访问帧,该机位码流1的第一类码流(码流1-1)中的播放时刻位于播放时刻4之后的帧间预测编码帧(播放时刻为5/6/7/8的帧间预测帧)的帧间预测仅参考码流1-2中播放时刻4的随机访问帧,和机位码流1的第一类码流中的播放时刻位于播放时刻4之后的图像帧。该机位码流1的第一类码流(码流1-1)中的播放时刻位于播放时刻4之后的帧间预测编码帧(播放时刻为5/6/7/8的帧间预测帧)的帧间预测不参考机位码流1的第一类码流中的播放时刻位于播放时刻4之前的图像帧。该机位码流1的第一类码流(码流1-1)中的播放时刻位于播放时刻4之后的帧间预测编码帧(播放时刻为5/6/7/8的帧间预测帧)的帧间预测不参考码流1-2中播放时刻4之后的图像帧。
示例性的,第一类码流中包括间隔分布的帧内预测帧,两个相邻的帧内预测帧之间为帧间预测帧,第二类码流中的图像帧可以均为帧内预测帧。
具体的,在S702中,编码设备对多个视频帧序列分别编码,得到的多个机位码流中,任一机位码流的第一类码流中存在播放时刻处于多个机位码流中的另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,任一机位码流的第二类码流中存在播放时刻处于另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧。
其中,两个相邻随机访问帧是指:两个相邻随机访问帧之间不存在随机访问帧,但可以存在非随机访问帧。
示例性的,如图8所示,机位码流2的第一类码流(码流2-1)中播放时刻3的随机访问帧,处于机位码流1的第一类码流(码流1-1)的两个相邻随机访问帧的播放时刻之间(播放时刻1与播放时刻9的随机访问帧之间),机位码流2的第二类码流(码流2-2)中播放时刻3、播放时刻6、播放时刻9的随机访问帧,处于机位码流1的第一类码流(码流1-1)的两个相邻随机访问帧的播放时刻之间(播放时刻1与播放时刻9之间)。
示例性的,下面提供几种多个机位码流的具体实现,但不构成具体限定。
实现1、多个机位码流中任一机位码流的第一类码流中的随机访问帧对应的播放时刻与该多个机位码流中的另一机位码流的第一类码流中的随机访问帧对应的播放时刻均不相同,或者,该任一机位码流的第一类码流中的随机访问帧对应的播放时刻与另一机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
在实现1中,不同机位码流的第一类码流中的随机访问帧的位置均错开,或者,任一机位码流的第一类码流与另一机位码流的第二类码流的随机访问帧的位置均错开,这样一来,当不同机位码流之间切换时,可以缩短目的机位码流中播放时刻处于期望切换点之后的下一个随机访问帧,距离期望切换点的距离。
实现2、上述多个机位码流中,任一机位码流的第一类码流中的随机访问帧对应的播放时刻与该任一机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
实现3、上述多个机位码流中,预设机位顺序中,相邻两个机位码流的第一类码流中,第i个随机访问帧间隔N帧。
其中,i大于或等于1,且小于或等于机位码流中随机访问帧的总数。N大于或等于1。
也就是说,在实现3中,上述多个机位码流中,预设机位顺序中,相邻两个机位码流的第一类码流中,序号相同的随机访问帧间隔N帧,该序号用于指示随机访问帧是第一码流中第几个随机访问帧。
具体的,上述多个机位码流中,每个机位码流的第一类码流中,随机访问帧的间隔相同。
一种可能的实现方式中,N可以为1或2。
可选的,对于多个机位码流中,预设机位顺序中,相邻两个机位码流的第一类码流中,第i个随机访问帧间隔N帧,可以通过下述两种实现方式中任一种实现:
实现方式1:多个机位码流中,预设机位顺序中,相邻两个机位码流的第一类码流中,第i个随机访问帧交错间隔N帧。
其中,交错间隔是指按照预设机位顺序,相邻两个机位的机位码流的第一类码流中第i个随机访问帧间隔N帧,间隔一个机位的两个机位的机位码流第一类码流中第i个随机访问帧的播放时刻。
对于预设机位顺序,可以根据实际需求配置,本申请实施例对此不予限定。例如,预设机位顺序可以为地理位置顺序,或者,预设机位顺序可以为理论上的用户喜好顺序,或者其他顺序。
示例性的,图9示意了4个机位码流第一类码流,将这4个机位的机位码流,按照预设机位顺序记录为机位码流1至机位码流4。假设N为1,如图9所示,机位码流1的第一类码流与机位码流2的第一类码流的第i个随机访问帧(图9中i大于或等于1,小于或等于4)间隔1帧,机位码流2的第一类码流与机位码流3的第一类码流的第i个随机访问帧间隔1帧,机位码流3的第一类码流与机位码流4的第一类码流的第i个随机访问帧间隔1帧,机位码流1的第一类码流与机位码流3的第一类码流的第i个随机访问帧播放时刻相同,机位码流2的第一类码流与机位码流4的第一类码流的第i个随机访问帧播放时刻相同。
实现方式2:多个机位码流中,预设机位顺序中,每个机位码流的第一类码流中第i个随机访问帧依次错后N帧。
需要说明的是,预设机位顺序已在前述实现方式1中说明,此处不再赘述。
示例性的,图10示意了4个机位码流的第一类码流,将这4个机位的机位码流,按照预设机位顺序记录为机位码流1至机位码流4。假设N为1,如图10所示,机位码流2的第一类码流的第i个随机访问帧比机位码流1的第一类码流的第i个随机访问帧错后1帧,机位码流3的第一类码流的第i个随机访问帧比机位码流3的第一类码流的第i个随机访问帧错后1帧,机位码流4的第一类码流的第i个随机访问帧比机位码流3的第一类码流的第i个随机访问帧错后1帧。
需要说明的是,对于S702中编码的具体过程,可以根据实际需求配置,本申请实施例不予限定。例如,S702中可以编码为ITU-T H .264、HEVC标准中的H.265定义的码流格式。
具体的,任一机位码流的第一类码流和第二类码流为编码设备对同一视频帧序列编码得到。其中,机位码流中的第二类码流为对该同一视频帧序列的子序列编码得到,该子序列中相邻的图像帧在该同一视频帧序列中间隔M帧,M大于或等于1。
需要说明的是,间隔M帧与每M+1帧编码为一个图像帧为等价概念,可以相互替换。
一种可能的实现方式中,M为1或者2。
示例性的,如图8所示,机位码流1的第一类码流(码流1-1)和第二类码流(码流1-2)为编码设备对同一视频帧序列编码得到,其中的第二类码流(码流1-2)为对该同一视频帧序列的子序列编码得到,该子序列中相邻的图像帧在该同一视频帧序列中间隔2帧,也就是说,将该同一视频帧序列中每3个视频帧,编码为一个图像帧得到第二类码流(码流1-2)。
示例性的,图11示意了一个机位码流的第一类码流与第二类码流,M为1。如图11所示,该机位码流的第二类码流中每2帧编码为一个随机访问帧,第二类码流中的随机访问帧间隔1帧。
一种可能的实现方式中,多个机位码流中,任一机位码流的第二类码流中与该任一机位码流的第一类码流相同PTS(用于指示播放时刻)的图像帧可以不存储传输帧,以提高传输效率降低带宽要求。
在S702之后,编码设备将多个机位的机位码流存储,例如点播场景中存储于存储设备,直播场景中存储于缓存,由解码设备下载后解码播放。假设解码设备根据用户需求下载了多个机位码流中的第一机位码流中的第一类码流并解码播放,在解码设备解码播放第一机位码流过程中,下述S703至S705描述用户请求切换至播放多个机位码流中的第二机位码流时,解码设备的解码处理过程。其中,第一机位码流、第二机位码流为多个机位码流中任意码流。
S703、解码设备在播放多个机位码流中的第一机位码流的第一类码流中的第一图像帧时,接收切换请求。
其中,该切换请求用于指示解码设备播放多个机位码流中的第二机位码流。第一机位码流、第二机位码流为多个机位码流中任一机位码流。
一种可能的实现中,该切换请求用于指示解码设备在下一播放时刻,播放多个机位码流中的第二机位码流。
一种可能的实现方式中,切换请求由解码设备的用户输入。
另一种可能的实现方式中,切换请求可以由指令(比如信息流中含有出发切换请求的指令)触发产生,或者切换请求可以由某些操作(比如读取文件的操作)触发产生。
需要说明的是,本申请对于切换请求的获得方式不做具体限定。
在S703中解码设备接收到切换请求后,解码设备执行S704。
需要说明的是,当一个机位码流中包括多组码流时(一组码流包括第一类码流及第二类码流)时,第一机位码流切换到第二机位码流时,可以是切换至第二机位码流中目的组码流(切换后播放的那组码流),该目的组码流可以为与播放的第一机位码流中相同参数(分辨率或码率或其他)的码流组,或者,也可以可以为与播放的第一机位码流中不同参数(分辨率或码率或其他)的码流组,本申请对此不予限定。
一种可能的实现方式中,一个机位码流中包括的多组码流的分辨率不同,当解码设备支持的分辨率固定时,第一机位码流切换到第二机位码流时,可以是两个机位码流中相同分辨率的码流组间切换,目的码流组则为第二机位码流中与播放的第一机位码流中分辨率相同的码流组。
另一种可能的实现方式中,一个机位码流中包括的多组码流的分辨率不同,当解码设备支持的变化时,第一机位码流切换到第二机位码流时,可以是两个机位码流中不同分辨率的码流组间切换,目的码流组则为第二机位码流中与播放的第一机位码流中分辨率不同的码流组。
另一种可能的实现方式中,一个机位码流中包括的多组码流的码率不同,当网络带宽固定时,第一机位码流切换到第二机位码流时,可以是两个机位码流中相同码率的码流组间切换,目的码流组则为第二机位码流中与播放的第一机位码流中码率相同的码流组。
另一种可能的实现方式中,一个机位码流中包括的多组码流的码率不同,当网络带宽变化时,第一机位码流切换到第二机位码流时,可以是两个机位码流中不同码率的码流组间切换,目的码流组则为第二机位码流中与播放的第一机位码流中码率不同的码流组。
S704、解码设备确定第二机位码流的第一类码流和/或第二类码流中,播放时刻位于第一图像帧之后且距第一图像帧最近的第一随机访问帧。
需要说明的是,当一个机位码流中包括多组码流时(一组码流包括第一类码流及第二类码流)时,S704中描述的第二机位码流是指第二机位码流中的目的码流组。当一个机位码流中包括一组码流时(一组码流包括第一类码流及第二类码流)时,S704中描述的第二机位码流是指第二机位码流中包括的码流组。
具体的,第一机位码流、第二机位码流为上述S702中描述的多个机位码流中的任一机位码流,因此,第一机位码流、第二机位码流具有上述S702中描述的多个机位码流中的任一机位码流的特征。
一种可能的实现方式中,第二机位码流的第一类码流中存在播放时刻处于第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,第二机位码流的第二类码流中存在播放时刻处于第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧。第一图像帧的播放时刻位于该两个相邻随机访问帧的播放时刻之间。
另一种可能的实现方式中,第一机位码流的第一类码流中的随机访问帧对应的播放时刻与第二机位码流的第一类码流中的随机访问帧对应的播放时刻均不相同,或者,第一机位码流的第一类码流中的随机访问帧对应的播放时刻与第二机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
一种可能的实现方式中,第二机位码流的第一类码流中的随机访问帧对应的播放时刻与第二机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
具体的,S704中,解码设备确定第二机位码流的第一类码流和/或第二类码流中,播放时刻位于第一图像帧之后且距第一图像帧最近的第一随机访问帧,具体可以实现为:解码设备将第二机位码流的第一类码流中播放时刻位于第一图像帧之后的下一个随机访问帧,与第二机位码流的第二类码流中播放时刻位于第一图像帧之后的下一个随机访问帧中,播放时刻最靠近第一图像帧的随机访问帧确定为第一随机访问帧。
一种可能的实现方式中,第一随机访问帧是播放时刻位于第一图像帧之后且距第一图像帧最近的随机访问帧,可以包括:第一随机访问帧可以与第一图像帧的播放时刻相同,或者,第一随机访问帧可以与第一图像帧的播放时刻相同。
可选的,第一随机访问帧可以为第二机位码流的第一类码流中的随机访问帧,或者,第一随机访问帧可以为第二机位码流的第二类码流中的随机访问帧。
一种可能的实现方式中,第一随机访问帧对应的播放时刻位于第二随机访问帧对应的播放时刻之前,第二随机访问帧为第一机位码流的第一类码流中位于第一图像帧之后且距第一图像帧最近的随机访问帧。
具体的,第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测仅参考第一随机访问帧,和/或,第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻之后的图像帧。
当第一随机访问帧为第二机位码流的第二类码流中的随机访问帧时,第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测仅参考第一随机访问帧,和第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻之后的图像帧。不参考第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻之前的图像帧。
当第一随机访问帧为第二机位码流的第一类码流中的随机访问帧时,第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测仅参考第一随机访问帧,和第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻之后的图像帧。不参考第二机位码流的第一类码流中的播放时刻位于第一随机访问帧的播放时刻之前的图像帧,也不参考第二机位码流的第二类码流中的播放时刻位于第一随机访问帧的播放时刻之后的图像帧。
示例性的,图12示意了一个多机位拍摄场景中两个机位的机位码流,机位码流1的第一类码流(GOP流)记录为码流1-1,机位码流1的第二类码流(间隔3帧编码的全帧内预测帧流)记录为码流1-2,机位码流2的第一类码流(GOP流)记录为码流2-1,机位码流2的第二类码流(间隔3帧编码的全帧内预测帧流)记录为码流2-2。两个机位码流的第一类码流中第i个随机访问帧间隔2帧。
在图12所示的多个机位码流中,假设解码设备在播放码流1-1的PTS=5的图像帧时,接收到用户输入的切换请求,该切换请求用于指示播放机位2的码流,码流1-1中PTS=5的图像帧为第一图像帧。解码设备将码流2-1中播放时刻位于第一图像帧之后的下一个随机访问帧(PTS=11的图像帧),与码流2-2中播放时刻位于第一图像帧之后的下一个随机访问帧(PTS=6的图像帧)中,播放时刻最靠近第一图像帧的随机访问帧(码流2-2中PTS=6的图像帧)确定为第一随机访问帧,第二随机访问帧为码流1-1中PTS=9的图像帧。
具体的,图12示意的多机位码流中,机位码流2的第一类码流(码流2-1)中的播放时刻位于PTS=6的图像帧之后的帧间预测编码帧的帧间预测仅参考码流2-2中PTS=6的图像帧,和码流2-1中的播放时刻位于PTS=6的图像帧的播放时刻之后的图像帧。机位码流2的第一类码流(码流2-1)中的播放时刻位于PTS=6的图像帧之后的帧间预测编码帧的帧间预测不参考码流2-1中的播放时刻位于PTS=6的图像帧的播放时刻之前的图像帧。机位码流2的第一类码流(码流2-1)中的播放时刻位于PTS=6的图像帧之后的帧间预测编码帧的帧间预测不参考码流2-2中PTS=6的播放时刻之后的图像帧。
S705、解码设备根据第二机位码流中第一随机访问帧的编码数据,解码得到第一随机访问帧,并以第一随机访问帧作为参考帧,解码得到并播放第二机位码流的第一类码流中播放时刻位于第一随机访问帧之后的图像帧。
具体的,由于第一随机访问帧的播放时刻可以与第一图像帧的播放时刻相同也可以不同,解码设备执行S705的过程可以包括下述几种情况:
情况1、第一随机访问帧的播放时刻与第一图像帧的播放时刻不同。
在情况1中,解码设备可以将第一机位码流的第一类码流解码至第二图像帧并播放,之后执行S705根据第二机位码流中第一随机访问帧的编码数据,解码得到第一随机访问帧,并以第一随机访问帧作为参考帧,解码得到并播放第二机位码流的第一类码流中播放时刻位于第一随机访问帧之后的图像帧,并且在播放第二图像帧后播放第一随机访问帧。
其中,第二图像帧为第一机位码流的第一类码流中,播放时刻与第一随机访问帧播放时刻相同的图像帧的前一个图像帧。
情况2、第一随机访问帧的播放时刻与第一图像帧的播放时刻相同。
在情况2中,解码设备可以将第一机位码流的第一类码流解码播放至第一图像帧,然后执行S705,根据第二机位码流中第一随机访问帧的编码数据,解码得到第一随机访问帧,并以第一随机访问帧作为参考帧,解码得到并播放第二机位码流的第一类码流中播放时刻位于第一随机访问帧之后的图像帧,在执行S705时第一随机访问帧仅解码但不播放。
进一步的,在图12示意的机位码流中,假设解码设备在播放码流1-1的PTS=5的图像帧时,接收到用户输入的切换请求,该切换请求用于指示播放机位2的码流,解码设备的处理过程可以如下:
解码设备确定码流2-2中PTS=6的图像帧为第一随机访问帧,解码设备播放码流1-1的PTS=5的图像帧,然后根据码流2-2中PTS=6的图像帧的编码数据,解码得到并播放码流2-2中PTS=6的图像帧,并以码流2-2中PTS=6的图像帧作为参考帧,解码得到并播放码流2-1中PTS=7及之后的图像帧。图12中的箭头指示则为解码轨迹。
在本申请提供的解码方法中,通过配置第二机位码流的第一类码流中存在播放时刻处于第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,第二机位码流的第二类码流中存在播放时刻处于第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,当第一机位码流切换至第二机位码流时,无需等待第一机位码流的随机访问片段播放完才能切换,减少了用户期望的切换点与目的机位的随机访问帧(切入点)的间隔,降低切换时延,在多机位拍摄场景下实现了低切换时延的机位转换,提高了用户体验。
需要说明的是,本申请实施例提供的编解码方法包括的步骤的执行顺序,可以根据实际需求配置,本申请实施例的附图仅示意了可能的执行顺序,并不构成限定。
下面通过具体的示例,对本申请实施例提供的方案进行举例描述。
实施例一
在多机位拍摄场景中,假设部署了2个机位(机位A和机位B),每个机位的机位码流包括GOP流(其中的随机访问帧为帧内预测帧)及全帧内预测帧流,预设机位顺序中,相邻机位的GOP流的帧内预测帧交错间隔1帧,全帧内预测帧流中间隔2帧编码为一个帧内预测帧。图13中示意了机位A和机位B的机位码流,机位A的机位码流中的GOP流记录为码流#A_1,机位A的机位码流中的全帧内预测帧帧流记录为码流#A_2,机位B的机位码流中的GOP流记录为码流#B_1,机位B的机位码流中的全帧内预测帧流记录为码流#B_2。
一种情况为:用户期望的切换点处于新机位GOP流的帧内预测帧位置。
在图13示意的场景中,如图14所示,当用户观看到机位A的PTS=2的图像帧时,输入切换指示,指示播放机位B的机位码流,解码设备收到该切换指示后,确定第一随机访问帧为码流#B_1中PTS=2的帧内预测帧,解码设备播放机位A的PTS=2的图像帧,解码设备解码得到码流#B_1中PTS=2的帧内预测帧,并以码流#B_1中PTS=2的帧内预测帧作为参考帧,解码得到并播放码流#B_1中PTS=3及之后的图像帧。图14中的箭头指示则为解码轨迹。
另一种情况为:用户期望的切换点处于新机位GOP流的非帧内预测帧位置。
在图13示意的场景中,如图15所示,当用户观看到机位A的PTS=3的图像帧时,输入切换指示,指示播放机位B的机位码流,解码设备收到该切换指示后,确定第一随机访问帧为码流#B_2中PTS=4的帧内预测帧,解码设备播放机位A的PTS=3的图像帧,解码设备解码得到并播放码流#B_2中PTS=4的帧内预测帧,并以码流#B_2中PTS=4的帧内预测帧作为参考帧,解码得到并播放码流#B_1中PTS=5及之后的图像帧。图15中的箭头指示则为解码轨迹。
该实施例中,编码设备为每个机位准备两种码流,其中一种为GOP码流,另外一种为降一半帧率的全帧内预测帧流,可以在单帧时延内完成多机位画面之间的切换,节省存储空间。全帧内预测帧流可以降低一半的编码计算量和存储量,而且只传输一帧全帧内预测帧即可实现切换,节省了大量带宽;另外,码流数量少,节省了编码计算量和存储成本。
实施例二
在多机位拍摄场景中,假设部署了2个机位(机位C和机位D),每个机位的机位码流包括GOP流(其中的随机访问帧为帧内预测帧)及全帧内预测帧流,预设机位顺序中,相邻机位的GOP流的帧内预测帧交错间隔2帧,全帧内预测帧流中间隔3帧编码为一个帧内预测帧。图16中示意了机位C和机位D的机位码流,机位C的机位码流中的GOP流记录为码流#C_1,机位C的机位码流中的全帧内预测帧帧流记录为码流#C_2,机位D的机位码流中的GOP流记录为码流#D_1,机位D的机位码流中的全帧内预测帧帧流记录为#码流D_2。
一种情况为:用户期望的切换点处于新机位GOP流的帧内预测帧位置。
在图16示意的场景中,如图17所示,当用户观看到机位C的PTS=3的图像帧时,输入切换指示,指示播放机位D的机位码流,解码设备收到该切换指示后,确定第一随机访问帧为码流#D_1中PTS=3的帧内预测帧,解码设备播放机位C的PTS=3的图像帧,解码设备解码得到码流#D_1中PTS=3的帧内预测帧,并以码流#D_1中PTS=3的帧内预测帧作为参考帧,解码得到并播放码流#D_1中PTS=4及之后的图像帧。图17中的箭头指示则为解码轨迹。
另一种情况为:用户期望的切换点处于新机位GOP流的非帧内预测帧位置。
在图16示意的场景中,如图18所示,当用户观看到机位C的PTS=5的图像帧时,输入切换指示,指示播放机位D的机位码流,解码设备收到该切换指示后,确定第一随机访问帧为码流#D_2中PTS=9的帧内预测帧,解码设备解码得到并播放机位C的码流至PTS=8的图像帧,解码设备解码得到并播放码流#D_2中PTS=9的帧内预测帧,并以码流#D_2中PTS=9的帧内预测帧作为参考帧,解码得到并播放码流#D_1中PTS=10及之后的图像帧。从机位C切换到机位D存在四帧的时延。图18中的箭头指示则为解码轨迹。
在该实施例中,为每个机位准备两种码流,其中一种为GOP码流,另外一种为帧率降为原帧率1/3的全帧内预测帧流。可以在最多2帧时延内完成多机位画面之间的切换,节省存储空间,适合对时延要求更低的场景。全帧内预测帧流可以降低三分之二的编码计算量和存储量,而且只传输一帧全帧内预测帧即可实现切换,节省了大量带宽;码流数量少,节省了编码计算量和存储成本。
需要说明的是,本申请上述实施例中均以码流的PTS与DTS一致进行示例描述,并不是具体限定,在实际应用中可以根据DTS顺序解码,根据PTS顺序进行显示。
还需要说明的是,本申请实施例仅以一个机位码流中包括一组码流为例进行示例具体说明,并不构成具体限定。
上述主要从编码设备、解码设备的工作原理角度对本申请实施例提供的方案进行了介绍。可以理解的是,上述编码设备、解码设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对执行本申请提供的编解码方法的设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图19示出了上述实施例中所涉及的解码设备190的一种可能的结构示意图。该解码设备190可以为功能模块或者芯片。如图19所示,解码设备190可以包括:接收单元1901、确定单元1902、解码播放单元1903。其中,接收单元1901用于执行图7中的过程S703;确定单元1902用于执行图7中的过程S704;解码播放单元1903用于执行图7中的过程S705。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
其中,接收单元1901可以为硬件单元。解码播放单元1903可以通过软件方式解码、硬件方式解码、或者软硬件混合方式解码实现解码过程。当解码播放单元1903采用软件方式解码时,解码播放单元1903可以调用代码实现解码过程,解码播放单元1903可以是GPU,CP),DSP或者AI芯片,或者其他类型。当解码播放单元1903采用硬件件方式解码时,解码播放单元1903可以为ASIC或者FPGA或者其他硬件单元。当解码播放单元1903采用软硬件混合方式解码时,解码播放单元1903中可以包括软件方式解码的部分单元,以及硬件方式解码的部分单元。
在采用集成的单元的情况下,图20示出了上述实施例中所涉及的解码设备的一种可能的结构示意图。如图20所示,解码设备200可以包括:处理模块2001、通信模块2002。处理模块2001用于对解码设备200的动作进行控制管理,通信模块2002用于与其他设备通信。例如,处理模块2001通过通信模块2002执行图7中的过程S701,处理模块2001用于执行图7中的过程S704至S705中任一过程。解码设备200还可以包括存储模块2003,用于存储解码设备200的程序代码和数据。
其中,处理模块2001可以为图5所示的图像处理设备50的实体结构中的处理器501,可以是处理器或控制器。例如可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理模块2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块2002可以为图5所示的图像处理设备50的实体结构中的收发器503,通信模块2002可以是通信端口,或者可以是收发器、收发电路或通信接口等。或者,上述通信接口可以通过上述具有收发功能的元件,实现与其他设备的通信。上述具有收发功能的元件可以由天线和/或射频装置实现。存储模块2003可以是图5所示的图像处理设备50的实体结构中的存储器502。
当处理模块2001为处理器,通信模块2002为收发器,存储模块2003为存储器时,本申请实施例图20所涉及的解码设备200可以为图5所示的图像处理设备50。
如前述,本申请实施例提供的解码设备190或解码设备200可以用于实施上述本申请各实施例实现的方法中解码设备相应的功能,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请各实施例。
在采用对应各个功能划分各个功能模块的情况下,图21示出了上述实施例中所涉及的编码设备210的一种可能的结构示意图。该编码设备210可以为功能模块或者芯片。如图21所示,编码设备210可以包括:获取单元2101、编码单元2102。其中,获取单元2101用于执行图7中的过程S701;编码单元2102用于执行图7中的过程S702。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图22示出了上述实施例中所涉及的编码设备的一种可能的结构示意图。如图22所示,编码设备220可以包括:处理模块2201、通信模块2202。处理模块2201用于对编码设备220的动作进行控制管理,通信模块2202用于与其他设备通信。例如,处理模块2201用于执行图7中的过程S701或S702。编码设备220还可以包括存储模块2203,用于存储编码设备220的程序代码和数据。
其中,处理模块2201可以为图5所示的图像处理设备50的实体结构中的处理器501,可以是处理器或控制器。例如可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理模块2201也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块2202可以为图5所示的图像处理设备50的实体结构中的收发器503,通信模块2202可以是通信端口,或者可以是收发器、收发电路或通信接口等。或者,上述通信接口可以通过上述具有收发功能的元件,实现与其他设备的通信。上述具有收发功能的元件可以由天线和/或射频装置实现。存储模块2203可以是图5所示的图像处理设备50的实体结构中的存储器502。
当处理模块2201为处理器,通信模块2202为收发器,存储模块2203为存储器时,本申请实施例图22所涉及的编码设备220可以为图5所示的图像处理设备50。
如前述,本申请实施例提供的编码设备210或编码设备220可以用于实施上述本申请各实施例实现的方法中相应的功能,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请各实施例。
作为本实施例的另一种形式,提供一种计算机可读存储介质,包括由多个机位拍摄的同一场景得到的多个机位码流,多个机位码流中的每一个机位码流包括第一类码流及第二类码流;多个机位码流中的任一个机位码流的第一类码流和/或任一个机位码流的第二类码流包括用于作为任一个机位码流的第一类码流解码的参考帧的随机访问帧;任一机位码流的第一类码流中存在播放时刻处于另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,和/或,任一机位码流的第二类码流中存在播放时刻处于另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧。
作为本实施例的另一种形式,提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中的编解码方法。
作为本实施例的另一种形式,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行时执行上述方法实施例中的编解码方法。
本申请实施例再提供一种芯片系统,该芯片系统包括处理器,用于实现本发明实施例的技术方法。在一种可能的设计中,该芯片系统还包括存储器,用于保存本发明实施例必要的程序指令和/或数据。在一种可能的设计中,该芯片系统还包括存储器,用于处理器调用存储器中存储的应用程序代码。该芯片系统,可以由一个或多个芯片构成,也可以包含芯片和其他分立器件,本申请实施例对此不作具体限定。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。或者,存储器可以与处理器耦合,例如存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。存储器可以用于存储执行本申请实施例提供的技术方案的应用程序代码,并由处理器来控制执行。处理器用于执行存储器中存储的应用程序代码,从而实现本申请实施例提供的技术方案。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (39)

1.一种解码方法,其特征在于,应用于解码设备,所述解码设备用于解码由多个机位拍摄同一场景得到的多个机位码流,所述多个机位码流中的每一个机位码流包括第一类码流及第二类码流;所述多个机位码流中的任一个机位码流的第一类码流和所述任一个机位码流的第二类码流包括用于作为所述任一个机位码流的第一类码流解码的参考帧的随机访问帧,或者,所述多个机位码流中的任一个机位码流的第二类码流包括用于作为所述任一个机位码流的第一类码流解码的参考帧的随机访问帧,所述方法包括:
在播放所述多个机位码流中的第一机位码流的第一类码流中的第一图像帧时,接收切换请求,所述切换请求用于指示所述解码设备播放所述多个机位码流中的第二机位码流;
确定所述第二机位码流的第一类码流和第二类码流中,播放时刻位于所述第一图像帧之后且距所述第一图像帧最近的第一随机访问帧,所述第二机位码流的第一类码流和第二类码流中存在播放时刻处于所述第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,或,确定所述第二机位码流的第二类码流中,播放时刻位于所述第一图像帧之后且距所述第一图像帧最近的第一随机访问帧,所述第二机位码流的第二类码流中存在播放时刻处于所述两个相邻随机访问帧的播放时刻之间的随机访问帧;所述第一图像帧的播放时刻处于所述两个相邻随机访问帧的播放时刻之间;
根据所述第二机位码流中所述第一随机访问帧的编码数据,解码得到所述第一随机访问帧,并以所述第一随机访问帧作为参考帧,解码得到并播放所述第二机位码流的第一类码流中播放时刻位于所述第一随机访问帧之后的图像帧。
2.根据权利要求1所述的方法,其特征在于,所述第一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述第二机位码流的第一类码流中的随机访问帧对应的播放时刻均不相同,或者,所述第一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述第二机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
3.根据权利要求1或2所述的方法,其特征在于,所述第二机位码流的第一类码流中的随机访问帧对应的播放时刻与所述第二机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
4.根据权利要求1或2所述的方法,其特征在于,所述第一随机访问帧对应的播放时刻位于第二随机访问帧对应的播放时刻之前,所述第二随机访问帧为所述第一机位码流的第一类码流中位于所述第一图像帧之后且距所述第一图像帧最近的随机访问帧。
5.根据权利要求1或2所述的方法,其特征在于,所述任一机位码流的第二类码流包括任一随机访问帧,所述任一随机访问帧为帧内预测帧,所述任一机位码流的第一类码流中的播放时刻位于所述任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测仅参考所述任一随机访问帧,所述任一机位码流的第一类码流中的播放时刻位于所述任一随机访问帧的播放时刻的图像帧,或者所述任一机位码流的第一类码流中的播放时刻位于所述任一随机访问帧的播放时刻之后的图像帧中的至少一个。
6.根据权利要求5所述的方法,其特征在于,所述任一机位码流为所述第二机位码流,所述任一随机访问帧为所述第一随机访问帧。
7.根据权利要求1或2或6所述的方法,其特征在于,所述多个机位为至少两个机位,所述多个机位码流为至少两个机位码流,所述多个机位的数量与所述多个机位码流的数量相同。
8.根据权利要求1或2或6所述的方法,其特征在于,所述任一个机位码流的第二类码流的随机访问帧用于在所述任一个机位码流的第一类码流中的作为参考帧的图像帧不可得的情况下,替代所述任一个机位码流的第一类码流中不可得参考帧,以作为所述任一个机位码流的第一类码流中参考所述不可得参考帧的图像帧的参考帧。
9.根据权利要求1或2或6所述的方法,其特征在于,所述第二机位码流的第一类码流和第二类码流为对同一视频帧序列编码得到,其中,第二类码流为对所述同一视频帧序列的子序列编码得到,所述子序列中相邻的图像帧在所述同一视频帧序列中间隔M帧,所述M大于或等于1。
10.根据权利要求1或2或6所述的方法,其特征在于,所述确定所述第二机位码流的第一类码流和/或第二类码流中,播放时刻位于所述第一图像帧之后且距所述第一图像帧最近的第一随机访问帧,包括:
将所述第二机位码流的第一类码流中播放时刻位于所述第一图像帧之后的下一个随机访问帧,与所述第二机位码流的第二类码流中播放时刻位于所述第一图像帧之后的下一个随机访问帧中,播放时刻最靠近所述第一图像帧的随机访问帧确定为所述第一随机访问帧。
11.根据权利要求1或2或6所述的方法,其特征在于,所述第一类码流中包括间隔分布的帧内预测帧,两个相邻的帧内预测帧之间为帧间预测帧,所述第二类码流中的图像帧均为帧内预测帧。
12.一种编码方法,其特征在于,应用于编码设备,所述编码设备用于编码由多个机位拍摄同一场景得到的多个视频帧序列;所述方法包括:
获取所述多个视频帧序列;
对所述多个视频帧序列进行编码,得到多个机位码流,所述多个视频帧序列的数量与所述多个机位码流的数量相同;
其中,所述多个机位码流中的每一个机位码流包括第一类码流及第二类码流;所述多个机位码流中的任一个机位码流的第一类码流和所述任一个机位码流的第二类码流包括用于作为所述任一个机位码流的第一类码流解码的参考帧的随机访问帧,所述任一机位码流的第一类码流和第二类码流中存在播放时刻处于所述多个机位码流中的另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,或,所述多个机位码流中的任一个机位码流的第二类码流包括用于作为所述任一个机位码流的第一类码流解码的参考帧的随机访问帧,所述任一机位码流的第二类码流中存在播放时刻处于所述两个相邻随机访问帧的播放时刻之间的随机访问帧。
13.根据权利要求12所述的方法,其特征在于,所述任一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述另一机位码流的第一类码流中的随机访问帧对应的播放时刻均不相同,或者,所述任一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述另一机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
14.根据权利要求12或13所述的方法,其特征在于,所述任一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述任一机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
15.根据权利要求12或13所述的方法,其特征在于,所述任一机位码流的第二类码流包括任一随机访问帧,所述任一随机访问帧为帧内预测帧,所述任一机位码流的第一类码流中的播放时刻位于所述任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测仅参考所述任一随机访问帧,所述任一机位码流的第一类码流中的播放时刻位于所述任一随机访问帧的播放时刻的图像帧,或者所述任一机位码流的第一类码流中的播放时刻位于所述任一随机访问帧的播放时刻之后的图像帧中至少一个。
16.根据权利要求12或13所述的方法,其特征在于,所述任一机位码流的第一类码流和第二类码流为对同一视频帧序列编码得到,其中,第二类码流为对所述同一视频帧序列的子序列编码得到,所述子序列中相邻的图像帧在所述同一视频帧序列中间隔M帧,所述M大于或等于1。
17.根据权利要求12或13所述的方法,其特征在于,所述第一类码流中包括间隔分布的帧内预测帧,两个相邻的帧内预测帧之间为帧间预测帧,所述第二类码流中的图像帧均为帧内预测帧。
18.一种解码设备,其特征在于,所述解码设备用于解码由多个机位拍摄同一场景得到的多个机位码流,所述多个机位码流中的每一个机位码流包括第一类码流及第二类码流;所述多个机位码流中的任一个机位码流的第一类码流和所述任一个机位码流的第二类码流包括用于作为所述任一个机位码流的第一类码流解码的参考帧的随机访问帧,或者,所述多个机位码流中的任一个机位码流的第二类码流包括用于作为所述任一个机位码流的第一类码流解码的参考帧的随机访问帧,所述解码设备包括:
接收单元,用于在所述解码设备播放所述多个机位码流中的第一机位码流的第一类码流中的第一图像帧时,接收切换请求,所述切换请求用于指示所述解码设备播放所述多个机位码流中的第二机位码流;
确定单元,用于确定所述第二机位码流的第一类码流和第二类码流中,播放时刻位于所述第一图像帧之后且距所述第一图像帧最近的第一随机访问帧,所述第二机位码流的第一类码流和第二类码流中存在播放时刻处于所述第一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧;或者,用于确定所述第二机位码流的第二类码流中,播放时刻位于所述第一图像帧之后且距所述第一图像帧最近的第一随机访问帧,所述第二机位码流的第二类码流中存在播放时刻处于所述两个相邻随机访问帧的播放时刻之间的随机访问帧;所述第一图像帧的播放时刻处于所述两个相邻随机访问帧的播放时刻之间;
解码播放单元,用于根据所述第二机位码流中所述第一随机访问帧的编码数据,解码得到所述第一随机访问帧,并以所述第一随机访问帧作为参考帧,解码得到并播放所述第二机位码流的第一类码流中播放时刻位于所述第一随机访问帧之后的图像帧。
19.根据权利要求18所述的解码设备,其特征在于,所述第一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述第二机位码流的第一类码流中的随机访问帧对应的播放时刻均不相同,或者,所述第一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述第二机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
20.根据权利要求18或19所述的解码设备,其特征在于,所述第二机位码流的第一类码流中的随机访问帧对应的播放时刻与所述第二机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
21.根据权利要求18或19所述的解码设备,其特征在于,所述第一随机访问帧对应的播放时刻位于第二随机访问帧对应的播放时刻之前,所述第二随机访问帧为所述第一机位码流的第一类码流中位于所述第一图像帧之后且距所述第一图像帧最近的随机访问帧。
22.根据权利要求18或19所述的解码设备,其特征在于,所述任一机位码流的第二类码流包括任一随机访问帧,所述任一随机访问帧为帧内预测帧,所述任一机位码流的第一类码流中的播放时刻位于所述任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测仅参考所述任一随机访问帧,所述任一机位码流的第一类码流中的播放时刻位于所述任一随机访问帧的播放时刻的图像帧,或者所述任一机位码流的第一类码流中的播放时刻位于所述任一随机访问帧的播放时刻之后的图像帧中至少一个。
23.根据权利要求22所述的解码设备,其特征在于,所述任一机位码流为所述第二机位码流,所述任一随机访问帧为所述第一随机访问帧。
24.根据权利要求18或19或23所述的解码设备,其特征在于,所述多个机位为至少两个机位,所述多个机位码流为至少两个机位码流,所述多个机位的数量与所述多个机位码流的数量相同。
25.根据权利要求18或19或23所述的解码设备,其特征在于,所述任一个机位码流的第二类码流的随机访问帧用于在所述任一个机位码流的第一类码流中的作为参考帧的图像帧不可得的情况下,替代所述任一个机位码流的第一类码流中不可得参考帧,以作为所述任一个机位码流的第一类码流中参考所述不可得参考帧的图像帧的参考帧。
26.根据权利要求18或19或23所述的解码设备,其特征在于,所述第二机位码流的第一类码流和第二类码流为对同一视频帧序列编码得到,其中,第二类码流为对所述同一视频帧序列的子序列编码得到,所述子序列中相邻的图像帧在所述同一视频帧序列中间隔M帧,所述M大于或等于1。
27.根据权利要求18或19或23所述的解码设备,其特征在于,所述确定单元用于:
将所述第二机位码流的第一类码流中播放时刻位于所述第一图像帧之后的下一个随机访问帧,与所述第二机位码流的第二类码流中播放时刻位于所述第一图像帧之后的下一个随机访问帧中,播放时刻最靠近所述第一图像帧的随机访问帧确定为所述第一随机访问帧。
28.根据权利要求18或19或23所述的解码设备,其特征在于,所述第一类码流中包括间隔分布的帧内预测帧,两个相邻的帧内预测帧之间为帧间预测帧,所述第二类码流中的图像帧均为帧内预测帧。
29.一种编码设备,其特征在于,所述编码设备用于编码由多个机位拍摄同一场景得到的多个视频帧序列;所述编码设备包括:
获取单元,用于获取所述多个视频帧序列;
编码单元,用于对所述获取单元获取的所述多个视频帧序列进行编码,得到多个机位码流,所述多个视频帧序列的数量与所述多个机位码流的数量相同;
其中,所述多个机位码流中的每一个机位码流包括第一类码流及第二类码流;所述多个机位码流中的任一个机位码流的第一类码流和所述任一个机位码流的第二类码流包括用于作为所述任一个机位码流的第一类码流解码的参考帧的随机访问帧,所述任一机位码流的第一类码流和第二类码流中存在播放时刻处于所述多个机位码流中的另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,或,所述多个机位码流中的任一个机位码流的第二类码流包括用于作为所述任一个机位码流的第一类码流解码的参考帧的随机访问帧,所述任一机位码流的第二类码流中存在播放时刻处于所述两个相邻随机访问帧的播放时刻之间的随机访问帧。
30.根据权利要求29所述的编码设备,其特征在于,所述任一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述另一机位码流的第一类码流中的随机访问帧对应的播放时刻均不相同,或者,所述任一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述另一机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
31.根据权利要求29或30所述的编码设备,其特征在于,所述任一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述任一机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
32.根据权利要求29或30所述的编码设备,其特征在于,所述任一机位码流的第二类码流包括任一随机访问帧,所述任一随机访问帧为帧内预测帧,所述任一机位码流的第一类码流中的播放时刻位于所述任一随机访问帧的播放时刻之后的帧间预测编码帧的帧间预测仅参考所述任一随机访问帧,所述任一机位码流的第一类码流中的播放时刻位于所述任一随机访问帧的播放时刻的图像帧,或者所述任一机位码流的第一类码流中的播放时刻位于所述任一随机访问帧的播放时刻之后的图像帧中至少一个。
33.根据权利要求29或30所述的编码设备,其特征在于,所述任一机位码流的第一类码流和第二类码流为对同一视频帧序列编码得到,其中,第二类码流为对所述同一视频帧序列的子序列编码得到,所述子序列中相邻的图像帧在所述同一视频帧序列中间隔M帧,所述M大于或等于1。
34.根据权利要求29或30所述的编码设备,其特征在于,所述第一类码流中包括间隔分布的帧内预测帧,两个相邻的帧内预测帧之间为帧间预测帧,所述第二类码流中的图像帧均为帧内预测帧。
35.一种解码设备,其特征在于,所述解码设备包括:处理器和传输接口;
所述传输接口用于接收和/或发送数据;
所述处理器被配置为调用存储在存储器中的软件指令,以使得所述解码设备执行如权利要求1至11中任一项所述的解码方法。
36.一种编码设备,其特征在于,所述编码设备包括:处理器和传输接口;
所述传输接口用于接收和/或发送数据;
所述处理器被配置为调用存储在存储器中的软件指令,以使得所述编码设备执行如权利要求12至17中任一项所述的编码方法。
37.一种计算机可读存储介质,其特征在于,包括由多个机位拍摄的同一场景得到的多个机位码流中至少一个机位码流,所述多个机位码流中的每一个机位码流包括第一类码流及第二类码流;所述多个机位码流中的任一个机位码流的第一类码流和所述任一个机位码流的第二类码流包括用于作为所述任一个机位码流的第一类码流解码的参考帧的随机访问帧,或者,所述多个机位码流中的任一个机位码流的第二类码流包括用于作为所述任一个机位码流的第一类码流解码的参考帧的随机访问帧;
所述任一机位码流的第一类码流和第二类码流中存在播放时刻处于所述多个机位码流中的另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧,或,所述任一机位码流的第二类码流中存在播放时刻处于所述另一机位码流的第一类码流的两个相邻随机访问帧的播放时刻之间的随机访问帧。
38.根据权利要求37所述的计算机可读存储介质,其特征在于,所述任一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述另一机位码流的第一类码流中的随机访问帧对应的播放时刻均不相同,或者,所述任一机位码流的第一类码流中的随机访问帧对应的播放时刻与所述另一机位码流的第二类码流中的随机访问帧对应的播放时刻均不相同。
39.一种计算机可读存储介质,其特征在于,包括:计算机软件指令;
当所述计算机软件指令在计算设备上运行时,使得所述计算设备执行如权利要求1至11中任一项所述解码方法,或,执行如权利要求12至17中任一项所述编码方法。
CN202010865789.2A 2020-08-25 2020-08-25 一种编解码方法、装置及系统 Active CN114125554B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010865789.2A CN114125554B (zh) 2020-08-25 2020-08-25 一种编解码方法、装置及系统
PCT/CN2021/111545 WO2022042281A1 (zh) 2020-08-25 2021-08-09 一种编解码方法、装置及系统
EP21860120.1A EP4195674A4 (en) 2020-08-25 2021-08-09 CODING AND DECODING METHOD, APPARATUS AND SYSTEM
US18/173,887 US20230209131A1 (en) 2020-08-25 2023-02-24 Encoding and decoding method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010865789.2A CN114125554B (zh) 2020-08-25 2020-08-25 一种编解码方法、装置及系统

Publications (2)

Publication Number Publication Date
CN114125554A CN114125554A (zh) 2022-03-01
CN114125554B true CN114125554B (zh) 2023-03-10

Family

ID=80354530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010865789.2A Active CN114125554B (zh) 2020-08-25 2020-08-25 一种编解码方法、装置及系统

Country Status (4)

Country Link
US (1) US20230209131A1 (zh)
EP (1) EP4195674A4 (zh)
CN (1) CN114125554B (zh)
WO (1) WO2022042281A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101588488A (zh) * 2009-06-18 2009-11-25 北京浪弯融科科技有限责任公司 多机位流媒体发送方法、多机位流媒体播放方法及系统
CN101953164A (zh) * 2008-02-21 2011-01-19 英国电讯有限公司 视频流传送
CN102055967A (zh) * 2009-10-28 2011-05-11 中国移动通信集团公司 多视点视频的视角切换以及编码方法和装置
CN110149491A (zh) * 2018-02-11 2019-08-20 腾讯科技(深圳)有限公司 视频编码方法、视频解码方法、终端及存储介质
CN110636370A (zh) * 2018-06-25 2019-12-31 阿里巴巴集团控股有限公司 一种视频处理方法、装置、电子设备和可读介质
CN110999294A (zh) * 2017-06-12 2020-04-10 奈飞公司 交错式关键帧视频编码

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2124451A3 (en) * 2008-05-23 2014-03-26 Sony Corporation Content server, information processing apparatus, network device, content distribution method, information processing method, and content distribution system
US9813740B2 (en) * 2012-08-24 2017-11-07 Google Inc. Method and apparatus for streaming multimedia data with access point positioning information
US9462270B1 (en) * 2012-12-10 2016-10-04 Arris Enterprises, Inc. Video frame alignment in adaptive bitrate streaming
US9900362B2 (en) * 2014-02-11 2018-02-20 Kiswe Mobile Inc. Methods and apparatus for reducing latency shift in switching between distinct content streams
WO2019210152A1 (en) * 2018-04-26 2019-10-31 Phenix Real Time Solutions, Inc. Adaptive bit-rate methods for live broadcasting
CN110708569B (zh) * 2019-09-12 2021-08-13 北京达佳互联信息技术有限公司 一种视频处理方法、装置、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101953164A (zh) * 2008-02-21 2011-01-19 英国电讯有限公司 视频流传送
CN101588488A (zh) * 2009-06-18 2009-11-25 北京浪弯融科科技有限责任公司 多机位流媒体发送方法、多机位流媒体播放方法及系统
CN102055967A (zh) * 2009-10-28 2011-05-11 中国移动通信集团公司 多视点视频的视角切换以及编码方法和装置
CN110999294A (zh) * 2017-06-12 2020-04-10 奈飞公司 交错式关键帧视频编码
CN110149491A (zh) * 2018-02-11 2019-08-20 腾讯科技(深圳)有限公司 视频编码方法、视频解码方法、终端及存储介质
CN110636370A (zh) * 2018-06-25 2019-12-31 阿里巴巴集团控股有限公司 一种视频处理方法、装置、电子设备和可读介质

Also Published As

Publication number Publication date
EP4195674A4 (en) 2024-01-03
WO2022042281A1 (zh) 2022-03-03
EP4195674A1 (en) 2023-06-14
CN114125554A (zh) 2022-03-01
US20230209131A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
CN111316598B (zh) 一种多屏互动方法及设备
CN110191241B (zh) 一种语音通信方法及相关装置
CN112312366B (zh) 一种通过nfc标签实现功能的方法、电子设备及系统
CN114710640A (zh) 基于虚拟形象的视频通话方法、装置和终端
CN112351156A (zh) 一种镜头切换方法及装置
CN113596319A (zh) 基于画中画的图像处理方法、设备、存储介质和程序产品
CN113747060B (zh) 图像处理的方法、设备、存储介质
CN113709464A (zh) 视频编码方法及相关设备
CN113572948B (zh) 视频处理方法和视频处理装置
CN114422340A (zh) 日志上报方法、电子设备及存储介质
CN114339429A (zh) 音视频播放控制方法、电子设备和存储介质
CN114880251A (zh) 存储单元的访问方法、访问装置和终端设备
CN113542613A (zh) 一种用于拍照的装置及方法
CN113593567B (zh) 视频声音转文本的方法及相关设备
CN114257920A (zh) 一种音频播放方法、系统和电子设备
CN113497851B (zh) 控制显示方法及电子设备
CN113923351B (zh) 多路视频拍摄的退出方法、设备和存储介质
CN113596320B (zh) 视频拍摄变速录制方法、设备、存储介质
CN113126948A (zh) 一种音频播放方法及相关设备
CN114125554B (zh) 一种编解码方法、装置及系统
WO2022199613A1 (zh) 同步播放方法及装置
WO2022095752A1 (zh) 帧解复用方法、电子设备及存储介质
CN112469012A (zh) 一种蓝牙通信方法及相关装置
CN113852755A (zh) 拍摄方法、设备、计算机可读存储介质及程序产品
CN114339140A (zh) 一种可交互监控装置、视频传输方法及装置

Legal Events

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