CN114745542A - 编码方法、电子设备、通信系统、存储介质和程序产品 - Google Patents

编码方法、电子设备、通信系统、存储介质和程序产品 Download PDF

Info

Publication number
CN114745542A
CN114745542A CN202110025066.6A CN202110025066A CN114745542A CN 114745542 A CN114745542 A CN 114745542A CN 202110025066 A CN202110025066 A CN 202110025066A CN 114745542 A CN114745542 A CN 114745542A
Authority
CN
China
Prior art keywords
frame
image stream
resolution
image
time interval
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
CN202110025066.6A
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.)
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 CN202110025066.6A priority Critical patent/CN114745542A/zh
Priority to US18/260,895 priority patent/US20240073415A1/en
Priority to EP22736518.6A priority patent/EP4262216A4/en
Priority to PCT/CN2022/070199 priority patent/WO2022148356A1/zh
Publication of CN114745542A publication Critical patent/CN114745542A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • 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
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44245Monitoring the upstream path of the transmission network, e.g. its availability, bandwidth
    • 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/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Studio Devices (AREA)

Abstract

本申请实施例提供一种编码方法、电子设备、通信系统、存储介质和程序产品。编码方法包括:第一设备根据第一分辨率、第二分辨率、I帧时间间隔和帧率,确定第一图像流的I帧位置和第二图像流的I帧位置;所述第一设备根据所述第一图像流的I帧位置,对所述第一图像流进行编码,得到第一压缩流;所述第一设备根据所述第二图像流的I帧位置,对所述第二图像流进行编码,得到第二压缩流;所述第一设备向所述第二设备发送所述第一压缩流和所述第二压缩流。可解决多路图像流传输时间较长引起的时延问题。

Description

