CN108206956B - 一种视频解码错误的处理方法及装置 - Google Patents
一种视频解码错误的处理方法及装置 Download PDFInfo
- Publication number
- CN108206956B CN108206956B CN201611184986.8A CN201611184986A CN108206956B CN 108206956 B CN108206956 B CN 108206956B CN 201611184986 A CN201611184986 A CN 201611184986A CN 108206956 B CN108206956 B CN 108206956B
- Authority
- CN
- China
- Prior art keywords
- frame
- mode
- preset
- error
- erroneous
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000001514 detection method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 230000000903 blocking effect Effects 0.000 description 6
- 238000003672 processing method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000002123 temporal effect 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64784—Data processing by the network
- H04N21/64792—Controlling the complexity of the content stream, e.g. by dropping packets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频解码错误的处理方法,包括:检测网络丢包率和I帧间隔;将所述网络丢包率与预设的第一阈值比较,获得第一比较结果,将所述I帧间隔与预设的第二阈值比较,获得第二比较结果;当检测到错误帧时,根据所述第一比较结果和所述第二比较结果,选择预设模式对错误帧进行调整,所述错误帧包括I帧。本发明还同时公开了一种视频解码错误的处理装置。
Description
技术领域
本发明涉及视频解码技术领域,尤其涉及一种视频解码错误的处理方法及装置。
背景技术
随着4K电视的普及,大家对超高清视频的需求也越来越强烈,由于高清视频的数据传输量非常大,而目前的网络带宽对传输4K图像还有一些瓶颈,特别是移动终端的流媒体服务需求迅猛增长后,高清晰度的流媒体需求和日益紧缺的网络带宽资源的矛盾越来越突出,不可避免的会出现在数据输出过程中,由于网络丢包等因素,而导致视频图像花屏和卡顿的情况。
对于视频图像花屏和卡顿的现象,目前的专利和文献主要是针对各个解码标准相对应的错误隐藏技术进行研究,当视频数据出现错误的时候,采用块分割技术进行错误隐藏,通过具体分析时域和空域掩藏算法,提出改进的错误掩藏算法。传统的空域错误隐藏技术主要采用基于方向熵的自适应选择加权像素平均插值和方向插值,有专利文献对方向插值做了相应的改进,提高了边缘方向估计的精确度,对于时域隐藏技术的改进,主要是针对运动矢量搜索匹配不够精确和运动剧烈的丢失块掩藏不准确这两个问题提出改进,通过采用外边界匹配、增加运动矢量集、扩大参考帧范围、更改计算最小误差方法等方法来提高丢失宏块匹配准确度。
然而,对于网络丢包严重的视频数据,即使采用改进的时域隐藏算法、改进的空域隐藏算法或者两种改进算法相结合,也不能避免花屏和卡顿的现象。因此,亟需寻找一种解决视频花屏和卡顿问题的方法。
发明内容
为解决现有存在的问题,本发明实施例期望提供一种视频解码错误的处理方法及装置,能解决视频花屏和卡顿的现象,提高视频解码准确率。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种视频解码错误的处理方法,所述方法包括:
检测网络丢包率和I帧间隔;
将所述网络丢包率与预设的第一阈值比较,获得第一比较结果,将所述I帧间隔与预设的第二阈值比较,获得第二比较结果;
当检测到错误帧时,根据所述第一比较结果和所述第二比较结果,选择预设模式对错误帧进行调整,所述错误帧包括I帧。
上述方案中,所述选择预设模式对错误帧进行调整,包括:
选择预设模式对参考帧序列中的错误参考帧进行调整,并搜索用于重新解码的下一非错误的帧。
上述方案中,所述预设模式为第一模式:将参考帧序列中的错误参考帧替换为目标I帧,同时搜索用于重新解码的下一非错误帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;或,
所述预设模式为第二模式:将参考帧序列中的错误参考帧替换为目标I帧,同时搜索用于重新解码的下一非错误I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;或,
所述预设模式为第三模式:删除参考帧序列中的错误参考帧,同时搜索用于重新解码的下一非错误帧;或,
所述预设模式为第四模式:删除错误参考帧序列中的错误参考帧,同时搜索用于重新解码的下一非错误I帧。
上述方案中,所述根据所述第一比较结果和所述第二比较结果,选择预设模式,包括:
当所述网络丢包率大于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择所述第一模式;
当所述网络丢包率大于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择所述第二模式;
当所述网络丢包率小于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择所述第三模式;
当所述网络丢包率小于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择所述第四模式。
上述方案中,所述方法还包括:为每个预设模式设置对应的标识值;
所述选择预设模式对参考帧序列中错误参考帧进行调整,并搜索用于重新解码的下一非错误的帧,包括:
将当前选择的预设模式的标识值和第一标识值相与,当相与结果为真时,选择第三模式或者第四模式,且检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,选择第一模式或者第二模式,且检测到错误帧时将参考帧序列中的错误参考帧替换为目标I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;
将当前选择的预设模式的标识值和第二标识值相与,当相与结果为真时,选择第二模式或者第四模式,且搜索用于重新解码的下一非错误I帧;当相与结果为假时,选择第一模式或者第三模式,且搜索用于重新解码的下一非错误帧。
上述方案中,所述检测网络丢包率和I帧间隔之前,所述方法还包括:
设置所述第四模式对错误帧进行调整。
本发明实施例还提供了一种视频解码错误的处理装置,所述装置包括:检测模块、比较模块和处理模块;其中,
所述检测模块,用于检测网络丢包率和I帧间隔;
所述比较模块,用于将所述网络丢包率与预设的第一阈值比较,获得第一比较结果,将所述I帧间隔与预设的第二阈值比较,获得第二比较结果;
所述处理模块,用于当检测到错误帧时,根据所述第一比较结果和所述第二比较结果,选择预设模式对错误帧进行调整,所述错误帧包括I帧。
上述方案中,所述处理模块包括:
处理单元,用于根据所述第一比较结果和所述第二比较结果,对参考帧序列中的错误参考帧进行调整,并搜索用于重新解码的下一非错误的帧。
上述方案中,所述预设模式为第一模式,所述处理单元,具体用于根据所述第一比较结果和所述第二比较结果,将参考帧序列中的错误参考帧替换为目标I帧,同时搜索用于重新解码的下一非错误帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;或,
所述预设模式为第二模式,所述处理单元,具体用于根据所述第一比较结果和所述第二比较结果,将参考帧序列中的错误参考帧替换为目标I帧,同时搜索用于重新解码的下一非错误I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;或,
所述预设模式为第三模式,所述处理单元,具体用于根据所述第一比较结果和所述第二比较结果,删除参考帧序列中的错误参考帧,同时搜索用于重新解码的下一非错误帧;或,
所述预设模式为第四模式,所述处理单元,具体用于根据所述第一比较结果和所述第二比较结果,删除错误参考帧序列中的错误参考帧,同时搜索用于重新解码的下一非错误I帧。
上述方案中,所述处理模块还包括:
所述选择单元,用于当所述网络丢包率大于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第一模式;当所述网络丢包率大于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第二模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第三模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第四模式。
上述方案中,所述装置还包括:设置模块,用于为每个预设模式设置对应的标识值;
所述处理单元,具体用于将当前选择的预设模式的标识值和第一标识值相与,当相与结果为真时,选择第三模式或者第四模式,且检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,选择第一模式或者第二模式,且检测到错误帧时将参考帧序列中的错误参考帧替换为目标I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;具体还用于将当前选择的预设模式的标识值和第二标识值相与,当相与结果为真时,选择第二模式或者第四模式,且搜索用于重新解码的下一非错误I帧,当相与结果为假时,选择第一模式或者第三模式,且搜索用于重新解码的下一非错误帧。
上述方案中,所述设置模块,还用于设置所述第四模式对错误帧进行调整。
本发明实施例提供的视频解码错误的处理方法及装置,先检测网络丢包率和I帧间隔;再将所述网络丢包率与预设的第一阈值比较,获得第一比较结果,将所述I帧间隔与预设的第二阈值比较,获得第二比较结果;当检测到错误帧时,根据所述第一比较结果和所述第二比较结果,选择预设模式对错误帧进行调整,所述错误帧包括I帧。可见,本发明实施例根据检测到的网络丢包率的高低和I帧间隔的远近,来选择针对视频解码错误的适当的处理模式,通过对错误参考帧进行调整并同时搜索用于重新解码的下一非错误的帧,避免了视频花屏和卡顿的现象,从而大大增强了视频传输对网络的兼容性,提高了视频解码准确率,保证了视频数据的正常传输。
附图说明
图1为本发明实施例运动估计的帧间预测编码原理图;
图2为本发明实施例帧间预测编码示意图;
图3为本发明视频解码错误的处理方法实施例一的实现流程示意图;
图4为图3所示实现流程中选择预设模式对错误帧进行调整的细化流程示意图;
图5为基于第一模式的处理原理示意图;
图6为基于第二模式的处理原理示意图;
图7为基于第三模式的处理原理示意图;
图8为基于第四模式的处理原理示意图;
图9为本发明视频解码错误的处理方法实施例二的实现流程示意图;
图10为本发明视频解码错误的处理装置实施例一的组成结构示意图;
图11为图10所示处理装置中处理模块的细化组成结构示意图;
图12为本发明视频解码错误的处理装置实施例二的组成结构示意图。
具体实施方式
本发明实施例提供的视频解码错误的处理方法,主要应用于视频处理系统中,根据检测到的网络丢包率的高低和I帧间隔的远近,来选择针对视频解码错误的适当的处理模式,对视频解码错误进行处理,能够有效均衡视频花屏和卡顿,避免视频花屏和卡顿的现象。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明当检测到错误帧时需要对错误参考帧进行处理,在图1、图2中,给出了视频图像帧间预测编码原理。
为了消除视频图像的时间冗余,通常采用运动估计的帧间预测编码方法对视频进行编码。图1为本发明实施例运动估计的帧间预测编码原理图,参照图1所示,I为原始输入,I'为预测值,I与I'之差e经过量化后为e',视频图象恢复数据为I”=I'+e',I”与原始数据相比,量化误差为q=e-e',I”经过补偿预测为I',残差数据e'经过残差预测编码函数Ce进行预测编码,运动矢量n经过运动矢量预测编码函数Cn进行预测编码。
图2为本发明实施例帧间预测编码示意图,参照图2所示,根据帧间预测编码的特性,当其中某个B帧或者P帧在传输的过程中数据丢失或者数据错误导致花屏时,由于该帧作为后面帧的参考帧,后面的帧在解码时以错误帧作为参考,错误就会放大和递延到后面的帧,所以当检测到错误帧,需要将错误参考帧进行调整。
图3为本发明视频解码错误的处理方法实施例一的实现流程示意图,参照图3所示,本实施例中视频解码错误的处理方法包括以下步骤:
步骤301:检测网络丢包率和I帧间隔;
通常,视频网络数据包在数据传输过程中,由于中途的传输,会导致视频网络部分数据包丢失,而网络丢包率是数据包丢失数量与传输的数据包总数的比值,是视频网络的重要参数;因此,在正常传输情况下,网络丢包率应该控制在一定范围内;如果在视频解码过程中,网络丢包率越高,则花屏帧越多,势必会影响用户的观看体验;本实施例中,网络丢包率可以通过ping指令进行检测。
I帧是视频图像的重要帧,为一帧画面的完整保留,解码时只需要本帧数据就可以完成,而I帧间隔的远近会影响GOP长度,进而影响读取GOP的速度,如果I帧间隔越远,搜索I帧的时候越长,视频切换时间越长;本实施例中,通过检测相邻两个I帧之间,视频帧的数量确定I帧间隔。
可见,网络丢包率和I帧间隔都会影响视频的质量,在本实施例中,根据网络丢包率的高低和I帧间隔的远近来选择视频解码错误处理的预设模式,根据选择的预设模式进行相应的处理操作。
步骤302:将所述网络丢包率与预设的第一阈值比较,获得第一比较结果,将所述I帧间隔与预设的第二阈值比较,获得第二比较结果;
这里,所述第一阈值用来表示网络丢包率高低的界限参数,第一阈值的大小可以根据实际需要进行设置,例如该第一阈值的取值范围可以为2%到6%的百分值,在本实施例中,可以以第一阈值为2%为例进行详细说明;所述第二阈值用来表示I帧间隔远近的界限参数,第二阈值的大小可以根据实际需要进行设置,例如该第二阈值的取值范围可以为20帧到50帧的整数值,在本实施例中,可以以第二阈值为25为例进行详细说明。
具体的,将当前检测到的网络丢包率与2%进行比较,获得第一比较结果,能够得到两种情况:第一种情况是,当网络丢包率大于或等于2%时,此时网络丢包率高;第二种情况是,当网络丢包率小于2%时,此时网络丢包率低。
将当前检测到的I帧间隔与25进行比较,获得第二比较结果,也能够得到两种情况:第一种情况是,I帧间隔大于等于25,此时I帧间隔远;第二种情况是,I帧间隔小于25,此时I帧间隔近。
步骤303:当检测到错误帧时,根据所述第一比较结果和所述第二比较结果,选择预设模式对错误帧进行调整,所述错误帧包括I帧。
具体的,所述选择预设模式对错误帧进行调整包括:选择预设模式对参考帧序列中错误参考帧进行调整,并同时搜索用于重新解码的下一非错误的帧。
图4为图3所示实现流程中选择预设模式对错误帧进行调整的细化流程示意图,参照图4所示,步骤303具体包括以下步骤:
步骤3031,当所述网络丢包率大于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第一模式;当所述网络丢包率大于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第二模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第三模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第四模式;
步骤3032,在每个预设模式设置对应的标识值后,将当前选择的预设模式的标识值和第一标识值相与,当相与结果为真时,选择第三模式或者第四模式,且检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,选择第一模式或者第二模式,且检测到错误帧时将参考帧序列中的错误参考帧替换为目标I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;
本步骤中,第一标识值可以取2;
步骤3033,将当前选择的预设模式的标识值和第二标识值相与,当相与结果为真时,选择第二模式或者第四模式,且搜索用于重新解码的下一非错误I帧;当相与结果为假时,选择第一模式或者第三模式,且搜索用于重新解码的下一非错误帧;
本步骤中,第二标识值可以取1。
本实施例中,所述预设模式分为四种模式:基于第一模式的处理原理如图5所示、基于第二模式的处理原理如图6所示、基于第三模式的处理原理如图7所示和基于第四模式的处理原理如图8所示,所述四种预设模式在解码器初始化的时候配置,并为每种预设模式设置各自的标识值,各个预设模式的标识值可以根据实际需要进行设置;在本实施例中,标识值可以设置为:第一模式的标识值为0,第二模式的标识值为1,第三模式的标识值为2,第四模式的标识值为3。
所述第一标识值可以根据实际需要进行设置,在本实施例中,可以以第一标识值为2为例进行详细说明;所述第二标识值可以根据实际需要进行设置,在本实施例中,可以以第二标识值为1为例进行详细说明。
具体的,检测网络丢包率和I帧间隔,将网络丢包率与2%进行比较,判断网络丢包率的高低,将I帧间隔与25进行比较,判断I帧间隔的远近,根据网络丢包率的高低和I帧间隔的远近,选择对视频解码错误处理的预设模式;其中,
当网络丢包率高(即花屏帧多),并且视频I帧间隔远时,选择第一模式;当网络丢包率高(即花屏帧多),并且视频I帧间隔近时,选择第二模式;当网络丢包率低(即花屏帧少),并且视频I帧间隔远时,选择第三模式;当网络丢包率低(即花屏帧少),并且视频I帧间隔近时,选择第四模式;
按照二进制编码将当前选择的预设模式的标识值与2相与,当相与结果为真时,则检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,则检测到错误帧时将参考帧序列中的错误参考帧的地址指向已解码的参考帧序列中与错误参考帧相邻的I帧;
按照二进制编码将当前选择的预设模式的标识值与1相与,当相与结果为真时,则解码出错时搜索用于重新解码的下一非错误I帧;当相与结果为假时,则解码出错时搜索用于重新解码的下一非错误帧。
可以理解的是,根据当前检测到的网络丢包率的高低和I帧间隔的远近选择对视频解码错误处理的预设模式,通过选择的预设模式对错误帧进行调整就能避免视频花屏和卡顿的现象,是因为:在网络丢包率高的情况下,花屏帧多,将参考帧序列中的错误参考帧替换为已解码的参考帧序列中与错误参考帧相邻的I帧,以已解码的参考帧序列中与错误参考帧相邻的I帧作为参考帧,可以避免一直找不到可用的参考帧而导致花屏的现象;在I帧间隔远的情况下,解码出错时搜索用于重新解码的下一非错误帧,可以避免找I帧带来的时间开销而导致卡顿的现象。
图9为本发明视频解码错误的处理方法实施例二的实现流程示意图,参照图9所示,本实施例的视频解码错误的处理方法,是在实施例一的步骤301之前还包括:
步骤304,设置所述第四模式对错误帧进行调整。
基于实施例一中视频解码错误的处理方法,在本实施例中,对本发明视频解码错误的处理方法的具体实现举例进行详细说明。
在正常情况下,默认网络情况良好,网络丢包率低(即花屏帧少),I帧间隔近,基本满足正常的视频传输要求,解码器初始化配置为第四模式对视频帧进行解码,标识值为3;
参照图8所示,将第四模式的标识值3与2相与,相与的结果为真,当检测到错误帧时,删除错误参考帧;将第四模式的标识值3与1相与,相与结果为真,解码出错时搜索用于重新解码的下一非错误I帧后继续对视频帧进行解码;
当检测到网络丢包率为2%,I帧间隔为25时,选择第一模式,标识值为0;
参照图5所示,将第一模式的标识值0与2相与,相与结果为假,当检测到错误帧时将参考帧序列中的错误参考帧的地址指向已解码的参考帧序列中与错误参考帧相邻的I帧;将第一模式的标识值0与3相与,相与结果为假,当解码出错时搜索用于重新解码的下一非错误帧。
从第四模式切换到第一模式,解码器重新初始化配置,配置为第一模式,标识值为0,继续对视频帧进行解码,这个切换模式的过程在视频观看的过程中可以做到无缝连接,从用户的角度基本看不到任何画面的异常变化,解决了视频花屏和卡顿的问题。
图10为本发明视频解码错误的处理装置实施例一的组成结构示意图,参照图10所示,本实施例中视频解码错误的处理装置包括检测模块41、比较模块42和处理模块43;其中,
所述检测模块41,用于检测网络丢包率和I帧间隔;
通常,视频网络数据包在数据传输过程中,由于中途的传输,会导致视频网络部分数据包丢失,而网络丢包率是数据包丢失数量与传输的数据包总数的比值,是视频网络的重要参数;因此,在正常传输情况下,网络丢包率应该控制在一定范围内,如果在视频解码过程中,网络丢包率越高,则花屏帧越多,势必会影响用户的观看体验;本实施例中,网络丢包率可以通过ping指令进行检测。
I帧是视频图像的重要帧,为一帧画面的完整保留,解码时只需要本帧数据就可以完成,而I帧间隔的远近会影响GOP长度,进而影响读取GOP的速度,如果I帧间隔越远,搜索I帧的时候越长,视频切换时间越长;本实施例中,通过检测相邻两个I帧之间,视频帧的数量确定I帧间隔。
可见,网络丢包率和I帧间隔都会影响视频的质量,在本实施例中,根据网络丢包率的高低和I帧间隔的远近来选择视频解码错误处理的预设模式,根据选择的预设模式进行相应的处理操作。
所述比较模块42,用于将所述网络丢包率与预设的第一阈值比较,获得第一比较结果,将所述I帧间隔与预设的第二阈值比较,获得第二比较结果;
这里,所述第一阈值用来表示网络丢包率高低的界限参数,第一阈值的大小可以根据实际需要进行设置,例如该第一阈值的取值范围可以为2%到6%的百分值,在本实施例中,可以以第一阈值为2%为例进行详细说明;所述第二阈值用来表示I帧间隔远近的界限参数,第二阈值的大小可以根据实际需要进行设置,例如该第二阈值的取值范围可以为20帧到50帧的整数值,在本实施例中,可以以第二阈值为25为例进行详细说明。
具体的,将当前检测到的网络丢包率与2%进行比较,获得第一比较结果,能够得到两种情况:第一种情况是,当网络丢包率大于或等于2%时,此时网络丢包率高;第二种情况是,当网络丢包率小于2%时,此时网络丢包率低。
将当前检测到的I帧间隔与25进行比较,获得第二比较结果,也能够得到两种情况:第一种情况是,I帧间隔大于等于25,此时I帧间隔远;第二种情况是I帧间隔小于25,此时I帧间隔近。
所述处理模块43,用于当检测到错误帧时,根据所述第一比较结果和所述第二比较结果,选择预设模式对错误帧进行调整,所述错误帧包括I帧。
图11为图10所示处理装置中处理模块的细化组成结构示意图,参照图11所示,所述处理模块43包括选择单元431和处理单元432;其中,
所述选择单元431,具体用于当所述网络丢包率大于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第一模式;当所述网络丢包率大于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第二模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第三模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第四模式;
所述处理单元432,用于根据所述第一比较结果和所述第二比较结果,对参考帧序列中的错误参考帧进行调整,并搜索用于重新解码的下一非错误的帧;具体用于,在每个预设模式设置对应的标识值后,将当前选择的预设模式的标识值和第一标识值相与,当相与结果为真时,选择第三模式或者第四模式,且检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,选择第一模式或者第二模式,且检测到错误帧时将参考帧序列中的错误参考帧替换为目标I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;将当前选择的预设模式的标识值和第二标识值相与,当相与结果为真时,选择第二模式或者第四模式,且搜索用于重新解码的下一非错误I帧;当相与结果为假时,选择第一模式或者第三模式,且搜索用于重新解码的下一非错误帧;
所述处理单元432中,第一标识值可以取2,第二标识值可以取1。
本实施例中,所述预设模式分为四种模式:基于第一模式的处理原理如图5所示、基于第二模式的处理原理如图6所示、基于第三模式的处理原理如图7所示和基于第四模式的处理原理如图8所示,所述四种预设模式在解码器初始化的时候配置,并为每种预设模式设置各自的标识值,各个预设模式的标识值可以根据实际需要进行设置;在本实施例中,标识值可以设置为:第一模式的标识值为0,第二模式的标识值为1,第三模式的标识值为2,第四模式的标识值为3。
所述第一标识值可以根据实际需要进行设置,在本实施例中,可以以第一标识值为2为例进行详细说明;所述第二标识值可以根据实际需要进行设置,在本实施例中,可以以第二标识值为1为例进行详细说明。
具体的,检测网络丢包率和I帧间隔,将网络丢包率与2%进行比较,判断网络丢包率的高低,将I帧间隔与25进行比较,判断I帧间隔的远近,根据网络丢包率的高低和I帧间隔的远近,选择视频解码错误处理的预设模式;其中,
当网络丢包率高(即花屏帧多),并且视频I帧间隔远时,选择第一模式;当网络丢包率高(即花屏帧多),并且视频I帧间隔近时,选择第二模式;当网络丢包率低(即花屏帧少),并且视频I帧间隔远时,选择第三模式;当网络丢包率低(即花屏帧少),并且视频I帧间隔近时,选择第四模式;
按照二进制编码将当前选择的模式的标识值与2相与,当相与结果为真时,则检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,则检测到错误帧时将参考帧序列中的错误参考帧的地址指向已解码的参考帧序列中与错误参考帧相邻的I帧;
按照二进制编码将当前选择的模式的标识值与1相与,当相与结果为真时,则解码出错时搜索用于重新解码的下一非错误I帧;当相与结果为假时,则解码出错时搜索用于重新解码的下一非错误帧。
可以理解的是,根据当前检测到的网络丢包率的高低和I帧间隔的远近选择对视频解码错误处理的预设模式,通过选择的预设模式对错误帧进行调整就能避免视频花屏和卡顿的现象,是因为:在网络丢包率高的情况下,花屏帧多,将参考帧序列中的错误的参考帧替换为已解码的参考帧序列中与错误参考帧相邻的I帧,以已解码的参考帧序列中与错误参考帧相邻的I帧作为参考帧,可以避免一直找不到可用的参考帧而导致花屏的现象;在I帧间隔远的情况下,解码出错时搜索用于重新解码的下一非错误帧,可以避免找I帧带来的时间开销而导致卡顿的现象。
图12为本发明视频解码错误的处理装置实施例二的组成结构示意图,参照图12所示,本实施例的视频解码错误的处理装置除了包括检测模块、比较模块和处理模块外,还包括:
设置模块44,用于为每个预设模式设置对应的标识值;还用于设置所述第四模式对错误帧进行调整。
基于实施例一中视频解码错误的处理装置,在本实施例中,对本发明视频解码错误的处理装置的具体实现举例进行详细说明。
在正常情况下,默认网络情况良好,网络丢包率低(即花屏帧少),I帧间隔近,基本满足正常的视频传输要求,解码器初始化时配置为第四模式对视频帧进行解码,标识值为3;
参照图8所示,将第四模式的标识值3与2相与,相与的结果为真,当检测到错误帧时,删除错误参考帧;将第四模式的标识值3与1相与,相与结果为真,解码出错时搜索用于重新解码的下一非错误I帧后继续对视频帧进行解码;
当检测到网络丢包率为2%,I帧间隔为25时,选择第一模式,标识值为0;
参照图5所示,将第一模式的标识值0与2相与,相与结果为假,当检测到错误帧时将参考帧序列中的错误参考帧的地址指向已解码的参考帧序列中与错误参考帧相邻的I帧;将第一模式的标识值0与3相与,相与结果为假,当解码出错时搜索用于重新解码的下一非错误帧。
从第四模式切换到第一模式,解码器重新初始化配置,配置为第一模式,标识值为0,继续对视频帧进行解码,这个切换模式的过程在视频观看的过程中可以做到无缝连接,从用户的角度基本看不到任何画面的异常变化,解决了视频花屏和卡顿的问题。
在实际应用中,所述检测模块41、比较模块42、处理模块43、设置模块44、以及选择单元431和处理单元432均可由位于移动终端中的中央处理器(CPU,Central ProcessingUnit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital SignalProcessor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (6)
1.一种视频解码错误的处理方法,其特征在于,所述方法包括:
检测网络丢包率和I帧间隔;
将所述网络丢包率与预设的第一阈值比较,获得第一比较结果,将所述I帧间隔与预设的第二阈值比较,获得第二比较结果;
当检测到错误帧时,根据所述第一比较结果和所述第二比较结果,选择预设模式对错误帧进行调整,所述错误帧包括I帧;
其中,所述预设模式为第一模式:将参考帧序列中的错误参考帧替换为目标I帧,同时搜索用于重新解码的下一非错误帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;或,
所述预设模式为第二模式:将参考帧序列中的错误参考帧替换为目标I帧,同时搜索用于重新解码的下一非错误I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;或,
所述预设模式为第三模式:删除参考帧序列中的错误参考帧,同时搜索用于重新解码的下一非错误帧;或,
所述预设模式为第四模式:删除参考帧序列中的错误参考帧,同时搜索用于重新解码的下一非错误I帧;
所述根据所述第一比较结果和所述第二比较结果,选择预设模式,包括:
当所述网络丢包率大于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择所述第一模式;
当所述网络丢包率大于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择所述第二模式;
当所述网络丢包率小于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择所述第三模式;
当所述网络丢包率小于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择所述第四模式。
2.根据权利要求1所述的方法,其特征在于,所述选择预设模式对错误帧进行调整,包括:
选择预设模式对参考帧序列中的错误参考帧进行调整,并搜索用于重新解码的下一非错误的帧;
所述方法还包括:为每个预设模式设置对应的标识值;
所述选择预设模式对参考帧序列中错误参考帧进行调整,并搜索用于重新解码的下一非错误的帧,包括:
将当前选择的预设模式的标识值和第一标识值相与,当相与结果为真时,选择第三模式或者第四模式,且检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,选择第一模式或者第二模式,且检测到错误帧时将参考帧序列中的错误参考帧替换为目标I帧;
将当前选择的预设模式的标识值和第二标识值相与,当相与结果为真时,选择第二模式或者第四模式,且搜索用于重新解码的下一非错误I帧;当相与结果为假时,选择第一模式或者第三模式,且搜索用于重新解码的下一非错误帧。
3.根据权利要求1所述的方法,其特征在于,所述检测网络丢包率和I帧间隔之前,所述方法还包括:
设置所述第四模式对错误帧进行调整。
4.一种视频解码错误的处理装置,其特征在于,所述装置包括:检测模块、比较模块和处理模块;其中,
所述检测模块,用于检测网络丢包率和I帧间隔;
所述比较模块,用于将所述网络丢包率与预设的第一阈值比较,获得第一比较结果,将所述I帧间隔与预设的第二阈值比较,获得第二比较结果;
所述处理模块,用于当检测到错误帧时,根据所述第一比较结果和所述第二比较结果,选择预设模式对错误帧进行调整,所述错误帧包括I帧;
其中,所述处理模块包括:处理单元,用于根据所述第一比较结果和所述第二比较结果,对参考帧序列中的错误参考帧进行调整,并搜索用于重新解码的下一非错误的帧;
所述预设模式为第一模式,所述处理单元,具体用于根据所述第一比较结果和所述第二比较结果,将参考帧序列中的错误参考帧替换为目标I帧,同时搜索用于重新解码的下一非错误帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;或,
所述预设模式为第二模式,所述处理单元,具体用于根据所述第一比较结果和所述第二比较结果,将参考帧序列中的错误参考帧替换为目标I帧,同时搜索用于重新解码的下一非错误I帧,所述目标I帧为已解码的参考帧序列中与错误参考帧相邻的I帧;或,
所述预设模式为第三模式,所述处理单元,具体用于根据所述第一比较结果和所述第二比较结果,删除参考帧序列中的错误参考帧,同时搜索用于重新解码的下一非错误帧;或,
所述预设模式为第四模式,所述处理单元,具体用于根据所述第一比较结果和所述第二比较结果,删除参考帧序列中的错误参考帧,同时搜索用于重新解码的下一非错误I帧;
所述处理模块还包括:
选择单元,用于当所述网络丢包率大于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第一模式;当所述网络丢包率大于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第二模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔大于预设的第二阈值时,选择第三模式;当所述网络丢包率小于预设的第一阈值并且所述I帧间隔小于预设的第二阈值时,选择第四模式。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:设置模块,用于为每个预设模式设置对应的标识值;
所述处理单元,具体还用于将当前选择的预设模式的标识值和第一标识值相与,当相与结果为真时,选择第三模式或者第四模式,且检测到错误帧时将参考帧序列中的错误参考帧删除;当相与结果为假时,选择第一模式或者第二模式,且检测到错误帧时将参考帧序列中的错误参考帧替换为目标I帧;具体还用于将当前选择的预设模式的标识值和第二标识值相与,当相与结果为真时,选择第二模式或者第四模式,且搜索用于重新解码的下一非错误I帧,当相与结果为假时,选择第一模式或者第三模式,且搜索用于重新解码的下一非错误帧。
6.根据权利要求5所述的装置,其特征在于,所述设置模块,还用于设置所述第四模式对错误帧进行调整。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611184986.8A CN108206956B (zh) | 2016-12-20 | 2016-12-20 | 一种视频解码错误的处理方法及装置 |
PCT/CN2017/095349 WO2018113308A1 (zh) | 2016-12-20 | 2017-07-31 | 视频解码错误的处理方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611184986.8A CN108206956B (zh) | 2016-12-20 | 2016-12-20 | 一种视频解码错误的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108206956A CN108206956A (zh) | 2018-06-26 |
CN108206956B true CN108206956B (zh) | 2020-04-24 |
Family
ID=62603757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611184986.8A Active CN108206956B (zh) | 2016-12-20 | 2016-12-20 | 一种视频解码错误的处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108206956B (zh) |
WO (1) | WO2018113308A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995702B (zh) * | 2019-12-16 | 2023-09-15 | 天翼数字生活科技有限公司 | 基于质量监测探针判断视频卡顿的方法及系统 |
CN113645490B (zh) * | 2021-06-23 | 2023-05-09 | 天津津航计算技术研究所 | 一种软硬结合的多通道视频同步解码方法 |
CN113727116B (zh) * | 2021-07-21 | 2024-04-23 | 天津津航计算技术研究所 | 基于过滤机制的视频解码方法 |
CN114007065B (zh) * | 2021-11-02 | 2023-05-30 | 深圳市瑞云科技有限公司 | 一种基于WebRTC实时音视频黑屏检测方法 |
CN116055803B (zh) * | 2022-07-29 | 2024-04-02 | 荣耀终端有限公司 | 视频播放方法和系统、电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101742271A (zh) * | 2008-11-10 | 2010-06-16 | 华为技术有限公司 | 流媒体数据的传输方法、系统和装置 |
CN101990087A (zh) * | 2010-09-28 | 2011-03-23 | 深圳中兴力维技术有限公司 | 无线视频监控系统及根据网络状态动态调整码流的方法 |
US8477846B2 (en) * | 2009-10-07 | 2013-07-02 | Ittiam Systems (P) Ltd. | System and method for adaptive intra refresh rate setting in a video encoder |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090178096A1 (en) * | 2008-01-03 | 2009-07-09 | Microsoft Corporation | Intelligent over-transmission of media data segments |
-
2016
- 2016-12-20 CN CN201611184986.8A patent/CN108206956B/zh active Active
-
2017
- 2017-07-31 WO PCT/CN2017/095349 patent/WO2018113308A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101742271A (zh) * | 2008-11-10 | 2010-06-16 | 华为技术有限公司 | 流媒体数据的传输方法、系统和装置 |
US8477846B2 (en) * | 2009-10-07 | 2013-07-02 | Ittiam Systems (P) Ltd. | System and method for adaptive intra refresh rate setting in a video encoder |
CN101990087A (zh) * | 2010-09-28 | 2011-03-23 | 深圳中兴力维技术有限公司 | 无线视频监控系统及根据网络状态动态调整码流的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108206956A (zh) | 2018-06-26 |
WO2018113308A1 (zh) | 2018-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108206956B (zh) | 一种视频解码错误的处理方法及装置 | |
CN109510919B (zh) | 用于感知质量评估的场景变换检测的方法、设备和介质 | |
KR101405913B1 (ko) | 블록 매칭 모션 평가에서 모션 벡터를 수정하기 위한시스템 및 방법 | |
TW202044830A (zh) | 用於針對合併模式以確定預測權重的方法、裝置和系統 | |
WO2021057481A1 (zh) | 视频编解码方法和相关装置 | |
US9031127B2 (en) | Video coding | |
WO2003061284A1 (en) | Motion wake identification and control mechanism | |
KR20060043051A (ko) | 영상 신호의 인코딩 및 디코딩 방법 | |
WO2021057705A1 (zh) | 视频编解码方法和相关装置 | |
WO2017101350A1 (zh) | 变分辨率的编码模式预测方法及装置 | |
CN109923865A (zh) | 一种视频数据的解码方法、解码装置、编码方法和编码装置 | |
US20120106632A1 (en) | Method and apparatus for error resilient long term referencing block refresh | |
KR20140115262A (ko) | 인터-이미지 예측 방법 및 디바이스, 및 대응하는 코딩 방법 및 장치 | |
US20150010069A1 (en) | Intra video coding in error prone environments | |
CN113966614B (zh) | 具有运动矢量差的合并模式的改进 | |
JP2016005043A (ja) | 情報処理装置およびプログラム | |
TW202008783A (zh) | 多通道視訊處理系統的方法與裝置 | |
US8767831B2 (en) | Method and system for motion compensated picture rate up-conversion using information extracted from a compressed video stream | |
Agrafiotis | Video error concealment | |
Peng et al. | Weighted boundary matching error concealment for HEVC using block partition decisions | |
KR20060043050A (ko) | 영상 신호의 인코딩 및 디코딩 방법 | |
CN115336272A (zh) | 基于空间邻域的仿射运动导出 | |
Patel et al. | Hybrid spatio-temporal error concealment technique for image/video transmission | |
US20150092857A1 (en) | Methods for Encoding Motion Vectors | |
Dong et al. | A content-aware error resilient scheme for wireless video streams with data embedding |
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 |