CN109587486A - 一种基于h.264的视频编码方法及相关装置 - Google Patents
一种基于h.264的视频编码方法及相关装置 Download PDFInfo
- Publication number
- CN109587486A CN109587486A CN201811520604.3A CN201811520604A CN109587486A CN 109587486 A CN109587486 A CN 109587486A CN 201811520604 A CN201811520604 A CN 201811520604A CN 109587486 A CN109587486 A CN 109587486A
- Authority
- CN
- China
- Prior art keywords
- memory
- slice
- image data
- video coding
- storing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000033001 locomotion Effects 0.000 claims description 47
- 230000008569 process Effects 0.000 abstract description 29
- 230000000694 effects Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/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/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/176—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 block, e.g. a macroblock
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于H.264的视频编码方法,将一帧的图像数据划分为了预设个数的slice,在进行编码处理过程中,仅分配一个slice对应的编码操作所需的内存,然后复用这个内存,依次完成所有slice的编码操作。由于在编码过程中仅仅需要分配一帧图像数据中一部分图像数据对应的编码操作所需内存就可以完成整个帧的编码操作,从而降低了一帧图像数据所需内存,从而大大降低了整个视频编码过程中占用的内存。本发明还公开了一种视频编码设备、系统及计算机存储介质,均能实现上述技术效果。
Description
技术领域
本发明涉及视频技术领域,尤其涉及一种基于H.264的视频编码方法、设 备、系统及计算机可读存储介质。
背景技术
H.264/AVC是目前使用最广泛的一种视频压缩标准。其应用与多种与音 频相关的业务当中,例如视频点播、视频直播等。由于用户的接收端可以是 如电视机、PC、手机、iPad等多种能力不同的设备,这就要求视频在向各用 户传输之前,对其进行转码处理。当多路码流同时进行转码时,内存的消耗 线性增长,导致转码平台的内存资源消耗显著增加。
转码实际上是一个解码过程串联着一个编码过程。由于编码过程复杂度 较高,其占用的内存量也较解码部分高出几倍,因此如何有效降低编码过程 占用的内存,是本领域技术人员亟待解决的问题。
发明内容
本发明的主要目的在于提供一种基于H.264的视频编码方法、设备、系 统及计算机可读存储介质,旨在解决现有技术中存在的编码过程占用的内存 较高的技术问题。
为实现上述目的,本发明提供的一种基于H.264的视频编码方法,包括:
将一帧图像数据划分为预设个数的slice;
为一个slice分配编码操作所需内存;
复用所述内存依次完成所有slice的编码操作。
可选地,所述图像数据包括:
DPB中的图像数据。
可选地,所述内存包括:
用于存储水平平面的内存、用于存储竖直平面的内存与用于存储对角位 置的平面的内存。
可选地,所述复用所述内存依次完成所有slice的编码操作,包括:
利用同一所述内存,依次对每个slice中的所有宏块进行半像素插值操作。
可选地,所述依次对每个slice中的所有宏块进行半像素插值操作,包括:
在当前slice范围内进行运动估计操作,得到当前slice范围内的运动矢量。
为实现上述目的,本发明进一步提供一种基于H.264的视频编码设备, 所述设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行 的视频编码程序,所述视频编码程序被所述处理执行时实现如以下方法:
将一帧图像数据划分为预设个数的slice;
为一个slice分配编码操作所需内存;
复用所述内存依次完成所有slice的编码操作。
可选地,所述图像数据包括:
DPB中的图像数据。
可选地,所述内存包括:
用于存储水平平面的内存、用于存储竖直平面的内存与用于存储对角位 置的平面的内存。
可选地,所述视频编码程序被所述处理器实现时还实现:
利用同一所述内存,依次对每个slice中的所有宏块进行半像素插值操作。
可选地,所述视频编码程序被所述处理器实现时还实现:
在当前slice范围内进行运动估计操作,得到当前slice范围内的运动矢量。
为实现上述目的,本发明进一步提供一种基于H.264的视频编码系统, 所述系统包括:
slice划分单元,用于将一帧图像数据划分为预设个数的slice;
内存分配单元,用于为一个slice分配编码操作所需内存;
编码单元,用于复用所述内存依次完成所有slice的编码操作。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计 算机可读存储介质上存储有视频编码程序,所述视频编码程序可被一个或多 个处理器执行,以实现前述公开的视频编码方法。
为实现上述目的,本发明进一步提供一种计算机程序产品,包括计算机 指令,当所述计算机指令在计算机上运行时,使得所述计算机可以执行前述 公开的视频编码方法。
可见,本发明将一帧的图像数据划分为了预设个数的slice,在进行编码 处理过程中,仅分配一个slice对应的编码操作所需的内存,然后复用这个内 存,依次完成所有slice的编码操作。由于在编码过程中仅仅需要分配一帧图 像数据中一部分图像数据对应的编码操作所需内存就可以完成整个帧的编码 操作,从而降低了一帧图像数据所需内存,从而大大降低了整个视频编码过 程中占用的内存。
附图说明
图1为本发明一实施例的流程示意图;
图2为本发明另一实施例的流程示意图;
图3为本发明一实施例揭露的视频编码设备的内部结构示意图;
图4为本发明一实施例揭露的视频编码系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及 实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施 例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领 域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都 属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、 “第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特 定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以 便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。 此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他 的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备 不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对 于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的, 而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数 量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该 特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领 域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实 现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之 内。
在HEVC技术中,预测单元的帧内预测模式的数量众多,多达35种帧内 预测模式。按照传统的模式判决方式,需要在HEVC编码过程中对上述35种 帧内预测模式进行依次遍历,这个过程需要消耗极大的计算量。为此,本发 明提供了一种用于确定HEVC的帧内预测模式的技术方案,能够解决现有技 术中存在的模式判决过程需要消耗过多计算量的技术问题。
本发明提供一种基于H.264的视频编码方法。
参照图1,图1为本发明一实施例的流程示意图。
在一实施例中,该方法包括:
S101,将一帧图像数据划分为预设个数的slice。
需要说明的是,数字视频也即运动图像,是由一幅接一幅的静止图像形 成的,帧就是影像运动图像中最小单位的单幅图像画面。在编码的过程中, 会将原始的图像画面进行多种处理,在处理的过程中原始的一帧图像就会处 理为一帧作为处理结果的图像数据。在本方案中,一帧图像数据,并不具体 限定为哪一种图像数据。例如,在基于H.264的编码过程中,图像数据会包 括编码帧、DPB(decoded picture buffer,解码图片缓存区)里的帧等。
在本方案中,将一帧图像数据进行分片处理,将一帧完整的图像数据划 分为预设个数的slice,预设个数的具体值根据内存占用的要求、图像数据处 理的时间要求等进行设置,在本方案中不做具体限定。
S102,为一个slice分配编码操作所需内存。
在本方案中,分配出一部分内存,这部分内存的大小仅仅满足一个slice 对应的编码操作即可,而无需对应整个帧。例如,一帧图像数据编码操作过 程所需内存为3单位,将一帧图像数据划分为3个slice,且一个slice的图像 数据编码操作过程所需内存为1单位,则在本方案中,无需为编码操作分配3 单位的内存,仅需分配1单位的内存。
S103,复用所述内存依次完成所有slice的编码操作。
具体地,依次地对每一个slice进行编码操作,在一个slice编码操作完成 后,复用该slice使用的内存对下一个slice进行编码操作,依次类推直至将所 有slice的编码操作均完成。
由此可见,本申请实施例提供的一种基于H.264的视频编码方法,将一 帧的图像数据划分为了预设个数的slice,在进行编码处理过程中,仅分配一 个slice对应的编码操作所需的内存,然后复用这个内存,依次完成所有slice 的编码操作。由于在编码过程中仅仅需要分配一帧图像数据中一部分图像数 据对应的编码操作所需内存就可以完成整个帧的编码操作,从而降低了一帧 图像数据所需内存,从而大大降低了整个视频编码过程中占用的内存。
参照图2,图2为另一实施例的流程示意图,该实施例中的方法包括:
S201,将一帧图像数据划分为预设个数的slice,其中所述图像数据包括 DPB中的图像数据。
在视频编码的过程中,通过统计数据,发现DPB中的帧图像数据在生成 差值平面的过程中,占用内存的资源十分大,因此,在本申请中,对这一编 码部分进行内存优化。
具体地,对一帧DPB中的图像数据进行分片处理,划分得到预设个数的 slice,具体划分操作已在上述实施例做出介绍,此处不再进行赘述。
S202,为一个slice分配编码操作所需内存;其中,所述内存包括用于存 储水平平面的内存、用于存储竖直平面的内存与用于存储对角位置的平面的 内存。
需要说明的是,DPB中图像数据要生成半像素插值平面,具体地,对于 一帧图像数据中的一个整像素点,要分别生成其三个方向上的半像素点,即 水平方向上的半像素点、竖直方向上的半像素点、对角线方向上的半像素点。 半像素点确定的过程与现有技术一致,在本申请中不做过多描述。所有整像 素点在一个平面上的半像素点,就是这个方向上的半像素插值平面。
区别于现有技术,本申请不再是对一帧图像数据进行处理生成完整一帧 图像数据对应的三个完整的半像素插值平面,而是以slice为单位进行处理。
具体地,为一个slice分配其用于存储水平平面的内存、用于存储竖直平 面的内存与用于存储对角位置的平面的内存。这里的平面即指半像素插值平 面。
S203,利用同一所述内存,依次对每个slice中的所有宏块进行半像素插 值操作。
在半像素插值的具体操作中,是以宏块为单位进行的,在H.264技术中, 默认是使用16×16大小的区域作为一个宏块,也可以划分成8×8大小, 或是其他大小,宏块的具体大小在本申请中不做具体限定。
首先对一个slice进行半像素插值操作,逐个对该slice中的所有宏块进行 半像素插值操作,并将结果存储到对应的内存中,也就是将这个slice的三个 方向上的半像素插值平面存储到对应的内存中,然后利用内存数据完成半像 素插值操作涉及的其他操作,例如求算运动矢量。
在一个slice的半像素插值操作完成后,复用它的内存,对下一个slice进 行半像素插值操作,直至完成整个帧的半像素插值操作。
由此可见,本实施例中,确定编码过程内存消耗主要集中在DPB里的帧 进行半像素差值操作的过程,因此为了有效降低编码过程所需内存,主要对 这部分操作进行内存优化,以slice为单位,分配半像素插值操作的内存,每 个slice复用同一内存,从而有效降低了编码过程所需内存。
在前述实施例的基础上,本实施例对技术方案进行进一步的说明和优化。 具体如下:
在前述实施例S203中,具体包括在每个slice中的所有宏块完成半像素插 值操作后,在当前slice范围内进行运动估计操作,得到当前slice范围内的运 动矢量。
需要说明的是,半像素插值操作,不仅包括计算运动矢量,还有具体地 插值过程,具体内容与现有技术相同,此处不做过多赘述,在本实施例中, 重点限定计算运动矢量的过程。
由于半像素插值操作是以slice为单位进行的,因此在一个slice完成半像 素插值后,进行运动矢量的确定时,其运动矢量需要在当前slice的范围内进 行。
进一步的,本实施例还公开了一种基于H.264的视频编码设备。
参照图3,图3为本发明一实施例揭露的基于H.264的视频编码设备的内 部结构示意图。图3中,视频编码设备1包括存储器11和处理器12,所述存 储器11上存储有可在所述处理器12上运行的视频编码程序,所述视频编码 程序被所述处理器12执行时实现如下方法:
将一帧图像数据划分为预设个数的slice;为一个slice分配编码操作所需 内存;复用所述内存依次完成所有slice的编码操作。
由此可见,本申请实施例提供的一种基于H.264的视频编码设备,将一 帧的图像数据划分为了预设个数的slice,在进行编码处理过程中,仅分配一 个slice对应的编码操作所需的内存,然后复用这个内存,依次完成所有slice 的编码操作。由于在编码过程中仅仅需要分配一帧图像数据中一部分图像数 据对应的编码操作所需内存就可以完成整个帧的编码操作,从而降低了一帧 图像数据所需内存,从而大大降低了整个视频编码过程中占用的内存。
所述视频编码程序被所述处理器12执行时,具体可以实现:利用同一所 述内存,依次对每个slice中的所有宏块进行半像素插值操作。
可选的,所述图像数据包括:DPB中的图像数据。
可选的,所述内存包括:用于存储水平平面的内存、用于存储竖直平面 的内存与用于存储对角位置的平面的内存。
所述视频编码程序被所述处理器12执行时,具体可以实现:在每个slice 中的所有宏块完成半像素插值操作后,在当前slice范围内进行运动估计操作, 得到当前slice范围内的运动矢量。
由此可见,本实施例中,确定编码过程内存消耗主要集中在DPB里的帧 进行半像素差值操作的过程,因此为了有效降低编码过程所需内存,主要对 这部分操作进行内存优化,以slice为单位,分配半像素插值操作的内存,每 个slice复用同一内存,从而有效降低了编码过程所需内存。
在本实施例中,所述视频编码设备1可以是PC(Personal Computer,个 人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机。
进一步的,参照图3,所述视频编码设备1还可以包括总线13,其中, 所述存储器11和所述处理器12通过所述总线13连接。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质 包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁 性存储器、磁盘、光盘等。存储器11在一些实施例中可以是视频编码设备1 的内部存储单元,例如该视频编码设备1的硬盘。存储器11在另一些实施例 中也可以是视频编码设备1的外部存储设备,例如视频编码设备1上配备的 插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital, SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括视频 编码设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存 储安装于视频编码设备1的应用软件及各类数据,例如视频编码程序的代码 等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储 器11中存储的程序代码或处理数据,例如执行视频编码程序等。
总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称 EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表 示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,视频编码设备1还可以包括网络接口14,网络接口14可选的 可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于 在该视频编码设备1与其他电子设备之间建立通信连接。
可选地,该视频编码设备1还可以包括用户接口15,用户接口15可以包 括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还 可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可 以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当 的称为显示屏或显示单元,用于显示在视频编码设备1中处理的信息以及用于显示可视化的用户界面。
图3仅示出了具有组件11-15的视频编码设备1,本领域技术人员可以理 解的是,图3示出的结构并不构成对视频编码设备1的限定,可以包括比图 示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
进一步的,本实施例还公开了一种基于H.264的视频编码系统。
参照图4,图4为本发明一实施例揭露的视频编码系统结构示意图。图4 中,所述视频编码系统,包括:
slice划分单元401,用于将一帧图像数据划分为预设个数的slice。
内存分配单元402,用于为一个slice分配编码操作所需内存。
编码单元403,用于复用所述内存依次完成所有slice的编码操作。
本实施例的视频编码系统用于实现前述的视频编码方法,因此视频编码 系统中的具体实施方式可见前文中的视频编码方法的实施例部分,例如slice 划分单元401,内存分配单元402,编码单元403,分别用于实现上述视频编 码方法中步骤S101,S102,S103,所以,其具体实施方式可以参照相应的各 个部分实施例的描述,在此不再赘述。
进一步的,本实施例还公开了一种计算机可读存储介质,所述计算机可 读存储介质上存储有视频编码程序,所述视频编码程序可被一个或多个处理 器执行,以实现如下方法:
将一帧图像数据划分为预设个数的slice;为一个slice分配编码操作所需 内存;复用所述内存依次完成所有slice的编码操作。
可选的,所述图像数据包括:DPB中的图像数据。
可选的,所述内存包括:用于存储水平平面的内存、用于存储竖直平面 的内存与用于存储对角位置的平面的内存。
所述视频编码程序被一个或多个处理器执行时,具体可以实现:利用同 一所述内存,依次对每个slice中的所有宏块进行半像素插值操作。
所述视频编码程序被一个或多个处理器执行时,还可以实现:在当前slice 范围内进行运动估计操作,得到当前slice范围内的运动矢量。
进一步的,本发明还提供一种计算机程序产品,包括计算机指令,当所 述计算机指令在计算机上运行时,使得所述计算机可以执行以下方法步骤:
将一帧图像数据划分为预设个数的slice;为一个slice分配编码操作所需 内存;复用所述内存依次完成所有slice的编码操作。
可选的,所述图像数据包括:DPB中的图像数据。
可选的,所述内存包括:用于存储水平平面的内存、用于存储竖直平面 的内存与用于存储对角位置的平面的内存。
本实施例中,当所述计算机指令在计算机上运行时,使得所述计算机具 体可以执行以下步骤:利用同一所述内存,依次对每个slice中的所有宏块进 行半像素插值操作。
本实施例中,当所述计算机指令在计算机上运行时,使得所述计算机可 以进一步执行以下步骤:在当前slice范围内进行运动估计操作,得到当前slice 范围内的运动矢量。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意 组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形 式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执 行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程 或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其 他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从 一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算 机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴 电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介 质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质 集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质, (例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态 硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应 过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和 方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示 意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可 以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个 系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间 的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合 或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单 元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单 元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本 申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的 全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个 存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。 而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等 各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的 优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他 性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括 那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、 装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括 一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法 中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是 利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间 接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种基于H.264的视频编码方法,其特征在于,所述方法包括:
将一帧图像数据划分为预设个数的slice;
为一个slice分配编码操作所需内存;
复用所述内存依次完成所有slice的编码操作。
2.根据权利要求1所述的方法,其特征在于,所述图像数据包括:
DPB中的图像数据。
3.根据权利要求2所述的方法,其特征在于,所述内存包括:
用于存储水平平面的内存、用于存储竖直平面的内存与用于存储对角位置的平面的内存。
4.根据权利要求2所述的方法,其特征在于,所述复用所述内存依次完成所有slice的编码操作,包括:
利用同一所述内存,依次对每个slice中的所有宏块进行半像素插值操作。
5.根据权利要求4所述的方法,其特征在于,所述依次对每个slice中的所有宏块进行半像素插值操作,包括:
在当前slice范围内进行运动估计操作,得到当前slice范围内的运动矢量。
6.一种基于H.264的视频编码设备,其特征在于,所述设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的视频编码程序,所述视频编码程序被所述处理执行时实现如以下方法:
将一帧图像数据划分为预设个数的slice;
为一个slice分配编码操作所需内存;
复用所述内存依次完成所有slice的编码操作。
7.根据权利要求6所述的设备,其特征在于,所述图像数据包括:
DPB中的图像数据。
8.根据权利要求7所述的设备,其特征在于,所述内存包括:
用于存储水平平面的内存、用于存储竖直平面的内存与用于存储对角位置的平面的内存。
9.根据权利要求7所述的设备,其特征在于,所述视频编码程序被所述处理器实现时还实现:
利用同一所述内存,依次对每个slice中的所有宏块进行半像素插值操作。
10.根据权利要求9所述的设备,其特征在于,所述视频编码程序被所述处理器实现时还实现:
在当前slice范围内进行运动估计操作,得到当前slice范围内的运动矢量。
11.一种基于H.264的视频编码系统,其特征在于,所述系统包括:
slice划分单元,用于将一帧图像数据划分为预设个数的slice;
内存分配单元,用于为一个slice分配编码操作所需内存;
编码单元,用于复用所述内存依次完成所有slice的编码操作。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有视频编码程序,所述视频编码程序可被一个或多个处理器执行,以实现如权利要求1至5任一项所述的视频编码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811520604.3A CN109587486A (zh) | 2018-12-12 | 2018-12-12 | 一种基于h.264的视频编码方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811520604.3A CN109587486A (zh) | 2018-12-12 | 2018-12-12 | 一种基于h.264的视频编码方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109587486A true CN109587486A (zh) | 2019-04-05 |
Family
ID=65929202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811520604.3A Pending CN109587486A (zh) | 2018-12-12 | 2018-12-12 | 一种基于h.264的视频编码方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109587486A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259582A (zh) * | 2020-02-13 | 2021-08-13 | 青岛海信移动通信技术股份有限公司 | 图片生成方法及终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976461A (zh) * | 2006-12-11 | 2007-06-06 | 浙江大学 | 基于双核dsp的视频编码装置 |
US20080253463A1 (en) * | 2007-04-13 | 2008-10-16 | Apple Inc. | Method and system for video encoding and decoding |
CN104735384A (zh) * | 2015-04-03 | 2015-06-24 | 华为技术有限公司 | 分配编码通道内存的方法和装置 |
CN114424572A (zh) * | 2019-09-24 | 2022-04-29 | 华为技术有限公司 | 用于多层视频码流的dpb参数的指示 |
-
2018
- 2018-12-12 CN CN201811520604.3A patent/CN109587486A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976461A (zh) * | 2006-12-11 | 2007-06-06 | 浙江大学 | 基于双核dsp的视频编码装置 |
US20080253463A1 (en) * | 2007-04-13 | 2008-10-16 | Apple Inc. | Method and system for video encoding and decoding |
CN104735384A (zh) * | 2015-04-03 | 2015-06-24 | 华为技术有限公司 | 分配编码通道内存的方法和装置 |
CN114424572A (zh) * | 2019-09-24 | 2022-04-29 | 华为技术有限公司 | 用于多层视频码流的dpb参数的指示 |
Non-Patent Citations (3)
Title |
---|
宋凭 等: "H.263视频图像编码的DSP实现", 《火力与指挥控制》, vol. 33, no. 4, 30 April 2008 (2008-04-30), pages 3 * |
梁伟伟: "基于TMS320DM642的视频编码器的存储存取优化" * |
陈靖,刘京,曹喜信: "《深入理解视频编解码技术 基于H.264标准及参考模型》", 北京航空航天大学出版社, pages: 192 - 199 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259582A (zh) * | 2020-02-13 | 2021-08-13 | 青岛海信移动通信技术股份有限公司 | 图片生成方法及终端 |
CN113259582B (zh) * | 2020-02-13 | 2022-09-16 | 青岛海信移动通信技术股份有限公司 | 图片生成方法及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101908035B (zh) | 视频编解码方法、gpu及其与cpu的交互方法及系统 | |
CN103534680B (zh) | 多媒体处理器中的无序命令执行 | |
US10536692B2 (en) | Picture prediction method and related apparatus | |
CN105072353B (zh) | 一种基于多gpu的图像解码拼控方法 | |
CN103765384A (zh) | 数据处理系统和在数据处理系统中进行任务调度的方法 | |
CN103391442A (zh) | 一种基于区域划分、差异比较的视频图像快速传输压缩算法 | |
JP7046219B2 (ja) | ビデオ符号化方法、ビデオ符号化装置、電子機器およびコンピュータプログラム | |
CN110278443B (zh) | 划分标志位的上下文建模方法及装置 | |
US11483561B2 (en) | Transform method in picture block encoding, inverse transform method in picture block decoding, and apparatus | |
CN105554505A (zh) | 应用处理器及其方法以及包括该应用处理器的系统 | |
CN109921801A (zh) | 一种数据压缩及解压缩方法、装置、系统及数据处理系统 | |
CN111176836A (zh) | 一种云渲染资源调度方法及装置 | |
CN109495742B (zh) | 一种视频帧编码方法、装置及设备 | |
CN109587486A (zh) | 一种基于h.264的视频编码方法及相关装置 | |
CN109640087A (zh) | 一种帧内预测模式判决方法、装置及设备 | |
JP6412589B2 (ja) | 装置、コンピュータプログラムおよびコンピュータ実装方法 | |
CN116980616A (zh) | 模式判决调度方法及相关装置 | |
CN109451313A (zh) | 一种视频编码方法、系统及电子设备和存储介质 | |
CN109640114A (zh) | 视频编转码压缩方法、装置、设备及计算机可读存储介质 | |
CN102263948A (zh) | 用于解码编码的视频流的视频处理系统、计算机程序产品和方法 | |
CN110249630B (zh) | 去块效应滤波装置、方法和存储介质 | |
CN115866157A (zh) | 执行脏污区域读和写以减少存储器带宽使用的方法和装置 | |
CN112738522A (zh) | 视频编码方法、装置 | |
CN116828231B (zh) | 一种视频传输优化方法、系统、电子设备及介质 | |
US9848188B1 (en) | Video coding transform systems and methods |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190405 |
|
RJ01 | Rejection of invention patent application after publication |