编码方法、电子设备、通信系统、存储介质和程序产品
技术领域
本申请实施例涉及终端技术领域,尤其涉及一种编码方法、电子设备、通信系统、存储介质和程序产品。
背景技术
本地设备需要借助远端设备得到多路图像流时,可通过网络控制一个远端设备开启多个摄像头,该远端设备将各个摄像头采集的图像流发送给本地设备,使得用户能够在本地设备查看远端设备上多个摄像头采集的图像流。或者本地设备可通过网络控制多个远端设备开启摄像头,多个远端设备将采集到的图像流发送给本地设备,使得用户能够在本地设备查看多个远端设备采集的图像流。
然而,每路图像流的数据量都很大,多路图像流传输至本地设备所使用的时间较长,导致本地设备显示的画面时延较大。
发明内容
本申请实施例提供的一种编码方法、电子设备、通信系统、存储介质和程序产品,用于解决多路图像流传输时间较长引起的时延问题。
第一方面,本申请实施例提供的一种编码方法,应用于通信系统,所述通信系统包括:第一设备和第二设备,所述第一设备包括:第一摄像头和第二摄像头,所述方法包括:
所述第二设备向所述第一设备发送第一指令;
所述第一设备根据所述第一指令,配置第一分辨率和第二分辨率;所述第一设备控制所述第一摄像头和所述第二摄像头采集图像;所述第一设备对所述第一摄像头采集的图像流进行处理,得到第一图像流,所述第一图像流的分辨率为所述第一分辨率;所述第一设备对所述第二摄像头采集的图像流进行处理,得到第二图像流,所述第二图像流的分辨率为所述第二分辨率;所述第一设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置;所述第一设备根据所述第一图像流的I帧位置,对所述第一图像流进行编码,得到第一压缩流;所述第一设备根据所述第二图像流的I帧位置,对所述第二图像流进行编码,得到第二压缩流;所述第一设备向所述第二设备发送所述第一压缩流和所述第二压缩流。
由于第一设备分别对两路图像流进行了压缩,得到的两路压缩流的数据量远小于对应图像流的数据量,两路压缩流传输至第二设备所使用的时间较短,第二设备接收到两路压缩流后,对两路压缩流进行解码便可得到对应的图像流,解决了多路图像流传输时间较长引起的时延问题。另外,第一设备分别对两路图像流进行压缩之前,以分辨率为依据,计算两路图像流的I帧位置,针对每路图像流,在对应的位置处生成I帧,使得两路图像流的I帧平均分布,可避免I帧并发时数据量瞬时增大引起的画面抖动问题。
第一方面提供的编码方法,第一设备在本申请实施例中也称为远端设备,第二设备在本申请实施例中也称为本地设备。
一种可能的实现方式中,所述I帧位置为I帧的帧序号;所述第一设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置,包括:所述第一设备将所述第一图像流中第1帧图像的帧序号作为所述第一图像流的第1个I帧的帧序号,将所述第二图像流中第1帧图像的帧序号作为所述第二图像流的第1个I帧的帧序号;所述第一设备根据所述第一分辨率和所述第二分辨率,确定所述第一图像流的I帧位置权重和所述第二图像流的I帧位置权重;所述第一设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述I帧时间间隔和所述帧率,确定所述第一图像流的第n个I帧的帧序号和所述第二图像流的第n个I帧的帧序号,n大于等于2。
一种可能的实现方式中,所述第一设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述I帧时间间隔和所述帧率,确定所述第一图像流的第n个I帧的帧序号和所述第二图像流的第n个I帧的帧序号,包括:所述第一设备确定所述第一图像流的第2个I帧的帧序号;所述第一设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第2个I帧的帧序号;所述第一设备根据所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第一图像流的第m个I帧的帧序号,m大于等于3;所述第一设备根据所述第二图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第m个I帧的帧序号,m大于等于3。
一种可能的实现方式中,所述第一设备根据所述第一分辨率和所述第二分辨率,确定所述第一图像流的I帧位置权重和所述第二图像流的I帧位置权重,包括:所述第一设备通过如下公式确定所述第一图像流的I帧位置权重:
Figure BDA0002889964000000021
其中,W1为所述第一图像流的I帧位置权重,S1为所述第一分辨率,S2为所述第二分辨率;
所述第一设备通过如下公式确定所述第二图像流的I帧位置权重:
Figure BDA0002889964000000022
其中,W2为所述第二图像流的I帧位置权重,S1为所述第一分辨率,S2为所述第二分辨率。
一种可能的实现方式中,所述第一设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第2个I帧的帧序号,包括:所述第一设备通过如下公式确定所述第二图像流的第2个I帧的帧序号:
P2=P1+(W1+W2)*INR*Fps/2
其中,P2为所述第二图像流的第2个I帧的帧序号,P1为所述第一图像流的第2个I帧的帧序号,W1为所述第一图像流的I帧位置权重,W2为所述第二图像流的I帧位置权重,INR为所述I帧时间间隔,Fps为所述帧率。
一种可能的实现方式中,所述第一设备根据所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第一图像流的第m个I帧的帧序号,包括:所述第一设备通过如下公式确定所述第一图像流的第m个I帧的帧序号:
Pm=Pm-1+INR*Fps
其中,Pm为所述第一图像流的第m个I帧的帧序号,Pm-1为所述第一图像流的第m-1个I帧的帧序号,INR为所述I帧时间间隔,Fps为所述帧率;
所述第一设备根据所述第二图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第m个I帧的帧序号,包括:所述第一设备通过如下公式确定所述第二图像流的第m个I帧的帧序号:
P′m=P′m-1+INR*Fps
其中,P′m为所述第二图像流的第m个I帧的帧序号,P′m-1为所述第二图像流的第m-1个I帧的帧序号,INR为所述I帧时间间隔,Fps为所述帧率。
一种可能的实现方式中,所述第一设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置之前,所述方法还包括:所述第一设备根据当前网络带宽、第一带宽阈值和第二带宽阈值,确定所述I帧时间间隔,所述第一带宽阈值大于所述第二带宽阈值。
一种可能的实现方式中,所述第一设备根据当前网络带宽、第一带宽阈值和第二带宽阈值,确定所述I帧时间间隔,包括:若所述当前网络带宽大于或者等于所述第一带宽阈值,所述第一设备将第一预设间隔作为所述I帧时间间隔;若所述当前网络带宽大于所述第二带宽阈值且小于所述第一带宽阈值,所述第一设备根据所述当前网络带宽、所述第一带宽阈值、所述第二带宽阈值、所述第一预设间隔以及第二预设间隔,确定所述I帧时间间隔,所述第二预设间隔大于所述第一预设间隔。
一种可能的实现方式中,所述第一设备根据所述当前网络带宽、所述第一带宽阈值、所述第二带宽阈值、所述第一预设间隔以及第二预设间隔,确定所述I帧时间间隔,包括:所述第一设备通过如下公式确定所述I帧时间间隔:
INR=INRnormal+(INRmax-INRnormal)*(BW-TH2)/(TH1-TH2)
其中,INR为所述I帧时间间隔,INRnormal为所述第一预设间隔,INRmax为所述第二预设间隔,BW为所述当前网络带宽,TH1为所述第一带宽阈值,TH2为所述第二带宽阈值。
一种可能的实现方式中,所述I帧位置为I帧的时间戳;所述第一设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置,包括:所述第一设备根据所述第一分辨率、所述第二分辨率、所述I帧时间间隔和所述帧率,确定所述第一图像流的I帧的帧序号和所述第二图像流的I帧的帧序号;所述第一设备根据所述第一图像流的I帧的帧序号、所述第一图像流中第1帧图像的时间戳和所述帧率,确定所述第一图像流的I帧的时间戳;所述第一设备根据所述第二图像流的I帧的帧序号、所述第二图像流中第1帧图像的时间戳和所述帧率,确定所述第二图像流的I帧的时间戳。
一种可能的实现方式中,所述第一设备还包括:第三摄像头,所述方法还包括:所述第二设备向所述第一设备发送第二指令;所述第一设备根据所述第二指令,配置第三分辨率;所述第一设备控制所述第三摄像头采集图像;所述第一设备对所述第三摄像头采集的图像流进行处理,得到第三图像流,所述第三图像流的分辨率为所述第三分辨率;所述第一设备根据所述第一分辨率、所述第二分辨率、所述第三分辨率、所述I帧时间间隔和所述帧率,确定所述第一图像流的I帧位置、所述第二图像流的I帧位置和所述第三图像流的I帧位置。
一种可能的实现方式中,所述第一设备根据所述第一分辨率、所述第二分辨率、所述第三分辨率、所述I帧时间间隔和所述帧率,确定所述第一图像流的I帧位置、所述第二图像流的I帧位置和所述第三图像流的I帧位置,包括:所述第一设备将所述第三摄像头采集第1帧图像时,所述第一摄像头和所述第二摄像头采集的图像的帧序号更新为第1帧图像的帧序号;所述第一设备将所述第一图像流中第1帧图像的帧序号作为所述第一图像流的第1个I帧的帧序号,将所述第二图像流中第1帧图像的帧序号作为所述第二图像流的第1个I帧的帧序号,将所述第三图像流中第1帧图像的帧序号作为所述第三图像流的第1个I帧的帧序号;所述第一设备根据所述第一分辨率、所述第二分辨率和所述第三分辨率,确定所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重和所述第三图像流的I帧位置权重;所述第一设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述第三图像流的I帧位置权重、所述I帧时间间隔和所述帧率,确定所述第一图像流的第n个I帧的帧序号、所述第二图像流的第n个I帧的帧序号和所述第三图像流的第n个I帧的帧序号,n大于等于2。
一种可能的实现方式中,所述方法还包括:所述第二设备向所述第一设备发送第三指令;所述第一设备根据所述第三指令,配置第四分辨率;所述第一设备对所述第一摄像头采集的图像流进行处理,得到第四图像流,所述第四图像流的分辨率为所述第四分辨率;所述第一设备根据所述第二分辨率、所述第四分辨率、所述I帧时间间隔和所述帧率,确定所述第二图像流的I帧位置和所述第四图像流的I帧位置。
一种可能的实现方式中,所述第一设备根据所述第二分辨率、所述第四分辨率、所述I帧时间间隔和所述帧率,确定所述第二图像流的I帧位置和所述第四图像流的I帧位置,包括:所述第一设备将接收到所述第三指令时,所述第一摄像头和所述第二摄像头采集的图像的帧序号更新为第1帧图像的帧序号;所述第一设备将所述第二图像流中第1帧图像的帧序号作为所述第一图像流的第1个I帧的帧序号,将所述第四图像流中第1帧图像的帧序号作为所述第四图像流的第1个I帧的帧序号;所述第一设备根据所述第二分辨率和所述第四分辨率,确定所述第二图像流的I帧位置权重和所述第四图像流的I帧位置权重;所述第一设备根据所述第二图像流的I帧位置权重、所述第四图像流的I帧位置权重、所述I帧时间间隔和所述帧率,确定所述第二图像流的第n个I帧的帧序号和所述第四图像流的第n个I帧的帧序号,n大于等于2。
第二方面,本申请实施例提供一种编码方法,应用于通信系统,所述通信系统包括:第一设备、第二设备和第三设备,所述方法包括:
所述第三设备分别向所述第一设备和所述第二设备发送第一指令;
所述第一设备根据所述第一指令,配置第一分辨率;对所述第一设备采集的图像流进行处理,得到第一图像流,所述第一图像流的分辨率为所述第一分辨率;
所述第二设备根据所述第一指令,配置第二分辨率;对所述第二设备采集的图像流进行处理,得到第二图像流,所述第二图像流的分辨率为所述第二分辨率;
所述第三设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置;向所述第一设备发送所述第一图像流的I帧位置;向所述第二设备发送所述第二图像流的I帧位置;
所述第一设备根据所述第一图像流的I帧位置,对所述第一图像流进行编码,得到第一压缩流;向所述第三设备发送所述第一压缩流;
所述第二设备根据所述第二图像流的I帧位置,对所述第二图像流进行编码,得到第二压缩流;向所述第三设备发送所述第二压缩流。
由于第一设备对第一图像流进行了压缩,第二设备对第二图像流进行了压缩,得到的两路压缩流的数据量远小于对应图像流的数据量,两路压缩流传输至第三设备所使用的时间较短,第三设备接收到两路压缩流后,对两路压缩流进行解码便可得到对应的图像流,解决了多路图像流传输时间较长引起的时延问题。另外,第三设备以分辨率为依据,计算两路图像流的I帧位置,并将两路图像流的I帧位置发送给对应的设备,使得第一设备根据接收到I帧位置,在对应的位置处生成I帧,第二设备根据接收到I帧位置,在对应的位置处生成I帧,由于两路图像流的I帧平均分布,可避免I帧并发时数据量瞬时增大引起的画面抖动问题。
一种可能的实现方式中,所述I帧位置为I帧的帧序号;所述第三设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置,包括:所述第三设备将所述第一图像流中第1帧图像的帧序号作为所述第一图像流的第1个I帧的帧序号,将所述第二图像流中第1帧图像的帧序号作为所述第二图像流的第1个I帧的帧序号;所述第三设备根据所述第一分辨率和所述第二分辨率,确定所述第一图像流的I帧位置权重和所述第二图像流的I帧位置权重;所述第三设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述I帧时间间隔和所述帧率,确定所述第一图像流的第n个I帧的帧序号和所述第二图像流的第n个I帧的帧序号,n大于等于2。
一种可能的实现方式中,所述第三设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述I帧时间间隔和所述帧率,确定所述第一图像流的第n个I帧的帧序号和所述第二图像流的第n个I帧的帧序号,包括:所述第三设备确定所述第一图像流的第2个I帧的帧序号;所述第三设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第2个I帧的帧序号;所述第三设备根据所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第一图像流的第m个I帧的帧序号,m大于等于3;所述第三设备根据所述第二图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第m个I帧的帧序号,m大于等于3。
一种可能的实现方式中,所述第三设备根据所述第一分辨率和所述第二分辨率,确定所述第一图像流的I帧位置权重和所述第二图像流的I帧位置权重,包括:所述第三设备通过如下公式确定所述第一图像流的I帧位置权重:
Figure BDA0002889964000000051
其中,W1为所述第一图像流的I帧位置权重,S1为所述第一分辨率,S2为所述第二分辨率;
所述第三设备通过如下公式确定所述第二图像流的I帧位置权重:
Figure BDA0002889964000000052
其中,W2为所述第二图像流的I帧位置权重,S1为所述第一分辨率,S2为所述第二分辨率。
一种可能的实现方式中,所述第三设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第2个I帧的帧序号,包括:所述第三设备通过如下公式确定所述第二图像流的第2个I帧的帧序号:
P2=P1+(W1+W2)*INR*Fps/2
其中,P2为所述第二图像流的第2个I帧的帧序号,P1为所述第一图像流的第2个I帧的帧序号,W1为所述第一图像流的I帧位置权重,W2为所述第二图像流的I帧位置权重,INR为所述I帧时间间隔,Fps为所述帧率。
一种可能的实现方式中,所述第三设备根据所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第一图像流的第m个I帧的帧序号,包括:所述第三设备通过如下公式确定所述第一图像流的第m个I帧的帧序号:
Pm=Pm-1+INR*Fps
其中,Pm为所述第一图像流的第m个I帧的帧序号,Pm-1为所述第一图像流的第m-1个I帧的帧序号,INR为所述I帧时间间隔,Fps为所述帧率;
所述第三设备根据所述第二图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第m个I帧的帧序号,包括:所述第三设备通过如下公式确定所述第二图像流的第m个I帧的帧序号:
P′m=P′m-1+INR*Fps
其中,P′m为所述第二图像流的第m个I帧的帧序号,P′m-1为所述第二图像流的第m-1个I帧的帧序号,INR为所述I帧时间间隔,Fps为所述帧率。
一种可能的实现方式中,所述第三设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置之前,所述方法还包括:所述第三设备根据当前网络带宽、第一带宽阈值和第二带宽阈值,确定所述I帧时间间隔,所述第一带宽阈值大于所述第二带宽阈值。
一种可能的实现方式中,所述第三设备根据当前网络带宽、第一带宽阈值和第二带宽阈值,确定所述I帧时间间隔,包括:若所述当前网络带宽大于或者等于所述第一带宽阈值,所述第三设备将第一预设间隔作为所述I帧时间间隔;若所述当前网络带宽大于所述第二带宽阈值且小于所述第一带宽阈值,所述第三设备根据所述当前网络带宽、所述第一带宽阈值、所述第二带宽阈值、所述第一预设间隔以及第二预设间隔,确定所述I帧时间间隔,所述第二预设间隔大于所述第一预设间隔。
一种可能的实现方式中,所述第三设备根据所述当前网络带宽、所述第一带宽阈值、所述第二带宽阈值、所述第一预设间隔以及第二预设间隔,确定所述I帧时间间隔,包括:所述第三设备通过如下公式确定所述I帧时间间隔:
INR=INRnormal+(INRmax-INRnormal)*(BW-TH2)/(TH1-TH2)
其中,INR为所述I帧时间间隔,INRnormal为所述第一预设间隔,INRmax为所述第二预设间隔,BW为所述当前网络带宽,TH1为所述第一带宽阈值,TH2为所述第二带宽阈值。
第二方面提供的编码方法,第一设备在本申请实施例中也称为远端设备1,第二设备在本申请实施例中也称为远端设备1,第三设备在本申请实施例中也称为本地设备。
第三方面,本申请实施例提供一种电子设备,包括:存储器和处理器,所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,使得所述电子设备实现第一方面提供的编码方法中第一设备执行的步骤。
第四方面,本申请实施例提供一种电子设备,包括:存储器和处理器,所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,使得所述电子设备实现第一方面提供的编码方法中第二设备执行的步骤。
第五方面,本申请实施例提供一种通信系统,包括:第三方面提供的电子设备和第四方面提供的电子设备。
第六方面,本申请实施例提供一种电子设备,包括:存储器和处理器,所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,使得所述电子设备实现第二方面提供的编码方法中第一设备执行的步骤。
第七方面,本申请实施例提供一种电子设备,包括:存储器和处理器,所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,使得所述电子设备实现第二方面提供的编码方法中第二设备执行的步骤。
第八方面,本申请实施例提供一种电子设备,包括:存储器和处理器,所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,使得所述电子设备实现第二方面提供的编码方法中第三设备执行的步骤。
第九方面,本申请实施例提供一种通信系统,包括:第六方面提供的电子设备、第七方面提供的电子设备和第八方面提供的电子设备。
第十方面,本申请实施例提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序在被执行时,实现第一方面提供的编码方法中第一设备执行的步骤,或者实现第一方面提供的编码方法中第二设备执行的步骤,或者实现第二方面提供的编码方法中第一设备执行的步骤,或者实现第二方面提供的编码方法中第二设备执行的步骤,或者实现第二方面提供的编码方法中第三设备执行的步骤。
第十一方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品包含的指令在计算机上运行时,使得所述计算机实现第一方面提供的编码方法中第一设备执行的步骤,或者实现第一方面提供的编码方法中第二设备执行的步骤,或者实现第二方面提供的编码方法中第一设备执行的步骤,或者实现第二方面提供的编码方法中第二设备执行的步骤,或者实现第二方面提供的编码方法中第三设备执行的步骤。
本申请实施例提供的编码方法、电子设备、通信系统、存储介质和程序产品,分别对多路图像流进行了压缩,得到的多路压缩流的数据量远小于对应图像流的数据量,多路压缩流传输至本地设备所使用的时间较短,本地设备接收到多路压缩流后,对多路压缩流进行解码便可得到对应的图像流,解决了多路图像流传输时间较长引起的时延问题。另外,对多路图像流进行压缩之前,以分辨率为依据,计算多路图像流的I帧位置,针对每路图像流,在对应的位置处生成I帧,使得多路图像流的I帧平均分布,可避免I帧并发时数据量瞬时增大引起的画面抖动问题。
附图说明
图1为本申请实施例提供的图像序列示意图;
图2为本申请实施例提供的压缩流示意图;
图3为本申请实施例提供的应用场景图一;
图4为本申请实施例提供的应用场景图二;
图5为本申请实施例提供的图3所示场景下I帧并发示意图;
图6为本申请实施例提供的图4所示场景下I帧并发示意图;
图7为本申请实施例提供的软件框架图;
图8为本申请实施例提供的图3所示场景下交互图一;
图9为本申请实施例提供的确定第2个I帧的帧序号的流程图;
图10为本申请实施例提供的图3所示场景下I帧分布图;
图11为本申请实施例提供的图3所示场景下交互图二;
图12为本申请实施例提供的图3所示场景下交互图三;
图13为本申请实施例提供的图4所示场景下交互图;
图14为本申请实施例提供的图4所示场景下I帧分布图;
图15为本申请实施例提供的图3所示场景下软件框架图一;
图16为本申请实施例提供的图3所示场景下软件框架图二;
图17为本申请实施例提供的图4所示场景下软件框架图;
图18为本申请实施例提供的电子设备100的结构示意图;
图19为本申请实施例提供的电子设备100的软件框架图。
具体实施方式
为方便本领域技术人员理解本申请实施例的方案,下面对本申请实施例涉及到的一些用语进行解释:
图像流:图像信号处理(Image Signal Processing,ISP)模块对摄像头采集的图像流进行处理后输出的图像序列。按照时间顺序将摄像头采集的第1帧图像的帧序号记为P(1),将第2帧图像的帧序号记为P(2),……,将第n帧图像的帧序号记为P(n)。参见图1所示,ISP模块输出的图像序列的帧序号和摄像头采集的图像的帧序号一致,依次为P(1)、P(2)、……、P(n)。ISP模块对多个摄像头采集的图像流进行处理后可输出多路图像流。
压缩流:图像流的数据量很大,为了方便对图像流进行存储或者网络传输,需要对图像流进行压缩,压缩流可以理解为对图像流中每帧图像进行压缩得到的帧序列。在对图像进行压缩时,采用帧内压缩算法对图像进行压缩,可以得到I帧,I帧携带解码时需要的全部信息,因此I帧的数据量较大。采用帧间压缩算法对图像进行压缩,可以得到P帧,P帧携带的是本帧图像和前一帧图像之间的差别,P帧的数据量小于I帧。图2示出了对图1所示图像流进行压缩后得到的压缩流。
时间戳:摄像头采集图像的时刻,假设摄像头采集第1帧图像的时刻为T(1)、采集第2帧图像的时刻为T(2)、……、采集第n帧图像的时刻为T(n)。那么,ISP模块输出的图像序列中第1帧图像的时间戳为T(1)、第2帧图像的时间戳为T(2)、第3帧图像的时间戳为T(3)……第n帧图像的时间戳为T(n)。
本地设备:需要借助其他设备得到多路图像流的设备。本地设备的形态包括但不限于:手机、平板电脑、笔记本电脑或者电视。
远端设备:用于向本地设备发送图像流的设备。远端设备的形态包括但不限于:手机、平板电脑、笔记本电脑或者无人机。本地设备和远端设备之间可通过蓝牙(bluetooth)、无线上网(Wi-Fi)、第四代移动通信技术(the 4th generation mobile communicationtechnology,4G)或者第五代移动通信技术(5th generation mobile networks,5G)连接。
图3为本申请实施例提供的应用场景图一,图3所示通信系统包括本地设备和远端设备。远端设备包括多个摄像头,该多个摄像头可同步采集图像。本地设备可通过网络向远端设备发送拍摄指令,远端设备接收到拍摄指令后,控制多个摄像头采集图像,并通过网络将ISP模块输出的多路图像流发送给本地设备,本地设备可显示该多路图像流,供用户查看,实现了本地设备借助远端设备的多个摄像头得到多路图像流的目的。图3中以本地设备为笔记本电脑,远端设备为手机为例示意,其不构成对本申请实施例的限制。远端设备上的多个摄像头可包括广角摄像头、主摄摄像头和长焦摄像头。
图4为本申请实施例提供的应用场景图二,图4所示通信系统包括本地设备和至少两个远端设备,图4以至少两个远端设备包括远端设备1和远端设备2为例示意。本地设备可通过网络分别向远端设备1和远端设备2发送拍摄指令,远端设备1接收到拍摄指令后,控制远端设备1采集图像,并通过网络将ISP模块输出图像流发送给本地设备;远端设备2接收到拍摄指令后,控制远端设备2采集图像,并通过网络将ISP模块输出图像流发送给本地设备;使得本地设备可同时显示两个远端设备发送到的图像流。图4中以本地设备为笔记本电脑,远端设备1为手机,远端设备2为无人机为例示意,其不构成对本申请实施例的限制。
对于图3所示场景,由于ISP模块输出的各路图像流的数据量都很大,而网络带宽有限制,远端设备需对各路图像流进行压缩。同样的,对于图4所示场景,远端设备1和远端设备2也需要对ISP模块输出的图像流进行压缩。具体的,参见图5所示,在图3所示场景下,对广角摄像头、主摄摄像头和长焦摄像头对应的图像流进行压缩时,为了使本地设备能够顺利解码,需将各路图像流的第1帧图像编码为I帧,在I帧间隔相同的情况下,三路压缩流中后续I帧会同时发生,I帧的数据量较大,会造成网络传输的数据量瞬时增大,引起本地设备的显示画面发生抖动,影响了用户的使用体验。同样的,参见图6所示,在图4所示场景下,远端设备1对ISP模块输出的图像流进行压缩时,需将图像流的第1帧图像编码为I帧,远端设备2对ISP模块输出的图像流进行压缩时,也需将图像流的第1帧图像编码为I帧,在I帧间隔相同的情况下,两路压缩流中后续I帧会同时发生,同样也会造成网络传输的数据量瞬时增大,引起本地设备的显示画面发生抖动。
在一些实施例中,对于图3所示场景,可通过如下方式解决上述画面抖动问题:
参见图7所示,在远端设备中设置编码模块、发送缓冲区和数据发送模块,编码模块用于对各路图像流进行编码,得到各路图像流的压缩流,并将各路图像流的压缩流存放至发送缓冲区,图7示出了三路压缩流,分别使用流11、流21以及流31表示。数据发送模块用于判断各路压缩流中待发送的图像帧是否均为I帧,若是,则依次发送各路压缩流中的I帧,比如:先发送流11中的I帧I11,再发送流21中的I帧I21,再发送流31中的I帧I31,从而避免各路图像流的I帧并发时,网络传输的数据量瞬时增大的问题。
在本地设备中设置数据接收模块,解码模块、接收缓冲区和稳定帧率模块,数据接收模块用于接收数据发送模块发送的各路压缩流,解码模块用于对各路压缩流进行解码,得到解码后的图像流,并将解码后的各路图像流存放至接收缓冲区。图7中使用流12表示对流11进行解码后得到的图像流,使用流22表示对流21进行解码后得到的图像流,使用流32表示对流31进行解码后得到的图像流。稳定帧率模块用于从接收缓冲区中获取待输出的各路图像,并发送给数据消费模块,从而保证了各路图像流以相同的帧间隔传输至数据消费模块。由于,远端设备中各路压缩流中I帧并发时,数据发送模块并没有同时发送各路压缩流中的I帧,导致各路压缩流中的I帧到达解码模块的时刻前后相差较大,图7中使用I12表示对I11进行解码后得到的图像,使用122表示对I21进行解码后得到的图像,使用I32表示对I31进行解码后得到的图像,稳定帧率模块需等待较长的时间才能获取到待输出的I12、I22和I32,稳定帧率模块向数据消费模块的输出滞后,导致远端设备到本地设备的时延增大,用户实时性体验变差。
本申请实施例提供一种编解码方法,为了避免各路图像流的I帧并发,提出以分辨率为依据,计算各路图像流的I帧位置,针对每路图像流,在对应的位置处生成I帧,使得各路图像流的I帧平均分布,可避免各路图像流的I帧并发,同时,和上述实施例相比,该方法不会增加远端设备到本地设备的时延,提升了用户体验。
应用于图3所示场景,本地设备对远端设备的控制分为以下三种场景:
第一种场景:本地设备未控制远端设备上任一摄像头采集图像。
第二种场景:本地设备已控制远端设备上第一摄像头和第二摄像头采集图像的基础上,需要控制远端设备上第三摄像头也采集图像。
第三种场景:本地设备已控制远端设备上第一摄像头和第二摄像头采集图像的基础上,用户想要改变其中一路图像流的分辨率。
针对第一种场景,用户可通过触发第一指令控制远端设备上第一摄像头和第二摄像头采集图像,本地设备和远端设备的交互过程参见图8所示,具体包括:
S801、本地设备向远端设备发送第一指令。第一指令可携带第一分辨率和第二分辨率,第一指令用于对ISP模块中第一摄像头对应的分辨率参数值进行调整,还用于对ISP模块中第二摄像头对应的分辨率参数值进行调整。
S802、远端设备根据第一指令,配置第一分辨率和第二分辨率。
远端设备可将ISP模块中第一摄像头对应的分辨率参数值调整为第一分辨率,将ISP模块中第二摄像头对应的分辨率参数值调整为第二分辨率。
S803、远端设备控制第一摄像头和第二摄像头采集图像。
S804、远端设备对第一摄像头采集的图像流进行处理,得到第一图像流,对第二摄像头采集的图像流进行处理,得到第二图像流。
可由ISP模块分别对第一摄像头采集的图像流和第二摄像头采集的图像流进行处理,由于在S802中,将ISP模块中第一摄像头对应的分辨率参数值调整为第一分辨率,因此,ISP模块处理得到的第一图像流的分辨率为第一分辨率;在S802中,将ISP模块中第二摄像头对应的分辨率参数值调整为第二分辨率,因此,ISP处理得到的第二图像流的分辨率为第二分辨率。
示例性的,第一分辨率例如为2048×1080,第二分辨率例如为1920×1080。第一摄像头例如为广角摄像头,第二摄像头例如为主摄摄像头,远端设备接收到该第一指令,将ISP模块中广角摄像头对应的分辨率参数值调整为2048×1080,将主摄摄像头的分辨率参数配置为1920×1080。ISP模块分别对广角摄像头采集的图像流和主摄摄像头采集的图像流进行处理,经过上述分辨率参数值的调整,处理得到的第一图像流的分辨率为2048×1080,第二图像流的分辨率为1920×1080。
需要说明的是:S803可以在S802之前执行,或者,S803可以和S802同时执行,本申请实施例对两个步骤的执行顺序不做限定。
上述第一指令中的第一分辨率和第二分辨率可以是用户指定的。
S805、远端设备根据第一分辨率、第二分辨率、I帧时间间隔和帧率,确定第一图像流的I帧位置和第二图像流的I帧位置。
上述I帧位置可以用帧序号表示,也可以用时间戳表示。
下面介绍确定I帧的帧序号的可实现方式:
为了便于本地设备解码,可将第一图像流中第1帧图像的帧序号P(1)作为第一图像流的第1个I帧的帧序号,同理,可将第二图像流中第1帧图像的帧序号P(1)作为第二图像流的第1个I帧的帧序号。
由于,各路压缩流中第1帧均为I帧,如上文描述,多个I帧的并发会引起本地设备的显示画面发生抖动,为了减弱用户对首帧抖动的感知,针对每路图像流,本地设备对I帧解码后,缓存解码得到的图像,当解码得到后续的多个图像后,再开始显示首帧图像,使得本地设备显示的首帧图像迅速被后续图像覆盖,从而减弱用户对抖动的感知。
可通过图9所示方法确定第2个I帧的帧序号。参见图9所示,具体包括:
S805-1、根据第一分辨率和第二分辨率,确定第一图像流的I帧位置权重和第二图像流的I帧位置权重。
可通过如下公式计算I帧位置权重:
Figure BDA0002889964000000111
其中,Wi为第i路图像流的I帧位置权重,Si为第i路图像流的分辨率,Sj为第j路图像流的分辨率。
采用上述公式可得到第一图像流的I帧位置权重为:
Figure BDA0002889964000000112
其中,W1为第一图像流的I帧位置权重,S1为第一分辨率,S2为第二分辨率。
第二图像流的I帧位置权重为:
Figure BDA0002889964000000113
其中,W2为第二图像流的I帧位置权重,S1为第一分辨率,S2为第二分辨率。
下面举例说明:
第一分辨率例如为2048×1080,第二分辨率例如为1920×1080。通过上述公式可以得到第一图像流的I帧位置权重为:
Figure BDA0002889964000000114
第二图像流的I帧位置权重为:
Figure BDA0002889964000000115
S805-2、根据第一图像流的I帧位置权重、第二图像流的I帧位置权重、I帧时间间隔和帧率,确定第一图像流的第n个I帧的帧序号和第二图像流的第n个I帧的帧序号,n大于等于2。
首先,确定第一图像流的第2个I帧的帧序号。
然后,根据第一图像流的I帧位置权重、第二图像流的I帧位置权重、第一图像流的第2个I帧的帧序号、I帧时间间隔和帧率,确定第二图像流的第2个I帧的帧序号。
可通过如下公式计算第i路图像流的第2个I帧的帧序号:
Pi=Pi-1+(Wi-1+Wi)*INR*Fps/2
其中,Pi表示第i路图像流的第2个I帧的帧序号,Wi表示第i路图像流的I帧位置权重,Pi-1表示第i-1路图像流的第2个I帧的帧序号,Wi-1表示第i-1路图像流的I帧位置权重。INR为I帧时间间隔,Fps为帧率。
采用上述公式可得到第二图像流的第2个I帧的帧序号为:
P2=P1+(W1+W2)*INR*Fps/2
其中,P2为第二图像流的第2个I帧的帧序号,P1为所第一图像流的第2个I帧的帧序号,W1为所第一图像流的I帧位置权重,W2为第二图像流的I帧位置权重。
INR和Fps可以是默认值,例如INR可以为1s,Fps可以为30帧/s。
INR也可通过如下方式得到:
根据当前网络带宽、第一带宽阈值和第二带宽阈值,确定I帧时间间隔,第一带宽阈值大于第二带宽阈值。
一种可能的实现方式中,远端设备可实时监测网络带宽BW,并将网络带宽BW和第一带宽阈值TH1以及第二带宽阈值TH2比较,当网络带宽BW大于或者等于TH1时,将I帧时间间隔设为第一预设间隔,以保证图像质量;当网络带宽BW小于或者等于TH2时,认为当前网络质量无法支撑多路图像流的传输,显示提示信息,提醒用户网络带宽不足;当网络带宽BW大于TH2且小于TH1时,根据当前网络带宽、第一带宽阈值、第二带宽阈值、第一预设间隔以及第二预设间隔,确定I帧时间间隔,第二预设间隔大于第一预设间隔。
一种可能的实现方式中,通过如下公式1计算I帧时间间隔。
INR=INRnormal+(INRmax-INRnormal)*(BW-TH2)/(TH1-TH2) (公式1)
其中,INR表示I帧时间间隔,INRnormal表示第一预设间隔,INRmax表示最大可接受的I帧时间间隔,在本申请实施例中也称为第二预设间隔。
下面对图9所示方法举例说明:
假设,指定第一图像流的第2个I帧的帧序号为P(5),即P1=P(5),INR为1s,Fps为30帧/s,S10计算得到第一图像流的I帧位置权重为0.52,第二图像流的I帧位置权重为0.48,则第二图像流的第2个I帧的帧序号P2为:
P2=P(5+(0.52+0.48)*1*30/2)≈P(20)
参见图10所示,第一图像流和第二图像流的第2个I帧平均分布,避免了I帧的并发。
通过图9所示方法得到第一图像流的第2个I帧的帧序号以及第二图像流的第2个I帧的帧序号后,根据第一图像流的第2个I帧的帧序号、I帧时间间隔和帧率,确定第一图像流的第m个I帧的帧序号,根据第二图像流的第2个I帧的帧序号、I帧时间间隔和帧率,确定第二图像流的第m个I帧的帧序号,m大于等于3。
一种可能的实现方式中,可通过如下公式确定第一图像流的第m个I帧的帧序号:
Pm=Pm-1+INR*Fps
其中,Pm为所述第一图像流的第m个I帧的帧序号,Pm-1为第一图像流的第m-1个I帧的帧序号,INR为I帧时间间隔,Fps为帧率。
可通过如下公式确定第二图像流的第m个I帧的帧序号:
P′m=P′m-1+INR*Fps
其中,P′m为第二图像流的第m个I帧的帧序号,P′m-1为第二图像流的第m-1个I帧的帧序号,INR为I帧时间间隔,Fps为帧率。
下面举例说明:
假设INR为1s,Fps为30帧/s,第一图像流的第2个I帧的帧序号为P(5),则第一图像流的第3个I帧的帧序号为P(5+1*30)=P(35)。第二图像流的第2个I帧的帧序号为P(20),则主摄摄像头对应的图像流的第3个I帧的帧序号为P(20+1*30)=P(50)。
需要说明的是:参见图10所示,由于各路图像流的第2个I帧是平均分布的,各路图像流I帧的间隔是相同的,因此,各路图像流的后续I帧也是平均分布的。
下面介绍确定I帧的时间戳的可实现方式:
首先,根据第一分辨率、第二分辨率、I帧时间间隔和帧率,确定第一图像流的I帧的帧序号和第二图像流的I帧的帧序号,具体过程参见上文,本申请实施例在此不再赘述。然后根据第一图像流的I帧的帧序号、第一图像流中第1帧图像的时间戳和帧率,确定第一图像流的I帧的时间戳;根据第二图像流的I帧的帧序号、第二图像流中第1帧图像的时间戳和帧率,确定第二图像流的I帧的时间戳。
一种可能的实现方式中,以第一图像流为例,可通过公式2确定I帧的时间戳:
Ti=T+(Pi-1)*1/Fps (公式2)
其中,Pi表示第一图像流的I帧的帧序号,Ti表示第一图像流的I帧的时间戳,T表示第一图像流中第1帧图像的时间戳,Fps表示帧率。
S806、远端设备根据第一图像流的I帧位置,对第一图像流进行编码,得到第一压缩流,根据第二图像流的I帧位置,对第二图像流进行编码,得到第二压缩流。
一种可能的实现方式中,在得到第一图像流的I帧的帧序号基础上,判断第一图像流中待编码的图像的帧序号是否和I帧的帧序号相同,若是,则将该图像编码为I帧;若否,则将该图像编码为P帧。同理,判断第二图像流中待编码的图像的帧序号是否和第二图像流的I帧的帧序号相同,若是,则将该图像编码为I帧;若否,则将该图像编码为P帧。
下面举例说明:
通过上述方法得到第一图像流的第2个I帧的帧序号为P(5),判断第一图像流中待编码的图像的帧序号是否为P(5),若是,则将该图像编码为I帧。
另一种可能的实现方式中,在得到第一图像流的I帧的时间戳基础上,判断第一图像流中待编码的图像的时间戳是否和I帧的时间戳相同,若是,则将该图像编码为I帧;若否,则将该图像编码为P帧。同理,判断第二图像流中待编码的图像的时间戳是否和第二图像流的I帧的时间戳相同,若是,则将该图像编码为I帧;若否,则将该图像编码为P帧。
下面举例说明:
通过上述方法得到第一图像流的第2个I帧的时间戳为T12,判断第一图像流中待编码的图像的时间戳是否为T12,若是,则将该图像编码为I帧。
S807、远端设备向本地设备发送第一压缩流和第二压缩流。
本地设备接收到各路图像流的压缩流后,对各路图像流的压缩流进行解码,得到解码后的图像流,两路压缩流传输至本地设备所使用的时间较短,解决了多路图像流传输时间较长引起的时延问题。另外,各路图像流的I帧不会并发,可避免I帧并发引起的画面抖动问题。而且,和图5所示实施例相比,该方法不会增加远端设备到本地设备的时延,提升了用户体验。
针对第二种场景,本地设备已经通过图8所示实施例控制第一摄像头和第二摄像头采集图像的基础上,本地设备需要控制远端设备上第三摄像头也采集图像时,用户可触发第二指令,本地设备和远端设备的交互过程参见图11所示,具体包括:
S1101、本地设备向远端设备发送第二指令,该第二指令可携带第三分辨率,第二指令用于对ISP模块中第三摄像头对应的分辨率参数值进行调整。
S1102、远端设备根据第二指令,配置第三分辨率。
远端设备可将ISP模块中第三摄像头对应的分辨率参数值调整为第三分辨率。
S1103、远端设备控制第三摄像头采集图像。
S1104、远端设备对第三摄像头采集的图像流进行处理,得到第三图像流。
可由ISP模块对第三摄像头采集的图像流进行处理,由于在S1102中,将ISP模块中第三摄像头对应的分辨率参数值调整为第三分辨率,因此,ISP处理得到的第三图像流的分辨率为第三分辨率。
示例性,第三分辨率例如为1280×720,第三摄像头例如为长焦摄像头。远端设备接收到第二指令后,将ISP模块中长焦摄像头对应的分辨率参数值调整为1280×720,经过该调整,ISP模块处理得到的第三图像流的分辨率为1280×720。
需要说明的是:S1103可以在S1102之前执行,或者,S1103可以和S1102同时执行,本申请实施例对两个步骤的执行顺序不做限定。
S1105、远端设备根据第一分辨率、第二分辨率、第三分辨率、I帧时间间隔和帧率,确定第一图像流的I帧位置、第二图像流的I帧位置和第三图像流的I帧位置。
由于增加了第三图像流,需要重新确定各路图像流的I帧位置。下面介绍重新确定各路图像流的I帧位置的过程:
如上文描述,I帧位置可以用帧序号表示,也可以用时间戳表示。下面介绍重新确定I帧的帧序号的可实现方式:
首先,可将第三摄像头采集第1帧图像时,第一摄像头和所述第二摄像头采集的图像的帧序号更新为第1帧图像的帧序号;然后,将第一图像流中第1帧图像的帧序号作为第一图像流的第1个I帧的帧序号,将第二图像流中第1帧图像的帧序号作为第二图像流的第1个I帧的帧序号,将第三图像流中第1帧图像的帧序号作为第三图像流的第1个I帧的帧序号。然后,根据第一分辨率、第二分辨率和第三分辨率,确定第一图像流的I帧位置权重、第二图像流的I帧位置权重和第三图像流的I帧位置权重;最后,根据第一图像流的I帧位置权重、第二图像流的I帧位置权重、第三图像流的I帧位置权重、I帧时间间隔和帧率,确定第一图像流的第n个I帧的帧序号、所述图像流的第n个I帧的帧序号和所述图像流的第n个I帧的帧序号,n大于等于2。
下面举例说明:
假设第一摄像头为广角摄像头,第二摄像头为主摄摄像头,第三摄像头为长焦摄像头,假设长焦摄像头采集第1帧图像时,广角摄像头和主摄摄像头采集的是第100帧图像,可将该第100帧图像的帧序号更新为P(1),然后采用S805中的方法确定各路图像流的I帧的帧序号。
下面介绍重新确定I帧的时间戳的可实现方式:
可将第三摄像头采集第1帧图像时,第一摄像头和第二摄像头采集的图像的时间戳更新为T(1),然后采用S805中的方法确定各路图像流的I帧的时间戳。具体参见上文描述,本申请实施例在此不再赘述。
S1106、远端设备根据第一图像流的I帧位置,对第一图像流进行编码,得到第一压缩流,根据第二图像流的I帧位置,对第二图像流进行编码,得到第二压缩流,根据第三图像流的I帧位置,对第三图像流进行编码,得到第三压缩流。
远端设备对各路图像流进行编码的过程可参见图8所示实施例中S806,本申请实施例在此不再赘述。
S1107、远端设备向本地设备发送第一压缩流、第二压缩流和第三压缩流。
本地设备接收到各路图像流的压缩流后,对各路图像流的压缩流进行解码,得到解码后的图像流,上述编解码方法,本地设备可控制更多摄像头采集图像,远端设备可采用S805中的方法重新确定各路图像流的I帧位置,从而避免I帧并发引起的画面抖动问题。
针对第三种场景,本地设备已经通过图8所示实施例控制第一摄像头和第二摄像头采集图像的基础上,用户想要改变其中一路图像流的分辨率时,用户可触发第三指令。本地设备和远端设备的交互过程参见图12所示,具体包括
S1201、本地设备向远端设备发送第三指令,第三指令可携带第四分辨率,第三指令用于对ISP模块中第一摄像头对应的分辨率参数值进行调整。
S1202、远端设备根据第三指令,配置第四分辨率。
远端设备可将ISP模块中第一摄像头对应的分辨率参数值调整为第四分辨率。
S1203、远端设备对第一摄像头采集的图像流进行处理,得到第四图像流。
可由ISP模块对第一摄像头采集的图像流进行处理,由于在S1202中,将ISP模块中第一摄像头对应的分辨率参数值调整为第四分辨率,因此,ISP处理得到的第四图像流的分辨率为第四分辨率。
示例性的,第一分辨率例如为1920×1080,第一摄像头为广角摄像头,用户想要改变ISP模块输出的广角摄像头对应的图像流的分辨率时,可触发第三指令,第三指令携带的第四分辨率例如为2048×1080,远端设备接收到第三指令后,将ISP模块中广角摄像头对应的分辨率参数值调整为2048×1080,经过该调整,ISP模块处理得到的第四图像流的分辨率为2048×1080。
S1204、远端设备根据第二分辨率、第四分辨率、I帧时间间隔和帧率,确定第二图像流的I帧位置和第四图像流的I帧位置。
由于ISP模块输出的第一摄像头对应的图像流的分辨率从第一分辨率变为第四分辨率,需要重新确定各路图像流的I帧位置。下面介绍重新确定各路图像流的I帧位置的过程:
如上文描述,I帧位置可以用帧序号表示,也可以用时间戳表示。下面介绍重新确定I帧的帧序号的可实现方式:
首先,可将接收到第三指令时,第一摄像头和第二摄像头采集的图像的帧序号更新为第1帧图像的帧序号;然后,将第二图像流中第1帧图像的帧序号作为第二图像流的第1个I帧的帧序号,将第四图像流中第1帧图像的帧序号作为第四图像流的第1个I帧的帧序号;然后,根据第二分辨率和第四分辨率,确定第二图像流的I帧位置权重和第四图像流的I帧位置权重;最后,根据第二图像流的I帧位置权重、第四图像流的I帧位置权重、I帧时间间隔和帧率,确定第二图像流的第n个I帧的帧序号和第四图像流的第n个I帧的帧序号,n大于等于2。
下面举例说明:
假设第一摄像头为广角摄像头,第二摄像头为主摄摄像头,远端设备接收到第三指令时,广角摄像头和主摄摄像头采集的是第100帧图像,可将该第100帧图像的帧序号更新为P(1),然后采用S805中的方法确定各路图像流的I帧的帧序号。
下面介绍重新确定I帧的时间戳的可实现方式:
可将接收到第三指令时,第一摄像头和第二摄像头采集的图像的时间戳更新为T(1),然后采用S805中的方法确定各路图像流的I帧的时间戳。具体参见上文描述,本申请实施例在此不再赘述。
S1205、远端设备根据第二图像流的I帧位置,对第二图像流进行编码,得到第二压缩流,根据第四图像流的I帧位置,对第四图像流进行编码,得到第四压缩流。
远端设备对各路图像流进行编码的过程可参见图8所示实施例中S806,本申请实施例在此不再赘述。
S1206、远端设备向本地设备发送第二压缩流和第四压缩流。
本地设备接收到各路图像流的压缩流后,对各路图像流的压缩流进行解码,得到解码后的图像流,上述编解码方法,本地设备可控制远端设备重新配置分辨率,并采用S805中的方法来确定I帧的位置,可避免I帧并发引起的画面抖动问题。
应用于图4所示场景,用户可通过触发第一指令控制远端设备1和远端设备2采集图像,本地设备、远端设备1和远端设备2的交互过程参见图13所示,具体包括:
S1301、本地设备分别向远端设备1和远端设备2发送第一指令。
本地设备向远端设备1发送的第一指令携带第一分辨率,该第一指令用于对远端设备1中分辨率参数值进行调整;本地设备向远端设备2发送的第一指令携带第二分辨率,该第一指令用于对远端设备2中分辨率参数值进行调整。
S1302、远端设备1根据第一指令,配置第一分辨率,远端设备2根据第一指令,配置第二分辨率。
远端设备1可将ISP模块中的分辨率参数值调整为第一分辨率。远端设备2可将ISP模块中的分辨率参数值调整为第二分辨率。
S1303、远端设备1控制远端设备1采集图像,远端设备2控制远端设备2采集图像。
S1304、远端设备1对远端设备1采集的图像流进行处理,得到第一图像流,远端设备2对远端设备2采集的图像流进行处理,得到第二图像流。
可由远端设备1中的ISP模块对远端设备1采集的图像流进行处理,由于在S1302中,远端设备1将ISP模块中的分辨率参数值调整为第一分辨率,因此,ISP模块处理得到的第一图像流的分辨率为第一分辨率。可由远端设备2中的ISP模块对远端设备2采集的图像流进行处理,由于在S1302中,远端设备2将ISP模块中的分辨率参数值调整为第二分辨率,因此,ISP模块处理得到的第二图像流的分辨率为第二分辨率。
示例性的,第一分辨率例如为2048×1080,第二分辨率例如为1920×1080,远端设备1接收到第一指令后,将ISP模块中的分辨率参数值调整为2048×1080,经过该调整,ISP模块输出的第一图像流的分辨率为2048×1080。远端设备2接收到第一指令后,将ISP模块中的分辨率参数值调整为1920×1080,经过该调整,ISP模块输出的第二图像流的分辨率为1920×1080。
S1305、本地设备根据第一分辨率、第二分辨率、I帧时间间隔和帧率,确定第一图像流的I帧位置和第二图像流的I帧位置。
确定I帧位置的具体实现方式可参见图8所示实施例中的S805,本申请实施例在此不再赘述。需要说明的是,参见图14所示,通过S805计算得到的各路图像流的I帧平均分布,可避免I帧并发引起的画面抖动。
S1306、本地设备向远端设备1发送第一图像流的I帧位置,向远端设备2发送第二图像流的I帧位置。
S1307、远端设备1根据第一图像流的I帧位置,对第一图像流进行编码,得到第一压缩流,远端设备2根据第二图像流的I帧位置,对第二图像流进行编码,得到第二压缩流。
一种可能的实现方式中,若远端设备1接收到的I帧位置为I帧的帧序号,则判断待编码的图像的帧序号是否和该帧序号相同,若相同,则将该图像编码为I帧,若不相同,则将该图像编码为P帧。同理,若远端设备2接收到的I帧位置为I帧的帧序号,则判断待编码的图像的帧序号是否和该帧序号相同,若相同,则将该图像编码为I帧,若不相同,则将该图像编码为P帧。
下面举例说明:
以第2个I帧为例,结合图4所示场景,远端设备1接收到第2个I帧的帧序号为P(5),则判断待编码的图像的帧序号是否为P(5),若是,则将该图像编码为I帧;若否,则将该图像编码为P帧。
另一种可能的实现方式中,若远端设备1接收到的I帧位置为I帧的时间戳,则判断待编码的图像的时间戳是否和该时间戳相同,若相同,则将该图像编码为I帧,若不相同,则将该图像编码为P帧。同理,若远端设备2接收到的I帧位置为I帧的时间戳,则判断待编码的图像的时间戳是否和该时间戳相同,若相同,则将该图像编码为I帧,若不相同,则将该图像编码为P帧。
以第2个I帧为例,结合图4所示场景,远端设备1接收到第2个I帧的时间戳为T12,则判断待编码的图像的时间戳是否为T12,若是,则将该图像编码为I帧;若否,则将该图像编码为P帧。
S1308、远端设备1向本地设备发送第一压缩流,远端设备2向本地设备发送第二压缩流。
由于远端设备1对第一图像流进行了压缩,远端设备2对第二图像流进行了压缩,得到的两路压缩流的数据量远小于对应图像流的数据量,两路压缩流传输至本地设备所使用的时间较短,本地设备接收到两路压缩流后,对两路压缩流进行解码便可得到对应的图像流,解决了多路图像流传输时间较长引起的时延问题。另外,本地设备以分辨率为依据,计算两路图像流的I帧位置,并将两路图像流的I帧位置发送给对应的设备,使得远端设备1根据接收到I帧位置,在对应的位置处生成I帧,远端设备2根据接收到I帧位置,在对应的位置处生成I帧,由于两路图像流的I帧平均分布,可避免I帧并发时数据量瞬时增大引起的画面抖动问题。
应用于图3所示场景,图15为本申请实施例提供的软件框架图一,参见图15所示,远端设备包括但不限于:远端相机代理13、摄像头控制模块14、I帧位置计算模块15、I帧生成控制模块16、编码模块17以及数据发送模块18,编码模块17包括多个编码单元,图13中使用编码单元1-3示意,远端设备还包括多个摄像头,图15中使用摄像头1-3示意。
本地设备包括但不限于:相机应用24、相机控制模块25、缓冲区计算模块26、缓冲区配置模块27、数据接收模块28、解码模块29、帧率平滑模块30以及数据输出模块31,解码模块29包括多个解码单元,图15中使用解码单元1-3示意,帧率平滑模块30包括多个缓冲区和同步输出模块301,图15中多个缓冲区使用缓冲区1-3示意。
为了借助远端设备的多个摄像头得到多路图像流,用户可在相机应用24上触发第一指令,相机应用24将该第一指令发送给相机控制模块25,相机控制模块25将该第一指令发送给远端相机代理13,远端相机代理13进一步将该第一指令发送给摄像头控制模块14,摄像头控制模块14根据第一指令,配置第一分辨率和第二分辨率,并控制第一摄像头和第二摄像头采集图像,第一摄像头和第二摄像可以为摄像头1-3任意两个。ISP模块对第一摄像头采集的图像流进行处理,得到第一图像流,对第二摄像头采集的图像流进行处理,得到第二图像流。
相机应用24、相机控制模块25、远端相机代理13和摄像头控制模块14还用于传递第二指令和第三指令,传递过程参见上述第一指令,本申请实施例在此不再赘述。
I帧位置计算模块15可用于根据第一分辨率、第二分辨率、I帧时间间隔和帧率,确定第一图像流的I帧位置和第二图像流的I帧位置,并将各路图像流的I帧位置发送给I帧生成控制模块16,I帧生成控制模块16用于向编码模块17中各个编码单元发送I帧生成请求,编码模块17中各个编码单元用于根据第一图像流的I帧位置,对第一图像流进行编码,得到第一压缩流,根据第二图像流的I帧位置,对第二图像流进行编码,得到第二压缩流,并将各路压缩流发送给数据发送模块18。
本地设备中数据接收模块28用于接收各路图像流的压缩流,并将各路图像流的压缩流发送给解码模块29,解码模块29中各个解码单元用于对各个压缩流进行解码,得到解码后的各路图像,并将解码后的各路图像存放至各个缓冲区。缓冲区计算模块26用于根据预期的最大抖动时间和帧率,确定缓冲区的大小,比如预期的最大抖动时间为100ms,帧率为30帧/s,则缓冲区大小可以为100ms/(1s/(30帧/s))≈3帧图像所占的空间;再如预期的最大抖动时间为100ms,帧率为60帧/s,则缓冲区大小为100ms/(1s/(60帧/s))≈6帧图像所占的空间。缓冲区配置模块27用于根据缓冲区计算模块26确定的缓冲区大小,配置帧率平滑模块30中的缓冲区1-3。同步输出模块301用于从缓冲区1-3获取图像,并将获取到的图像发送给数据输出模块31,同步输出模块301可保证解码后的各路图像流以相同的帧间隔输出。数据输出模块31可将各路图像流发送给相机应用24,相机应用24可用于显示各路图像流。
应用于图3所示场景,图16为本申请实施例提供的软件框架图二,和图15所示架构不同的是,图16中远端设备未设置I帧位置计算模块15,而在本地设备中设计I帧位置计算模块32,该I帧位置计算模块32用于根据第一分辨率、第二分辨率、I帧时间间隔和帧率,确定第一图像流的I帧位置和第二图像流的I帧位置,并将各路图像流的I帧位置发送给远端设备中的I帧生成控制模块16。图16中其他软件模块的功能和图15类似,本申请实施例在此不再赘述。
应用于图4所示场景,图17为本申请实施例提供的软件框架图,参见图17所示,远端设备1包括但不限于:远端相机代理13、摄像头控制模块14、摄像头15、I帧生成控制模块16、编码模块17以及数据发送模块18。远端设备2包括但不限于:远端相机代理13’、摄像头控制模块14’、摄像头15’、I帧生成控制模块16’、编码模块17’以及数据发送模块18’。
本地设备包括但不限于:相机应用24、相机控制模块25、缓冲区计算模块26、缓冲区配置模块27、数据接收模块28、解码模块29、帧率平滑模块30、数据输出模块31以及I帧位置计算模块32,解码模块29包括多个解码单元,图14中使用解码单元1-2示意,帧率平滑模块30包括多个缓冲区和同步输出模块301,图14中多个缓冲区使用缓冲区1-2示意。
为了借助多个远端设备得到多路图像流,以远端设备1为例,用户可在相机应用24上触发第一指令,相机应用24将第一指令发送给相机控制模块25,相机控制模块25将第一指令发送给远端相机代理13,远端相机代理13将第一指令发送给摄像头控制模块14,摄像头控制模块14根据第一指令,配置第一分辨率,并控制远端设备1采集图像。ISP模块对远端设备1采集的图像流进行处理,得到第一图像流。远端设备2的处理过程类似,本申请实施例在此不再赘述。
I帧位置计算模块32用于根据第一分辨率、第二分辨率、I帧时间间隔和帧率,确定第一图像流的I帧位置和第二图像流的I帧位置,并通过相机控制模块25、远端相机代理13将第一图像流的I帧位置发送给I帧生成控制模块16,I帧生成控制模块16用于向编码模块17发送I帧生成请求,编码模块17用于根据第一图像流的I帧位置,对第一图像流进行编码,得到第一压缩流,并将第一压缩流发送给数据发送模块18。通过相机控制模块25、远端相机代理13’将第二图像流的I帧位置发送给I帧生成控制模块16’,I帧生成控制模块16’用于向编码模块17’发送I帧生成请求,编码模块17’用于根据第二图像流的I帧位置,对第二图像流进行编码,得到第二压缩流,并将第二压缩流发送给数据发送模块18。
本地设备中数据接收模块28用于接收各个远端设备发送的压缩流,并将压缩流发送给解码模块29,解码模块29中各个解码单元用于对各路压缩流进行解码,得到解码后的各路图像,并将解码后的各路图像存放至各个缓冲区。缓冲区计算模块26用于根据预期的最大抖动时间和帧率,确定缓冲区的大小,缓冲区配置模块27用于根据缓冲区计算模块26确定的缓冲区大小,配置帧率平滑模块30中的缓冲区1-2。同步输出模块301用于从缓冲区1-2获取图像,并将获取到的图像发送给数据输出模块31,同步输出模块301可保证解码后的各路图像流以相同的帧间隔输出。数据输出模块31可将各路图像流发送给相机应用24,相机应用24可用于显示各路图像流。
一种可能的实现方式中,本地设备可采用左右分屏的方式显示多路图像流,也可采用上下分屏的方式显示多路图像流,本申请对本地设备显示多路摄像流的方式不做限定。
图18示出了电子设备100的结构示意图。远端设备和本地设备均可采用图18示意的结构。该电子设备100可以包括:处理器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等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
图18所示电子设备为图3所示场景下的远端设备时,视频编解码器包括图15或图16中编码单元1-3,图18所示电子设备为图3所示场景下的本地设备时,视频编解码器包括图15或图16中解码单元1-3。图18所示电子设备为图4所示场景下的远端设备1时,视频编解码器包括图17中编码模块17,图18所示电子设备为图4所示场景下的远端设备2时,视频编解码器包括图17中编码模块17’。图18所示电子设备为图4所示场景下的本地设备时,视频编解码器包括图17中解码单元1-2。
图18所示电子设备为图3所示场景下的远端设备时,摄像头193包括图15或图16中摄像头1-3。图18所示电子设备为图4所示场景下的远端设备时,视频编解码器包括图17中摄像头15。
参见图19所示,在一些实施例中,可将电子设备100的软件分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,层与层之间通过软件接口通信。
应用程序层可以包括一系列应用程序包。
如图19所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
图18所示电子设备为图3或者图4所示场景下的远端设备时,应用程序包还可以包括远端相机代理。图18所示电子设备为图3或者图4所示场景下的本地设备时,应用程序包还可以包括相机应用。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图19所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话图层形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)以及系统服务器模块(SurfaceFlinger)。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (32)

