CN113709479A - 基于自适应帧内刷新机制的解码、编码方法及相关设备 - Google Patents
基于自适应帧内刷新机制的解码、编码方法及相关设备 Download PDFInfo
- Publication number
- CN113709479A CN113709479A CN202111123857.9A CN202111123857A CN113709479A CN 113709479 A CN113709479 A CN 113709479A CN 202111123857 A CN202111123857 A CN 202111123857A CN 113709479 A CN113709479 A CN 113709479A
- Authority
- CN
- China
- Prior art keywords
- virtual boundary
- frame
- current frame
- boundary position
- adaptive intra
- 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.)
- Granted
Links
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 183
- 238000000034 method Methods 0.000 title claims abstract description 117
- 230000007246 mechanism Effects 0.000 title claims abstract description 64
- 238000005516 engineering process Methods 0.000 claims abstract description 122
- 239000003550 marker Substances 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 24
- 238000011084 recovery Methods 0.000 claims description 20
- 108091026890 Coding region Proteins 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- NUHSROFQTUXZQQ-UHFFFAOYSA-N isopentenyl diphosphate Chemical compound CC(=C)CCO[P@](O)(=O)OP(O)(O)=O NUHSROFQTUXZQQ-UHFFFAOYSA-N 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000000153 supplemental effect 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
-
- 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/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例公开了一种基于自适应帧内刷新机制的解码、编码方法及相关设备,属于视频编解码领域。在本申请实施例中,在当前帧的码流中的扩展数据中新增自适应帧内刷新技术的视频扩展号以及虚拟边界位置标记信息,由于该虚拟边界位置标记信息能够指示虚拟边界的位置,且该虚拟边界至少用于区分当前帧中的已刷新区域和未刷新区域,因此编码端在划分当前帧的刷新区域时,可以基于实际需求任意设置该虚拟边界,然后通过该虚拟边界位置标记信息指示该虚拟边界的位置即可,从而提高了划分区域划分的灵活性,也即是本申请实施例提供了一种通过扩展数据实现自适应划分刷新区域的自适应帧内刷新机制。
Description
本申请是申请日为2021年03月19日、申请号为202110298610.4、发明名称为“基于自适应帧内刷新机制的解码、编码方法及相关设备”的发明专利申请的分案申请。
技术领域
本申请实施例涉及视频编解码领域,特别涉及一种基于自适应帧内刷新机制的解码、编码方法及相关设备。
背景技术
为了解决由于I帧码率过大而导致解码I帧所需时间较长的问题,帧内刷新机制应运而生。帧内刷新机制的基本原理是将一个I帧的码率分散到若干个P帧上。在编码的过程中,将一个完整图像帧基于刷新周期划分为N个强制帧内区域,依次编码针对该图像帧的N个帧内刷新帧,每个帧内刷新帧包括前述N个强制帧内区域中的一个强制帧内区域,这N个强制帧内区域的编码模式为强制帧内(intra)模式,每个帧内刷新帧中的其他区域的编码模式允许采用帧间(inter)模式,这样每个帧内刷新帧的码率不仅相对于I帧的码率得以减小,各个帧内刷新帧的码率也比较稳定。但是基于目前的语法启动帧内刷新机制的过程有些冗余。
发明内容
本申请实施例提供了一种基于自适应帧内刷新机制的解码、编码方法及相关设备,可以提高划分为帧内刷新机制的应用灵活性。所述技术方案如下:
一方面,提供了一种基于自适应帧内刷新机制的解码方法,所述方法包括:
接收当前帧的码流;
若所述当前帧的码流中存在扩展数据且所述扩展数据中携带自适应帧内刷新技术的视频扩展号,则获取所述扩展数据中携带的虚拟边界位置标记信息,所述虚拟边界位置标记信息用于指示虚拟边界的位置,所述虚拟边界至少用于区分所述当前帧中的已刷新区域和未刷新区域;
基于所述虚拟边界位置标记信息,确定所述当前帧是否支持自适应帧内刷新技术。
基于上述方法,在一种可能的实现方式中,所述方法还包括:
若所述当前帧的码流的扩展数据中不存在所述自适应帧内刷新技术的视频扩展号,则确定所述当前帧不支持所述自适应帧内刷新技术。
基于上述方法,在一种可能的实现方式中,所述虚拟边界位置标记信息包括第一虚拟边界位置标记信息和第二虚拟边界位置标记信息;
所述第一虚拟边界位置标记信息用于指示所述虚拟边界在所述当前帧水平方向上的像素位置,所述第二虚拟边界位置标记信息用于指示所述虚拟边界在所述当前帧垂直方向上的像素位置。
基于上述方法,在一种可能的实现方式中,所述第一虚拟边界位置标记信息为所述虚拟边界在所述当前帧水平方向上的图像横坐标,所述第二虚拟边界位置标记信息为所述虚拟边界在所述当前帧垂直方向上的图像纵坐标;
所述已刷新区域是指以图像左上角坐标(0,0)为原点,宽为所述图像横坐标、高为所述图像纵坐标的矩形区域,所述未刷新区域是指所述当前帧中除所述已刷新区域之外的其他区域。
基于上述方法,在一种可能的实现方式中,所述基于所述虚拟边界位置标记信息,确定所述当前帧是否支持自适应帧内刷新技术,包括:
若所述第一虚拟边界位置标记信息的取值和所述第二虚拟边界位置标记信息的取值均大于0,则确定所述当前帧支持自适应帧内刷新技术;
若所述第一虚拟边界位置标记信息的取值和/或所述第二虚拟边界位置标记信息的取值等于0,则确定所述当前帧不支持自适应帧内刷新技术。
基于上述方法,在一种可能的实现方式中,所述方法还包括:
若所述当前帧支持自适应帧内刷新技术,且解码顺序中当前帧的前一帧不支持自适应帧内刷新技术,则所述当前帧为随机接入点;
其中,前一帧不支持自适应帧内刷新技术,包括:
所述前一帧的扩展数据中不存在自适应帧内刷新技术的视频扩展号;或者
所述前一帧的扩展数据中存在自适应帧内刷新技术的视频扩展号,但前一帧的第一虚拟边界位置标记信息和/或第二虚拟边界位置标记信息的取值等于0。
基于上述方法,在一种可能的实现方式中,所述方法还包括:
若确定所述当前帧支持自适应帧内刷新技术,且根据所述当前帧的第一虚拟边界位置标记信息确定虚拟边界的像素位置等于或超出当前帧的右边界,以及根据所述当前帧的第二虚拟边界位置标记信息确定虚拟边界的像素位置等于或超出当前帧的下边界,则确定所述当前帧为随机接入的恢复点。
基于上述方法,在一种可能的实现方式中,所述第一虚拟边界位置标记信息的精度为一个最大编码单元LCU的宽度,所述第二虚拟边界位置标记信息的精度为一个所述LCU的高度。
基于上述方法,在一种可能的实现方式中,当所述当前帧用于随机访问时,对所述当前帧进行解码之前,所述方法还包括:
获取一个有效的序列头;
根据所述序列头携带的信息,对所述当前帧进行解码。
另一方面、提供了一种基于自适应帧内刷新机制的编码方法,所述方法包括:
确定当前帧是否支持自适应帧内刷新技术;
若所述当前帧支持自适应帧内刷新技术,则在所述当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号和所述当前帧的虚拟边界位置标记信息,所述虚拟边界位置标记信息指示虚拟边界的位置,所述虚拟边界至少用于区分所述当前帧中的已刷新区域和未刷新区域。
基于上述方法,在一种可能的实现方式中,所述虚拟边界位置标记信息包括第一虚拟边界位置标记信息和第二虚拟边界位置标记信息;
所述第一虚拟边界位置标记信息用于指示所述虚拟边界在所述当前帧水平方向上的像素位置,所述第二虚拟边界位置标记信息用于指示所述虚拟边界在所述当前帧垂直方向上的像素位置。
基于上述方法,在一种可能的实现方式中,所述第一虚拟边界位置标记信息为所述虚拟边界在所述当前帧水平方向上的图像横坐标,所述第二虚拟边界位置标记信息为所述虚拟边界在所述当前帧垂直方向上的图像纵坐标;
所述已刷新区域是指以图像左上角坐标(0,0)为原点,宽为所述图像横坐标、高为所述图像纵坐标的矩形区域,所述未刷新区域是指所述当前帧中除所述已刷新区域之外的其他区域。
基于上述方法,在一种可能的实现方式中,若所述当前帧不支持自适应帧内刷新技术,则在所述当前帧的扩展数据中不携带自适应帧内刷新技术的视频扩展号,或者,在所述当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号,但是所述当前帧的扩展数据中携带的第一虚拟边界位置标记信息的取值和/或第二虚拟边界位置标记信息的取值为0。
基于上述方法,在一种可能的实现方式中,若所述当前帧支持自适应帧内刷新技术,则所述当前帧的扩展数据中携带的所述第一虚拟边界位置标记信息的取值大于0,且所述第二虚拟边界位置标记信息的取值也大于0。
基于上述方法,在一种可能的实现方式中,所述方法还包括:
若所述当前帧为随机接入点,则确定所述当前帧支持自适应帧内刷新技术,且编码顺序中当前帧的前一帧不支持自适应帧内刷新技术。
基于上述方法,在一种可能的实现方式中,所述方法还包括:
若所述当前帧为随机接入的恢复点,则确定所述当前帧支持自适应帧内刷新技术,且所述第一虚拟边界位置标记信息所指示的虚拟边界的像素位置等于或超出所述当前帧的右边界,以及所述第二虚拟边界位置标记信息所指示的虚拟边界的像素位置等于或超出所述当前帧的下边界。
基于上述方法,在一种可能的实现方式中,所述第一虚拟边界位置标记信息的精度为一个最大编码单元LCU的宽度,所述第二虚拟边界位置标记信息的精度为一个所述LCU的高度。
另一方面,提供了一种解码装置,所述解码装置包括:
接收模块,用于接收当前帧的码流;
处理模块,用于若所述当前帧的码流中存在扩展数据且所述扩展数据中携带自适应帧内刷新技术的视频扩展号,则获取所述扩展数据中携带的虚拟边界位置标记信息,所述虚拟边界位置标记信息用于指示虚拟边界的位置,所述虚拟边界至少用于区分所述当前帧中的已刷新区域和未刷新区域;
所述处理模块,还基于所述虚拟边界位置标记信息,确定所述当前帧是否支持自适应帧内刷新技术。
基于上述装置,在一种可能的实现方式中,所述处理模块还用于:
若所述当前帧的码流的扩展数据中不存在所述自适应帧内刷新技术的视频扩展号,则确定所述当前帧不支持所述自适应帧内刷新技术。
基于上述装置,在一种可能的实现方式中,所述虚拟边界位置标记信息包括第一虚拟边界位置标记信息和第二虚拟边界位置标记信息;
所述第一虚拟边界位置标记信息用于指示所述虚拟边界在所述当前帧水平方向上的像素位置,所述第二虚拟边界位置标记信息用于指示所述虚拟边界在所述当前帧垂直方向上的像素位置。
基于上述装置,在一种可能的实现方式中,所述第一虚拟边界位置标记信息为所述虚拟边界在所述当前帧水平方向上的图像横坐标,所述第二虚拟边界位置标记信息为所述虚拟边界在所述当前帧垂直方向上的图像纵坐标;
所述已刷新区域是指以图像左上角坐标(0,0)为原点,宽为所述图像横坐标、高为所述图像纵坐标的矩形区域,所述未刷新区域是指所述当前帧中除所述已刷新区域之外的其他区域。
基于上述装置,在一种可能的实现方式中,所述处理模块用于:
若所述第一虚拟边界位置标记信息的取值和所述第二虚拟边界位置标记信息的取值均大于0,则确定所述当前帧支持自适应帧内刷新技术;
若所述第一虚拟边界位置标记信息的取值和/或所述第二虚拟边界位置标记信息的取值等于0,则确定所述当前帧不支持自适应帧内刷新技术。
基于上述装置,在一种可能的实现方式中,所述处理模块还用于:
若所述当前帧支持自适应帧内刷新技术,且解码顺序中当前帧的前一帧不支持自适应帧内刷新技术,则所述当前帧为随机接入点;
其中,前一帧不支持自适应帧内刷新技术,包括:
所述前一帧的扩展数据中不存在自适应帧内刷新技术的视频扩展号;或者
所述前一帧的扩展数据中存在自适应帧内刷新技术的视频扩展号,但前一帧的第一虚拟边界位置标记信息和/或第二虚拟边界位置标记信息的取值等于0。
基于上述装置,在一种可能的实现方式中,所述处理模块还用于:
若确定所述当前帧支持自适应帧内刷新技术,且根据所述当前帧的第一虚拟边界位置标记信息确定虚拟边界的像素位置等于或超出当前帧的右边界,以及根据所述当前帧的第二虚拟边界位置标记信息确定虚拟边界的像素位置等于或超出当前帧的下边界,则确定所述当前帧为随机接入的恢复点。
基于上述装置,在一种可能的实现方式中,所述第一虚拟边界位置标记信息的精度为一个最大编码单元LCU的宽度,所述第二虚拟边界位置标记信息的精度为一个所述LCU的高度。
基于上述装置,在一种可能的实现方式中,所述处理模块还用于:
当所述当前帧用于随机访问时,对所述当前帧进行解码之前,获取一个有效的序列头;
根据所述序列头携带的信息,对所述当前帧进行解码。
另一方面,提供了一种编码装置,所述编码装置包括:
编码模块,用于确定当前帧是否支持自适应帧内刷新技术;
所述编码模块,还用于若所述当前帧支持自适应帧内刷新技术,则在所述当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号和所述当前帧的虚拟边界位置标记信息,所述虚拟边界位置标记信息指示虚拟边界的位置,所述虚拟边界至少用于区分所述当前帧中的已刷新区域和未刷新区域。
基于上述装置,在一种可能的实现方式中,所述虚拟边界位置标记信息包括第一虚拟边界位置标记信息和第二虚拟边界位置标记信息;
所述第一虚拟边界位置标记信息用于指示所述虚拟边界在所述当前帧水平方向上的像素位置,所述第二虚拟边界位置标记信息用于指示所述虚拟边界在所述当前帧垂直方向上的像素位置。
基于上述装置,在一种可能的实现方式中,所述第一虚拟边界位置标记信息为所述虚拟边界在所述当前帧水平方向上的图像横坐标,所述第二虚拟边界位置标记信息为所述虚拟边界在所述当前帧垂直方向上的图像纵坐标;
所述已刷新区域是指以图像左上角坐标(0,0)为原点,宽为所述图像横坐标、高为所述图像纵坐标的矩形区域,所述未刷新区域是指所述当前帧中除所述已刷新区域之外的其他区域。
基于上述装置,在一种可能的实现方式中,所述编码模块还用于:
若所述当前帧不支持自适应帧内刷新技术,则在所述当前帧的扩展数据中不携带自适应帧内刷新技术的视频扩展号,或者,在所述当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号,但是所述当前帧的扩展数据中携带的第一虚拟边界位置标记信息的取值和/或第二虚拟边界位置标记信息的取值为0。
基于上述装置,在一种可能的实现方式中,所述编码模块还用于:
若所述当前帧支持自适应帧内刷新技术,则所述当前帧的扩展数据中携带的所述第一虚拟边界位置标记信息的取值大于0,且所述第二虚拟边界位置标记信息的取值也大于0。
基于上述装置,在一种可能的实现方式中,所述编码模块还用于:
若所述当前帧为随机接入点,则确定所述当前帧支持自适应帧内刷新技术,且编码顺序中当前帧的前一帧不支持自适应帧内刷新技术。
基于上述装置,在一种可能的实现方式中,所述编码模块还用于:
若所述当前帧为随机接入的恢复点,则确定所述当前帧支持自适应帧内刷新技术,且所述第一虚拟边界位置标记信息所指示的虚拟边界的像素位置等于或超出所述当前帧的右边界,以及所述第二虚拟边界位置标记信息所指示的虚拟边界的像素位置等于或超出所述当前帧的下边界。
基于上述装置,在一种可能的实现方式中,所述第一虚拟边界位置标记信息的精度为一个最大编码单元LCU的宽度,所述第二虚拟边界位置标记信息的精度为一个所述LCU的高度。
另一方面、提供了一种解码端设备,所述解码端设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述所述的基于自适应帧内刷新机制的解码方法中的任一步骤。
另一方面、提供了一种编码端设备,所述编码端设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述所述的基于自适应帧内刷新机制的解码方法中的任一步骤。
另一方面、提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述基于自适应帧内刷新机制的解码方法、或者基于自适应帧内刷新机制的解码方法中的任一步骤。
另一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述基于自适应帧内刷新机制的解码方法、或者基于自适应帧内刷新机制的解码方法中的任一步骤。
本申请实施例提供的技术方案带来的有益效果至少包括:
在当前帧的码流中的扩展数据中新增自适应帧内刷新技术的视频扩展号以及虚拟边界位置标记信息,由于该虚拟边界位置标记信息能够指示虚拟边界的位置,且该虚拟边界至少用于区分当前帧中的已刷新区域和未刷新区域,因此编码端在划分当前帧的刷新区域时,可以基于实际需求任意设置该虚拟边界,然后通过该虚拟边界位置标记信息指示该虚拟边界的位置即可,从而提高了划分刷新区域的灵活性,也即是本申请实施例提供了一种通过扩展数据实现自适应划分刷新区域的自适应帧内刷新机制。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种帧内刷新机制的示意图;
图2是本申请实施例提供的一种采用帧内刷新机制后的图像序列的示意图;
图3是本申请实施例提供的一种采用帧内刷新机制后的图像序列的示意图;
图4是本申请实施例提供的一种基于自适应帧内刷新机制的编码方法流程图;
图5是本申请实施例提供的一种自适应帧内刷新机制中帧内刷新帧的区域分布示意图;
图6是本申请实施例提供的一种基于自适应帧内刷新机制的解码方法流程图;
图7是本申请实施例提供的一种解码装置的结构示意图;
图8是本申请实施例提供的一种编码装置的结构示意图;
图9是本申请实施例提供的一种终端的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例提供的方法进行解释说明之前,先对本申请实施例涉及的应用场景进行解释说明。
在视频编解码中,用于做基准参考的图像帧称为I帧,I帧也称为关键帧。编码I帧时,压缩率很低,目的在于后续解码时能够直接基于I帧的码流解码得到I帧,从而无需参考其他图像帧。在编码时,基于前一帧图像和当前图像帧之间的差值进行编码的图像帧称为P帧,编码后的P帧的码流中携带的是前一帧图像和当前图像帧之间的差值,以便于后续基于I帧、解码得到的前一帧图像和码流中的差值解码得到当前图像帧。此外,在编码时,基于前一帧图像和当前图像帧之间的差值、以及当前图像帧和后一帧图像之间的差值进行编码的图像帧称为B帧,编码后的B帧的码流中携带的是前一帧图像和当前图像帧之间的差值以及当前图像帧和后一帧图像之间的差值,以便于后续基于I帧、解码得到的前一帧图像和后一帧图像以及码流中的差值解码得到当前图像帧。将编码后的一个I帧以及若干个B帧或若干个P帧组成的序列称为一个图像序列。该图像序列也称为IPPP或IBBB序列。
在解码端通过随机接入方式访问IPPP或IBBB序列时,通常情况下I帧的码率会远大于P帧或B帧的码率,使得I帧的解码时间比P帧或B帧的解码时间更长。尤其在弱网环境中解码I帧所需的时间更长,从而导致可能会出现视频卡顿现象。
为了避免由于解码I帧所需时长过长导致出现视频卡顿现象,目前业内提供了一种帧内刷新机制。该帧内刷新机制的核心思想是:将I帧的码率分散到若干个P帧上,每个P帧都有一小块区域的编码模式是强制帧内模式,其他区域的编码模式允许采用帧间模式,最终每个P帧的码率都比原来的I帧小很多。同时,帧内刷新机制中要求不同P帧的强制帧内区域互不相交,如此经过若干个P帧之后,基于强制帧内模式变能够刷新完整个图像区域。
为了便于后续说明,下面对帧内刷新机制的原理进行详细说明。
图1是本申请实施例提供的其中一种帧内刷新机制的示意图。图1中的帧内刷新机制是把I帧的码率分散到四个P帧上,每个P帧都有一个区域是强制帧内区域。其中标记为①的区域是强制帧内区域。标记为②的区域是编码顺序中前一帧的已刷新区域,该区域的编码模式允许采用帧间模式,因此也称为当前帧的帧间区域。标记为③的区域是未刷新区域,该区域的编码模式允许采用帧间模式。
如图1所示,将完整的图像帧划分了4个强制帧内区域,刷新周期内包括4个帧内刷新帧,分别为图1中从左到右的4帧图像。对于刷新周期内第一帧图像,该图像包括一个帧内刷新区域和未刷新区域,由于第一帧图像为刷新周期内的第一帧图像,因此,第一帧图像中的已刷新区域仅仅包括当前图像帧中的强制帧内区域。对于刷新周期内第二帧图像,该图像包括第一帧图像中的已刷新区域、一个帧内刷新区域和未刷新区域,第二帧图像中第一帧图像的已刷新区域和当前图像帧包括的帧内刷新区域合并后统称为第二帧图像的已刷新区域。对于刷新周期内第三帧图像,该图像包括第二帧图像中的已刷新区域、一个帧内刷新区域和未刷新区域,第三帧图像中第二帧图像的已刷新区域和当前图像帧包括的帧内刷新区域合并后统称为第三帧图像的已刷新区域。对于刷新周期内第四帧图像,该图像包括第三帧图像中的已刷新区域、一个帧内刷新区域,第四帧图像中第三帧图像的已刷新区域和当前图像帧包括的帧内刷新区域合并后统称为第四帧图像的已刷新区域。由于前面是将完整图像划分了4个强制帧内区域,因此,第四帧图像中是没有未刷新区域的。
此外,未刷新区域也称为脏(dirty)区域,编码顺序中前一帧的已刷新区域和当前帧的强制帧内区域合并后还可以统称为当前帧的清洁(clean)区域,二者的分界线是图1中的分界线。本申请实施例所涉及的虚拟边界也是用于区分clean区域和dirty区域的分界线,只是分界线的划分方式更加灵活,可以是折线的分界线,不限于垂直分界线。在本申请实施例中,对于任一帧内刷新帧,该帧内刷新帧的已刷新区域和未刷新区域之间的虚拟边界是指已刷新区域和未刷新区域之间的分界线,该分界线也是该帧内刷新帧的clean区域和dirty区域之间的分界线。
图2是本申请实施例提供的其中一种采用帧内刷新机制后的图像序列的示意图。如图2所示,把原始图像序列(图2中简称为原始序列)中的I2(I帧)、P8(P帧)、P9(P帧)、P10(P帧)四帧替换成四个帧内刷新帧,这四个帧内刷新帧标记为X1、X2、X3、X4,得到基于帧内刷新机制的图像序列(图2中简称为帧内刷新序列)。这四个帧内刷新帧均有一个区域是强制帧内区域,其他区域的编码模式允许采用帧间模式,故可以把这四个帧内刷新帧看作四个“大P帧”,码率近似为原来I2帧码率的1/4。此外,这四个帧内刷新帧还可以简称为IR帧。
在图2所示的图像序列中,在随机接入方式下,假设原始图像序列中的I2帧是一个随机接入点,该I2帧之后的帧可以独立解码,所以P8帧只能参考I2帧,不能参考P7帧。但是在基于帧内刷新机制的图像序列(图2中简称为帧内刷新序列)中,X1帧是一个随机接入点,X1帧内的未刷新区域中的帧间编码区域可以参考P7帧,但是可能无法正确解码(因为随机接入时P7帧可能还未拿到)。类似的,X2帧、X3帧的未刷新区域也可能无法正确解码。直到X1至X4帧全部刷新完,此时由于X4帧中的已刷新区域中的帧间区域可以基于X1-X3的强制帧内区域的码流解码得到,X4帧中的已刷新区域中的强制帧内区域基于强制帧内解码模式便可得到,因此没有未刷新区域的X4帧可以完整的正确解码。所以,图2中的X1、X2、X3、X4帧是一个刷新周期,刷新周期中只有最后一帧可以完整的正确解码,故称该帧为恢复点(Recovery Point)。
需要说明的是,在随机接入情形下,只有恢复点及其后面的图像帧才会显示给用户,随机接入点所在的刷新周期中的其他图像由于可能无法正确解码,因此均不显示。在非随机接入情形下,所有图像帧都能完整的正确解码,因此所有图像帧都会显示给用户。
另外,为了保证基于帧内刷新机制编码后的码流解码功能,目前帧内刷新机制对解码模式中的帧内模式/帧间模式以及环路滤波限制了如下条件:
条件一:对于任一帧内刷新帧,该帧内刷新帧上已刷新区域的块只能参考同一个刷新周期中其他帧内刷新帧的已刷新区域进行解码,不能参考其他帧内刷新帧的未刷新区域进行解码;TMVP(temporal motion vector prediction,时域运动矢量预测)机制中的当前块在参考帧中的同位块也不能落在参考帧的未刷新区域,其中,同位块是指参考帧中和当前块位于相同位置的图像块,也即是,当前图像帧的图像块的MV信息所指向的区域不能落在参考帧的未刷新区域中。需要说明的是,本申请实施例中当前块和当前图像块为同一概念,为了便于说明,可以将当前图像块简称为当前块。
条件二:对于任一帧内刷新帧,该帧内刷新帧上未刷新区域的块解码时没有参考限制。
条件三:对于图像序列中不是帧内刷新帧的图像帧,该图像帧的块允许参考所在随机接入周期中帧内刷新帧帧的已刷新区域进行解码,但是不能参考所在随机接入周期中帧内刷新帧帧的未刷新区域进行解码;TMVP机制中的当前块在参考帧中的同位块也不能落在参考帧的未刷新区域。
条件四:对于任一帧内刷新帧,环路滤波不能跨越该帧内刷新帧的已刷新区域和未刷新区域之间的分界线,也即是不对已刷新区域和未刷新区域之间虚拟边界执行环路滤波操作。
目前VVC(Versatile Video Coding,通用视频编码)标准中的GDR(GradualDecoding Refresh,逐步解码刷新)技术给出了一种帧内刷新机制。该帧内刷新机制的具体内容如下。
首先通过垂直划分方式划分已刷新区域和未刷新区域。在垂直划分方式中,已刷新区域和未刷新区域之间的虚拟边界为平行于图像坐标系中的Y轴一条分界线。划分边界对齐到最小CU(coding unite,编码单元)的宽高(CU的最小为8像素),也即是已刷新区域的宽度为整数倍最小CU的宽度,已刷新区域的高度为帧内刷新帧的图像高度。
其次,不同帧内刷新帧上的强制帧间区域等距划分,且强制帧间区域的宽度=图像帧的总宽度/刷新周期。刷新周期是指正确解码得到完整图像帧所需的帧内刷新帧的数量,比如,图3中的刷新周期即为6。其中,刷新周期可由编码端配置,比如,编码端可基于帧内刷新帧的码流的图像头参数recovery_poc_cnt来设置该刷新周期,对于图3所示的图像序列,可将recovery_poc_cnt=6,指示该帧内刷新帧所在的刷新周期为6。此外,刷新顺序是默认的从左到右,该刷新顺序无需在码流中明确指示,解码端默认按照从左到右的刷新顺序解码每个帧内刷新帧。
另外,对于任一图像帧,编码端还可以基于图像帧的码流的图像头参数gdr_pic_flag标识当前图像帧是否为帧内刷新帧。比如,gdr_pic_flag=1时,指示当前图像帧为帧内刷新帧,gdr_pic_flag=0时,指示当前图像帧不是帧内刷新帧。
此外,VCC标准中的帧内刷新机制同样包括上述条件一至条件4这四个限制条件,在此不再赘述。
上述VCC标准中的帧内刷新机制中的强制帧内区域的划分方式不够灵活,只能是等距的垂直条状区域,无法自适应的根据图像内容划分区域。此外,由于VCC标准中的帧内刷新机制不允许跨越已刷新区域和未刷新区域之间的虚拟边界的环路滤波,所以该虚拟边界上的图像质量较差。
基于上述VCC标准中的帧内刷新机制中出现的问题,本申请实施例提供了一种基于自适应帧内刷新机制的编解码方法,该方法中提供更灵活的强制帧内区域划分方法,划分方式编码端可配,通过本申请实施例提供的方法一方面能够根据图像内容自适应划分已刷新区域和未刷新区域之间的虚拟边界,提高了强制帧内区域的划分灵活性。此外,还可以使得已刷新区域和未刷新区域之间的虚拟边界尽可能与图像中的对象边界重合,从而避免由于无法对虚拟边界进行环路滤波而影响解码后的图像质量。
由于本申请实施例提供的方法能够根据图像内容自适应划分已刷新区域和未刷新区域之间的虚拟边界,因此本申请实施例涉及的帧内刷新帧还可以称为自适应帧内刷新帧,后续为了便于说明,将本申请实施例涉及的自适应帧内刷新帧简称为帧内刷新帧或刷新帧。
下面对本申请实施例提供的基于自适应帧内刷新机制的编解码方法进行详细解释说明。
图4是本申请实施例提供的一种基于自适应帧内刷新机制的编码方法。如图4所示,该方法包括如下几个步骤。
步骤401:编码端确定当前帧是否支持自适应帧内刷新技术。
在用户访问视频的过程中,通常存在随机访问的场景。在随机访问的场景中,由于解码端没有获取到随机接入点之前的码流,因此需要基于随机接入点之后的码流来解码,这种场景下,为了能够实现解码端的正确解码,便需要随机接入点之后的码流支持自适应帧内刷新技术。
基于上述场景,编码端可以通过如下方式来确定当前帧是否支持自适应帧内刷新技术:若当前帧为随机接入点,则确定当前帧支持自适应帧内刷新技术,但编码顺序中当前帧的前一帧不支持自适应帧内刷新技术。若所述当前帧为随机接入的恢复点,则确定所述当前帧支持自适应帧内刷新技术。若所述当前帧为随机接入点和随机点接入的恢复点之间的任一帧图像,则确定所述当前帧支持自适应帧内刷新技术。
在当前帧支持自适应帧内刷新技术的情况下,编码端则需要确定当前帧中的已刷新区域和未刷新区域,以便于后续在编码当前帧的码流时,能够将区分当前帧中的已刷新区域和未刷新区域的虚拟边界的位置的虚拟边界位置标记信息编码在码流中。
为了便于理解,在此对本申请实施例提供的虚拟边界进行解释说明。
上述虚拟边界可以是当前帧中已刷新区域的边界线,也可以是当前帧中未刷新区域的边界线,还可以是分割出来的已刷新区域和未刷新区域的分割界线。这三种虚拟边界的示例本质相同。
后续实施例以虚拟边界是分割出来的已刷新区域和未刷新区域的分割界线为例进行说明。也即是,该虚拟边界位置标记信息可以指示当前帧中已刷新区域和未刷新区域之间的虚拟边界的位置,虚拟边界的位置具体可以包括该虚拟边界在当前帧水平方向上的位置以及当前帧中已刷新区域和未刷新区域之间的虚拟边界在当前帧垂直方向上的位置。
但是需要说明的是,本申请实施例提供的自适应帧内刷新方案中的虚拟边界不限于上述解释,虚拟边界可以是前述三种虚拟边界示例中任意一种。
步骤402:若当前帧支持自适应帧内刷新技术,编码端则在当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号和当前帧的虚拟边界位置标记信息,虚拟边界位置标记信息指示虚拟边界的位置,虚拟边界至少用于区分当前帧中的已刷新区域和未刷新区域。
需要说明的是,扩展数据是指编码后的当前帧的码流中位于图像头和图像数据之间的一段数据。在某些标准中,扩展数据也称为SEI(supplemental enhancementinformation,补充增强信息)。
目前,在扩展数据中可以指示多个视频扩展号,每个视频扩展号下面可以继续指示一些解码参数。因此,在本申请实施例中,可以在扩展数据扩展一个新的视频扩展标号出来,扩展的视频扩展标号可以称为自适应帧内刷新技术的视频扩展号。该自适应帧内刷新技术的视频扩展号用于通知解码端扩展数据中还进一步携带有和虚拟边界的位置有关的参数(也即是虚拟边界位置标记信息),以便于后续解码端确定当前帧是否支持自适应帧内刷新机制,进而基于虚拟边界位置标记信息解码当前帧的码流。
表1是本申请实施例提供的一种扩展数据的语法元素示意表。如表1所示,本申请实施例扩展的自适应帧内刷新技术的视频扩展号为“1110”。这种场景下,扩展数据中还进一步包括“air_parameters_extension”字段,该字段用于指示虚拟机边界的位置有关的参数。
表1
需要说明的是,上述表1仅仅是本申请实施例提供的扩展数据的语法元素的可选示例,本申请实施例并不限定这些语法元素的具体表现形式。此外,表1中其他语法元素的解释可以参考相关标准,本申请实施例对此不做限定。
在一种可能的实现方式中,上述虚拟边界位置标记信息可以包括第一虚拟边界位置标记信息和第二虚拟边界位置标记信息。其中,第一虚拟边界位置标记信息用于指示虚拟边界在当前帧水平方向上的像素位置,第二虚拟边界位置标记信息用于指示虚拟边界在当前帧垂直方向上的像素位置。
这种情况下,如表2所示,上述表1中的语法元素air_parameters_extension()便可包括第一虚拟边界位置标记信息和第二虚拟边界位置标记信息。表2是本申请实施例提供的另一种语法元素的示意表,如表2所示,air_parameters_extension()中包括extension_id(用于标识前述的自适应帧内刷新技术的视频扩展号)、air_bound_x(用于标识第一虚拟边界位置标记信息)、以及air_bound_y(用于标识第二虚拟边界位置标记信息)。
表2
需要说明的是,上述虚拟边界位置标记信息实施例仅仅用于举例说明,并不限定本申请实施例提供的虚拟边界位置标记信息的功能,任意能够指示当前帧中已刷新区域和未刷新区域之间的虚拟边界在当前帧水平方向上的位置以及当前帧中已刷新区域和未刷新区域之间的虚拟边界在当前帧垂直方向上的位置的标记信息均在本申请实施例提供的虚拟边界位置标记信息的范围之内。
在确定当前帧是否支持自适应帧内刷新技术之后,便可编码当前帧的码流。具体地,若当前帧不支持自适应帧内刷新技术,则在当前帧的扩展数据中不携带自适应帧内刷新技术的视频扩展号,或者,在当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号,但是当前帧的扩展数据中携带的第一虚拟边界位置标记信息的取值或第二虚拟边界位置标记信息的取值为0。
相应地,若当前帧支持自适应帧内刷新技术,则在所述当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号和所述当前帧的虚拟边界位置标记信息,且当前帧的扩展数据中携带的第一虚拟边界位置标记信息的取值大于0,且第二虚拟边界位置标记信息的取值也大于0。
示例地,上述第一虚拟边界位置标记信息为虚拟边界在当前帧水平方向上的图像横坐标,第二虚拟边界位置标记信息为虚拟边界在当前帧垂直方向上的图像纵坐标。这种场景下,当前帧中的已刷新区域是指以图像左上角坐标(0,0)为原点,宽为图像横坐标、高为图像纵坐标的矩形区域,当前帧中的未刷新区域是指当前帧中除已刷新区域之外的其他区域。
又示例地,第一虚拟边界位置标记信息的取值可以指示虚拟边界在当前帧水平方向上所占的宽度为多少个LCU(large coding unite,最大编码单元)的宽度。第二虚拟边界位置标记信息的取值可以指示虚拟边界在当前帧垂直方向上所占的高度为多少个LCU的高度。
此时,表2中的air_bound_x表示已刷新区域和未刷新区域之间的虚拟边界在图像中的横坐标,且该横坐标以LCU的宽度为单位。表2中的air_bound_y表示已刷新区域和未刷新区域之间的虚拟边界在图像中的纵坐标,该纵坐标也是以LCU的高度为单位。
比如,第一虚拟边界位置标记信息的取值为2,第二虚拟边界位置标记信息的取值为3,则表明当前已刷新区域是指以图像左上角坐标(0,0)为原点,以2倍的LCU的宽度为图像横坐标,3倍的LCU的高度为图像纵坐标的矩形区域。
这种场景下,第一虚拟边界位置标记信息的精度为一个LCU的宽度,第二虚拟边界位置标记信息的精度为一个LCU的高度。
需要说明的是,上述是示例说明本申请实施例提供的边界精度的可选实施例,并不限定本申请实施例涉及的边界精度的范围。其中,边界精度包括已刷新区域的宽度精度和高度精度。其中,已刷新区域的宽度精度是指已刷新区域的最小宽度,已刷新区域的实际宽度通常配置为该宽度精度的整数倍。已刷新区域的高度精度是指已刷新区域的最小高度,已刷新区域的实际高度通常配置为该高度精度的整数倍。
图5是本申请实施例提供的一种自适应帧内刷新机制中帧内刷新帧的区域分布示意图。如图5所示,帧内刷新帧的已刷新区域是指以坐标为(0,0)为左上角、宽为图像横坐标AirBoundX、高为图像纵坐标AirBoundY的矩形区域,该帧内刷新帧的未刷新区域是指该帧内刷新帧中除已刷新区域之外的其他区域。
也即是,图5中的帧内刷新帧包括已刷新区域和未刷新区域。已刷新区域仅利用当前图像或其他图像已刷新区域进行解码,未刷新区域可利用当前图像或其他图像进行解码。
图5中的PictureWidthInLcu标识图像宽度除以LCU的宽度后的数值,PictureHeightInLcu标识图像高度除以LCU的高度后的数值。如图5所示,AirBoundX的值应小于或等于PictureWidthInLcu。AirBoundY的值应小于或等于PictureHeightInLcu。
此外,上述AirBoundX和AirBoundY为解码过程中针对语法中的第一虚拟边界位置标记信息和第二虚拟边界位置标记信息设置的两个变量。这两个变量仍然用于指示图像中已刷新区域的图像横坐标和图像纵坐标。具体地,这两个变量的取值在后续解码侧进行详细说明,在此先不展开说明。
此外,若当前帧为随机接入的恢复点,编码端则确定当前帧支持自适应帧内刷新技术,且第一虚拟边界位置标记信息所指示的虚拟边界的像素位置等于或超出当前帧的右边界,以及第二虚拟边界位置标记信息所指示的虚拟边界的像素位置等于或超出当前帧的下边界。以便于后续解码端基于第一虚拟边界位置标记信息和第二虚拟边界位置标记信息便可判断当前帧是否是随机接入的恢复点。
综上所述,在当前帧的码流中的扩展数据中新增自适应帧内刷新技术的视频扩展号以及虚拟边界位置标记信息,由于该虚拟边界位置标记信息能够指示虚拟边界的位置,且该虚拟边界至少用于区分当前帧中的已刷新区域和未刷新区域,因此编码端在划分当前帧的刷新区域时,可以基于实际需求任意设置该虚拟边界,然后通过该虚拟边界位置标记信息指示该虚拟边界的位置即可,从而提高了划分刷新区域的灵活性,也即是本申请实施例提供了一种通过扩展数据实现自适应划分刷新区域的自适应帧内刷新机制。
下面通过图6所示的实施例对本申请实施例提供的基于帧内刷新机制的解码方法进行详细解释说明。如图6所示,该解码方法包括如下几个步骤。
步骤601:接收当前帧的码流。
编码端在通过图4所示的完成编码后,便可将各个图像的码流发送至解码端,由解码端基于图6所示的实施例完成图像的解码。
步骤602:若当前帧的码流中存在扩展数据且扩展数据中携带自适应帧内刷新技术的视频扩展号,则获取扩展数据中携带的虚拟边界位置标记信息,虚拟边界位置标记信息用于指示虚拟边界的位置,虚拟边界至少用于区分当前帧中的已刷新区域和未刷新区域。
关于自适应帧内刷新技术的视频扩展号、以及虚拟边界位置标记信息的相关解释同样可以参考编码端实施例中的步骤401,在此不再赘述。
此外,基于图4所示的实施例可知,若当前帧的码流的扩展数据中不存在自适应帧内刷新技术的视频扩展号,则确定当前帧不支持自适应帧内刷新技术。
比如,对于表2所示的语法元素,在当前帧的码流的扩展数据中没有查找到“1110”这个视频扩展号,则确定当前帧不支持自适应帧内刷新技术,此时便可通过其他解码方式解码当前帧的码流,本申请实施例对不支持自适应帧内刷新技术下的解码过程不做限定。
步骤603:基于该虚拟边界位置标记信息,确定当前帧是否支持自适应帧内刷新技术。
基于图4所示的实施例可知,在扩展数据中存在自适应帧内刷新技术的视频扩展号的情况下,当前帧也不一定是支持自适应帧内刷新技术的。因此,在通过步骤602获取到虚拟边界位置标记信息,还需基于虚拟边界位置标记信息,进一步判断当前帧是否支持自适应帧内刷新技术。
基于图4所示的实施例可知,虚拟边界位置标记信息包括第一虚拟边界位置标记信息和第二虚拟边界位置标记信息。其中,第一虚拟边界位置标记信息用于指示虚拟边界在当前帧水平方向上的像素位置,第二虚拟边界位置标记信息用于指示虚拟边界在当前帧垂直方向上的像素位置。
这种场景下,步骤603的实现过程为:若第一虚拟边界位置标记信息的取值和第二虚拟边界位置标记信息的取值均大于0,则确定当前帧支持自适应帧内刷新技术。相应地,若第一虚拟边界位置标记信息的取值或第二虚拟边界位置标记信息的取值等于0,则确定当前帧不支持自适应帧内刷新技术。
比如,对于表1和表2所示的语法元素,在解码扩展数据时,判断码流中是否存在自适应帧内刷新参数air_bound_x和air_bound_y。若存在这两个参数,则令图5中当前帧的AirBoundX的值等于air_bound_x的值,当前帧的AirBoundY的值等于air_bound_y的值。如果不存在这两个参数,则令当前帧的AirBoundX的值等于0,当前帧的AirBoundY的值等于0。
其中,当前帧的AirBoundX和AirBoundY已在前述进行了解释说明,在此不再赘述。
在得到当前帧的AirBoundX和AirBoundY之后,如果AirBoundX和AirBoundY均大于0,则确定当前帧支持自适应帧内刷新技术。如果AirBoundX和/或AirBoundY等于0,则确定当前帧不支持自适应帧内刷新技术。
此外,解码端在确定当前帧支持自适应帧内刷新技术,且解码顺序中当前帧的前一帧不支持自适应帧内刷新技术时,则确定当前帧为随机接入点。其中,,前一帧不支持自适应帧内刷新技术包括以下几种情况:前一帧的扩展数据中不存在自适应帧内刷新技术的视频扩展号;或者前一帧的扩展数据中存在自适应帧内刷新技术的视频扩展号,但前一帧的第一虚拟边界位置标记信息和/或第二虚拟边界位置标记信息的取值等于0。
相应地,若确定当前帧支持自适应帧内刷新技术,且根据当前帧的第一虚拟边界位置标记信息确定虚拟边界的像素位置等于或超出当前帧的右边界,以及根据当前帧的第二虚拟边界位置标记信息确定虚拟边界的像素位置等于或超出当前帧的下边界,则确定当前帧为随机接入的恢复点。
比如,对于表1和表2所示的语法元素,如果当前帧的扩展数据中存在参数air_bound_x和air_bound_y,且二者的值都大于0;同时,当前帧解码顺序中前一帧的参数air_bound_x和air_bound_y不存在或者存在且至少一者等于0,那么当前帧是随机接入点,允许从当前帧进行随机访问。
如果当前帧的扩展数据中存在参数air_bound_x和air_bound_y,且air_bound_x的值等于PictureWidthInLcu,air_bound_y的值等于PictureHeightInLcu,那么当前帧是恢复点,从当前帧开始后的各帧图像都能正确解码。
此外,当所述当前帧用于随机访问时,对所述当前帧进行解码之前,解码端还需要获取一个有效的序列头。根据该序列头携带的信息,对所述当前帧进行解码。
其中,有效的序列头可以是码流中位于当前帧码流之前且距离当前帧的码流最近的序列头,也可以是从***层接收到的序列头。序列头中携带的信息包括码流的档次、级别、各种技术的使能开关以及图像的分辨率和帧率等解码过程中需要用到的序列级信息。
需要说明的是,在本申请实施例中,由于可以随意指定虚拟边界的位置信息,因此本申请实施例支持水平、垂直和对角刷新,刷新方向可以是从左上到右下,在此不再详细说明。
综上所述,在当前帧的码流中的扩展数据中新增自适应帧内刷新技术的视频扩展号以及虚拟边界位置标记信息,由于该虚拟边界位置标记信息能够指示虚拟边界的位置,且该虚拟边界至少用于区分当前帧中的已刷新区域和未刷新区域,因此编码端在划分当前帧的刷新区域时,可以基于实际需求任意设置该虚拟边界,然后通过该虚拟边界位置标记信息指示该虚拟边界的位置即可,从而提高了划分刷新区域的灵活性,也即是本申请实施例提供了一种通过扩展数据实现自适应划分刷新区域的自适应帧内刷新机制。
图7是本申请实施例提供的一种解码装置的结构示意图。如图7所示,该解码装置700包括如下几个模块。
接收模块701,用于接收当前帧的码流;
处理模块702,用于若当前帧的码流中存在扩展数据且扩展数据中携带自适应帧内刷新技术的视频扩展号,则获取扩展数据中携带的虚拟边界位置标记信息,虚拟边界位置标记信息用于指示虚拟边界的位置,虚拟边界至少用于区分当前帧中的已刷新区域和未刷新区域;
处理模块702,还基于虚拟边界位置标记信息,确定当前帧是否支持自适应帧内刷新技术。
基于上述装置,在一种可能的实现方式中,处理模块还用于:
若当前帧的码流的扩展数据中不存在自适应帧内刷新技术的视频扩展号,则确定当前帧不支持自适应帧内刷新技术。
基于上述装置,在一种可能的实现方式中,虚拟边界位置标记信息包括第一虚拟边界位置标记信息和第二虚拟边界位置标记信息;
第一虚拟边界位置标记信息用于指示虚拟边界在当前帧水平方向上的像素位置,第二虚拟边界位置标记信息用于指示虚拟边界在当前帧垂直方向上的像素位置。
基于上述装置,在一种可能的实现方式中,第一虚拟边界位置标记信息为虚拟边界在当前帧水平方向上的图像横坐标,第二虚拟边界位置标记信息为虚拟边界在当前帧垂直方向上的图像纵坐标;
已刷新区域是指以图像左上角坐标(0,0)为原点,宽为图像横坐标、高为图像纵坐标的矩形区域,未刷新区域是指当前帧中除已刷新区域之外的其他区域。
基于上述装置,在一种可能的实现方式中,处理模块用于:
若第一虚拟边界位置标记信息的取值和第二虚拟边界位置标记信息的取值均大于0,则确定当前帧支持自适应帧内刷新技术;
若第一虚拟边界位置标记信息的取值和/或第二虚拟边界位置标记信息的取值等于0,则确定当前帧不支持自适应帧内刷新技术。
基于上述装置,在一种可能的实现方式中,处理模块还用于:
若当前帧支持自适应帧内刷新技术,且解码顺序中当前帧的前一帧不支持自适应帧内刷新技术,则当前帧为随机接入点;
其中,前一帧不支持自适应帧内刷新技术,包括:
前一帧的扩展数据中不存在自适应帧内刷新技术的视频扩展号;或者
前一帧的扩展数据中存在自适应帧内刷新技术的视频扩展号,但前一帧的第一虚拟边界位置标记信息和/或第二虚拟边界位置标记信息的取值等于0。
基于上述装置,在一种可能的实现方式中,处理模块还用于:
若确定当前帧支持自适应帧内刷新技术,且根据当前帧的第一虚拟边界位置标记信息确定虚拟边界的像素位置等于或超出当前帧的右边界,以及根据当前帧的第二虚拟边界位置标记信息确定虚拟边界的像素位置等于或超出当前帧的下边界,则确定当前帧为随机接入的恢复点。
基于上述装置,在一种可能的实现方式中,第一虚拟边界位置标记信息的精度为一个最大编码单元LCU的宽度,第二虚拟边界位置标记信息的精度为一个LCU的高度。
基于上述装置,在一种可能的实现方式中,处理模块还用于:
当当前帧用于随机访问时,对当前帧进行解码之前,获取一个有效的序列头;
根据序列头携带的信息,对当前帧进行解码。
综上,在当前帧的码流中的扩展数据中新增自适应帧内刷新技术的视频扩展号以及虚拟边界位置标记信息,由于该虚拟边界位置标记信息能够指示虚拟边界的位置,且该虚拟边界至少用于区分当前帧中的已刷新区域和未刷新区域,因此编码端在划分当前帧的刷新区域时,可以基于实际需求任意设置该虚拟边界,然后通过该虚拟边界位置标记信息指示该虚拟边界的位置即可,从而提高了划分刷新区域的灵活性,也即是本申请实施例提供了一种通过扩展数据实现自适应划分刷新区域的自适应帧内刷新机制。
需要说明的是:上述实施例提供的解码装置在实现基于自适应帧内刷新机制的解码方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的解码装置与基于自适应帧内刷新机制的解码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8是本申请实施例提供的一种编码装置的结构示意图。如图8所示,该解码装置800包括如下几个模块。
编码模块801,用于确定当前帧是否支持自适应帧内刷新技术;
编码模块,还用于若当前帧支持自适应帧内刷新技术,则在当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号和当前帧的虚拟边界位置标记信息,虚拟边界位置标记信息指示虚拟边界的位置,虚拟边界至少用于区分当前帧中的已刷新区域和未刷新区域。
基于上述装置,在一种可能的实现方式中,虚拟边界位置标记信息包括第一虚拟边界位置标记信息和第二虚拟边界位置标记信息;
第一虚拟边界位置标记信息用于指示虚拟边界在当前帧水平方向上的像素位置,第二虚拟边界位置标记信息用于指示虚拟边界在当前帧垂直方向上的像素位置。
基于上述装置,在一种可能的实现方式中,第一虚拟边界位置标记信息为虚拟边界在当前帧水平方向上的图像横坐标,第二虚拟边界位置标记信息为虚拟边界在当前帧垂直方向上的图像纵坐标;
已刷新区域是指以图像左上角坐标(0,0)为原点,宽为图像横坐标、高为图像纵坐标的矩形区域,未刷新区域是指当前帧中除已刷新区域之外的其他区域。
基于上述装置,在一种可能的实现方式中,编码模块还用于:
若当前帧不支持自适应帧内刷新技术,则在当前帧的扩展数据中不携带自适应帧内刷新技术的视频扩展号,或者,在当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号,但是当前帧的扩展数据中携带的第一虚拟边界位置标记信息的取值和/或第二虚拟边界位置标记信息的取值为0。
基于上述装置,在一种可能的实现方式中,编码模块还用于:
若当前帧支持自适应帧内刷新技术,则当前帧的扩展数据中携带的第一虚拟边界位置标记信息的取值大于0,且第二虚拟边界位置标记信息的取值也大于0。
基于上述装置,在一种可能的实现方式中,编码模块还用于:
若当前帧为随机接入点,则确定当前帧支持自适应帧内刷新技术,且编码顺序中当前帧的前一帧不支持自适应帧内刷新技术。
基于上述装置,在一种可能的实现方式中,编码模块还用于:
若当前帧为随机接入的恢复点,则确定当前帧支持自适应帧内刷新技术,且第一虚拟边界位置标记信息所指示的虚拟边界的像素位置等于或超出当前帧的右边界,以及第二虚拟边界位置标记信息所指示的虚拟边界的像素位置等于或超出当前帧的下边界。
基于上述装置,在一种可能的实现方式中,第一虚拟边界位置标记信息的精度为一个最大编码单元LCU的宽度,第二虚拟边界位置标记信息的精度为一个LCU的高度。
综上,在当前帧的码流中的扩展数据中新增自适应帧内刷新技术的视频扩展号以及虚拟边界位置标记信息,由于该虚拟边界位置标记信息能够指示虚拟边界的位置,且该虚拟边界至少用于区分当前帧中的已刷新区域和未刷新区域,因此编码端在划分当前帧的刷新区域时,可以基于实际需求任意设置该虚拟边界,然后通过该虚拟边界位置标记信息指示该虚拟边界的位置即可,从而提高了划分刷新区域的灵活性,也即是本申请实施例提供了一种通过扩展数据实现自适应划分刷新区域的自适应帧内刷新机制。
需要说明的是:上述实施例提供的编码装置在实现基于自适应帧内刷新机制的编码方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的编码装置与基于自适应帧内刷新机制的编码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9是本申请实施例提供的一种终端900的结构框图。前述实施例中涉及的解码端设备、解码端、解码装置以及编码端设备、编码端、编码装置均可以通过该终端来实现。具体地,该终端900可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行以实现本申请中方法实施例提供的基于自适应帧内刷新机制的解码、编码方法。
在一些实施例中,终端900还可选包括有:***设备接口903和至少一个***设备。处理器901、存储器902和***设备接口903之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口903相连。具体地,***设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
***设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和***设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和***设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置终端900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在另一些实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位终端900的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件908可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***、俄罗斯的格雷纳斯***或欧盟的伽利略***的定位组件。
电源909用于为终端900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以终端900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测终端900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在终端900的侧边框和/或显示屏905的下层。当压力传感器913设置在终端900的侧边框时,可以检测用户对终端900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在显示屏905的下层时,由处理器901根据用户对显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置终端900的正面、背面或侧面。当终端900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制显示屏905的显示亮度。具体地,当环境光强度较高时,调高显示屏905的显示亮度;当环境光强度较低时,调低显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在终端900的前面板。接近传感器916用于采集用户与终端900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端900的正面之间的距离逐渐变小时,由处理器901控制显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端900的正面之间的距离逐渐变大时,由处理器901控制显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行上实施例提供的基于自适应帧内刷新机制的解码、编码方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在终端上运行时,使得终端执行上述实施例提供的基于自适应帧内刷新机制的解码、编码方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请实施例的较佳实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (18)
1.一种基于自适应帧内刷新机制的解码方法,其特征在于,所述方法包括:
接收当前帧的码流;
若所述当前帧的码流中存在扩展数据且所述扩展数据中携带自适应帧内刷新技术的视频扩展号,则获取所述扩展数据中携带的虚拟边界位置标记信息,所述虚拟边界位置标记信息用于指示虚拟边界的位置,所述虚拟边界至少用于区分所述当前帧中的已刷新区域和未刷新区域,基于所述虚拟边界位置标记信息,确定所述当前帧是否支持自适应帧内刷新技术;
若所述当前帧的码流的扩展数据中不存在所述自适应帧内刷新技术的视频扩展号,则确定所述当前帧不支持所述自适应帧内刷新技术。
2.如权利要求1所述的方法,其特征在于,所述虚拟边界位置标记信息包括第一虚拟边界位置标记信息和第二虚拟边界位置标记信息;
所述第一虚拟边界位置标记信息用于指示所述虚拟边界在所述当前帧水平方向上的像素位置,所述第二虚拟边界位置标记信息用于指示所述虚拟边界在所述当前帧垂直方向上的像素位置。
3.如权利要求2所述的方法,其特征在于,所述第一虚拟边界位置标记信息为所述虚拟边界在所述当前帧水平方向上的图像横坐标,所述第二虚拟边界位置标记信息为所述虚拟边界在所述当前帧垂直方向上的图像纵坐标;
所述已刷新区域是指以图像左上角坐标(0,0)为原点,宽为所述图像横坐标、高为所述图像纵坐标的矩形区域,所述未刷新区域是指所述当前帧中除所述已刷新区域之外的其他区域。
4.如权利要求2所述的方法,其特征在于,所述基于所述虚拟边界位置标记信息,确定所述当前帧是否支持自适应帧内刷新技术,包括:
若所述第一虚拟边界位置标记信息的取值和所述第二虚拟边界位置标记信息的取值均大于0,则确定所述当前帧支持自适应帧内刷新技术;
若所述第一虚拟边界位置标记信息的取值和/或所述第二虚拟边界位置标记信息的取值等于0,则确定所述当前帧不支持自适应帧内刷新技术。
5.如权利要求2所述的方法,其特征在于,所述方法还包括:
若所述当前帧支持自适应帧内刷新技术,且解码顺序中当前帧的前一帧不支持自适应帧内刷新技术,则所述当前帧为随机接入点;
其中,前一帧不支持自适应帧内刷新技术,包括:
所述前一帧的扩展数据中不存在自适应帧内刷新技术的视频扩展号;或者
所述前一帧的扩展数据中存在自适应帧内刷新技术的视频扩展号,但前一帧的第一虚拟边界位置标记信息和/或第二虚拟边界位置标记信息的取值等于0。
6.如权利要求2所述的方法,其特征在于,所述方法还包括:
若确定所述当前帧支持自适应帧内刷新技术,且根据所述当前帧的第一虚拟边界位置标记信息确定虚拟边界的像素位置等于或超出当前帧的右边界,以及根据所述当前帧的第二虚拟边界位置标记信息确定虚拟边界的像素位置等于或超出当前帧的下边界,则确定所述当前帧为随机接入的恢复点。
7.如权利要求1所述的方法,其特征在于,
所述第一虚拟边界位置标记信息的精度为一个最大编码单元LCU的宽度,所述第二虚拟边界位置标记信息的精度为一个所述LCU的高度。
8.一种基于自适应帧内刷新机制的编码方法,其特征在于,所述方法包括:
确定当前帧是否支持自适应帧内刷新技术;
若所述当前帧支持自适应帧内刷新技术,则在所述当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号和所述当前帧的虚拟边界位置标记信息,所述虚拟边界位置标记信息指示虚拟边界的位置,所述虚拟边界至少用于区分所述当前帧中的已刷新区域和未刷新区域;
若所述当前帧不支持自适应帧内刷新技术,则在所述当前帧的扩展数据中不携带自适应帧内刷新技术的视频扩展号,或者,在所述当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号,但是所述当前帧的扩展数据中携带的虚拟边界位置标记信息的取值能够指示是否支持自适应帧内刷新技术。
9.如权利要求8所述的方法,其特征在于,所述虚拟边界位置标记信息包括第一虚拟边界位置标记信息和第二虚拟边界位置标记信息;
所述第一虚拟边界位置标记信息用于指示所述虚拟边界在所述当前帧水平方向上的像素位置,所述第二虚拟边界位置标记信息用于指示所述虚拟边界在所述当前帧垂直方向上的像素位置。
10.如权利要求9所述的方法,其特征在于,所述第一虚拟边界位置标记信息为所述虚拟边界在所述当前帧水平方向上的图像横坐标,所述第二虚拟边界位置标记信息为所述虚拟边界在所述当前帧垂直方向上的图像纵坐标;
所述已刷新区域是指以图像左上角坐标(0,0)为原点,宽为所述图像横坐标、高为所述图像纵坐标的矩形区域,所述未刷新区域是指所述当前帧中除所述已刷新区域之外的其他区域。
11.如权利要求9所述的方法,其特征在于,
若所述当前帧不支持自适应帧内刷新技术,则在所述当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号,但是所述当前帧的扩展数据中携带的第一虚拟边界位置标记信息的取值和/或第二虚拟边界位置标记信息的取值为0;
若所述当前帧支持自适应帧内刷新技术,则所述当前帧的扩展数据中携带的所述第一虚拟边界位置标记信息的取值大于0,且所述第二虚拟边界位置标记信息的取值也大于0。
12.如权利要求9所述的方法,其特征在于,所述方法还包括:
若所述当前帧为随机接入点,则确定所述当前帧支持自适应帧内刷新技术,且编码顺序中当前帧的前一帧不支持自适应帧内刷新技术;
若所述当前帧为随机接入的恢复点,则确定所述当前帧支持自适应帧内刷新技术,且所述第一虚拟边界位置标记信息所指示的虚拟边界的像素位置等于或超出所述当前帧的右边界,以及所述第二虚拟边界位置标记信息所指示的虚拟边界的像素位置等于或超出所述当前帧的下边界。
13.如权利要求9所述的方法,其特征在于,
所述第一虚拟边界位置标记信息的精度为一个最大编码单元LCU的宽度,所述第二虚拟边界位置标记信息的精度为一个所述LCU的高度。
14.一种解码装置,其特征在于,所述解码装置包括:
接收模块,用于接收当前帧的码流;
处理模块,用于若所述当前帧的码流中存在扩展数据且所述扩展数据中携带自适应帧内刷新技术的视频扩展号,则获取所述扩展数据中携带的虚拟边界位置标记信息,所述虚拟边界位置标记信息用于指示虚拟边界的位置,所述虚拟边界至少用于区分所述当前帧中的已刷新区域和未刷新区域,基于所述虚拟边界位置标记信息,确定所述当前帧是否支持自适应帧内刷新技术;若所述当前帧的码流的扩展数据中不存在所述自适应帧内刷新技术的视频扩展号,则确定所述当前帧不支持所述自适应帧内刷新技术。
15.一种编码装置,其特征在于,所述编码装置包括:
编码模块,用于确定当前帧是否支持自适应帧内刷新技术;
所述编码模块,还用于若所述当前帧支持自适应帧内刷新技术,则在所述当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号和所述当前帧的虚拟边界位置标记信息,所述虚拟边界位置标记信息指示虚拟边界的位置,所述虚拟边界至少用于区分所述当前帧中的已刷新区域和未刷新区域,若所述当前帧不支持自适应帧内刷新技术,则在所述当前帧的扩展数据中不携带自适应帧内刷新技术的视频扩展号,或者,在所述当前帧的扩展数据中携带自适应帧内刷新技术的视频扩展号,但是所述当前帧的扩展数据中携带的虚拟边界位置标记信息的取值能够指示是否支持自适应帧内刷新技术。
16.一种解码端设备,其特征在于,所述解码端设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述权利要求1至7中的任一项权利要求所述的方法的步骤。
17.一种编码端设备,其特征在于,所述编码端设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述权利要求8至13中的任一项权利要求所述的方法的步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述权利要求1至7、或上述权利要求8至13中的任一项权利要求所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111123857.9A CN113709479B (zh) | 2021-03-19 | 2021-03-19 | 基于自适应帧内刷新机制的解码、编码方法及相关设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111123857.9A CN113709479B (zh) | 2021-03-19 | 2021-03-19 | 基于自适应帧内刷新机制的解码、编码方法及相关设备 |
CN202110298610.4A CN114630122B (zh) | 2021-03-19 | 2021-03-19 | 基于自适应帧内刷新机制的解码、编码方法及相关设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110298610.4A Division CN114630122B (zh) | 2021-03-19 | 2021-03-19 | 基于自适应帧内刷新机制的解码、编码方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113709479A true CN113709479A (zh) | 2021-11-26 |
CN113709479B CN113709479B (zh) | 2022-12-06 |
Family
ID=78668978
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110298610.4A Active CN114630122B (zh) | 2021-03-19 | 2021-03-19 | 基于自适应帧内刷新机制的解码、编码方法及相关设备 |
CN202111123857.9A Active CN113709479B (zh) | 2021-03-19 | 2021-03-19 | 基于自适应帧内刷新机制的解码、编码方法及相关设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110298610.4A Active CN114630122B (zh) | 2021-03-19 | 2021-03-19 | 基于自适应帧内刷新机制的解码、编码方法及相关设备 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20240048726A1 (zh) |
EP (1) | EP4243414A4 (zh) |
JP (1) | JP7502568B2 (zh) |
KR (2) | KR20240068065A (zh) |
CN (2) | CN114630122B (zh) |
AU (1) | AU2022235806B2 (zh) |
TW (1) | TWI807687B (zh) |
WO (1) | WO2022194017A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024007802A1 (zh) * | 2022-07-08 | 2024-01-11 | 中兴通讯股份有限公司 | 视频编码方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621685A (zh) * | 2008-07-04 | 2010-01-06 | 株式会社日立制作所 | 编码装置和编码方法 |
CN109348227A (zh) * | 2018-11-22 | 2019-02-15 | 上海大学 | 适用于视频编码的运动自适应帧内刷新方法 |
CN111212283A (zh) * | 2018-11-22 | 2020-05-29 | 安讯士有限公司 | 用于多个图像帧的帧内刷新编码的方法 |
WO2020188149A1 (en) * | 2019-03-21 | 2020-09-24 | Nokia Technologies Oy | A method, an apparatus and a computer program product for video encoding and video decoding |
US20210014529A1 (en) * | 2019-07-11 | 2021-01-14 | Qualcomm Incorporated | Intra-prediction according to virtual boundaries for video coding |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030012287A1 (en) * | 2001-03-05 | 2003-01-16 | Ioannis Katsavounidis | Systems and methods for decoding of systematic forward error correction (FEC) codes of selected data in a video bitstream |
US6842484B2 (en) * | 2001-07-10 | 2005-01-11 | Motorola, Inc. | Method and apparatus for random forced intra-refresh in digital image and video coding |
US8879856B2 (en) | 2005-09-27 | 2014-11-04 | Qualcomm Incorporated | Content driven transcoder that orchestrates multimedia transcoding using content information |
US8325822B2 (en) * | 2006-01-20 | 2012-12-04 | Qualcomm Incorporated | Method and apparatus for determining an encoding method based on a distortion value related to error concealment |
US10652572B2 (en) | 2016-04-29 | 2020-05-12 | Ati Technologies Ulc | Motion-adaptive intra-refresh for high-efficiency, low-delay video coding |
JP7399977B2 (ja) * | 2019-03-11 | 2023-12-18 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | エンコーダ、デコーダ、および対応する方法 |
WO2020262504A1 (ja) | 2019-06-25 | 2020-12-30 | 株式会社Jvcケンウッド | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム |
CN114630113B (zh) * | 2021-02-23 | 2023-04-28 | 杭州海康威视数字技术股份有限公司 | 基于自适应帧内刷新机制的解码、编码方法及相关设备 |
-
2021
- 2021-03-19 CN CN202110298610.4A patent/CN114630122B/zh active Active
- 2021-03-19 CN CN202111123857.9A patent/CN113709479B/zh active Active
-
2022
- 2022-03-10 KR KR1020247013957A patent/KR20240068065A/ko active Application Filing
- 2022-03-10 JP JP2023539363A patent/JP7502568B2/ja active Active
- 2022-03-10 KR KR1020237020721A patent/KR102662691B1/ko active IP Right Grant
- 2022-03-10 AU AU2022235806A patent/AU2022235806B2/en active Active
- 2022-03-10 WO PCT/CN2022/080113 patent/WO2022194017A1/zh active Application Filing
- 2022-03-10 US US18/257,818 patent/US20240048726A1/en active Pending
- 2022-03-10 EP EP22770372.5A patent/EP4243414A4/en active Pending
- 2022-03-14 TW TW111109255A patent/TWI807687B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621685A (zh) * | 2008-07-04 | 2010-01-06 | 株式会社日立制作所 | 编码装置和编码方法 |
CN109348227A (zh) * | 2018-11-22 | 2019-02-15 | 上海大学 | 适用于视频编码的运动自适应帧内刷新方法 |
CN111212283A (zh) * | 2018-11-22 | 2020-05-29 | 安讯士有限公司 | 用于多个图像帧的帧内刷新编码的方法 |
WO2020188149A1 (en) * | 2019-03-21 | 2020-09-24 | Nokia Technologies Oy | A method, an apparatus and a computer program product for video encoding and video decoding |
US20210014529A1 (en) * | 2019-07-11 | 2021-01-14 | Qualcomm Incorporated | Intra-prediction according to virtual boundaries for video coding |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024007802A1 (zh) * | 2022-07-08 | 2024-01-11 | 中兴通讯股份有限公司 | 视频编码方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113709479B (zh) | 2022-12-06 |
KR20230093543A (ko) | 2023-06-27 |
JP7502568B2 (ja) | 2024-06-18 |
JP2023550535A (ja) | 2023-12-01 |
AU2022235806A1 (en) | 2023-07-06 |
WO2022194017A1 (zh) | 2022-09-22 |
CN114630122B (zh) | 2023-04-28 |
EP4243414A1 (en) | 2023-09-13 |
AU2022235806B2 (en) | 2023-11-09 |
KR20240068065A (ko) | 2024-05-17 |
US20240048726A1 (en) | 2024-02-08 |
KR102662691B1 (ko) | 2024-04-30 |
CN114630122A (zh) | 2022-06-14 |
TW202247657A (zh) | 2022-12-01 |
TWI807687B (zh) | 2023-07-01 |
EP4243414A4 (en) | 2024-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111372126B (zh) | 视频播放方法、装置及存储介质 | |
CN113347433B (zh) | 预测模式的解码、编码方法及装置 | |
CN113709479B (zh) | 基于自适应帧内刷新机制的解码、编码方法及相关设备 | |
CN114630113B (zh) | 基于自适应帧内刷新机制的解码、编码方法及相关设备 | |
CN111641824B (zh) | 视频倒放方法及装置 | |
RU2815483C1 (ru) | Декодирование и кодирование на основе механизма адаптивного внутреннего обновления | |
JP2024103749A (ja) | 適応型イントラリフレッシュメカニズムに基づく復号化、符号化 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40064905 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |