一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

运动图像编码方法、编码处理方法、运动图像编码装置及编码处理装置与流程

2022-04-30 04:18:30 来源:中国专利 TAG:


1.本公开涉及运动图像编码方法、编码处理方法、运动图像编码装置及编码处理装置。


背景技术:

2.已知有经由网络分发运动图像的服务。为了扩大这样的服务,要求使构成运动图像的帧的量化处理及编码处理高速化、以及使进行编码处理时的控制比特率的速率控制高精度化。
3.在专利文献1中,公开了基于进行编码处理后的帧的数据量进行下一帧的量化处理及编码处理的技术。此外,在非专利文献1中,公开了通过将多个帧的编码处理并行地执行来实现编码处理的高速化的技术。
4.现有技术文献
5.专利文献
6.专利文献1:日本特开2007-166192号公报
7.非专利文献
8.非专利文献1:谷田部祐介及其他5人,「動画像
リアルタイムエンコーダにおける
h.264cabac

並列処理技術」、情報処理学会論文誌
コンシューマ
·
デバイス
&
システム
(“运动图像实时编码器的h.264 cabac的并行处理技术”,信息处理学会论文志消费者装置及系统)vol.5no.5 1-8(dec.2015)


技术实现要素:

9.发明要解决的课题
10.在专利文献1所公开的技术中,基于进行编码处理后的帧的数据量进行量化处理及编码处理,但由于基于帧内的全部数据中的一部分数据进行编码处理等,所以有速率控制的精度变低的问题。在非专利文献1中公开了将编码处理并行地执行,但关于怎样使速率控制高精度化,并没有公开。
11.本公开是鉴于上述的情况而做出的,目的是提供一种能够实现量化处理、编码处理的高速化及速率控制的高精度化的运动图像编码方法等。
12.用来解决课题的手段
13.本公开的一技术方案的运动图像编码方法包括以下处理:通过将进行量化处理后的帧的量化数据按每一个帧的量化数据串行地储存,储存多个帧的量化数据;基于上述多个帧的量化数据中的至少1个帧的量化数据,决定进行上述多个帧的紧后的帧的量化处理时的量化参数;通过基于上述量化参数进行量化处理,生成上述紧后的帧的量化数据;以及在包括上述紧后的帧的多个帧间,并行地执行对包括上述紧后的帧的多个帧的量化数据进行熵编码的编码处理。
14.本公开的一技术方案的编码处理方法包括以下处理:通过将进行量化处理后的帧的量化数据按每一个帧的量化数据串行地储存,储存多个帧的量化数据;基于上述多个帧的量化数据中的至少1个帧的量化数据,决定进行上述多个帧的紧后的帧的量化处理时的量化参数;通过基于上述量化参数进行量化处理,生成上述紧后的帧的量化数据;以及将包括上述紧后的帧的多个帧的量化数据向外部的cpu(central processing unit)输出。
15.本公开的一技术方案的运动图像编码装置具备:量化数据储存部,通过将进行量化处理后的帧的量化数据按每一个帧的量化数据串行地储存,储存多个帧的量化数据;速率控制部,基于上述多个帧的量化数据中的至少1个帧的量化数据,决定上述多个帧的紧后的帧的比特数据量;参数决定部,基于由上述速率控制部求出的上述比特数据量,决定进行上述紧后的帧的量化处理时的量化参数;量化部,通过基于上述量化参数进行量化处理,生成上述紧后的帧的量化数据;以及编码部,在包括上述紧后的帧的多个帧间,并行地执行对包括上述紧后的帧的多个帧的量化数据进行熵编码的编码处理。
16.本公开的一技术方案的编码处理装置具备:量化数据储存部,通过将进行量化处理后的帧的量化数据按每一个帧的量化数据串行地储存,储存多个帧的量化数据;参数决定部,从外部接收使用上述多个帧的量化数据中的至少1个帧的量化数据决定的比特数据量,决定进行上述多个帧的紧后的帧的量化处理时的量化参数;以及量化部,通过基于上述量化参数进行量化处理,生成上述紧后的帧的量化数据。
17.另外,这些包含性或具体的技术方案也可以由系统、方法、集成电路、计算机程序或计算机可读取的cd-rom等的记录介质实现,也可以由系统、方法、集成电路、计算机程序及记录介质的任意的组合来实现。
18.发明效果
19.根据本公开的运动图像编码方法等,能够实现量化处理、编码处理的高速化及速率控制的高精度化。
附图说明
20.图1是有关实施方式1的运动图像编码装置的块构成图。
21.图2是表示构成有关实施方式1的运动图像编码装置的电路部件的图。
22.图3是表示有关实施方式1的运动图像编码装置的编码部的构成的图。
23.图4是表示由有关实施方式1的运动图像编码装置的编码部生成的编码数据的示意图。
24.图5是表示有关实施方式1的运动图像编码方法的流程图。
25.图6是表示通过有关实施方式1的运动图像编码方法执行的各帧的量化处理及编码处理的定时的图。
26.图7是表示有关实施方式1的编码处理方法的流程图。
27.图8是有关实施方式1的变形例1的运动图像编码装置的块构成图。
28.图9是有关实施方式1的变形例2的运动图像编码装置的块构成图。
29.图10是表示有关实施方式2的运动图像编码方法的流程图。
30.图11是表示运动图像编码装置的cpu及加速器的构成例的图。
具体实施方式
31.以下,参照附图对实施方式具体地说明。另外,以下说明的实施方式都表示本公开的一具体例。在以下的实施方式中示出的数值、形状、材料、构成要素、构成要素的配置位置及连接形态、步骤、步骤的顺序等是一例,不是限定本公开的意思。此外,关于以下的实施方式的构成要素中的、在表示有关本公开的一形态的实施方式的独立权利要求中没有记载的构成要素,设为任意的构成要素进行说明。本公开的实施方式并不限定于现行的独立权利要求,也可以由其他的独立权利要求表现。
32.另外,各图是示意图,并不一定是严密地图示的。此外,在各图中,对于实质上相同的结构赋予相同的标号,有将重复的说明进行省略或简略化的情况。
33.(实施方式1)
34.[1-1.运动图像编码装置的构成]
[0035]
参照图1~图4对实施方式1的运动图像编码装置的构成进行说明。
[0036]
图1是有关实施方式1的运动图像编码装置1的块构成图。运动图像编码装置1是对构成运动图像的多个帧以帧单位进行量化及编码的装置。
[0037]
如图1所示,运动图像编码装置1具备减法部104、变换部106、量化部108、量化数据储存部109、参数决定部110、编码部130、编码数据储存部136和速率控制部138。此外,运动图像编码装置1具备逆量化部112、逆变换部114、加法部116、块滤波器120、帧存储器122、运动检测及补偿部124、帧内预测部126和预测控制部128。
[0038]
图2是表示构成运动图像编码装置1的电路部件的一例的图。
[0039]
如图2所示,运动图像编码装置1由cpu(central processing unit:中央处理单元)30及加速器20构成。
[0040]
cpu30及加速器20通过依据pci(peripheral component interconnect:外部设备互联)标准的通信接口50连接。
[0041]
加速器20是支援cpu30的运算处理的高速化的电路部件,即fpga(field programmable gate array:现场可编程门阵列)。该加速器20相当于编码处理装置2。
[0042]
cpu30是对运动图像编码装置1的整体的动作进行管理的电路部件。在cpu30中内置有存储器40,在存储器40中保存有软件程序。cpu30能够并行地执行与多个程序对应的多个线程。并行地执行多个线程是指将多个线程的处理在时间上交叠但独立地执行。例如,在cpu30能够执行8个线程的处理的情况下,cpu30能够使构成运动图像的8个帧与8个线程1对1地对应,将各线程在相同的时间段或不同的时间段单独地执行。
[0043]
在该软件程序被执行时,图1所示的编码部130、编码数据储存部136及速率控制部138的各功能由cpu30实现。此外,减法部104、变换部106、量化部108、量化数据储存部109、参数决定部110、逆量化部112、逆变换部114、加法部116、块滤波器120、运动检测及补偿部124、帧内预测部126及预测控制部128的各功能由加速器20实现。另外,编码数据储存部136的功能也可以由与cpu30不同的电路部件实现。
[0044]
首先,参照图1对由加速器20及cpu30实现的各功能进行说明。
[0045]
减法部104通过从输入到运动图像编码装置1中的原信号减去预测信号,计算构成运动图像的各帧的预测误差。由减法部104计算出的预测误差被输出至变换部106。关于预测误差及预测信号在后面叙述。
[0046]
变换部106将空间域的预测误差变换为频域的数据。具体而言,变换部106例如对空间域的预测误差进行离散余弦变换(dct)。由变换部106变换后的该数据被输出至量化部108。
[0047]
量化部108通过对从变换部106输出的数据进行量化处理,生成量化数据d1。具体而言,量化部108基于后述的量化参数qp对上述频域的数据进行量化。量化参数qp是指定义量化步长的参数。例如,如果将量化参数qp变更而使量化步长变大,则成为粗略的量化,数据量变小。由量化部108进行的量化处理按每一帧串行地执行。另外,对于帧内的数据的运算处理既可以串行地执行,也可以并行地执行。由量化部108生成的量化数据d1被输出至量化数据储存部109及逆量化部112。
[0048]
量化数据储存部109存储由量化部108进行量化处理后的帧的量化数据d1。具体而言,量化数据储存部109将由量化部108按每一帧生成的量化数据d1按每一帧的量化数据d1串行地储存。由此,在量化数据储存部109中储存多个帧的量化数据d1。储存在量化数据储存部109中的量化数据d1被输出至编码部130及速率控制部138。
[0049]
储存在量化数据储存部109中的1个帧的量化数据d1每当量化处理结束就被输出至编码部130及速率控制部138。换言之,每当量化处理结束,由加速器20进行量化处理后的1个帧的量化数据d1就经由通信接口50输出至cpu30。
[0050]
另外,从量化数据储存部109向编码部130输出的数据并不限于量化数据d1,也可以是基于量化数据d1进行运算处理后的运算数据。例如,运算数据也可以是基于量化数据d1被二值化的数据或基于量化数据d1被二值化后被算术编码的数据。
[0051]
编码部130通过对从量化数据储存部109输出的量化数据d1进行熵编码,生成编码数据d2。编码数据d2是通过熵编码而被压缩成形的比特流。
[0052]
图3是表示运动图像编码装置1的编码部130的构成的图。
[0053]
如图3所示,编码部130由将被输入的量化数据d1二值化的二值化部131、对由二值化部131二值化的数据进行编码的算术编码部132和将比特流成形的流成形部133构成。
[0054]
图4是表示由编码部130生成的编码数据d2的示意图。
[0055]
编码数据d2包括头信息、附加信息、填充(filler)数据及图像压缩数据。头信息是与帧、帧组或作为帧的一部分的切片有关的信息。附加信息例如是显示方法等的信息,是应用所需要的各种信息。填充数据是速率控制所需要的装填数据。图像压缩数据是通过将量化数据d1编码而生成的图像数据。
[0056]
由编码部130进行的编码处理以1帧单位进行处理,在构成运动图像的多个帧间被并行地执行。由编码部130生成的编码数据d2被输出至编码数据储存部136。另外,关于编码处理,只要其前级的处理结束,由于在各帧中没有处理的依赖关系,所以可以单独地随时开始。
[0057]
另外,由编码部130并行地执行的编码处理只要是由图3所示的二值化部131、算术编码部132及流成形部133中的至少1个执行的处理即可。例如,在从加速器20向cpu30输出的数据是基于量化数据d1进行二值化后的数据的情况下,由编码部130执行的编码处理也可以是由算术编码部132及流成形部133执行的处理。此外,在从加速器20向cpu30输出的数据是基于量化数据d1进行二值化后被算术编码的数据的情况下,由编码部130执行的编码处理也可以是由流成形部133执行的处理。
[0058]
编码数据储存部136是将由编码部130生成的编码数据d2缓存的fifo(first in first out:先进先出)。此外,编码数据储存部136将各帧重新排列为与由编码部130开始了编码处理的顺序相同的顺序,向运动图像编码装置1的外部输出。此外,编码数据储存部136将与储存在编码数据储存部136中的编码数据d2的数据量有关的信息向速率控制部138输出。
[0059]
速率控制部138基于过去的数据决定对接下来的数据进行处理时的比特数据量。速率控制部138取得与从编码数据储存部136输出的编码数据d2的数据量有关的信息,并且受理从量化数据储存部109输出的量化数据d1,取得与过去的量化数据d1的数据量有关的信息。速率控制部138基于所取得的这些信息,决定在下一帧进行编码处理时的比特数据量。由cpu30的速率控制部138决定的比特数据量经由通信接口50被输出至加速器20的参数决定部110。
[0060]
参数决定部110基于从速率控制部138输出的比特数据量,决定进行接下来的量化处理时的量化参数qp。具体而言,参数决定部110决定量化参数qp,以将通过接下来的量化处理及编码处理生成的编码数据d2生成为接近于上述比特数据量的值。该量化参数qp的决定按每一帧串行地执行。
[0061]
速率控制部138在决定该比特数据量时,基于过去的多个帧的数据来决定比特数据量,但在本实施方式中,不是使用由编码部130生成的编码数据d2的全部,而是使用至少1个帧的量化数据d1,推测相应的帧的编码数据d2,将编码数据d2和所推测的编码数据d2作为过去的多个帧的数据来决定比特数据量。更具体地讲,在本实施方式中,使用多个帧中的预先决定的数量的帧的量化数据d1,决定比特数据量。另外,预先决定的数量的帧,例如是由cpu30的编码部130并行地执行的编码处理的线程数(参照图6)。
[0062]
此外,速率控制部138在决定比特数据量时,使用量化数据d1的数据量决定比特数据量。使用量化数据d1的数据量是指使用量化后的数据中的作为编码对象的数据。此外,对该比特数据量而言,为了使量化数据d1的数据量与编码数据d2的数据量的尺度匹配,基于对上述量化数据d1的数据量乘以规定的系数所得到的值来决定。另外,规定的系数根据运动图像的种类而适当设定。
[0063]
由参数决定部110决定的量化参数qp被输出至量化部108。量化部108基于从参数决定部110接受的量化参数qp,执行下一帧的量化处理。
[0064]
接着,对由加速器20实现的其他功能简单地进行说明。
[0065]
逆量化部112对从量化部108输出的量化数据d1进行逆量化。
[0066]
逆变换部114通过将从逆量化部112输出的数据进行逆变换,将预测误差复原。
[0067]
加法部116通过将从逆变换部114输出的预测误差与从预测控制部128输出的预测信号相加,重构帧。由加法部116重构的帧经由块滤波器120输出至帧存储器122。
[0068]
帧存储器122保存由块滤波器120滤波后的重构帧。该重构帧被用作运动检测及补偿部124及帧内预测部126的参照图片。
[0069]
运动检测及补偿部124参照保存在帧存储器122中的参照图片,进行帧的帧间预测(也称作画面间预测)。例如,运动检测及补偿部124在参照图片内进行运动搜索,使用通过运动搜索得到的运动矢量进行运动补偿,生成帧的帧间预测信号。由运动检测及补偿部124生成的帧间预测信号被输出至预测控制部128。
[0070]
帧内预测部126进行帧的帧内预测(也称作画面内预测)。例如,帧内预测部126通过参照在规定方向上相邻的帧的数据进行帧内预测,生成帧内预测信号。由帧内预测部126生成的帧内预测信号被输出至预测控制部128。
[0071]
预测控制部128选择帧内预测信号及帧间预测信号中的某一个,将所选择的信号作为预测信号向减法部104及加法部116输出。另外,也可以将由运动检测及补偿部124生成的运动矢量及由帧内预测部126生成的帧内预测的方向经由通信接口50向cpu的编码部130输出。
[0072]
本实施方式的运动图像编码装置1具备:量化数据储存部109,通过将进行量化处理后的帧的量化数据d1按每一个帧的量化数据d1串行地储存,储存多个帧的量化数据d1;速率控制部138,使用多个帧的量化数据d1中的至少1个帧的量化数据d1,决定多个帧的紧后的帧的比特数据量;参数决定部110,基于由速率控制部138求出的比特数据量,决定进行上述紧后的帧的量化处理时的量化参数qp;量化部108,通过基于量化参数qp进行量化处理,生成上述紧后的帧的量化数据d1;以及编码部130,在包括上述紧后的帧的多个帧间,并行地执行对包括上述紧后的帧的多个帧的量化数据d1进行熵编码的编码处理。
[0073]
这样,通过由速率控制部138使用多个帧的量化数据d1中的至少1个帧的量化数据d1决定比特数据量,即使在例如由编码部130进行的编码处理没有结束的情况下,也能够使用该量化数据d1决定比特数据量,并由参数决定部110基于该比特数据量决定量化参数qp。由此,能够使量化处理及编码处理高速化。此外,通过基于1个帧的量化数据d1决定量化参数qp,与例如基于帧的一部分的数据决定量化参数qp的情况相比,能够使编码处理中的速率控制高精度化。
[0074]
本实施方式的编码处理装置2具备:量化数据储存部109,通过将进行量化处理后的帧的量化数据d1按每一个帧的量化数据d1串行地储存,储存多个帧的量化数据d1;参数决定部110,从外部接收使用多个帧的量化数据d1中的至少1个帧的量化数据d1决定的比特数据量,决定进行多个帧的紧后的帧的量化处理时的量化参数qp;以及量化部108,通过基于量化参数qp进行量化处理,生成上述紧后的量化数据d1。
[0075]
这样,通过由参数决定部110基于使用多个帧的量化数据d1中的至少1个帧的量化数据d1决定的比特数据量决定量化参数qp,即使在例如在编码处理装置2的后级执行的编码处理没有结束的情况下,也能够基于该量化数据d1决定量化参数qp。由此,能够使量化处理高速化。此外,通过基于1个帧的量化数据d1决定量化参数qp,与例如基于帧的一部分的数据决定量化参数qp的情况相比,能够使编码处理中的速率控制高精度化。
[0076]
[1-2.运动图像编码方法]
[0077]
参照图5及图6对有关实施方式1的运动图像编码方法进行说明。
[0078]
图5是表示有关实施方式1的运动图像编码方法的流程图。运动图像编码方法包括以下所示的s11~s15的处理。
[0079]
(s11)通过将进行量化处理后的帧的量化数据d1按每一个帧的量化数据串行地储存,储存多个帧的量化数据d1。
[0080]
(s12)基于多个帧中的预先决定的数量的帧的量化数据d1,决定进行多个帧的紧后的帧的量化处理时的量化参数qp。
[0081]
(s13)通过基于量化参数qp进行量化处理,生成上述紧后的帧的量化数据d1。
[0082]
(s14)在包括上述紧后的帧的多个帧间,并行地执行对包括上述紧后的帧的多个帧的量化数据d1进行熵编码的编码处理。
[0083]
(s15)将通过编码处理得到的处理结果以与开始了编码处理的顺序相同的顺序输出。
[0084]
该运动图像编码方法由运动图像编码装置1执行。关于上述s11~s15的处理,着眼于特定的帧以时间序列进行了记载,但在实际的运动图像编码方法中,量化处理及编码处理由加速器20及cpu30同时进行。
[0085]
图6是表示有关实施方式1的运动图像编码装置1的动作的时间图。在图6中,对由编码部130并行地执行的编码处理的线程数为8个、即由cpu30启动的线程数为8个的例子进行说明。
[0086]
在图6中,表示了帧f11~f18为止的量化处理结束、接下来开始作为下一帧的帧f19的处理的情形。具体而言,在图6中,表示了编码部130对帧f11~f18的编码处理在8个帧的全部的帧间在不同的时刻被单独地开始,在不同的时刻单独地结束的例子。在该例子中,多个帧的处理不包括串行处理,全部的处理被单独地独立执行。全部像这样开始及结束的时刻在各帧f11~f18中不同,是因为各帧f11~f18的数据量不同。
[0087]
由加速器20进行的量化处理通过受理从cpu30输出的量化指示而开始。该量化指示在接下来进行量化处理的对象的帧f19的前1个帧f18的量化处理开始后,从cpu30输出。如图6所示,在开始下一帧f19的量化处理的时间点,帧f11、f13、f14的编码处理结束,但其他帧f12、f15~f18的编码处理没有结束。
[0088]
所以,在本实施方式中,在决定量化参数qp时,不使用进行编码处理后的编码数据d2而决定量化参数qp。即,不论各帧f11~f18的编码处理是否结束,都基于预先决定的数量的量化数据d1来决定量化参数qp。预先决定的数量的帧,是由编码部130并行地执行的编码处理的线程数。在图6所示的例子中,基于多个帧f11~f18中的全部的帧的量化数据d1的合计值来决定量化参数qp。
[0089]
另外,上述的量化指示是在帧f19的前1个帧f18的量化处理开始之后从cpu30输出,但并不限于此。例如,在cpu30中将多个线程同时执行、对多个线程各自分配了1个帧的编码处理的情况下,上述量化指示也可以在多个线程中的规定的线程中在上述1个帧的编码处理结束之后、即出现没有进行处理的空闲线程时从cpu30输出。另外,在此情况下,如果上述1个帧的编码处理结束则立即开始与上述1个帧不同的帧的编码处理,所以量化指示实质上是在上述1个帧的编码处理结束、与上述1个帧不同的帧的编码处理开始之后从cpu30输出。
[0090]
接着,通过基于所决定的量化参数qp进行量化处理,生成帧f19的量化数据d1。接着,对帧f19的量化数据d1进行熵编码处理。关于作为其后的多个帧的帧f20、f21