1.一种编码方法,应用于通信系统,所述通信系统包括:第一设备和第二设备,所述第一设备包括:第一摄像头和第二摄像头,其特征在于,所述方法包括:
所述第二设备向所述第一设备发送第一指令;
所述第一设备根据所述第一指令,配置第一分辨率和第二分辨率;
所述第一设备控制所述第一摄像头和所述第二摄像头采集图像;
所述第一设备对所述第一摄像头采集的图像流进行处理,得到第一图像流,所述第一图像流的分辨率为所述第一分辨率;
所述第一设备对所述第二摄像头采集的图像流进行处理,得到第二图像流,所述第二图像流的分辨率为所述第二分辨率;
所述第一设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置;
所述第一设备根据所述第一图像流的I帧位置,对所述第一图像流进行编码,得到第一压缩流;
所述第一设备根据所述第二图像流的I帧位置,对所述第二图像流进行编码,得到第二压缩流;
所述第一设备向所述第二设备发送所述第一压缩流和所述第二压缩流。
2.根据权利要求1所述的方法,其特征在于,所述I帧位置为I帧的帧序号;
所述第一设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置,包括:
所述第一设备将所述第一图像流中第1帧图像的帧序号作为所述第一图像流的第1个I帧的帧序号,将所述第二图像流中第1帧图像的帧序号作为所述第二图像流的第1个I帧的帧序号;
所述第一设备根据所述第一分辨率和所述第二分辨率,确定所述第一图像流的I帧位置权重和所述第二图像流的I帧位置权重;
所述第一设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述I帧时间间隔和所述帧率,确定所述第一图像流的第n个I帧的帧序号和所述第二图像流的第n个I帧的帧序号,n大于等于2。
3.根据权利要求2所述的方法,其特征在于,所述第一设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述I帧时间间隔和所述帧率,确定所述第一图像流的第n个I帧的帧序号和所述第二图像流的第n个I帧的帧序号,包括:
所述第一设备确定所述第一图像流的第2个I帧的帧序号;
所述第一设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第2个I帧的帧序号;
所述第一设备根据所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第一图像流的第m个I帧的帧序号,m大于等于3;
所述第一设备根据所述第二图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第m个I帧的帧序号,m大于等于3。
4.根据权利要求2所述的方法,其特征在于,所述第一设备根据所述第一分辨率和所述第二分辨率,确定所述第一图像流的I帧位置权重和所述第二图像流的I帧位置权重,包括:
所述第一设备通过如下公式确定所述第一图像流的I帧位置权重:
Figure FDA0002889963990000021
其中,W1为所述第一图像流的I帧位置权重,S1为所述第一分辨率,S2为所述第二分辨率;
所述第一设备通过如下公式确定所述第二图像流的I帧位置权重:
Figure FDA0002889963990000022
其中,W2为所述第二图像流的I帧位置权重,S1为所述第一分辨率,S2为所述第二分辨率。
5.根据权利要求3所述的方法,其特征在于,所述第一设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第2个I帧的帧序号,包括:
所述第一设备通过如下公式确定所述第二图像流的第2个I帧的帧序号:
P2=P1+(W1+W2)*INR*Fps/2
其中,P2为所述第二图像流的第2个I帧的帧序号,P1为所述第一图像流的第2个I帧的帧序号,W1为所述第一图像流的I帧位置权重,W2为所述第二图像流的I帧位置权重,INR为所述I帧时间间隔,Fps为所述帧率。
6.根据权利要求3所述的方法,其特征在于,所述第一设备根据所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第一图像流的第m个I帧的帧序号,包括:
所述第一设备通过如下公式确定所述第一图像流的第m个I帧的帧序号:
Pm=Pm-1+INR*Fps
其中,Pm为所述第一图像流的第m个I帧的帧序号,Pm-1为所述第一图像流的第m-1个I帧的帧序号,INR为所述I帧时间间隔,Fps为所述帧率;
所述第一设备根据所述第二图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第m个I帧的帧序号,包括:
所述第一设备通过如下公式确定所述第二图像流的第m个I帧的帧序号:
P′m=P′m-1+INR*Fps
其中,P′m为所述第二图像流的第m个I帧的帧序号,P′m-1为所述第二图像流的第m-1个I帧的帧序号,INR为所述I帧时间间隔,Fps为所述帧率。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述第一设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置之前,所述方法还包括:
所述第一设备根据当前网络带宽、第一带宽阈值和第二带宽阈值,确定所述I帧时间间隔,所述第一带宽阈值大于所述第二带宽阈值。
8.根据权利要求7所述的方法,其特征在于,所述第一设备根据当前网络带宽、第一带宽阈值和第二带宽阈值,确定所述I帧时间间隔,包括:
若所述当前网络带宽大于或者等于所述第一带宽阈值,所述第一设备将第一预设间隔作为所述I帧时间间隔;
若所述当前网络带宽大于所述第二带宽阈值且小于所述第一带宽阈值,所述第一设备根据所述当前网络带宽、所述第一带宽阈值、所述第二带宽阈值、所述第一预设间隔以及第二预设间隔,确定所述I帧时间间隔,所述第二预设间隔大于所述第一预设间隔。
9.根据权利要求8所述的方法,其特征在于,所述第一设备根据所述当前网络带宽、所述第一带宽阈值、所述第二带宽阈值、所述第一预设间隔以及第二预设间隔,确定所述I帧时间间隔,包括:
所述第一设备通过如下公式确定所述I帧时间间隔:
INR=INRnormal+(INRmax-INRnormal)*(BW-TH2)/(TH1-TH2)
其中,INR为所述I帧时间间隔,INRnormal为所述第一预设间隔,INRmax为所述第二预设间隔,BW为所述当前网络带宽,TH1为所述第一带宽阈值,TH2为所述第二带宽阈值。
10.根据权利要求1所述的方法,其特征在于,所述I帧位置为I帧的时间戳;
所述第一设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置,包括:
所述第一设备根据所述第一分辨率、所述第二分辨率、所述I帧时间间隔和所述帧率,确定所述第一图像流的I帧的帧序号和所述第二图像流的I帧的帧序号;
所述第一设备根据所述第一图像流的I帧的帧序号、所述第一图像流中第1帧图像的时间戳和所述帧率,确定所述第一图像流的I帧的时间戳;
所述第一设备根据所述第二图像流的I帧的帧序号、所述第二图像流中第1帧图像的时间戳和所述帧率,确定所述第二图像流的I帧的时间戳。
11.根据权利要求1-10任一项所述的方法,所述第一设备还包括:第三摄像头,其特征在于,所述方法还包括:
所述第二设备向所述第一设备发送第二指令;
所述第一设备根据所述第二指令,配置第三分辨率;
所述第一设备控制所述第三摄像头采集图像;
所述第一设备对所述第三摄像头采集的图像流进行处理,得到第三图像流,所述第三图像流的分辨率为所述第三分辨率;
所述第一设备根据所述第一分辨率、所述第二分辨率、所述第三分辨率、所述I帧时间间隔和所述帧率,确定所述第一图像流的I帧位置、所述第二图像流的I帧位置和所述第三图像流的I帧位置。
12.根据权利要求11所述的方法,其特征在于,所述第一设备根据所述第一分辨率、所述第二分辨率、所述第三分辨率、所述I帧时间间隔和所述帧率,确定所述第一图像流的I帧位置、所述第二图像流的I帧位置和所述第三图像流的I帧位置,包括:
所述第一设备将所述第三摄像头采集第1帧图像时,所述第一摄像头和所述第二摄像头采集的图像的帧序号更新为第1帧图像的帧序号;
所述第一设备将所述第一图像流中第1帧图像的帧序号作为所述第一图像流的第1个I帧的帧序号,将所述第二图像流中第1帧图像的帧序号作为所述第二图像流的第1个I帧的帧序号,将所述第三图像流中第1帧图像的帧序号作为所述第三图像流的第1个I帧的帧序号;
所述第一设备根据所述第一分辨率、所述第二分辨率和所述第三分辨率,确定所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重和所述第三图像流的I帧位置权重;
所述第一设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述第三图像流的I帧位置权重、所述I帧时间间隔和所述帧率,确定所述第一图像流的第n个I帧的帧序号、所述第二图像流的第n个I帧的帧序号和所述第三图像流的第n个I帧的帧序号,n大于等于2。
13.根据权利要求1-10任一项所述的方法,其特征在于,所述方法还包括:
所述第二设备向所述第一设备发送第三指令;
所述第一设备根据所述第三指令,配置第四分辨率;
所述第一设备对所述第一摄像头采集的图像流进行处理,得到第四图像流,所述第四图像流的分辨率为所述第四分辨率;
所述第一设备根据所述第二分辨率、所述第四分辨率、所述I帧时间间隔和所述帧率,确定所述第二图像流的I帧位置和所述第四图像流的I帧位置。
14.根据权利要求13所述的方法,其特征在于,所述第一设备根据所述第二分辨率、所述第四分辨率、所述I帧时间间隔和所述帧率,确定所述第二图像流的I帧位置和所述第四图像流的I帧位置,包括:
所述第一设备将接收到所述第三指令时,所述第一摄像头和所述第二摄像头采集的图像的帧序号更新为第1帧图像的帧序号;
所述第一设备将所述第二图像流中第1帧图像的帧序号作为所述第二图像流的第1个I帧的帧序号,将所述第四图像流中第1帧图像的帧序号作为所述第四图像流的第1个I帧的帧序号;
所述第一设备根据所述第二分辨率和所述第四分辨率,确定所述第二图像流的I帧位置权重和所述第四图像流的I帧位置权重;
所述第一设备根据所述第二图像流的I帧位置权重、所述第四图像流的I帧位置权重、所述I帧时间间隔和所述帧率,确定所述第二图像流的第n个I帧的帧序号和所述第四图像流的第n个I帧的帧序号,n大于等于2。
15.一种编码方法,应用于通信系统,所述通信系统包括:第一设备、第二设备和第三设备,其特征在于,所述方法包括:
所述第三设备分别向所述第一设备和所述第二设备发送第一指令;
所述第一设备根据所述第一指令,配置第一分辨率;控制第一设备采集图像;对所述第一设备采集的图像流进行处理,得到第一图像流,所述第一图像流的分辨率为所述第一分辨率;
所述第二设备根据所述第一指令,配置第二分辨率;控制第二设备采集图像;对所述第二设备采集的图像流进行处理,得到第二图像流,所述第二图像流的分辨率为所述第二分辨率;
所述第三设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置;向所述第一设备发送所述第一图像流的I帧位置;向所述第二设备发送所述第二图像流的I帧位置;
所述第一设备根据所述第一图像流的I帧位置,对所述第一图像流进行编码,得到第一压缩流;向所述第三设备发送所述第一压缩流;
所述第二设备根据所述第二图像流的I帧位置,对所述第二图像流进行编码,得到第二压缩流;向所述第三设备发送所述第二压缩流。
16.根据权利要求15所述的方法,其特征在于,所述I帧位置为I帧的帧序号;
所述第三设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置,包括:
所述第三设备将所述第一图像流中第1帧图像的帧序号作为所述第一图像流的第1个I帧的帧序号,将所述第二图像流中第1帧图像的帧序号作为所述第二图像流的第1个I帧的帧序号;
所述第三设备根据所述第一分辨率和所述第二分辨率,确定所述第一图像流的I帧位置权重和所述第二图像流的I帧位置权重;
所述第三设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述I帧时间间隔和所述帧率,确定所述第一图像流的第n个I帧的帧序号和所述第二图像流的第n个I帧的帧序号,n大于等于2。
17.根据权利要求16所述的方法,其特征在于,所述第三设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述I帧时间间隔和所述帧率,确定所述第一图像流的第n个I帧的帧序号和所述第二图像流的第n个I帧的帧序号,包括:
所述第三设备确定所述第一图像流的第2个I帧的帧序号;
所述第三设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第2个I帧的帧序号;
所述第三设备根据所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第一图像流的第m个I帧的帧序号,m大于等于3;
所述第三设备根据所述第二图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第m个I帧的帧序号,m大于等于3。
18.根据权利要求16所述的方法,其特征在于,所述第三设备根据所述第一分辨率和所述第二分辨率,确定所述第一图像流的I帧位置权重和所述第二图像流的I帧位置权重,包括:
所述第三设备通过如下公式确定所述第一图像流的I帧位置权重:
Figure FDA0002889963990000051
其中,W1为所述第一图像流的I帧位置权重,S1为所述第一分辨率,S2为所述第二分辨率;
所述第三设备通过如下公式确定所述第二图像流的I帧位置权重:
Figure FDA0002889963990000052
其中,W2为所述第二图像流的I帧位置权重,S1为所述第一分辨率,S2为所述第二分辨率。
19.根据权利要求17所述的方法,其特征在于,所述第三设备根据所述第一图像流的I帧位置权重、所述第二图像流的I帧位置权重、所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第2个I帧的帧序号,包括:
所述第三设备通过如下公式确定所述第二图像流的第2个I帧的帧序号:
P2=P1+(W1+W2)*INR*Fps/2
其中,P2为所述第二图像流的第2个I帧的帧序号,P1为所述第一图像流的第2个I帧的帧序号,W1为所述第一图像流的I帧位置权重,W2为所述第二图像流的I帧位置权重,INR为所述I帧时间间隔,Fps为所述帧率。
20.根据权利要求17所述的方法,其特征在于,所述第三设备根据所述第一图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第一图像流的第m个I帧的帧序号,包括:
所述第三设备通过如下公式确定所述第一图像流的第m个I帧的帧序号:
Pm=Pm-1+INR*Fps
其中,Pm为所述第一图像流的第m个I帧的帧序号,Pm-1为所述第一图像流的第m-1个I帧的帧序号,INR为所述I帧时间间隔,Fps为所述帧率;
所述第三设备根据所述第二图像流的第2个I帧的帧序号、所述I帧时间间隔和所述帧率,确定所述第二图像流的第m个I帧的帧序号,包括:
所述第三设备通过如下公式确定所述第二图像流的第m个I帧的帧序号:
P′m=P′m-1+INR*Fps
其中,P′m为所述第二图像流的第m个I帧的帧序号,P′m-1为所述第二图像流的第m-1个I帧的帧序号,INR为所述I帧时间间隔,Fps为所述帧率。
21.根据权利要求15-20任一项所述的方法,其特征在于,所述第三设备根据所述第一分辨率、所述第二分辨率、I帧时间间隔和帧率,确定所述第一图像流的I帧位置和所述第二图像流的I帧位置之前,所述方法还包括:
所述第三设备根据当前网络带宽、第一带宽阈值和第二带宽阈值,确定所述I帧时间间隔,所述第一带宽阈值大于所述第二带宽阈值。
22.根据权利要求21所述的方法,其特征在于,所述第三设备根据当前网络带宽、第一带宽阈值和第二带宽阈值,确定所述I帧时间间隔,包括:
若所述当前网络带宽大于或者等于所述第一带宽阈值,所述第三设备将第一预设间隔作为所述I帧时间间隔;
若所述当前网络带宽大于所述第二带宽阈值且小于所述第一带宽阈值,所述第三设备根据所述当前网络带宽、所述第一带宽阈值、所述第二带宽阈值、所述第一预设间隔以及第二预设间隔,确定所述I帧时间间隔,所述第二预设间隔大于所述第一预设间隔。
23.根据权利要求22所述的方法,其特征在于,所述第三设备根据所述当前网络带宽、所述第一带宽阈值、所述第二带宽阈值、所述第一预设间隔以及第二预设间隔,确定所述I帧时间间隔,包括:
所述第三设备通过如下公式确定所述I帧时间间隔:
INR=INRnormal+(INRmax-INRnormal)*(BW-TH2)/(TH1-TH2)
其中,INR为所述I帧时间间隔,INRnormal为所述第一预设间隔,INRmax为所述第二预设间隔,BW为所述当前网络带宽,TH1为所述第一带宽阈值,TH2为所述第二带宽阈值。
24.一种电子设备,包括:存储器和处理器,其特征在于,所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,使得所述电子设备实现权利要求1-14任一项中第一设备执行的步骤。
25.一种电子设备,包括:存储器和处理器,其特征在于,所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,使得所述电子设备实现权利要求1-14任一项中第二设备执行的步骤。
26.一种通信系统,其特征在于,包括权利要求24所述的电子设备和权利要求25所述的电子设备。
27.一种电子设备,包括:存储器和处理器,其特征在于,所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,使得所述电子设备实现权利要求15-23任一项中第一设备执行的步骤。
28.一种电子设备,包括:存储器和处理器,其特征在于,所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,使得所述电子设备实现权利要求15-23任一项中第二设备执行的步骤。
29.一种电子设备,包括:存储器和处理器,其特征在于,所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,使得所述电子设备实现权利要求15-23任一项中第三设备执行的步骤。
30.一种通信系统,其特征在于,包括权利要求27所述的电子设备、权利要求28所述的电子设备和权利要求29所述的电子设备。
31.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序在被执行时,实现权利要求1-14任一项中第一设备执行的步骤,或者实现权利要求1-14任一项中第二设备执行的步骤,或者实现权利要求15-23任一项中第一设备执行的步骤,或者实现权利要求15-23任一项中第二设备执行的步骤,或者实现权利要求15-23任一项中第三设备执行的步骤。
32.一种计算机程序产品,其特征在于,当所述计算机程序产品包含的指令在计算机上运行时,使得所述计算机实现权利要求1-14任一项中第一设备执行的步骤,或者实现权利要求1-14任一项中第二设备执行的步骤,或者实现权利要求15-23任一项中第一设备执行的步骤,或者实现权利要求15-23任一项中第二设备执行的步骤,或者实现权利要求15-23任一项中第三设备执行的步骤。
CN202110025066.6A 2021-01-08 2021-01-08 编码方法、电子设备、通信系统、存储介质和程序产品 Pending CN114745542A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110025066.6A CN114745542A (zh) 2021-01-08 2021-01-08 编码方法、电子设备、通信系统、存储介质和程序产品
US18/260,895 US20240073415A1 (en) 2021-01-08 2022-01-05 Encoding Method, Electronic Device, Communication System, Storage Medium, and Program Product
EP22736518.6A EP4262216A4 (en) 2021-01-08 2022-01-05 CODING METHOD, ELECTRONIC DEVICE, COMMUNICATION SYSTEM, STORAGE MEDIUM AND PROGRAM PRODUCT
PCT/CN2022/070199 WO2022148356A1 (zh) 2021-01-08 2022-01-05 编码方法、电子设备、通信系统、存储介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110025066.6A CN114745542A (zh) 2021-01-08 2021-01-08 编码方法、电子设备、通信系统、存储介质和程序产品

