CN116132696A - 基于gpu的码流错误检测和反馈的方法及系统 - Google Patents
基于gpu的码流错误检测和反馈的方法及系统 Download PDFInfo
- Publication number
- CN116132696A CN116132696A CN202310110905.3A CN202310110905A CN116132696A CN 116132696 A CN116132696 A CN 116132696A CN 202310110905 A CN202310110905 A CN 202310110905A CN 116132696 A CN116132696 A CN 116132696A
- Authority
- CN
- China
- Prior art keywords
- frame
- current frame
- code stream
- error
- detection
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012545 processing Methods 0.000 claims abstract description 58
- 238000004590 computer program Methods 0.000 claims description 10
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 230000008713 feedback mechanism Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种基于GPU的码流错误检测和反馈的方法及系统,方法包括:根据从AP端接收的视频码流,获取所述视频码流中所有帧的帧信息;根据所述视频码流中各个帧对应的帧信息,对每一帧逐个进行错误检测,通过查询AP端对当前帧的错误类型的判断指令对当前帧进行处理。系统包括接收模块和检测模块。本发明的技术方案针对视频码流中检测出不同的错误,向AP端反馈不同的错误配型,可以降低无效的硬件解码、提高解码效率,可以降低硬件由于错误码流而引发的错误处理中断或重置。
Description
技术领域
本发明涉及视频技术领域,尤其涉及一种基于GPU的码流错误检测和反馈的方法及系统。
背景技术
随着互联网的迅速发展,视频已经成为一种非常重要的信息传播方式。为节省传输资源,视频压缩是非常必要的。通用计算和计算机科学技术的发展,基于GPU(GraphicsProcessing Unit,图形处理器)的视频硬件解码性能一日千里。然而,随着压缩算法的压缩比不断提高,视频码流在传输过程中发生传输错误的概率也越来越高,硬件解码器无法有效判断码流的正确性,导致出现跳帧、花屏等现象,严重影响观看体验。因此,在硬件解码前对码流进行错误码流检出及反馈,在视频传输及播放中起着至关重要的作用。
当前通用的对码流进行错误码流检出的方法存在以下问题:1)算法复杂度高,难以实现;2)以添加标记的方法来判定码流是否错误,增大了数据处理量,影响解码效率;3)缺少反馈机制,容易造成无效解码或丢帧。
发明内容
本发明的目的之一是为了克服现有技术中的不足,针对现有技术中通用的错误码流检出方法存在算法复杂、数据处理量大影响解码效率及缺少反馈机制的问题,提供一种基于GPU的码流错误检测和反馈的方法及系统。
为实现以上目的,本发明通过以下技术方案实现:
第一方面,本发明提供了一种基于GPU的码流错误检测和反馈的方法,所述方法包括:
Step1000:根据从AP端接收的视频码流,获取所述视频码流中所有帧的帧信息;
Step2000:根据所述视频码流中各个帧对应的帧信息,对每一帧逐个进行错误检测,通过查询AP端对当前帧的错误类型的判断指令对当前帧进行处理。
在本申请的一个优选实施例中,Step2000具体包括:
Step2100:从所述视频码流的各个帧对应的帧信息中,获取每一帧对应的起始码、头信息参数和参考帧信息;
Step2200:从所述视频码流的第1帧开始,逐个对当前帧N进行错误检测,N的起始值设置为1;其中,N为整数;
Step2300:对当前帧N分别进行起始码检测、头信息参数检测和参考帧信息检测,在完成错误检测且未检测出错误时,对当前帧N进行硬件解码,在检测出错误时,将错误类型反馈至AP端,通过AP端根据当前帧N的错误类型生成对应的判断指令,并通过查询AP端的判断指令对当前帧N进行处理,在AP端的判断指令为丢掉当前帧N时令N=N+1并进行下一帧的错误检测;
Step2400:判断当前帧N是否为最后一帧;若否,则执行Step2500;若是,则执行Step2600;
Step2500:令N=N+1,返回Step2300进行下一帧的错误检测;
Step2600:结束检测。
在本申请的一个优选实施例中,Step2300具体包括:
Step2301:对当前帧N进行起始码检测,判断当前帧N对应的起始码是否正确;若不正确,则执行Step2309;若正确,则执行Step2302;
Step2302:对当前帧N进行头信息参数检测,判断是否收到当前帧N对应的头信息参数;若未收到,则执行Step2309;若收到,则执行Step2303;
Step2303:根据所述视频码流所采用的编码标准选取对应的取值范围,判断当前帧N对应的头信息参数的各个参数中是否有参数超出所述取值范围;若有,则执行Step2309;若没有,则执行Step2304;
Step2304:对当前帧N进行参考帧信息检测,判断当前帧N是否为IDR帧;若是,则执行Step2307;若不是,则执行Step2305;
Step2305:判断当前帧N的参考帧是否存在;若参考帧均不存在,则执行Step2309;若参考帧均存在,则执行Step2308;若参考帧部分存在,则执行Step2306;
Step2306:判断当前帧N的关键参考帧是否存在;若存在,则执行Step2308;若不存在,则执行Step2309;
Step2307:初始化参考帧buffer;
Step2308:将该当前帧N的码流索引添加至参考帧buffer;接着执行Step2320;
Step2309:将错误类型反馈至AP端;
Step2310:通过查询AP端根据当前帧N的错误类型生成的判断指令,对当前帧N进行处理;
Step2320:对当前帧N进行硬件解码。
在本申请的一个优选实施例中,在执行Step2301检测出起始码的判断结果为不正确时,反馈错误类型为第一类或第二类。
在本申请的一个优选实施例中,在执行Step2302检测出头信息参数的判断结果为未收到时,反馈错误类型为第一类。
在本申请的一个优选实施例中,在执行Step2303检测出头信息参数中各个参数超出各自的预设范围时,反馈错误类型为第二类。
在本申请的一个优选实施例中,在执行Step2305检测出当前帧N的参考帧均不存在时,反馈错误类型为第一类。
在本申请的一个优选实施例中,在执行Step2306检测出当前帧N的关键参考帧不存在时,反馈错误类型为第二类。
在本申请的一个优选实施例中,Step2310具体包括:
Step2311:通过AP端访问反馈接口,根据获取的当前帧N的错误类型,生成对应的判断指令;
Step2312:查询AP端,获取当前帧对应的判断指令;当判断指令为需要丢帧时,执行Step2400;当判断指令为不需要丢帧时,执行Step2320。
第二方面,本发明提供了一种基于GPU的码流错误检测和反馈的系统,所述系统包括接收模块和检测模块;
所述接收模块用于根据从AP端接收的视频码流,获取所述视频码流中所有帧的帧信息;
所述检测模块用于根据所述视频码流中各个帧对应的帧信息,对每一帧逐个进行错误检测,通过查询AP端对当前帧的错误类型的判断指令对当前帧进行处理。
在本申请的一个优选实施例中,所述检测模块具体用于:
从所述视频码流的各个帧对应的帧信息中,获取每一帧对应的起始码、头信息参数和参考帧信息;
从所述视频码流的第1帧开始,逐个对当前帧N进行错误检测,N的起始值设置为1;N为整数;
通过GPU的用户态驱动程序对当前帧N分别进行起始码检测、头信息参数检测参考帧信息检测,在完成错误检测且未检测出错误时,通过GPU的PCIe驱动程序对当前帧N进行硬件解码,在检测出错误时,将错误类型反馈至AP端,通过AP端根据当前帧N的错误类型生成对应的判断指令,并通过查询AP端的判断指令对当前帧N进行处理,在AP端的判断指令为丢掉当前帧N时令N=N+1并进行下一帧的错误检测;
判断当前帧N是否为最后一帧;若否,则令N=N+1,返回进行下一帧的错误检测;若是,则结束检测。
在本申请的一个优选实施例中,所述检测模块通过GPU的用户态驱动程序对视频码流进行错误检测的具体流程为:
对当前帧N进行起始码检测,判断当前帧N对应的起始码是否正确;
若不正确,则将错误类型反馈至AP端;
若正确,则对当前帧N进行头信息参数检测,判断是否收到当前帧N对应的头信息参数;
若未收到,则将错误类型反馈至AP端;
若收到,则根据所述视频码流所采用的编码标准选取对应的取值范围,判断当前帧N对应的头信息参数的各个参数中是否有参数超出所述取值范围;若有,则将错误类型反馈至AP端;
若没有,则对当前帧N进行参考帧信息检测,判断当前帧N是否为IDR帧;
若是,则初始化参考帧buffer;
若不是,则判断当前帧N的参考帧是否存在;
若参考帧均不存在,则将错误类型反馈至AP端;
若参考帧均存在,则将该当前帧N的码流索引添加至参考帧buffer,接着通过GPU的PCIe驱动程序对当前帧N进行硬件解码;
若参考帧部分存在,则判断当前帧N的关键参考帧是否存在;若存在,则将该当前帧N的码流索引添加至参考帧buffer,接着通过GPU的PCIe驱动程序对当前帧N进行硬件解码;
若不存在,则将错误类型反馈至AP端;
在将错误类型反馈至AP端之后,通过查询AP端根据当前帧N的错误类型生成的判断指令,对当前帧N进行处理。
在本申请的一个优选实施例中,所述检测模块通过查询AP端对当前帧N进行处理的具体流程为:
通过AP端访问反馈接口,根据获取的当前帧N的错误类型,生成对应的判断指令;
查询AP端,获取当前帧对应的判断指令;当判断指令为需要丢帧时,跳过当前帧N,进行下一帧的错误检测;当判断指令为不需要丢帧时,通过GPU的PCIe驱动程序对当前帧N进行硬件解码。
第三方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面所述的基于GPU的码流错误检测和反馈的方法。
第四方面,本发明提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行如第一方面所述的基于GPU的码流错误检测和反馈的方法。
本发明所公开的基于GPU的码流错误检测和反馈的方法及系统,针对视频码流中检测出不同的错误,向AP端反馈不同的错误配型,可以降低无效的硬件解码、提高解码效率,可以降低硬件由于错误码流而引发的错误处理中断或重置。
附图说明
本发明借助于以下附图进行描述:
图1是本发明中实施例1的基于GPU的码流错误检测和反馈的方法的流程图;
图2是本发明中实施例1的基于GPU的码流错误检测和反馈的方法中,Step2000的具体流程图;
图3是本发明中实施例1的本发明中实施例1的基于GPU的码流错误检测和反馈的方法中,Step2300的具体流程图;
图4是本发明中实施例1的本发明中实施例1的基于GPU的码流错误检测和反馈的方法中,Step2310的具体流程图;
图5是本发明中实施例2的本发明中实施例1的基于GPU的码流错误检测和反馈的系统的模块示意图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例1
本发明实施例1公开了一种基于GPU的码流错误检测和反馈的方法,提供了一个基于反馈接口(Escape访问接口)的反馈机制,通过AP端(应用端)访问该反馈接口,主动控制是否进行丢帧处理,在避免了效解码与无效丢帧的同时能最大限度的满足用户的需求,提高了编解码运行的效率,改善了由于数据错误等因素引发的花屏和跳帧的情况。同时能够有效降低硬件解码过程中由于错误码流而引发的错误处理中断或重置发生的概率。
参见图1,本实施例1的方法包括:
Step1000:根据从AP端接收的视频码流,获取视频码流中所有帧的帧信息;
Step2000:根据视频码流中各个帧对应的帧信息,对每一帧逐个进行错误检测,通过查询AP端对当前帧的错误类型的判断指令对当前帧进行处理。
具体来说,在GPU处理视频数据时,AP端向处理视频数据的系统传输视频码流,视频码流的格式例如为H.264格式,其中的数据流包含图像中所有帧画面,也即包含所有帧的帧信息,这些帧信息中包含有各个帧对应的起始码、头信息参数和参考帧信息等。通过针对这些帧信息所包含内容对每一帧进行错误检测,将当前帧中所出现的码流错误的错误类型向AP端反馈,再在对当前帧进行硬件解码之前,通过查询AP端来决定对当前帧的处理方式,处理方式至少包括跳帧、忽略错误进行解码和正常解码等。采用本实施例1的方法对H.264格式的视频码流进行错误检测,能够在错误检测的过程中不添加任何标记数据,对视频编解码的效率影响非常小,使得错误码流能够被提早检测出来,可以有效地降低视频硬件由于错误码流所引发的错误处理中断或重置的概率,并且通过查询AP端对当前帧的错误类型的判断结果来对当前帧进行处理,能够避免无效解码与无效丢帧,提高了编解码运行的效率,改善了由于数据错误等因素引发的花屏和跳帧的情况。
参见图2,Step2000具体包括:
Step2100:从视频码流的各个帧对应的帧信息中,获取每一帧对应的起始码、头信息参数和参考帧信息;
Step2200:从视频码流的第1帧开始,逐个对当前帧N进行错误检测,N的起始值设置为1;其中,N为整数;
Step2300:对当前帧N分别进行起始码检测、头信息参数检测参考帧信息检测,在完成错误检测且未检测出错误时,对当前帧N进行硬件解码,在检测出错误时,将错误类型反馈至AP端,通过AP端根据当前帧N的错误类型生成对应的判断指令,并通过查询AP端的判断指令对当前帧N进行处理,在AP端的判断指令为丢掉当前帧N时令N=N+1并进行下一帧的错误检测;
Step2400:判断当前帧N是否为最后一帧;若否,则执行Step2500;若是,则执行Step2600;
Step2500:令N=N+1,返回Step2300进行下一帧的错误检测;
Step2600:结束检测。
具体来说,本实施例1的方法在对视频码流进行错误检测的过程中,包括码流错误检测和向AP端反馈两个部分。针对视频码流进行的错误检测,能够检测起始码错误、头信息参数错误和参考帧信息错误这三类错误,起始码、头信息参数和参考帧信息从当前帧的帧信息中获取。向AP端反馈则能够反馈两大错误类型,并针对不同的错误类型对当前帧的处理给出建议,建议包括但不限于:1、建议丢帧,否则会出现花屏,或者未知的错误;2、可以丢帧,可能会出现花屏、跳帧等错误,AP端根据错误类型生成判断指令,在查询到AP端的判断指令为丢弃当前帧N时直接进入下一帧的错误检测。先将当前帧N中的序数N设置为1,即从视频码流的第1帧开始进行错误检测,此时当前帧N为第1帧。在针对第1帧完成错误检测后,若该视频码流只包含一帧,则第1帧就是最后一帧,结束检测;若该视频码流包含多帧,例如24帧,则将序数N加1,即当前帧N变为第2帧,然后返回Step2300对第2帧进行错误检测,并以此类推,直到序数N加到24并完成第24帧的错误检测之后,再结束检测。。在采用本实施例1的方法对视频码流进行错误检测的过程中,视频码流中未添加任何标记数据,不会影响对视频码流的解码效率,且通过向AP端反馈的方式能够避免无效解码与无效丢帧的问题。
参见图3,Step2300具体包括:
Step2301:对当前帧N进行起始码检测,判断当前帧N对应的起始码是否正确;若不正确,则执行Step2309;若正确,则执行Step2302;
Step2302:对当前帧N进行头信息参数检测,判断是否收到当前帧N对应的头信息参数;若未收到,则执行Step2309;若收到,则执行Step2303;
Step2303:根据视频码流所采用的编码标准选取对应的取值范围,判断当前帧N对应的头信息参数的各个参数中是否有参数超出取值范围;若有,则执行Step2309;若没有,则执行Step2304;
Step2304:对当前帧N进行参考帧信息检测,判断当前帧N是否为IDR帧;若是,则执行Step2307;若不是,则执行Step2305;
Step2305:判断当前帧N的参考帧是否存在;若参考帧均不存在,则执行Step2309;若参考帧均存在,则执行Step2308;若参考帧部分存在,则执行Step2306;
Step2306:判断当前帧N的关键参考帧是否存在;若存在,则执行Step2308;若不存在,则执行Step2309;
Step2307:初始化参考帧buffer;
Step2308:将该当前帧N的码流索引添加至参考帧buffer;接着执行Step2320;
Step2309:将错误类型反馈至AP端;
Step2310:通过查询AP端根据当前帧N的错误类型生成的判断指令,对当前帧N进行处理;
Step2320:对当前帧N进行硬件解码。
具体来说,本实施例1的方法中,在从AP端获取了视频码流,得到各个帧的帧信息,开始从视频码流的第1帧起逐帧进行错误检测时,会对当前帧N的起始码、头信息参数和关键帧依次进行检测。
如上文所述,假如在起始码检测的阶段(Step2301)就检测出错误,则不会对后续的头信息参数和关键帧进行检测,直接向AP端反馈错误类型,再通过查询AP端决定对当前帧N进行处理的方式。在起始码检测的阶段,对于当前NAL(Network Abstraction Layer,网络抽象层),检查起始码0x00000001或者0x000001,如果当前NAL没有起始码,通过反馈接口(例如Escape接口)向AP端反馈错误类型,在执行Step2301检测出起始码的判断结果为不正确时,反馈错误类型为第一类或第二类,否则继续执行Step2302进行头信息参数的检测。
假如在头信息参数检测的阶段(Step2302和Step2303)检测出错误,则不会对后续的关键帧进行检测,而是向AP端反馈错误类型,再通过查询AP端决定对当前帧N进行处理的方式。头信息参数检测包括以下两部分。首先检测是否收到头信息参数,具体指是否收到SPS(Sequence Parameter,序列参数集)和PPS(Picture Parameter,图像参数集)NAL,如果判断结果是没有收到,则通过反馈接口(例如Escape接口)向AP端反馈错误类型,在执行Step2302检测出头信息参数的判断结果为未收到时,反馈错误类型为第一类。若判断结果为收到,则继续执行Step2303,即检测头信息参数的取值范围,具体包括以下参数:seq_parameter_set_id取值范围:[0,31],chroma_format_idc取值范围:[0,3],bit_depth_luma_minus8取值范围:[0,6],bit_depth_chroma_minus8取值范围:[0,6],log2_max_frame_num_minus4取值范围为[0,12],pic_order_cnt_type取值范围为[0,2],log2_max_pic_order_cnt_lsb_minus4取值范围[0,12];pic_parameter_set_id取值范围;[0,255],seq_parameter_set_id取值范围:[0,31],slice_group_map_type取值范围:[0,6],num_ref_idx_l0_default_active_minus1取值范围:[0,31],num_ref_idx_l1_default_active_minus1取值范围:[0,31],weighted_bipred_idc取值范围:[0,2],pic_init_qs_minus26取值范围:[-26,25],chroma_qp_index_offset取值范围:[-12,12],second_chroma_qp_index_offset取值范围:[-12,12],pic_parameter_set_id取值范围:[0,255],colour_plane_id取值范围:[0,2],idr_pic_id取值范围:[0,65535],redundant_pic_cnt取值范围:[0,127],disable_deblocking_filter_idc取值范围:[0,2]。如果判断结果是以上参数中有任何参数超出了预设的取值范围,则通过反馈接口(例如Escape接口)向AP端反馈错误类型,在执行Step2303检测出头信息参数的各个参数中有参数超出预设的取值范围时,反馈错误类型为第二类。如果判断结果是没有参数超出预设的取值范围,则继续执行Step2304进行关键帧的检测。
在参考帧信息检测阶段(Step2304~Step2306),对当前帧N会依次进行IDR(Instantaneous Decoding Refresh,即时解码刷新)帧检测(Step2304)、参考帧信息检测(Step2305)和关键参考帧(Step2306)检测。在IDR帧检测时,如果判断结果为当前帧N是IDR帧,则初始化参考帧Buffer(即执行Step2307),将该帧的码流索引添加进入参考帧Buffer(即顺序执行Step2308);如果判断结果为当前帧N不是IDR帧,则继续执行Step2305,检查参考帧是否存在。在检测参考帧是否存在时,若判断结果为当前帧N的参考帧全部存在,则将码流索引添加到参考帧Buffer(即执行Step2308);若判断结果为当前帧N的参考帧均不存在,则通过反馈接口(例如Escape接口)向AP端反馈错误类型,在执行Step2305检测出当前帧N的参考帧均不存在时,反馈错误类型为第一类;若判断结果为当前帧N的参考帧部分存在,那么需要对这部分存在的参考帧进行进一步检测,即继续执行Step2306,检查关键参考帧是否存在。在检测关键参考帧是否存在时,若判断结果为关键参考帧存在,表示对于当前帧N能够解出大部分图像,而当前帧N对应的参考帧列表中除了关键参考帧之外有部分其他的参考帧是有缺失的,但是当前帧N依然可以被认定为是能被正确解码的帧,故可以将码流索引添加到参考帧Buffer(即执行Step2308);若判断结果为关键参考帧不存在,表示对于当前帧N无法解码,则通过反馈接口(例如Escape接口)向AP端反馈错误类型,在执行Step2306检测出当前帧N的关键参考帧不存在时,反馈错误类型为第二类。
在对当前帧N完成三类错误检测后,在决定是否对当前帧N进行硬件解码之前,通过查询AP端对于当前帧N是否进行解码的判断指令,该判断指令是根据反馈接口收到的错误类型而生成的。
参见图4,Step2310具体包括:
Step2311:通过AP端访问反馈接口,根据获取的当前帧N的错误类型,生成对应的判断指令;
Step2312:查询AP端,获取当前帧对应的判断指令;当判断指令为需要丢帧时,执行Step2400;当判断指令为不需要丢帧时,执行Step2320。
具体来说,本实施例1的方法中,Step2310是一种异步反馈机制。在对视频码流的解码开始后,根据上文所述的错误码流检测步骤进行检测,如果发现错误,则通过反馈接口(例如Escape接口)向AP端反馈错误类型,但不会从AP端实时获取的处理结果,而是在进行硬件解码前,通过AP端访问专门提供的反馈接口来获取之前反馈的错误类型数据的处理结果,即当前是否丢帧的判断指令。通过这样的异步反馈机制,AP端可以综合考虑视频码流可能会出现的一种或多种错误,给出最优的处理结果。在本实施例1的方法中,错误类型可以包括两类,其一为建议丢帧,否则会出现花屏,或者未知的错误;其二为可以丢帧,可能会出现花屏、跳帧等错误。针对第一类错误类型,判断指令为丢帧;针对第二类错误类型,判断指令为继续解码。如果AP端反馈的判断指令是丢帧,则当前帧N的解码结束,跳过当前帧进入下一帧的解码流程,重新从Step2303开始对下一帧进行错误检测。如果AP端反馈的判断指令是继续解码,则对当前帧N进行硬件解码,然后再进入下一帧的解码流程,重新从Step2303开始对下一帧进行错误检测。
采用本实施例1的方法,可以高效地检测出三种错误码流,准确性高。由于在对视频码流进行错误检测的过程中,不添加任何标记数据,所以对视频码流的编解码运行的效率影响非常小。此外,本实施例1的方法中,基于反馈接口(例如Escape接口)的反馈机制,通过AP端访问该反馈接口,主动控制是否进行丢帧处理,在避免了无效解码与无效丢帧的同时,还能最大限度的满足客户的需求,提高了视频码流的编解码运行的效率,改善了由于数据错误等因素引发的花屏和跳帧的情况。同时,本实施例1的方法,还能够有效降低硬件解码过程中由于错误码流而引发的错误处理中断或重置发生的概率。
实施例2
本发明实施例2公开了一种基于GPU的码流错误检测和反馈的系统,提供了一个基于反馈接口(Escape访问接口)的反馈机制,通过AP端(应用端)访问该反馈接口,主动控制是否进行丢帧处理,在避免了效解码与无效丢帧的同时能最大限度的满足用户的需求,提高了编解码运行的效率,改善了由于数据错误等因素引发的花屏和跳帧的情况。同时能够有效降低硬件解码过程中由于错误码流而引发的错误处理中断或重置发生的概率。
参见图5,本发明实施例2的系统10包括接收模块11和检测模块12;接收模块11用于根据从AP端接收的视频码流,获取视频码流中所有帧的帧信息;检测模块12用于根据视频码流中各个帧对应的帧信息,对每一帧逐个进行错误检测,通过查询AP端对当前帧的错误类型的判断指令对当前帧进行处理。
具体来说,在GPU处理视频数据时,AP端向处理视频数据的系统传输视频码流,视频码流的格式例如为H.264格式,其中的数据流包含图像中所有帧画面,也即包含所有帧的帧信息,这些帧信息中包含有各个帧对应的起始码、头信息参数和参考帧信息等。通过针对这些帧信息所包含内容对每一帧进行错误检测,将当前帧中所出现的码流错误的错误类型向AP端反馈,再在对当前帧进行硬件解码之前,通过查询AP端来决定对当前帧的处理方式,处理方式至少包括跳帧、忽略错误进行解码和正常解码等。使用本实施例2的系统对H.264格式的视频码流进行错误检测,能够在错误检测的过程中不添加任何标记数据,对视频编解码的效率影响非常小,使得错误码流能够被提早检测出来,可以有效地降低视频硬件由于错误码流所引发的错误处理中断或重置的概率,并且通过查询AP端对当前帧的错误类型的判断结果来对当前帧进行处理,能够避免无效解码与无效丢帧,提高了编解码运行的效率,改善了由于数据错误等因素引发的花屏和跳帧的情况。
检测模块12具体用于:从视频码流的各个帧对应的帧信息中,获取每一帧对应的起始码、头信息参数和参考帧信息;从视频码流的第1帧开始,逐个对当前帧N进行错误检测,N的起始值设置为1;N为整数;通过GPU的用户态驱动程序对当前帧N分别进行起始码检测、头信息参数检测参考帧信息检测,在完成错误检测且未检测出错误时,通过GPU的PCIe驱动程序对当前帧N进行硬件解码,在检测出错误时,将错误类型反馈至AP端,通过AP端根据当前帧N的错误类型生成对应的判断指令,并通过查询AP端的判断指令对当前帧N进行处理,在AP端的判断指令为丢掉当前帧N时令N=N+1并进行下一帧的错误检测;判断当前帧N是否为最后一帧;若否,则令N=N+1,返回进行下一帧的错误检测;若是,则结束检测。
具体来说,本实施例2的系统在对视频码流进行错误检测的过程中,包括码流错误检测和向AP端反馈两个部分。针对视频码流进行的错误检测,能够检测起始码错误、头信息参数错误和参考帧信息错误这三类错误,起始码、头信息参数和参考帧信息从当前帧的帧信息中获取。向AP端反馈则能够反馈两大错误类型,并针对不同的错误类型对当前帧的处理给出建议,建议包括但不限于:1、建议丢帧,否则会出现花屏,或者未知的错误;2、可以丢帧,可能会出现花屏、跳帧等错误,AP端根据错误类型生成判断指令,在查询到AP端的判断指令为丢弃当前帧N时直接进入下一帧的错误检测。先将当前帧N中的序数N设置为1,即从视频码流的第1帧开始进行错误检测,此时当前帧N为第1帧。在针对第1帧完成错误检测后,若该视频码流只包含一帧,则第1帧就是最后一帧,结束检测;若该视频码流包含多帧,例如24帧,则将序数N加1,即当前帧N变为第2帧,然后返回Step2300对第2帧进行错误检测,并以此类推,直到序数N加到24并完成第24帧的错误检测之后,再结束检测。在使用本实施例2的系统对视频码流进行错误检测的过程中,视频码流中未添加任何标记数据,不会影响对视频码流的解码效率,且通过向AP端反馈的方式能够避免无效解码与无效丢帧的问题。
检测模块12通过GPU的用户态驱动程序对视频码流进行错误检测的具体流程为:对当前帧N进行起始码检测,判断当前帧N对应的起始码是否正确;若不正确,则将错误类型反馈至AP端;若正确,则对当前帧N进行头信息参数检测,判断是否收到当前帧N对应的头信息参数;若未收到,则将错误类型反馈至AP端;若收到,则根据视频码流所采用的编码标准选取对应的取值范围,判断当前帧N对应的头信息参数的各个参数中是否有参数超出取值范围;若有,则将错误类型反馈至AP端;若没有,则对当前帧N进行参考帧信息检测,判断当前帧N是否为IDR帧;若是,则初始化参考帧buffer;若不是,则判断当前帧N的参考帧是否存在;若参考帧均不存在,则将错误类型反馈至AP端;若参考帧均存在,则将该当前帧N的码流索引添加至参考帧buffer,接着通过GPU的PCIe驱动程序对当前帧N进行硬件解码;若参考帧部分存在,则判断当前帧N的关键参考帧是否存在;若存在,则将该当前帧N的码流索引添加至参考帧buffer,接着通过GPU的PCIe驱动程序对当前帧N进行硬件解码;若不存在,则将错误类型反馈至AP端;在将错误类型反馈至AP端之后,通过查询AP端根据当前帧N的错误类型生成的判断指令,对当前帧N进行处理。
具体来说,使用本实施例2的系统通过GPU的用户态驱动程序,在从AP端获取了视频码流,得到各个帧的帧信息,开始从视频码流的第1帧起逐帧进行错误检测时,会对当前帧N的起始码、头信息参数和关键帧依次进行检测。
如上文所述,假如在起始码检测的阶段就检测出错误,则不会对后续的头信息参数和关键帧进行检测,直接向AP端反馈错误类型,再通过查询AP端决定对当前帧N进行处理的方式。在起始码检测的阶段,对于当前NAL(Network Abstraction Layer,网络抽象层),检查起始码0x00000001或者0x000001,如果当前NAL没有起始码,通过反馈接口(例如Escape接口)向AP端反馈错误类型,在检测出起始码的判断结果为不正确时,反馈错误类型为第一类或第二类,否则继续进行头信息参数的检测。
假如在头信息参数检测的阶段检测出错误,则不会对后续的关键帧进行检测,而是向AP端反馈错误类型,再通过查询AP端决定对当前帧N进行处理的方式。头信息参数检测包括以下两部分。首先检测是否收到头信息参数,具体指是否收到SPS(SequenceParameter,序列参数集)和PPS(Picture Parameter,图像参数集)NAL,如果判断结果是没有收到,则通过反馈接口(例如Escape接口)向AP端反馈错误类型,在检测出头信息参数的判断结果为未收到时,反馈错误类型为第一类。若判断结果为收到,则继续检测头信息参数的取值范围,具体包括以下参数:seq_parameter_set_id取值范围:[0,31],chroma_format_idc取值范围:[0,3],bit_depth_luma_minus8取值范围:[0,6],bit_depth_chroma_minus8取值范围:[0,6],log2_max_frame_num_minus4取值范围为[0,12],pic_order_cnt_type取值范围为[0,2],log2_max_pic_order_cnt_lsb_minus4取值范围[0,12];pic_parameter_set_id取值范围;[0,255],seq_parameter_set_id取值范围:[0,31],slice_group_map_type取值范围:[0,6],num_ref_idx_l0_default_active_minus1取值范围:[0,31],num_ref_idx_l1_default_active_minus1取值范围:[0,31],weighted_bipred_idc取值范围:[0,2],pic_init_qs_minus26取值范围:[-26,25],chroma_qp_index_offset取值范围:[-12,12],second_chroma_qp_index_offset取值范围:[-12,12],pic_parameter_set_id取值范围:[0,255],colour_plane_id取值范围:[0,2],idr_pic_id取值范围:[0,65535],redundant_pic_cnt取值范围:[0,127],disable_deblocking_filter_idc取值范围:[0,2]。如果判断结果是以上参数中有任何参数超出了预设的取值范围,则通过反馈接口(例如Escape接口)向AP端反馈错误类型,在检测出头信息参数的各个参数中有参数超出预设的取值范围时,反馈错误类型为第二类。如果判断结果是没有参数超出预设的取值范围,则继续进行关键帧的检测。
在参考帧信息检测阶段,对当前帧N会依次进行IDR帧检测、参考帧检测和关键参考帧检测。在IDR帧检测时,如果判断结果为当前帧N是IDR帧,则初始化参考帧Buffer,将该帧的码流索引添加进入参考帧Buffer;如果判断结果为当前帧N不是IDR帧,则继续检查参考帧是否存在。在检测参考帧是否存在时,若判断结果为当前帧N的参考帧全部存在,则将码流索引添加到参考帧Buffer;若判断结果为当前帧N的参考帧均不存在,则通过反馈接口(例如Escape接口)向AP端反馈错误类型,在检测出当前帧N的参考帧均不存在时,反馈错误类型为第一类;若判断结果为当前帧N的参考帧部分存在,那么需要对这部分存在的参考帧进行进一步检测,即继续检查关键参考帧是否存在。在检测关键参考帧是否存在时,若判断结果为关键参考帧存在,表示对于当前帧N能够解出大部分图像,而当前帧N对应的参考帧列表中除了关键参考帧之外有部分其他的参考帧是有缺失的,但是当前帧N依然可以被认定为是能被正确解码的帧,故可以将码流索引添加到参考帧Buffer;若判断结果为关键参考帧不存在,表示对于当前帧N无法解码,则通过反馈接口(例如Escape接口)向AP端反馈错误类型,在检测出当前帧N的关键参考帧不存在时,反馈错误类型为第二类。
在对当前帧N完成三类错误检测后,在决定是否对当前帧N进行硬件解码之前,通过查询AP端对于当前帧N是否进行解码的判断指令,该判断指令是根据反馈接口收到的错误类型而生成的。
检测模块12通过查询AP端对当前帧N进行处理的具体流程为:通过AP端访问反馈接口,根据获取的当前帧N的错误类型,生成对应的判断指令;查询AP端,获取当前帧对应的判断指令;当判断指令为需要丢帧时,跳过当前帧N,进行下一帧的错误检测;当判断指令为不需要丢帧时,通过GPU的PCIe驱动程序对当前帧N进行硬件解码。
具体来说,本实施例2的系统中采用的是一种异步反馈机制。在对视频码流的解码开始后,根据上文所述的错误码流检测步骤进行检测,如果发现错误,则通过反馈接口(例如Escape接口)向AP端反馈错误类型,但不会从AP端实时获取的处理结果,而是在通过GPU的PCIe驱动程序进行硬件解码前,通过AP端访问专门提供的反馈接口来获取之前反馈的错误类型数据的处理结果,即当前是否丢帧的判断指令。通过这样的异步反馈机制,AP端可以综合考虑视频码流可能会出现的一种或多种错误,给出最优的处理结果。在本实施例2的系统中,错误类型可以包括两类,其一为建议丢帧,否则会出现花屏,或者未知的错误;其二为可以丢帧,可能会出现花屏、跳帧等错误。针对第一类错误类型,判断指令为丢帧;针对第二类错误类型,判断指令为继续解码。如果AP端反馈的判断指令是丢帧,则当前帧N的解码结束,跳过当前帧进入下一帧的解码流程,重新开始对下一帧进行错误检测。如果AP端反馈的判断指令是继续解码,则通过GPU的PCIe驱动程序对当前帧N进行硬件解码,然后再进入下一帧的解码流程,重新开始对下一帧进行错误检测。
使用本实施例2的系统,可以高效地检测出三种错误码流,准确性高。由于在对视频码流进行错误检测的过程中,不添加任何标记数据,所以对视频码流的编解码运行的效率影响非常小。此外,本实施例2的系统设置有基于反馈接口(例如Escape接口)的反馈机制,通过AP端访问该反馈接口,主动控制是否进行丢帧处理,在避免了无效解码与无效丢帧的同时,还能最大限度的满足客户的需求,提高了视频码流的编解码运行的效率,改善了由于数据错误等因素引发的花屏和跳帧的情况。同时,使用本实施例2的系统还能够有效降低硬件解码过程中由于错误码流而引发的错误处理中断或重置发生的概率。
实施例3
本发明实施例3公开了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如实施例1公开的基于GPU的码流错误检测和反馈的方法。
实施例4
本发明实施例4公开了一种计算机程序产品,计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行如实施例1公开的基于GPU的码流错误检测和反馈的方法。
本发明所公开的基于GPU的码流错误检测和反馈的方法及系统,针对视频码流中检测出不同的错误,向AP端反馈不同的错误配型,可以降低无效的硬件解码、提高解码效率,可以降低硬件由于错误码流而引发的错误处理中断或重置。
需要理解的是,以上对本发明的具体实施例进行的描述只是为了说明本发明的技术路线和特点,其目的在于让本领域内的技术人员能够了解本发明的内容并据以实施,但本发明并不限于上述特定实施方式。凡是在本发明权利要求的范围内做出的各种变化或修饰,都应涵盖在本发明的保护范围内。
Claims (15)
1.一种基于GPU的码流错误检测和反馈的方法,其特征在于,所述方法包括:Step1000:根据从AP端接收的视频码流,获取所述视频码流中所有帧的帧信息;Step2000:根据所述视频码流中各个帧对应的帧信息,对每一帧逐个进行错误检测,通过查询AP端对当前帧的错误类型的判断指令对当前帧进行处理。
2.根据权利要求1所述的方法,其特征在于,Step2000具体包括:
Step2100:从所述视频码流的各个帧对应的帧信息中,获取每一帧对应的起始码、头信息参数和参考帧信息;
Step2200:从所述视频码流的第1帧开始,逐个对当前帧N进行错误检测,N的起始值设置为1;其中,N为整数;
Step2300:对当前帧N分别进行起始码检测、头信息参数检测和参考帧信息检测,在完成错误检测且未检测出错误时,对当前帧N进行硬件解码,在检测出错误时,将错误类型反馈至AP端,通过AP端根据当前帧N的错误类型生成对应的判断指令,并通过查询AP端的判断指令对当前帧N进行处理,在AP端的判断指令为丢掉当前帧N时令N=N+1并进行下一帧的错误检测;
Step2400:判断当前帧N是否为最后一帧;若否,则执行Step2500;若是,则执行Step2600;
Step2500:令N=N+1,返回Step2300进行下一帧的错误检测;
Step2600:结束检测。
3.根据权利要求2所述的方法,其特征在于,Step2300具体包括:
Step2301:对当前帧N进行起始码检测,判断当前帧N对应的起始码是否正确;若不正确,则执行Step2309;若正确,则执行Step2302;
Step2302:对当前帧N进行头信息参数检测,判断是否收到当前帧N对应的头信息参数;若未收到,则执行Step2309;若收到,则执行Step2303;
Step2303:根据所述视频码流所采用的编码标准选取对应的取值范围,判断当前帧N对应的头信息参数的各个参数中是否有参数超出所述取值范围;若有,则执行Step2309;若没有,则执行Step2304;
Step2304:对当前帧N进行参考帧信息检测,判断当前帧N是否为IDR帧;若是,则执行Step2307;若不是,则执行Step2305;
Step2305:判断当前帧N的参考帧是否存在;若参考帧均不存在,则执行Step2309;若参考帧均存在,则执行Step2308;若参考帧部分存在,则执行Step2306;
Step2306:判断当前帧N的关键参考帧是否存在;若存在,则执行Step2308;若不存在,则执行Step2309;
Step2307:初始化参考帧buffer;
Step2308:将该当前帧N的码流索引添加至参考帧buffer;接着执行Step2320;Step2309:将错误类型反馈至AP端;
Step2310:通过查询AP端根据当前帧N的错误类型生成的判断指令,对当前帧N进行处理;
Step2320:对当前帧N进行硬件解码。
4.根据权利要求3所述的方法,其特征在于,Step2310具体包括:
Step2311:通过AP端访问反馈接口,根据获取的当前帧N的错误类型,生成对应的判断指令;
Step2312:查询AP端,获取当前帧对应的判断指令;当判断指令为需要丢帧时,执行Step2400;当判断指令为不需要丢帧时,执行Step2320。
5.根据权利要求3所述的方法,其特征在于,在执行Step2301检测出起始码的判断结果为不正确时,反馈错误类型为第一类或第二类。
6.根据权利要求3所述的方法,其特征在于,在执行Step2302检测出头信息参数的判断结果为未收到时,反馈错误类型为第一类。
7.根据权利要求3所述的方法,其特征在于,在执行Step2303检测出头信息参数中各个参数超出各自的预设范围时,反馈错误类型为第二类。
8.根据权利要求3所述的方法,其特征在于,在执行Step2305检测出当前帧N的参考帧均不存在时,反馈错误类型为第一类。
9.根据权利要求3所述的方法,其特征在于,在执行Step2306检测出当前帧N的关键参考帧不存在时,反馈错误类型为第二类。
10.一种基于GPU的码流错误检测和反馈的系统,其特征在于,所述系统包括接收模块和检测模块;
所述接收模块用于根据从AP端接收的视频码流,获取所述视频码流中所有帧的帧信息;
所述检测模块用于根据所述视频码流中各个帧对应的帧信息,对每一帧逐个进行错误检测,通过查询AP端对当前帧的错误类型的判断指令对当前帧进行处理。
11.根据权利要求5所述的系统,其特征在于,所述检测模块具体用于:
从所述视频码流的各个帧对应的帧信息中,获取每一帧对应的起始码、头信息参数和参考帧信息;
从所述视频码流的第1帧开始,逐个对当前帧N进行错误检测,N的起始值设置为1;N为整数;
通过GPU的用户态驱动程序对当前帧N分别进行起始码检测、头信息参数检测和参考帧信息检测,在完成错误检测且未检测出错误时,通过GPU的PCIe驱动程序对当前帧N进行硬件解码,在检测出错误时,将错误类型反馈至AP端,通过AP端根据当前帧N的错误类型生成对应的判断指令,并通过查询AP端的判断指令对当前帧N进行处理,在AP端的判断指令为丢掉当前帧N时令N=N+1并进行下一帧的错误检测;
判断当前帧N是否为最后一帧;若否,则令N=N+1,返回进行下一帧的错误检测;若是,则结束检测。
12.根据权利要求6所述的系统,其特征在于,所述检测模块通过GPU的用户态驱动程序对视频码流进行错误检测的具体流程为:
对当前帧N进行起始码检测,判断当前帧N对应的起始码是否正确;
若不正确,则将错误类型反馈至AP端;
若正确,则对当前帧N进行头信息参数检测,判断是否收到当前帧N对应的头信息参数;
若没收到,则将错误类型反馈至AP端;
若收到,则根据所述视频码流所采用的编码标准选取对应的取值范围,判断当前帧N对应的头信息参数的各个参数中是否有参数超出所述取值范围;
若有,则将错误类型反馈至AP端;
若没有,则对当前帧N进行参考帧信息检测,判断当前帧N是否为IDR帧;
若是,则初始化参考帧buffer;
若不是,则判断当前帧N的参考帧是否存在;
若参考帧均不存在,则将错误类型反馈至AP端;
若参考帧均存在,则将该当前帧N的码流索引添加至参考帧buffer,接着通过GPU的PCIe驱动程序对当前帧N进行硬件解码;
若参考帧部分存在,则判断当前帧N的关键参考帧是否存在;
若存在,则将该当前帧N的码流索引添加至参考帧buffer,接着通过GPU的PCIe驱动程序对当前帧N进行硬件解码;
若不存在,则将错误类型反馈至AP端;
在将错误类型反馈至AP端之后,通过查询AP端根据当前帧N的错误类型生成的判断指令,对当前帧N进行处理。
13.根据权利要求7所述的方法,其特征在于,所述检测模块通过查询AP端对当前帧N进行处理的具体流程为:
通过AP端访问反馈接口,根据获取的当前帧N的错误类型,生成对应的判断指令;
查询AP端,获取当前帧对应的判断指令;当判断指令为需要丢帧时,跳过当前帧N,进行下一帧的错误检测;当判断指令为不需要丢帧时,通过GPU的PCIe驱动程序对当前帧N进行硬件解码。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1至9任一项所述的基于GPU的码流错误检测和反馈的方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1至9任一项所述的基于GPU的码流错误检测和反馈的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310110905.3A CN116132696A (zh) | 2023-02-14 | 2023-02-14 | 基于gpu的码流错误检测和反馈的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310110905.3A CN116132696A (zh) | 2023-02-14 | 2023-02-14 | 基于gpu的码流错误检测和反馈的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116132696A true CN116132696A (zh) | 2023-05-16 |
Family
ID=86294049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310110905.3A Pending CN116132696A (zh) | 2023-02-14 | 2023-02-14 | 基于gpu的码流错误检测和反馈的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116132696A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116489458A (zh) * | 2023-06-26 | 2023-07-25 | 深圳麦风科技有限公司 | 一种基于文件字节分析的mp4修复方法、装置、终端及介质 |
CN116886678A (zh) * | 2023-09-06 | 2023-10-13 | 中移(杭州)信息技术有限公司 | 异常码流过滤方法、系统、电子设备和存储介质 |
-
2023
- 2023-02-14 CN CN202310110905.3A patent/CN116132696A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116489458A (zh) * | 2023-06-26 | 2023-07-25 | 深圳麦风科技有限公司 | 一种基于文件字节分析的mp4修复方法、装置、终端及介质 |
CN116489458B (zh) * | 2023-06-26 | 2023-09-01 | 深圳麦风科技有限公司 | 一种基于文件字节分析的mp4修复方法、装置、终端及介质 |
CN116886678A (zh) * | 2023-09-06 | 2023-10-13 | 中移(杭州)信息技术有限公司 | 异常码流过滤方法、系统、电子设备和存储介质 |
CN116886678B (zh) * | 2023-09-06 | 2023-12-05 | 中移(杭州)信息技术有限公司 | 异常码流过滤方法、系统、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116132696A (zh) | 基于gpu的码流错误检测和反馈的方法及系统 | |
US20200296402A1 (en) | Encoder and Decoder and Methods Thereof for Encoding/Decoding a Picture of a Video Sequence | |
KR102652871B1 (ko) | 네트워크 장치 및 오류 처리 | |
JP5149375B2 (ja) | 多視点符号化および復号の方法ならびに装置 | |
US10827170B2 (en) | Method and device for coding POC, method and device for decoding POC, and electronic equipment | |
KR20140085492A (ko) | 디코딩된 픽쳐 버퍼 및 참조 픽쳐 목록들에 관한 상태 정보의 시그널링 | |
US20130272618A1 (en) | Devices for identifying a leading picture | |
JP2007537639A (ja) | 拡張可能媒体のコード化及び伝送のための多数の相互運用点 | |
US10728569B2 (en) | Methods and devices for encoding and decoding using parameter sets, and electronic equipment | |
CN109963176B (zh) | 视频码流处理方法、装置、网络设备和可读存储介质 | |
EP3713242A1 (en) | Bitstream generation method and apparatus, bitstream processing method and apparatus, and system | |
US11146799B2 (en) | Method and apparatus for decoding video bitstream, method and apparatus for generating video bitstream, storage medium, and electronic device | |
US20240098310A1 (en) | Encoding method, real-time communication method, apparatus, device, and storage medium | |
WO2023226915A1 (zh) | 视频传输方法、系统、设备及存储介质 | |
US20220201318A1 (en) | Arrangements and methods thereof for processing video | |
CN105379281B (zh) | 用于使用图形处理器的视频解码的图片参考控制 | |
US20240040147A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN111988626B (zh) | 帧参考方法、设备及存储介质 | |
CN112291569B (zh) | H.264图像组的编码方法、装置、编解码芯片及电子设备 | |
US20140219332A1 (en) | Virtual Field Buffer Based Decoding | |
CN106534137B (zh) | 媒体流传输方法及装置 | |
CN114615549B (zh) | 流媒体seek方法、客户端、存储介质和移动设备 | |
US12022088B2 (en) | Method and apparatus for constructing motion information list in video encoding and decoding and device | |
US20140233653A1 (en) | Decoder and encoder for picture outputting and methods thereof | |
US20090296701A1 (en) | Method and apparatus for improving channel acquisition |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: 201203, 11th Floor, Building 3, No. 889 Bibo Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai Applicant after: Granfei Intelligent Technology Co.,Ltd. Address before: Room 201, No. 2557, Jinke Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201203 Applicant before: Gryfield Intelligent Technology Co.,Ltd. Country or region before: China |