也同样执行熵编码处理。各帧f19、f20、f21
……
的编码处理并行地执行。
[0091]
在本实施方式的运动图像编码方法中,通过基于多个帧的量化数据d1中的至少1个帧的量化数据d1决定量化参数qp,即使在例如多个帧的编码处理没有结束的情况下,也能够基于该量化数据d1决定量化参数qp。由此,能够使量化处理及编码处理高速化。此外,通过基于1个帧的量化数据d1决定量化参数qp,与例如基于帧的一部分的数据决定量化参数qp的情况相比,能够使编码处理中的速率控制高精度化。
[0092]
在上述中对运动图像编码方法进行了说明,而以下对在编码处理装置2中执行的编码处理方法进行说明。
[0093]
图7是表示有关实施方式1的编码处理方法的流程图。编码处理方法包括以下所示的s11、s12、s13及s13a的处理。
[0094]
(s11)通过将进行量化处理后的帧的量化数据按每一个帧的量化数据串行地储存,储存多个帧的量化数据。
[0095]
(s12)基于多个帧中的预先决定的数量的帧的量化数据,决定进行上述多个帧的紧后的帧的量化处理时的量化参数qp。
[0096]
(s13)通过基于量化参数qp进行量化处理,生成上述紧后的帧的量化数据d1。
[0097]
(s13a)将包括上述紧后的帧的多个帧的量化数据d1向外部的cpu30输出。
[0098]
该编码处理方法由编码处理装置2即加速器20执行。
[0099]
[1-3.效果等]
[0100]
本实施方式的运动图像编码方法包括以下处理:通过将进行量化处理后的帧的量化数据d1按每一个帧的量化数据串行地储存,储存多个帧的量化数据d1;基于多个帧的量化数据d1中的至少1个帧的量化数据d1,决定进行多个帧的紧后的帧的量化处理时的量化参数qp;通过基于量化参数qp进行量化处理,生成上述紧后的帧的量化数据d1;以及在包括上述紧后的帧的多个帧间,并行地执行对包括上述紧后的帧的多个帧的量化数据d1进行熵编码的编码处理。
[0101]
这样,通过基于多个帧的量化数据d1中的至少1个帧的量化数据d1决定量化参数qp,即使在例如多个帧的编码处理没有结束的情况下,也能够基于该量化数据d1决定量化参数qp。由此,能够使量化处理及编码处理高速化。此外,通过基于1个帧的量化数据d1决定量化参数qp,与例如基于帧的一部分的数据决定量化参数qp的情况相比,能够使编码处理中的速率控制高精度化。
[0102]
此外,也可以是,对于包括上述紧后的帧的多个帧,在不同的时刻单独地开始编码处理。
[0103]
这样,通过在不同的时刻单独地开始编码处理,能够对应于各帧的量化处理的结束而及时地开始各帧的编码处理。由此,能够使编码处理高速化。
[0104]
此外,也可以是,运动图像编码方法还包括:将通过编码处理得到的处理结果以与开始了编码处理的顺序相同的顺序输出。
[0105]
由此,能够将在多个帧间并行地执行的编码处理的处理结果正确地重新排列。
[0106]
此外,也可以是,在决定量化参数qp时,基于至少1个帧的量化数据的数据量决定量化参数qp。
[0107]
这样,通过基于量化数据d1的数据量决定量化参数qp,能够适当地决定量化参数qp。由此,能够使编码处理中的速率控制高精度化。
[0108]
此外,也可以是,量化参数qp基于对上述数据量乘以规定的系数所得到的值来决定。
[0109]
这样,通过将量化参数qp基于对上述数据量乘以规定的系数所得到的值来决定,能够适当地决定量化参数qp。由此,能够使编码处理中的速率控制高精度化。
[0110]
此外,也可以是,在决定量化参数qp时,基于多个帧中的预先决定的数量的帧的量
化数据来决定量化参数qp。
[0111]
由此,不论多个帧的编码处理是否结束,都能够基于该量化数据d1决定量化参数qp。由此,能够使量化处理高速化。
[0112]
此外,也可以是,编码处理由cpu30执行;量化处理由经由通信接口50与上述cpu连接的加速器20执行;还包括以下处理:将由加速器20进行了量化处理后的1个帧的量化数据d1或基于量化数据d1的运算数据经由通信接口50向cpu30输出。
[0113]
由此,能够由可高速处理的加速器20执行量化处理,由通用性高的cpu30执行编码处理。由此,能够使量化处理及编码处理高速化。
[0114]
此外,也可以是,每当加速器20的量化处理结束,就从加速器20向cpu30输出1个帧的量化数据或上述运算数据。
[0115]
由此,能够每当量化处理结束就执行编码处理,能够使量化处理及编码处理高速化。
[0116]
本实施方式的编码处理方法包括以下处理:通过将进行量化处理后的帧的量化数据d1按每一个帧的量化数据d1串行地储存,储存多个帧的量化数据d1;基于多个帧的量化数据d1中的至少1个帧的量化数据d1,决定进行多个帧的紧后的帧的量化处理时的量化参数qp;通过基于量化参数qp进行量化处理,生成上述紧后的帧的量化数据d1;以及将包括上述的紧后的帧的多个帧的量化数据d1向外部的cpu输出。
[0117]
这样,通过基于多个帧的量化数据d1中的至少1个帧的量化数据d1决定量化参数qp,即使在例如多个帧的编码处理没有结束的情况下,也能够基于该量化数据d1决定量化参数qp。由此,能够使量化处理高速化。此外,通过基于1个帧的量化数据d1决定量化参数qp,与例如基于帧的一部分的数据决定量化参数qp的情况相比,能够使编码处理中的速率控制高精度化。
[0118]
此外,也可以是,在决定量化参数qp时,基于多个帧中的预先决定的数量的帧的量化数据来决定量化参数qp。
[0119]
由此,不论多个帧的编码处理是否结束,都能够基于该量化数据d1来决定量化参数qp。由此,能够使量化处理高速化。
[0120]
此外,也可以是,通过受理从cpu30输出的量化指示而开始量化处理。
[0121]
由此,能够可靠地开始量化处理,能够使量化处理高速化。
[0122]
此外,也可以是,在开始进行量化处理的对象的帧的前1个帧的量化处理之后,从cpu30输出上述量化指示。
[0123]
由此,能够在适当的定时开始量化处理,能够使量化处理高速化。
[0124]
此外,也可以是,在cpu30中,多个线程被同时执行,在对多个线程的各自分配了1个帧的编码处理的情况下,在多个线程中的规定的线程中,在上述1个帧的编码处理结束、并与上述1个帧不同的帧的编码处理开始之后,从cpu30输出上述量化指示。
[0125]
由此,能够在适当的定时开始量化处理,能够使量化处理高速化。
[0126]
本实施方式的运动图像编码装置1具备:量化数据储存部109,通过将进行量化处理后的帧的量化数据d1按每一个帧的量化数据d1串行地储存,储存多个帧的量化数据d1;速率控制部138,使用多个帧的量化数据d1中的至少1个帧的量化数据d1,决定多个帧的紧后的帧的比特数据量;参数决定部110,基于由速率控制部138求出的比特数据量,决定进行
上述紧后的帧的量化处理时的量化参数qp;量化部108,通过基于量化参数qp进行量化处理,生成上述紧后的帧的量化数据d1;以及编码部130,在包括上述紧后的帧的多个帧间,并行地执行对包括上述紧后的帧的多个帧的量化数据d1进行熵编码的编码处理。
[0127]
这样,通过由速率控制部138使用多个帧的量化数据d1中的至少1个帧的量化数据d1决定比特数据量,并由参数决定部110基于该比特数据量决定量化参数qp,即使在例如由编码部130进行的编码处理没有结束的情况下,也能够基于该量化数据d1决定量化参数qp。由此,能够使量化处理及编码处理高速化。此外,通过基于1个帧的量化数据d1决定量化参数qp,与例如基于帧的一部分的数据决定量化参数qp的情况相比,能够使编码处理中的速率控制高精度化。
[0128]
本实施方式的编码处理装置2具备:量化数据储存部109,通过将进行量化处理后的帧的量化数据d1按每一个帧的量化数据d1串行地储存,储存多个帧的量化数据d1;参数决定部110,从外部接收使用多个帧的量化数据d1中的至少1个帧的量化数据d1决定的比特数据量,决定进行多个帧的紧后的帧的量化处理时的量化参数qp;以及量化部108,通过基于量化参数qp进行量化处理,生成上述紧后的帧的量化数据d1。
[0129]
这样,通过由参数决定部110从外部接收使用多个帧的量化数据d1中的至少1个帧的量化数据d1决定的比特数据量并决定量化参数qp,即使在例如多个帧的编码处理没有结束的情况下,也能够基于该量化数据d1决定量化参数qp。由此,能够使量化处理高速化。此外,通过基于1个帧的量化数据d1决定量化参数qp,与例如基于帧的一部分的数据决定量化参数qp的情况相比,能够使编码处理中的速率控制高精度化。
[0130]
[1-4.实施方式1的变形例1]
[0131]
接着,对有关实施方式1的变形例1的运动图像编码装置1a进行说明。在变形例1中,对速率控制部138不是设在cpu30中,而是设在加速器20中的例子进行说明。
[0132]
图8是有关变形例1的运动图像编码装置1a的块构成图。
[0133]
如图8所示,运动图像编码装置1a具备减法部104、变换部106、量化部108、量化数据储存部109、参数决定部110、编码部130、编码数据储存部136和速率控制部138。当保存在存储器40中的软件程序被执行时,图8所示的编码部130及编码数据储存部136的各功能由cpu30实现。此外,减法部104、变换部106、量化部108、量化数据储存部109、参数决定部110及速率控制部138的各功能由加速器20实现。
[0134]
与储存在编码数据储存部136中的编码数据d2的数据量有关的信息经由通信接口50输出至加速器20的速率控制部138。
[0135]
速率控制部138基于过去的数据决定对接下来的数据进行处理时的比特数据量。速率控制部138取得与从编码数据储存部136输出的编码数据d2的数据量有关的信息,并且受理从量化数据储存部109输出的量化数据d1,取得与过去的量化数据d1的数据量有关的信息。速率控制部138基于所取得的这些信息,决定在下一帧进行编码处理时的比特数据量。
[0136]
在变形例1的运动图像编码装置1a中,也通过基于多个帧的量化数据d1中的至少1个帧的量化数据d1决定量化参数qp,能够使量化处理及编码处理高速化。此外,通过基于1个帧的量化数据d1决定量化参数qp,与例如基于帧的一部分的数据决定量化参数qp的情况相比,能够使速率控制高精度化。
[0137]
[1-5.实施方式1的变形例2]
[0138]
接着,对有关实施方式1的变形例2的运动图像编码装置1b进行说明。在变形例1中,对速率控制部由第1速率控制部138a及第2速率控制部138b构成、第1速率控制部138a设在cpu30中、第2速率控制部138b设在加速器20中的例子进行说明。
[0139]
图9是有关变形例2的运动图像编码装置1b的块构成图。
[0140]
如图9所示,运动图像编码装置1b具备减法部104、变换部106、量化部108、量化数据储存部109、第1速率控制部138a、第2速率控制部138b、参数决定部110、编码部130、编码数据储存部136和速率控制部138。在执行了保存在存储器40中的软件程序时,图9所示的编码部130、编码数据储存部136及第1速率控制部138a的各功能由cpu30实现。此外,减法部104、变换部106、量化部108、量化数据储存部109、参数决定部110及第2速率控制部138b等的各功能由加速器20实现。
[0141]
与储存在编码数据储存部136中的编码数据d2的数据量有关的信息被输出至第1速率控制部138a。第1速率控制部138a取得与从编码数据储存部136输出的编码数据d2的数据量有关的信息,将所取得的信息经由通信接口50向第2速率控制部138b输出。第2速率控制部138b受理从量化数据储存部109输出的量化数据d1,取得与过去的量化数据d1的数据量有关的信息。速率控制部138b基于所取得的这些信息,决定在下一帧进行编码处理时的比特数据量。
[0142]
在变形例2的运动图像编码装置1b中,也通过基于多个帧的量化数据d1中的至少1个帧的量化数据d1决定量化参数qp,能够使量化处理及编码处理高速化。此外,通过基于1个帧的量化数据d1决定量化参数qp,与例如基于帧的一部分的数据决定量化参数qp的情况相比,能够使速率控制高精度化。
[0143]
(实施方式2)
[0144]
参照图10对实施方式2的运动图像编码方法进行说明。关于实施方式2的运动图像编码方法,对在决定量化参数qp时使用量化数据d1及编码数据d2双方的数据的例子进行说明。另外,关于执行实施方式2的运动图像编码方法的运动图像编码装置1,由于与实施方式1相同,所以省略说明。
[0145]
图10是表示有关实施方式2的运动图像编码方法的流程图。运动图像编码方法包括以下所示的s11、s12a、s13、s14、s15的处理。
[0146]
(s11)通过将进行量化处理后的帧的量化数据d1按每一个帧的量化数据串行地储存,储存多个帧的量化数据d1。
[0147]
(s12a)在多个帧中,对于编码处理已结束的帧,使用进行编码处理后的帧的编码数据d2的数据量来决定进行多个帧的紧后的帧的量化处理时的量化参数qp,而对于编码处理没有结束的帧,基于量化数据d1的数据量来决定进行多个帧的紧后的帧的量化处理时的量化参数qp。
[0148]
(s13)通过基于量化参数qp进行量化处理,生成上述紧后的帧的量化数据d1。
[0149]
(s14)在包括上述紧后的帧的多个帧间,并行地执行对包括上述紧后的帧的多个帧的量化数据d1进行熵编码的编码处理。
[0150]
(s15)将通过编码处理得到的处理结果以与开始了编码处理的顺序相同的顺序输出。
[0151]
该运动图像编码方法由运动图像编码装置1执行。关于上述s11~s14的处理,着眼于特定的帧以时间序列进行了记载,但在实际的运动图像编码方法中,量化处理及编码处理由加速器20及cpu30同时进行。
[0152]
在实施方式2的运动图像编码方法中,对于编码处理已结束的帧,使用进行编码处理后的帧的编码数据d2的数据量决定量化参数qp,而对于编码处理没有结束的帧,基于量化数据d1的数据量决定量化参数qp。由此,与实施方式1相比能够使速率控制高精度化。
[0153]
(其他实施方式)
[0154]
以上,基于实施方式对有关本公开的形态的运动图像编码装置等进行了说明,但本公开并不限定于该实施方式。例如,也可以将在本说明书中记载的构成要素任意地组合,并且将若干构成要素除外而实现的其他的实施方式作为本公开的实施方式。此外,在不脱离本公开的主旨即权利要求书所记载的文字表示的意义的范围内对上述实施方式施以本领域技术人员想到的各种变形而得到的变形例也包含在本公开中。
[0155]
在实施方式1的运动图像编码装置1中,表示了参数决定部110设在加速器20内的例子,但并不限于此,参数决定部110也可以设在cpu30中。在此情况下,由cpu30的参数决定部110决定的量化参数qp经由通信接口50被输出至加速器20的量化部108。
[0156]
关于运动图像编码装置1的编码处理,表示了由二值化处理、算术编码处理及流成形处理构成的例子,但并不限于此。例如,编码处理也可以由二值化处理、算术编码处理及流成形处理中的至少1个处理构成。并且,也可以将由上述至少1个处理构成的编码处理在多个帧间并行地执行。
[0157]
在运动图像编码装置1中,表示了在执行了软件程序时图1所示的编码部130、编码数据储存部136及速率控制部138的各功能由cpu30实现,减法部104、变换部106、量化部108、量化数据储存部109、参数决定部110等的各功能由加速器20实现的例子,但并不限于此。
[0158]
例如,也可以由图11的(a)~(c)所示的cpu及加速器构成运动图像编码装置。
[0159]
在图11的(a)中,运动图像编码装置1由cpu30a及cpu30b构成。编码部130、编码数据储存部136及速率控制部138的各功能由cpu30b实现,减法部104、变换部106、量化部108、量化数据储存部109、参数决定部110等的各功能由与cpu30b不同的cpu30a实现。在此情况下,cpu30a相当于编码处理装置。cpu30a及cpu30b也可以由1个cpu构成。
[0160]
在图11的(b)中,运动图像编码装置1由加速器20a及加速器20b构成。编码部130、编码数据储存部136及速率控制部138的各功能由加速器20b实现,减法部104、变换部106、量化部108、量化数据储存部109、参数决定部110等的各功能由与加速器20b不同的加速器20a实现。在此情况下,加速器20a相当于编码处理装置。加速器20a及加速器20b也可以由1个加速器构成。
[0161]
在图11的(c)中,运动图像编码装置1由cpu30a及加速器20b构成。编码部130、编码数据储存部136及速率控制部138的各功能由加速器20b实现,减法部104、变换部106、量化部108、量化数据储存部109、参数决定部110等的各功能由cpu30a实现。在此情况下,cpu30a相当于编码处理装置。
[0162]
此外,以下所示的形态也可以包含在本公开的一个或多个技术方案的范围内。
[0163]
(1)构成上述的运动图像编码装置的构成要素的一部分也可以是由微处理器、
rom、ram等构成的计算机系统。在上述ram中存储有计算机程序。通过由上述微处理器按照上述计算机程序动作而实现其功能。这里,计算机程序是为了实现规定的功能而将表示对计算机的指令的命令代码组合多个来构成的。
[0164]
(2)构成上述的运动图像编码装置的构成要素的一部分也可以由1个系统lsi(largescaleintegration:大规模集成电路)构成。系统lsi是将多个构成部集成到1个芯片上而制造的超多功能lsi,具体而言,是包括微处理器、rom、ram等而构成的计算机系统。在上述ram中,存储有计算机程序。通过由上述微处理器按照上述计算机程序动作,系统lsi实现其功能。
[0165]
产业上的可利用性
[0166]
本公开能够应用于将运动图像进行编码的运动图像编码装置及编码处理装置。
[0167]
标号说明
[0168]
1、1a、1b运动图像编码装置
[0169]
2编码处理装置
[0170]
20、20a、20b加速器
[0171]
30、30a、30bcpu
[0172]
40存储器
[0173]
50通信接口
[0174]
104减法部
[0175]
106变换部
[0176]
108量化部
[0177]
109量化数据储存部
[0178]
110参数决定部
[0179]
112逆量化部
[0180]
114逆变换部
[0181]
116加法部
[0182]
120块滤波器
[0183]
122帧存储器
[0184]
124运动检测及补偿部
[0185]
126帧内预测部
[0186]
128预测控制部
[0187]
130编码部
[0188]
131二值化部
[0189]
132算术编码部
[0190]
133流成形部
[0191]
136编码数据储存部
[0192]
138、138a、138b速率控制部
[0193]
d1量化数据
[0194]
d2编码数据
[0195]
f11~f19帧
[0196]
qp 量化参数
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献