Publications (1)

Publication Number Publication Date
CN114745542A true CN114745542A (zh) 2022-07-12

Family

ID=82273887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110025066.6A Pending CN114745542A (zh) 2021-01-08 2021-01-08 编码方法、电子设备、通信系统、存储介质和程序产品

Country Status (4)

Country Link
US (1) US20240073415A1 (zh)
EP (1) EP4262216A4 (zh)
CN (1) CN114745542A (zh)
WO (1) WO2022148356A1 (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7486732B1 (en) * 2001-07-17 2009-02-03 Vixs, Inc. Method and apparatus for distributed load multiplexing of multiple encoded signals over a shared communication path
WO2004047444A1 (en) * 2002-11-15 2004-06-03 Thomson Licensing S.A. Method and system for staggered statistical multiplexing
US8249141B1 (en) * 2007-07-13 2012-08-21 Sprint Spectrum L.P. Method and system for managing bandwidth based on intraframes
CN101370140A (zh) * 2008-09-25 2009-02-18 浙江大华技术股份有限公司 一种多码流生成的方法
US9544534B2 (en) * 2013-09-24 2017-01-10 Motorola Solutions, Inc. Apparatus for and method of identifying video streams transmitted over a shared network link, and for identifying and time-offsetting intra-frames generated substantially simultaneously in such streams
CN105830445B (zh) * 2014-11-28 2019-03-01 华为技术有限公司 多视频流的传输方法和设备
US10873752B2 (en) * 2016-05-11 2020-12-22 Intel Corporation Adaptive camera resolution for compression matching
EP3881544B1 (en) * 2018-12-29 2024-01-03 Zhejiang Dahua Technology Co., Ltd. Systems and methods for multi-video stream transmission
CN113315973B (zh) * 2019-03-06 2022-12-20 深圳市道通智能航空技术股份有限公司 编码方法、图像编码器及图像传输系统
CN111447409B (zh) * 2020-03-24 2021-06-11 西北工业大学 一种无人机机载多传感器单处理器视频压缩处理方法和装置

Also Published As

Publication number Publication date
US20240073415A1 (en) 2024-02-29
EP4262216A1 (en) 2023-10-18
WO2022148356A1 (zh) 2022-07-14
EP4262216A4 (en) 2024-06-05

Similar Documents

Publication Publication Date Title
CN113556598A (zh) 多窗口投屏方法及电子设备
WO2022048474A1 (zh) 一种多应用共享摄像头的方法与电子设备
CN113473229B (zh) 一种动态调节丢帧阈值的方法及相关设备
CN115473957A (zh) 一种图像处理方法和电子设备
WO2022121775A1 (zh) 一种投屏方法及设备
US20230162324A1 (en) Projection data processing method and apparatus
CN114697527B (zh) 一种拍摄方法、系统及电子设备
US20230260482A1 (en) Electronic device projection method, medium thereof, and electronic device
CN112328941A (zh) 基于浏览器的应用投屏方法及相关装置
CN116320783B (zh) 一种录像中抓拍图像的方法及电子设备
US20220095020A1 (en) Method for switching a bit rate, and electronic device
CN115802146A (zh) 一种录像中抓拍图像的方法及电子设备
CN116055802B (zh) 图像帧处理方法及电子设备
CN116052701B (zh) 一种音频处理方法及电子设备
CN114745542A (zh) 编码方法、电子设备、通信系统、存储介质和程序产品
US20220174356A1 (en) Method for determining bandwidth, terminal, and storage medium
CN117873367A (zh) 一种分屏显示方法及相关装置
CN111131019B (zh) 一种多路http通道复用的方法及终端
CN113079332A (zh) 移动终端及其录屏方法
CN117082295B (zh) 图像流处理方法、设备及存储介质
WO2022206600A1 (zh) 一种投屏方法、系统及相关装置
CN115016871B (zh) 多媒体编辑方法、电子设备和存储介质
CN114390335B (zh) 一种在线播放音视频的方法、电子设备及存储介质
CN116033157B (zh) 投屏方法和电子设备
CN117177000A (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