CN103329524A - 动态图像编码装置、动态图像编码方法以及动态图像编码用计算机程序 - Google Patents

动态图像编码装置、动态图像编码方法以及动态图像编码用计算机程序 Download PDF

Info

Publication number
CN103329524A
CN103329524A CN2011800654414A CN201180065441A CN103329524A CN 103329524 A CN103329524 A CN 103329524A CN 2011800654414 A CN2011800654414 A CN 2011800654414A CN 201180065441 A CN201180065441 A CN 201180065441A CN 103329524 A CN103329524 A CN 103329524A
Authority
CN
China
Prior art keywords
group
decoding
data
piece
moving picture
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
Application number
CN2011800654414A
Other languages
English (en)
Other versions
CN103329524B (zh
Inventor
数井君彦
岛田智史
中川章
三好秀诚
小山纯平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN103329524A publication Critical patent/CN103329524A/zh
Application granted granted Critical
Publication of CN103329524B publication Critical patent/CN103329524B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/174Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

动态图像编码装置具有:组决定部,决定将图像分割后的多个块的每一个属于多个组中的哪个组;组解码时刻信息计算部,按每个组计算出解码时刻;编码量控制部,在组所含的所有块的解码所需的数据被以规定的传输率传输给动态图像解码装置的情况下,控制该组所含的各块的数据的熵编码后的编码量,以便在该组的解码时刻之前到达动态图像解码装置的数据流接收缓冲器;压缩部,基于该编码量对各块的数据进行压缩;熵编码部,对被压缩后的各块的数据进行熵编码;以及解码信息附加部,将与和熵编码相伴的每个组的延迟的最大值相当的每个组的解码时刻的修正信息以及表示各块所属的组的组信息附加到输出数据中。

Description

动态图像编码装置、动态图像编码方法以及动态图像编码用计算机程序
技术领域
本发明涉及例如将各图像分割成多个块并按照各个块来进行编码的动态图像编码装置、动态图像编码方法以及动态图像编码用计算机程序。
背景技术
动态图像数据一般具有非常大的数据量。因此,处理动态图像数据的装置在想要向其他装置发送动态图像数据的情况下,或者在想要将动态图像数据存储到存储装置中的情况下,通过对动态图像数据进行编码来进行压缩。作为代表性的动态图像的编码标准,广泛利用了由International Standardization Organization/InternationalElectrotechnical Commission(ISO/IEC)制定的Moving PictureExperts Group phase2(MPEG-2),MPEG-4或者H.264MPEG-4AdvancedVideo Coding(MPEG-4AVC/H.264)。
在这样的编码标准中,采用了利用编码对象的图像和其前后的图像的信息来对编码对象的图像进行编码的帧间编码方法、以及仅使用编码对象图像所持有的信息来进行编码的帧内编码方法。
一般,通过帧间编码方法编码后的图像或块的编码量比通过帧内编码方法编码后的图像或块的编码量小。这样,根据所选择的编码模式,会在序列(sequence)内产生图像的编码量的偏差。同样,基于所选择的编码模式,在图像内会产生块的编码量的偏差。
鉴于此,在传输源的装置中设置数据流用的发送缓冲器,而且在传输目的地的装置中设置数据流用的接收缓冲器,以便即使编码量随时间发生变动,也能够以一定的传输率传输包含被编码后的动态图像的数据流。因这些缓冲器引起的延迟(以下称为缓冲器延迟)成为从编码装置中的各图像的输入到解码装置中的解码后的各图像的显示为止的延迟(以下称为显示延迟)的主要因素。通过减小缓冲器的尺寸,缓冲器延迟以及显示延迟会减少。但是,缓冲器的尺寸越小,每张图像的编码量分配的自由度(编码量的变动程度)也越减少,结果,被再生的动态图像的画质变差。
在MPEG-2或者MPEG-4AVC/H.264中,均规定了被称为VideoBuffering Verifier(VBV)和Coded Picture Buffer(CPB)的理想解码装置中的接收缓冲器的动作。为了不使理想解码装置的接收缓冲器产生上溢以及下溢,动态图像编码装置必须控制编码量。理想解码装置被规定为进行解码处理所需的时间为0的瞬时解码。例如,专利文献1中公开了一种与VBV相关的动态图像编码装置的控制方法。
专利文献1:日本特开平3-148981号公报
非专利文献1:MPEG-2Test Model5.April1993.ISO-IEC/JTC1/SC29/WG11/N0400=(http://www.mpeg.org/MPEG/MSSG/tm5/)
非专利文献2:JCTVC-A116,"Description of video codingtechnology proposal by Fraunhofer HHI",Joint Collaborative Teamon Video Coding of ITU-T SG16WP3and ISO/IEC JTC1/SC29/WG11,April2010
为了不使理想解码装置的接收缓冲器产生上溢以及下溢,动态图像编码装置按照在理想解码装置对某图像进行解码的时刻,保证该图像的数据被储存在接收缓冲器的方式来控制编码量。
接收缓冲器的下溢是在下述情况下产生:当动态图像编码装置以一定的传输率发送数据流时,各图像的编码量多,到动态图像解码装置应该解码、显示的时刻为止,解码图像所需的数据的传输未完成。即,接收缓冲器的下溢是指解码装置的接收缓冲器内不存在为了解码图像所需要的数据。该情况下,由于动态图像解码装置无法进行解码处理,所以会产生帧跳过。
为了能够不引起接收缓冲器的下溢地进行解码处理,动态图像解码装置使数据流从接收时刻开始延迟规定的时间来显示图像。
如上所述,在理想解码装置中,规定为以处理时间0来瞬时完成解码处理。因此,如果将第i张图像向动态图像编码装置输入的输入时刻设为t(i),将理想解码装置中的第i张图像的解码时刻设为dt(i),则能够显示该图像的时刻同样为dt(i)。由于在所有的图像中,图像的显示期间{t(i+1)-t(i)}和{dt(i+1)-dt(i)}相等,所以解码时刻dt(i)变成从输入时刻t(i)延迟了固定时间dly后的时刻{dt(i)=t(i)+dly}。因此,动态图像编码装置必须在时刻dt(i)之前对动态图像解码装置的接收缓冲器传输完毕解码所需的数据。
参照图1,对以往的接收缓冲器的样子进行说明。在图1中,横轴表示时刻,纵轴表示接收缓冲器的缓冲器占有量。而且,实线的曲线图100表示各时刻下的缓冲器占有量。
在接收缓冲器中,缓冲器占有量以规定的传输率恢复,在各图像的解码时刻为了对该图像进行解码而使用的相应的数据被从缓冲器选拔。第i个图像的数据从时刻at(i)起被开始输入到接收缓冲器,第i个图像的最后的数据在时刻ft(i)被输入。理想解码装置在时刻dt(i)完成第i张图像的解码,在该时刻dt(i)能够显示第i张图像
理想解码装置为瞬时解码,另一方面,实际的动态图像解码装置需要规定的解码处理时间,一般情况下,1张图像的解码处理时间短于图像的显示期间,但需要与图像的显示期间相近的时间。第i张图像的数据从时刻at(i)到ft(i)被输入到接收缓冲器,但无法保证各块的解码所需的数据在at(i)到ft(i)内的哪个时刻到达。因此,实际的动态图像解码装置从时刻ft(i)起开始第i张图像的解码处理。因此,如果将1张图像的解码处理所需的最长处理时间设为ct,则实际的动态图像解码装置仅能保证在时刻ft(i)+ct完成解码处理。
动态图像编码装置所保证的是:在时刻dt(i)之前该图像的解码所需的数据到达解码接收缓冲器,即ft(i)为dt(i)以前。因此,在ft(i)最迟的情况下,ft(i)与dt(i)相等。此时,可保证解码处理完成的时刻为dt(i)+ct。为了按照要显示的图像的间隔一定的方式来显示所有图像,与理想解码装置相比,动态图像解码装置必须至少使各图像的显示时刻延迟ct。
这样,在MPEG-2或者MPEG-4AVC/H.264的理想解码装置的数据流接收缓冲器的动作规定中,要求某图像的所有位到达数据流接收缓冲器的时刻比该图像的解码时刻早。
在此,在MPEG-2中,为了对图像内的各块的数据量进行压缩而采用了熵编码方式。在MPEG-2的熵编码方式中,对作为编码对象的、图像内的某个块的压缩数据(动作向量等头部信息以及量化后的正交变换系数)进行表示的位流中的位串例如按照变换表被变换成其他的位串。由于这样的变换处理能够以非常高的速度执行,所以从压缩数据的熵编码开始到被编码后的位串作为流而生成为止的延迟时间实际上为零。即,到结束某个块为止的编码处理的时刻与向发送缓冲器输入的输入时刻几乎相同。因此,编码装置能够控制图像的压缩数据的编码量,以便容易地遵守接收缓冲器的动作规定。
另一方面,在MPEG-4AVC/H.264中,作为熵编码方式,除了MPEG-2中采用的方式之外,还采用算术编码方式。在算术编码方式中,作为编码对象的、图像内的某个块的压缩数据被逐个符号地处理,作为流而生成。此时,从某个关注块的最后的压缩数据的符号的熵编码开始到被编码后的位串作为流而生成为止的延迟(以下称为熵编码延迟)一般不为零。对于与关注块的最后的符号对应的被编码后的位串而言,如果下一个块的压缩数据的几个符号的熵编码不开始,则有时不生成为流。即,在从某图像的编码处理开始到结束为止向发送缓冲器发送的位量(表观的图像的产生信息量)、与实际的图像的产生信息量之间,产生与熵编码延迟对应的差。因此,即使编码装置按照表观上的图像的产生信息量控制信息量以便遵守图像的解码时刻,实际的图像的所有位到达接收缓冲器的时刻也会与熵编码延迟成比例延迟。因此,存在因熵编码延迟的大小,而不满足基于上述接收缓冲器的动作规定的限制的可能性。
并且,作为熵编码方式之一,还提出了一种通过对符号概率分布进行量化,来并列进行算术编码的方案(例如参照非专利文献2)。在编码装置按照这样的熵编码方式对各块的压缩数据进行编码的情况下,有可能熵编码延迟的最差值变得非常大(例如4096位)。而且,如果熵编码延迟的最差值变大,则结果有可能不满足理想解码装置中的接收缓冲器的动作规定。
发明内容
鉴于此,本说明书的目的在于,提供一种防止因熵编码所引起的延迟而产生接收缓冲器的下溢,同时减少解码处理的延迟的动态图像编码装置。
根据一个实施方式,提供一种将动态图像数据所含的各图像分割成多个块来进行编码的动态图像编码装置。该动态图像编码装置具有:组决定部,决定多个块的每一个属于将图像分割后的多个组中的哪个组;组解码时刻信息计算部,按每个组计算出解码时刻;编码量控制部,在组所含的所有块的解码所需的数据被以规定的传输率传输给动态图像解码装置的情况下,控制该组所含的各块的数据的熵编码后的编码量,以便在该组的解码时刻之前到达动态图像解码装置的流接收缓冲器;压缩部,基于该编码量对各块的数据进行压缩;熵编码部,对被压缩后的各块的数据进行熵编码;以及解码信息附加部,将和与被压缩后的各块的数据的熵编码相伴的每个组的延迟的最大值相当的每个组的解码时刻的修正信息以及表示各块所属的组的组信息附加到输出数据中。
本发明的目的以及优点通过权利要求中特别指出的技术特征以及组合来实现并且达成。
上述一般的记述以及下述的详细记述均是例示性的且是说明性的,请理解并不如权利要求那样用于限定本发明。
本说明书中公开的动态图像编码装置能够防止因熵编码所引起的延迟而产生接收缓冲器的下溢,同时可减少解码处理的延迟。
附图说明
图1是表示现有技术涉及的接收缓冲器的缓冲器占有量的迁移的图。
图2是1个实施方式涉及的动态图像编码装置的概要构成图。
图3是熵编码部的概略结构图。
图4(A)是表示第三实施方式涉及的一个块的压缩数据的构造的图。
图4(B)是对压缩数据与通过熵编码被变换后的位串之间的关系进行说明的图。
图5是熵编码部的二进制码(bin)编码部以及多路复用部的举动的说明图。
图6是表示由一个实施方式涉及的动态图像编码装置传输的编码动态图像数据流被蓄积的接收缓冲器的缓冲器占有量的迁移的图。
图7是表示使最初的组的解码时刻延迟的情况下的、接收缓冲器的缓冲器占有量的迁移的图。
图8是取代缓冲器占有量而表示了动态图像编码装置中的产生信息量以及动态图像解码装置中的解码信息量的时间经过的曲线图。
图9是表示一个实施方式涉及的动态图像编码处理的动作流程图。
具体实施方式
以下,参照图对一个实施方式涉及的动态图像编码装置进行说明。该动态图像编码装置将图像内所含的各块以组单位分类,通过根据按每一组推定的解码时刻,调整组所含的块的编码量,来减少解码延迟。另外,该动态图像编码装置基于对各块的压缩数据进行熵编码时的最大延迟时间来修正每个组的推定解码时刻,并将该修正后的推定解码时刻通知给动态图像解码装置。由此,该动态图像编码装置能够防止因熵编码所引起的延迟而产生动态图像解码装置的接收缓冲器的下溢。
图2是一个实施方式涉及的动态图像编码装置的概略结构图。动态图像编码装置10具有编码处理部11、编码量控制部12、组决定部13、组解码时刻信息计算部14、组信息附加部15、熵编码延迟信息附加部16和位计数器25。动态图像编码装置10所具有的这些各部分别作为单独的电路被安装于动态图像编码装置10。或者,动态图像编码装置10所具有的这些各部也可以作为实现该各部的功能的电路被集成后的1个集成电路而安装于动态图像编码装置10。或者,动态图像编码装置10所具有的这些各部也可以是由在动态图像编码装置10所具有的处理器上执行的计算机程序来实现的功能模块。
动态图像数据所含的编码对象图像被未图示的控制部分割成块单位,按照各个块被输入到编码处理部11。各块例如具有16×16像素。
编码处理部11具有正交变换部21、量化部22和熵编码部23。其中,正交变换部21以及量化部22是基于各块的熵编码后的编码量来对各块的数据进行压缩的压缩部的一个例子。
各块被输入给正交变换部21。而且,正交变换部21对各块分别进行例如离散余弦变换(Discrete Cosine Transform,DCT)等正交变换处理,来算出频率系数的组。算出的频率系数的组被输入给量化部22。其中,在通过对已经编码后的图像进行动态补偿等而针对各块生成预测图像的情况下,可以将通过各块与预测图像间的差分运算而求出的预测误差图像输入给正交变换部21。
其中,图像可以是帧或者半帧(field)中的任意1个。帧是动态图像数据中的1个静止图像,另一方面,半帧是通过从帧中仅取出奇数行数据或者偶数行数据而得到的静止图像。
另外,被编码后的动态图像可以是彩色动态图像,或者是单色动态图像。
量化部22例如通过用各频率系数除以根据由编码量控制部12的量化值计算部24计算出的量化值而决定的量化刻度,来对各频率系数进行量化。通过该量化,可削减各频率系数的信息。量化值越大,则量化的精度越差,各频率系数的信息越被大幅削减。
由量化部22量化后的各频率系数被输入给熵编码部23。另外,为了创建针对在后面被编码的图像或者块的预测图像,量化后的各频率系数也可以被逆量化,并被进一步逆正交变换,然后储存到未图示的图像存储器中。
熵编码部23对块的压缩数据(包含量化后的各频率系数以及编码模式等块头部信息)进行熵编码。而且,熵编码部23将由该熵编码表示的位系列包含在输出数据流中。
另外,由熵编码部23产生的位系列的位量按每个块在位计数器25中被相加,并被作为产生编码量通知给编码量控制部12的缓冲器占有量计算部26。即,由位计数器25计数得到的对象块的产生编码量成为熵编码部23输出的前一个块的编码结束时刻的位系列的最终位位置与对象块的编码结束时刻的位系列的最终位位置的差分。实际的块的产生信息量与由位计数器25计数得出的块的产生信息量相比,最大大出与熵编码延迟相当的编码量。
本实施方式涉及的熵编码部23按照非专利文献2中公开的方法来对块的压缩数据进行熵编码。
非专利文献2中公开的方法基本上与MPEG-4AVC/H.264所规定的Content-based Adaptive Binary Arithmetic Coding(CABAC)同样地采用算术编码技术。但是,在该方法中,取代对二进制化后的压缩数据逐位进行算术编码,使用基于二进制化后的压缩数据的各位的推定概率的多个二进制码编码部。各二进制码编码部被分别分配独立的推定概率,二进制化后的压缩数据的各位在与该推定概率对应的二进制码编码部中被进行算术编码。
在该方法中,由于各二进制码编码部对固定的推定概率的位串进行处理,所以实际上也可以取代进行算术编码运算,而通过将被输入的n位与m位的输出进行映射,来对压缩数据进行可变长编码。其中,m、n分别是1以上的整数。在本说明书中,为了方便起见,将被输出的m位称为字。可变长编码后的压缩数据被以字单位向输出数据的位流输出。
在非专利文献2公开的方法中,与CABAC同样,变换后的位串与变换前的压缩数据之间的关系不一一对应。另外,也存在与先被输入到二进制码编码部的二进制码相当的字和与在该二进制码之后被输入到二进制码编码部的二进制码相当的字相比,后出现在输出数据的位流的情况。
图3是熵编码部23的概略结构图。熵编码部23具有二进制化部301、内容模型化部302、概率量化部303、K个二进制码编码部304-1~304-k(其中,K为2以上的整数)和多路复用部305。
二进制化部301对被输入的块的压缩数据所含的各符号进行二进制化,以位串表示各符号。为此,二进制化部301例如以MPEG-4AVC/H.264为基准对各符号进行二进制化。例如,在I-Slice内的宏块种类mbType是表示4x4帧内预测、或者8x8帧内预测的符号"INxN"的情况下,该符号被以'0'表示。另外,在块种类mbType是表示PCM编码的符号"IPCM"的情况下,该符号被以'11'表示。从二进制化部301输出的位串被输入到内容模型化部302。
内容模型化部302对从二进制化部301输入的位串的各位,分别分配内容。内容例如根据周围块的块压缩数据来决定。而且,在想要进行熵编码的块的压缩数据与周围块的压缩数据类似的情况下和不类似的情况下,通过利用不同的内容,来提高算术编码的效率。内容模型化部302按位串的每个位来输出其值(0或者1)、和所决定的内容的Least Probable bit(LPB)以及LPB概率,所输出的位、LPB以及LPB概率被输入给概率量化部303。LPB表示在过去与该内容成对从内容模型化部302输出的位串的各位中的出现频度小的一方的值。另外,LPB概率表示LPB的产生概率。例如,在过去的位串所含的10个位是[0,0,0,1,1,1,1,1,1,1]的情况下,LPB为0,LPB概率为0.3。
概率量化部303对从内容模型化部302输出的各位的LPB概率分别进行量化。例如,概率量化部303将从0到1连续的概率值量化成K个离散值。例如,在LPB概率为0.3、K为4的情况下,概率量化部303将LPB概率的值0.3的量化值设为0.25(=1/4)。从概率量化部303输出的位被输入给K个二进制码编码部304-1~304-k中与该位的LPB概率的量化值对应的二进制码编码部。
二进制码编码部304-1~304-k分别对与彼此不同的LPB概率的量化值对应的位进行算术编码。例如,如果如上所述LPB概率的量化值是1/4,则与该LPB概率对应的位被输入给二进制码编码部304-1~304-k中与离散概率1/4对应的二进制码编码部。而且,各二进制码编码部对在多路复用部305的缓冲器内保存的项的位串中与二进制码编码部对应的量化LPB概率的项的位串添加该位。而且,每当能够变换位串时,各二进制码编码部便将该位串变换成字。
多路复用部305例如具有缓冲器,将从各二进制码编码部写入的位串以及与位串对应的字保存到该缓冲器中。多路复用部305在能够输出字之前,将该字保存在缓冲器内。而且,多路复用部305在所保存的字能够输出的时刻将该字作为输出数据的位流输出。
此外,由于可以假定为被输入给各二进制码编码部的位(二进制码)具有相同的LPB,所以各二进制码编码部以及多路复用部可以取代进行算术编码自身,而将包含多个输入位的位串作为1个二进制码串来进行可变长编码。该情况下,例如表示位串(二进制码串)和字之间的关系的变换表被存储在各二进制码编码部中。而且,各二进制码编码部参照该变换表将二进制码串变换成字。例如,在LPB为1、LPB概率为0.15(即0的产生概率是0.85)的情况下,输入二进制码串"0000"被变换成"1",输入二进制码串"11"被变换成"00001"。
以下,对熵编码部23的一个实施方式以及该实施方式中的组的最终位的定义进行说明。组的最终位被定义为组内的最终块的最终位。
参照图4(A)以及图4(B),对输出数据的位流中的各块的最终位进行说明。
图4(A)是表示一个块的压缩数据的构造的图。如图4(A)所示,一个块的压缩数据4000从起始开始按顺序可包括跳过标志4010、宏块层4011、和划分结束标志4012。其中,跳过标志、宏块层以及划分结束标志在以下分别被表示为MbSkipFlag、MacroblockLayer以及EndOfSliceFlag。
MbSkipFlag4010表示当前的块是否被跳过。例如,在当前的块被跳过的情况下,MbSkipFlag4010为'1',另一方面,如果当前的块未被跳过,则MbSkipFlag4010为'0'。另外,MacroblockLayer4011是块编码种类、活动向量信息、以及量化DCT系数等块压缩数据。块的跳过是指该被跳过的块的MacroblockLayer4011不包含在输出数据流中。
由于在图像是帧内编码图像的情况下,不允许块的跳过,所以MbSkipFlag4010总是为'0'。因此,输出数据流中不包含MbSkipFlag4010。
EndOfSliceFlag4012表示当前的块是否是划分的最终块。例如,在当前的块是最终块的情况下,EndOfSliceFlag4012为'1',另一方面,如果当前的块不是最终块,则EndOfSliceFlag4012为'0'。
图4(B)是对压缩数据和通过可变长编码被变换后的位串之间的关系进行说明的图。
如图4(B)所示,作为输出数据流的位串的一例的位串4100包含15个位。该情况下,点的集合4101表示与位串4100所含的各位对应的、通过对位串4100进行算术解码而得到的压缩数据所含的二进制码。在该例子中,位串4100与二进制码0~二进制码10对应。而且,二进制码0~二进制码2包含在块0中,二进制码3~二进制码5包含在块1中,二进制码6、7包含在块2中,二进制码8~二进制码10包含在块3中。点的集合4101所含的各点分别表示在该点的上方表示出的变换后的位串4100所含的位被用于对在该点的左侧表示出的二进制码进行解码。例如,二进制码0、二进制码5以及二进制码7利用第0个~第3个位被解码。反过来说,二进制码0、二进制码5以及二进制码7这3位被变换成位串4100中的第0~第3这4位。
根据点集合4101可知,对属于块1的最后的二进制码5进行解码所需的位串(位0~位3)与对属于块1的最初的二进制码3进行解码所需的位串(位7~位8)相比先出现在输出数据的位流4100内。这样,相对于块的各二进制码的顺序,输出数据的位流上的对应字的顺序有时会发生颠倒。
块的最终位如下所述。
与块基于CABAC被编码的情况同样,块的压缩数据的二进制化数据的起始位以及最终位总是MbSkipFlag以及EndOfSliceFlag。而且,在图像中有w个块的情况下,输出数据的位流中必定存在w个MbSkipFlag和w个EndOfSliceFlag。
但是,在该实施方式中,被可变长编码后的块x的最终位在对块x的压缩数据的二进制化数据的各位进行解码所需的字中,成为输出数据的位流中的位置最靠后的字A的最后位。在图4(B)所示的例子中,块0、块1以及块2的最终位分别是被以箭头4200表示的、位串4100的第8个位。另外,块3的最终位是被以箭头4201表示的位串4100的第14个位。
图5是熵编码部的二进制码编码部以及多路复用部的举动的说明图。二进制码编码部304-1~304-k参照从输入二进制码串向输出字变换的变换映射500,将由具有同一量化LPB概率的位构成的输入二进制码串变换成字。为了简化说明,多路复用部305对从各二进制码编码部304-1~304-k向多路复用部305输入的二进制码串应用同一变换映射。例如二进制码串"0000"被变换成字"1"
在该例子中,利用概率量化部303对输入位串501的各位附加表示量化LPB概率的概率索引502。在该例子中,LPB概率被量化成4个值中的某个值,各量化LPB概率分别被分配概率索引0~3。而且,输入位串501的各位从起始的位550开始按顺序被输入到与该位的概率索引对应的二进制码编码部。例如,概率索引为'0'的位被输入到二进制码编码部304-1,概率索引为'1'的位被输入到二进制码编码部304-2。
表560~563分别表示位550~553被输入到某个二进制码编码部的时刻的、被保存在多路复用部305所具有的缓冲器中的数据。
在表560~563中,1个行与多路复用部305的缓冲器内保存的1个项对应。而且,在各表内,按照生成的顺序从上到下依次表示项。多路复用部305将缓冲器内保存的项的字按从上向下的顺序输出,作为输出数据的位流。"#"是缓冲器内的项的索引。"Idx"是对应的二进制码编码部的索引,在该例子中,为了容易理解,二进制码编码部的索引具有与被附加于被输入到该二进制码编码部的输入位的概率索引相同的值。“输入”是被输入的位串(二进制码串)。“字”是与被输入的位串对应的字。在不存在与输入位串对应的字的情况下(例如,输入位串是"00"的情况),在各表中字被标记为"N/A"。
设在向二进制码编码部304-1~304-k中的某个输入位550之前的状态下,多路复用部305的缓冲器为空。
在多路复用部305的缓冲器为空的状态下,如果位被输入给二进制码编码部,则被输入了位的二进制码编码部在多路复用部305的缓冲器中创建新的项。在该例子中,如表560所示,通过概率索引是'0'并且值是'0'的位550被输入给二进制码编码部304-1,在多路复用部305的缓冲器内创建项索引为'0'的最初的项。由于位550的概率索引是'0',所以该项的"Idx"是'0'。另外,由于位550的值是'0',所以最初的项的输入位串为"0"。由于字尚未完成,所以该项的字是"N/A"。
接下来,对二进制码编码部304-2输入概率索引是'1'并且值是'0'的位551。该情况下,由于与该位的概率索引相当的项在多路复用部305的缓冲器内中尚未存在,所以如表561所示,生成新的项。该第2个项的"Idx"是'1'。另外,由于字尚未完成,所以第2个项的字是"N/A"。
以后,每当新的位被输入给二进制码编码部,二进制码编码部304-1~304-k以及多路复用部305便按照以下的1)~4)的规则,将多路复用部305的缓冲器内的项的二进制码串变换成字,另外,输出变为能够适当输出的项的字。
1)二进制码编码部304-1~304-k按照多路复用部305的缓冲器内的项索引的升序来搜索与输入位的概率索引对应的项。
2)如果存在与输入位的概率索引对应的、字是"N/A"的项,则二进制码编码部304-1~304-k对该项的输入位串进行更新。具体而言,二进制码编码部304-1~304-k在该项的输入位串的后面附加新的输入位。多路复用部305判定更新后的位串是否与变换表500的二进制码串的任意一个一致。如果存在一致的二进制码串,则二进制码编码部304-1~304-k将与该二进制码串对应的字作为该项的字。
3)假如不存在与输入位的概率索引对应的、字不为"N/A"的项,则二进制码编码部304-1~304-k创建与该概率索引对应的新的项。
4)字不是"N/A"的项能够作为位流输出,但项的输出顺序遵从多路复用部305的缓冲器内的项索引的降序。这是动态图像解码装置为了正常地对被多路复用后的字进行解码(从字向二进制码串的逆变换)所需的限制。当在多路复用部305的缓冲器中残留有比关注的项的项索引小并且字为"N/A"的项时,即使关注的项的字不是"N/A",多路复用部305也无法输出该关注的项。
在输出项的情况下,多路复用部305将该项的字追加到输出数据的位流。所输出的项被从多路复用缓冲器除去。
表562表示向二进制码编码部304-1输入了概率索引为'0'并且值为'0'的位552的时刻的、多路复用部305的缓冲器的状态。该情况下,项索引为'1'到'4'的项处于能够输出的状态。但是,由于项索引为'0'的项的字是"N/A",所以多路复用部305尚且不能将所有项的字作为位流输出。即,产生熵编码的延迟
表563表示向二进制码编码部304-1输入了概率索引为'0'并且值是'1'的位553的时刻的、多路复用部305的缓冲器的状态。在该时刻,项索引为'0'的项的字首次开始不再是"N/A"。因此,多路复用部305能够输出项索引从'0'到'4'的所有项。
根据图5可知,当存在概率索引的偏差时,例如当在图5中概率索引为'0'的位在输入位串的起始位550以后不出现时,其他项的输出被无限期等待。
鉴于此,熵编码部23为了避免该问题,在多路复用部305的缓冲器中储存的各项的字的位量的总和超过了最大延迟值Δ的情况下,针对字为"N/A"的项,在项的输入位串中追加虚拟的位串。由此,熵编码部23能够将所有项的输入位串变换成字,输出缓冲器内的所有项。该处理被称为刷新处理。
动态图像编码装置与动态图像解码装置可以共享可变长编码以及可变长解码的多路复用部的缓冲器的状态。因此,通过动态图像编码装置10将最大延迟Δ向动态图像解码装置传输,动态图像解码装置也能够全部同样地执行由动态图像编码装置执行的刷新处理。
通过执行刷新处理,动态图像编码装置10能够抑制多路复用部305的缓冲器中蓄积的字的位总量的上限、以及从位的输入时刻到对应的字作为位流被输出的时刻为止的经过时间的上限。
通过减小最大延迟值Δ,能够减小熵编码延迟。但是,如果进行刷新处理,则由于虚拟的位串被***到项的输入位串,所以编码效率降低。因此,优选最大延迟值Δ被设定为能够取得熵编码延迟与编码效率的平衡的值。例如,优选将最大延迟值Δ设定成(Δ/R)小于连续的两个组的解码时刻之差,例如设定为4096位。其中,R是从动态图像编码装置10向动态图像解码装置输出数据流的位速率。
另外,熵编码的最大延迟值Δ也可以是预先设定的固定值,或者是能够按每张图像或按多张图像设定的变量。
组决定部13基于从未图示的控制部接收到的块计数信息,按照规定方法来决定编码处理中的块所属的组。块计数信息是表示图像所含的各块的编号的信息,例如,针对图像的左上端的块的编号被设定为1,按照光栅扫描顺序对各块分配编号。而且,对图像右下端的块分配最大的编号。此外,块计数信息也可以含有按照其他顺序对各块分配的编号。
为了使每个组的解码处理时间均等化,优选组决定部13按照各组所含的块的数量尽量相等的方式来决定多个组。例如,如果组决定部13以块行(line)为单位将各块分割成组,则能够在任意的图像尺寸下使各组所含的块的数量相等。例如,如果图像尺寸是高精度电视播放(High DefinitionTelevision,HDTV)相当的1920像素×1088像素,块尺寸是16像素×16像素,则块行数是68。因此,该情况下,编码对象图像所含的各块被分类为68个组的某1个。
此外,组所含的块的数量也可以被设为从1到画面整体块数之间的值。
组决定部13将编码对象块所属的组的识别信息通知给编码量控制部12的缓冲器占有量计算部26。另外,组决定部13将组的总数N通知给组解码时刻信息计算部14以及组信息附加部15。此外,组决定部13也可以将位于各组的起始的块的索引通知给组信息附加部15。
以下,以将编码对象图像所含的水平方向的块数设为M,将垂直方向的块数设为N,使所有块以1个块行单位等分割成N个组的情况为例进行说明。
设编码对象图像按照编码顺序为第i张图像,组解码时刻信息计算部14基于从第i张图像的输入时刻t(i)延迟了规定的延迟时间dly后的该图像的解码时刻dt(i){=t(i)+dly},来算出表示第n个组被解码的时刻的解码时刻dgt(i,n)。或者,组解码时刻信息计算部14也可以取代dgt(i,n),而算出与dgt(i,n)等效的{dgt(i,n)-dgt(i,n-1)}作为解码时刻。另外,组解码时刻信息计算部14也可以以适当的单位,例如成为1/90000秒单位的倍数的方式来对解码时刻舍入。
例如为了使各组的解码处理所需要的时间均等,组解码时刻信息计算部14例如按照以组数N对每张图像的解码处理所需的时间进行等分的方式,来决定各组的解码时刻。该情况下,第n个(n=1,2,...,N)组的解码时刻按照下式来算出。
[数式1]
dgt(i,n)=dt(i-1)+{dt(l)-dt(l-1)}·n/N       (1)
另外,解码处理所需要的时间也可以按各个组不均等。尤其组解码时刻信息计算部14也可以如下式那样,仅使与最初被编码/解码的组对应的解码时刻dgt(i,1)比对每张图像的解码处理所需要的时间进行了等分割的解码时刻延迟。
[数式2]
dgt(i,1)≥dt(i-1)+{dt(i)-dt(i-1)}/N       (2)
其中,dt(i)、dt(i-1)分别是第i张图像以及第(i-1)张图像的解码时刻。
并且,组解码时刻信息计算部14也可以按照下式来决定第2个以后被编码/解码的组的解码时刻dgt(i,n)(n≥2)。
[数式3]
dgt(i,n)=dgt(i,1)+{dt(i)-dgt(i,1)}·(n-1)/(N-1)  (n≥2)   (3)
通过如此决定解码时刻,组解码时刻信息计算部14能够使由缓冲器占有量计算部26算出的缓冲器占有量在最初的组的编码处理开始前变大。结果,编码量控制的自由度提高。
组解码时刻信息计算部14将包含各组的解码时刻的解码时刻信息向缓冲器占有量计算部26以及组信息附加部15输出。
为了组所含的所有块的解码所需要的数据在该组的解码时刻之前到达流接收缓冲器,编码量控制部12对该组所含的各块的数据的熵编码后的编码量进行控制。为此,编码量控制部12具有量化值计算部24和缓冲器占有量计算部26。
缓冲器占有量计算部26计算理想解码装置的流接收缓冲器的缓冲器占有量的推定值。将所传输的位速率设为R,以d来表示缓冲器占有量。在编码处理中的块的熵编码处理完成,其产生编码量是b的情况下,b被从位计数器25通知给缓冲器占有量计算部26。而且,缓冲器占有量计算部26从d中减去b。
缓冲器占有量计算部26在进行了各组的最后块的编码处理后,按照下式来恢复缓冲器占有量d。
[数式4]
d=d+(dgt(i,n+1)-dgt(i,n))·R             M广
每当针对1个块的熵编码处理结束,缓冲器占有量计算部26便将求出的缓冲器占有量d通知给量化值计算部24。
量化值计算部24基于缓冲器占有量,算出针对各块的量化值。此时,量化值计算部24按照组所含的所有块的产生编码量的合计为将要开始该组的最初的块的编码处理之前的缓冲器占有量d以下的方式,即按照在编码处理中d不为负值的方式来控制量化值。
量化值计算部24按照例如MPEG-2中的标准化组织参照软件TestModel5(参照非专利文献1)的量化值算出方法来算出量化值。接着,量化值计算部24将缓冲器占有量d与规定的阈值DTH1进行比较。当量化值为其可取的值的范围中的最大值时,如果将在各块中产生的最大编码量设为b0,将在编码处理中的块所属的组中尚未进行编码处理的块的数设为M0,则阈值DTH1由下式表示。
[数式5]
DTHI=b0·M0+offset           (5)
(5)式中的offset是余量项。如果将d与阈值DTH1比较后的结果是d小于DTH1,则量化值计算部24将量化值设为最大值。
另外,作为b0,也可以利用使频率系数全部为0时的块的编码量。此时,如果d小于DTH1,则量化值计算部24按照编码对象块的所有频率系数被量化成0的方式来决定量化值。通过该控制,如果组内的编码处理未完成的剩余块的编码量的平均值未超过b0,则虚拟的解码接收缓冲器不会发生下溢。
由此,如果编码量控制部12将来自动态图像编码装置10的输出流实际上按照规定的速率R传输给动态图像解码装置,则能够按照动态图像解码装置的接收缓冲器不下溢的方式,来控制动态图像数据的编码量。
量化值计算部24将求出的量化值通知给量化部22。
另外,从熵编码部23向熵编码延迟信息附加部16通知熵编码的最大延迟值Δ。熵编码的最大延迟值Δ的单位是位。或者,熵编码延迟信息附加部16也可以在自身所具有的存储器中预先存储熵编码的最大延迟值Δ。
熵编码延迟信息附加部16按每张图像,或规定的图像间隔将熵编码的最大延迟值Δ附加给输出数据流的头部信息。头部信息例如可设为MPEG-2中规定的由MPEG-2规定的图像头部,或者由H.264规定的划分头部。
另外,熵编码延迟信息附加部16将熵编码的最大延迟值Δ通知给组信息附加部15。
组信息附加部15与熵编码延迟信息附加部16是将为了对图像进行解码所使用的信息附加到输出流的解码信息附加部的一个例子。
动态图像编码装置10和动态图像解码装置共享各块所属的组以及各个组的解码时刻。为此,组信息附加部15至少将表示属于各组的块的组信息以及包含各组的解码时刻的解码时刻信息附加到输出数据流。由此,动态图像编码装置10将组信息以及解码时刻信息通知给动态图像解码装置。
组信息附加部15例如将组信息以各图像或者规定的图像间隔附加到输出数据流的头部信息中。
头部信息例如可以采用MPEG-2中规定的序列头(SequenceHeader),或者H.264中规定序列参数集(Sequence Parameter Set)或者Supplemental Enhancement Information。此外,各个组的解码时刻也可以被附加到由MPEG-2规定的图像头部(Picture Header),或者由H.264规定的划分头部(Slice Header)等必定附随于各图像的头部信息。
在按照各组所含的块的数相等的方式决定了组的情况下,动态图像编码装置10对动态图像解码装置通知所有块被等分成N个组的情况。为此,从组决定部13对组信息附加部15通知组数N作为组信息。组信息附加部15对该组信息进行编码。在MPEG-2以及H.264中,以被称为“宏块”的16x16像素的块单位来进行编码,该块数通常不超过能够以20bit表现的范围。由于组的数N的最大值最多与块数的最大值相等,所以N的编码只要以固定bit长来编码即可。
另外,在不限于各组所含的块的数相等的情况下,从组决定部13对组信息附加部15通知组数N和各组的起始块的索引信息作为组信息。组信息附加部15首先对组数N进行编码,并依次对各组的起始块的索引信息进行编码。针对起始块的索引信息的编码方法例如也可利用固定bit长的编码方式。另外,为了对组数N以及各组的起始块的索引信息进行编码,组信息附加部15也可以利用霍夫曼符号之类的可变长编码方式等其他的编码方式。
并且,由缓冲器占有量计算部26在缓冲器占有量计算中使用的每个组的解码时刻dgt(i,j)被从组解码时刻信息计算部14通知给组信息附加部15。此时,从第1个组到最后组即第N个组,解码时刻也可以被以dgt(i,n)-dgt(i,n-1)的差值的形式从组解码时刻信息计算部14通知给组信息附加部15。其中,关于第1组的解码时刻,dgt(i,0)被设定成前一张图像的最后的组的解码时刻dgt(i-1,N){=dt(i-1)}。
组信息附加部15使用熵编码的最大延迟值Δ,按照下式对缓冲器占有量计算所使用的每个组的解码时刻dgt(i,j)进行修正。该被修正后的解码时刻dgt'(i,j)是解码时刻修正信息的一个例子,被动态图像解码装置使用。其中,R是传输位速率。
[数6]
dgt′(i,N-1)=dgt(i,N-1)
                                   (6)
dgt′(i,j)=dgt(i,j)+(Δ/R)   (j=0,1,...,N-2)
根据(6)式可知,图像内的最后的组以外的组的解码时刻被修正成延迟与熵编码的最大延迟值Δ成比例的值。
其中,在本实施方式中,优选如上述那样,按照(Δ/R)比{dgt(i,j)-dgt(i,j-1)}小的方式来设定熵编码的最大延迟值Δ。在Δ大的情况下,通过减小组数N,动态图像编码装置10能够总是满足该条件。
组信息附加部15对各组的被修正后的解码时刻dgt'(i,j)的差分{dgt'(i,j)-dgt'(i,j-1)}进行编码,将该被编码后的解码时刻附加到各图像的数据中,并向动态图像解码装置通知。组信息附加部15只要在以适当的精度,例如1/90000秒的精度对各差值进行了量化后,以32bit程度的固定bit长进行编码即可。另外,这里说明了以固定bit长进行编码的例子,但组信息附加部15也可以使用任意的可变长编码方式来对表示各组的解码时刻的差值进行编码。
动态图像解码装置基于被通知的组数N和各组的解码时刻信息,来算出显示延迟量。被通知的各组的解码时刻信息所含的修正后的解码时刻成为考虑了熵编码的延迟的值。因此,在各组的最后的位实际到达动态图像解码装置的时刻因熵编码的延迟而比动态图像编码装置10的编码量控制部12在控制中使用的解码时刻迟的情况下,动态图像解码装置也不产生下溢。因此,动态图像解码装置在因对各组的块的压缩数据进行熵编码而产生延迟的情况下,也能正常地对各组进行解码。
其中,在按照各组所含的块数相等的方式设定了各组的情况下,将1张图像的解码处理所需的最差处理时间设为ct,显示延迟量为ct/N。
参照图6~图8,对通过上述实施方式涉及的动态图像编码装置10来实现动态图像解码装置中的动态图像的解码的低延迟化进行说明。
为了容易理解,首先对熵编码延迟实际为'0'的情况进行说明。图6是表示对由动态图像编码装置10传输的编码动态图像数据流进行蓄积的接收缓冲器的缓冲器占有量的迁移的图。另外,图7是表示使第1组的解码时刻延迟的情况下的、接收缓冲器的缓冲器占有量的迁移的图。其中,在图6以及图7中,横轴表示时间,纵轴表示缓冲器占有量。另外,设组数N=4。而且,图6中的曲线图600表示缓冲器占有量的时间迁移。另外,由箭头601表示的期间表示各组的解码所需要的最大时间ct/N。同样,图7的曲线图700表示缓冲器占有量的时间迁移。
按照对第n个组所含的块进行解码所需的数据在由(1)式表示的时刻dgt(i,n)之前到达接收缓冲器的方式,动态图像编码装置10控制各块的编码量。1张图像的解码处理所需的最差处理时间ct和第(i-1)张图像以及第i张图像的最后的组的解码时刻dt(i-1){=dgt(i-1,N)}、dt(i){=dgt(i,N)}之间满足下式。
[数式7]
ct≥{dt(i)-dt(i-1)}                 (7)
在此,在各组所含的块数相等的情况下,由于如图6所示,下式成立,所以在第i张图像的最后的组的解码时刻dgt(i,N)之前,针对第i张图像的第1~(N-1)个组的块的解码处理完成。
[数式8]
dgt(i,n+1)≥dgt(i,n)+ct/N           (8)
如果对第N个组所含的块进行解码所需的数据在时刻dgt(i,N)到达动态图像解码装置的接收缓冲器,则自此开始第N个组的解码处理,作为解码处理时间,需要ct/N。因此,能够在下式所表示的时刻完成所有块的解码并进行显示。从而,针对理想解码装置的可显示时刻的延迟从ct缩短到ct/N。
[数式9]
dgt(i,N)+ct/N=dt(i)+ct/N           (9)
在以组单位计算解码时刻的情况下,第i张图像的第1组的解码时刻dgt(i,1)与第i张图像的解码时刻dt(i)相比较,早{dt(i)-dt(i-1)}(N-1)/N。因此,如由图1以及图6的虚线602表示的1张图像单位的缓冲器占有量所示那样,与现有技术相比,接收缓冲器的占有量降低,该组能够使用的编码量减少,并且组间的编码量的分配自由度减低。从如图1那样对接收缓冲器输入各图像的数据起,由于在1张图像的显示期间程度各图像被解码那样的低延迟中,缓冲器占有量变小,所以缓冲器占有量减少的影响相对变大。
为了避免这样的问题,以恢复缓冲器占有量为目的,优选如(2)式所示那样延迟第1组的解码时刻。通过延迟第1组的解码时刻,如图7所示那样能够向缓冲器传输的位量变多,因此可使图像的产生编码量的自由度提高。此时,最迟的解码完成时刻变成通过下式算出的值。
[数式10]
min(dgt(i,1)+ct,dt(i)+ct/N)           (10)
其中,函数min(x,y)是返回变量x、y中较小一方的值的函数。
将(10)式和(9)式比较可知,即便使第1组的解码时刻延迟,对于ct大的动态图像解码装置而言,虽然相对于不使第1组的解码时刻延迟的情况延迟增加,但在ct十分短的动态图像解码装置中,延迟不增加。
接下来,参照图8,对如上述的实施方式那样,通过使动态图像解码装置中的解码时刻延迟与熵编码的延迟最大值相当的修正量,在动态图像解码装置中防止接收缓冲器产生下溢进行说明。
图8是取代缓冲器占有量,而表示了动态图像编码装置中的产生信息量以及动态图像解码装置中的解码信息量的时间经过的曲线图。在图8中,横轴表示时刻,纵轴表示动态图像编码装置中的产生信息量累计值、以及动态图像解码装置中的解码信息量累计值。
曲线800表示发送缓冲器的产生信息量累计值。在时刻t(0),第i张图像内的第0个组的编码结束。而且,位量为b(0)的第i张图像内的第0个组的熵编码数据在时刻t(0)被瞬时输入给发送缓冲器。此时,由于熵编码的延迟,与图像内的第0个组的最终的二进制码相当的字尚未作为位流从熵编码部23输出。结果,在熵编码部23的多路复用部305的缓冲器中残留δ位。即,图像内的第0个组的熵编码数据中除了最后的δ位以外的其他位串被储存到发送缓冲器。
用箭头810表示的剩余的δ位与第i张图像内的第1个组的编码数据一同在时刻t(1)被输入给发送缓冲器。
曲线801表示从动态图像编码装置的发送缓冲器向动态图像解码装置的接收缓冲器传输的位量的累计值。其中,曲线801与曲线800的纵轴方向之差相当于发送缓冲器的缓冲器占有量。
从图像内第0个组的编码数据被输入到发送缓冲器的瞬间起,该编码数据以被指定的位速率R向接收缓冲器无延迟地传输。与图像内第0个组的最后的二进制码相当的字被向接收缓冲器传输的时刻成为从时刻t(1)起经过了以位速率R传输δ位所需要的时间的时刻802。
曲线803是动态图像解码装置中的解码信息量的累计值。动态图像解码装置在从时刻t(0)等待了每个组的产生信息量被传输所需要的时间后,从接收缓冲器瞬时抽出图像内第0个组的编码数据。而且,动态图像解码装置对该第0个组所含的各块进行解码。在此,如果动态图像解码装置在时刻t(1){=dgt(i,0)}开始解码,则由于在时刻t(1)接收缓冲器中尚且不存在与图像内第0个组的最后的二进制码相当的位,所以产生缓冲器下溢。
但是,在本实施方式中,开始图像内的除了最终组之外的各组的解码的时刻成为从时刻t(j+1)(j=0,1,...,N-2)延迟了用箭头811表示的时间(Δ/R)的时刻、即成为dgt'(i,j)。因此,例如在从时刻t(1)延迟了时间(Δ/R)的时刻dgt'(i,0),与第i张图像内的第0个组的最后的二进制码相当的位到达接收缓冲器。因此,动态图像解码装置能够不产生缓冲器下溢地对图像的各组的块进行解码。其中,关于图像内的最后的组,其编码数据不等待下一张图像的数据的编码,其编码数据的全部被熵编码,然后输入给发送缓冲器。因此,动态图像解码装置能够在该最终组的全部编码数据被输入给接收缓冲器的时刻t(N){=dgt(i,N-1)}开始该最终组的解码。因此,针对理想解码装置能够显示的时刻的延迟成为由(9)式或者(10)式表示的值。
图9是由一个实施方式涉及的动态图像编码装置10执行的动态图像编码处理的动作流程图。动态图像编码装置10对每张图像执行以下的动态图像编码处理。
组决定部13决定各块所属的组(步骤S101)。而且,组决定部13将表示块所属的组的识别信息通知给编码量控制部12的缓冲器占有量计算部26。另外,组决定部13将组的总数N通知给组解码时刻信息计算部14以及组信息附加部15。此外,组决定部13也可以将位于各组起始的块的索引通知给组信息附加部15。
接着,组解码时刻信息计算部14按每个组算出解码时刻(步骤S102)。而且,组解码时刻信息计算部14将表示各组的解码时刻的信息通知给缓冲器占有量计算部26以及组信息附加部15。
另外,熵编码延迟信息附加部16从熵编码部23取得熵编码的最大延迟值Δ(步骤S103)。熵编码的最大延迟值Δ被从熵编码延迟信息附加部16通知给组信息附加部15。
接着,组信息附加部15基于由熵编码延迟信息附加部16通知的熵编码的最大延迟值Δ,对从组解码时刻信息计算部14通知来的组解码时刻进行修正(步骤S104)。组信息附加部15对表示各块所属的组的组信息以及包含修正后的解码时刻的解码时刻信息进行编码,将该编码后的组信息以及解码时刻信息附加到输出数据流中。另外,熵编码延迟信息附加部16将熵编码的最大延迟值Δ附加到输出数据流中(步骤S105)。
另一方面,缓冲器占有量计算部26推定组所含的所有块的解码所需的数据被以规定的传输率传输给动态图像解码装置的情况下的、各组的解码时刻下的接收缓冲器的缓冲器占有量(步骤S106)。其中,缓冲器占有量计算部26参照的解码时刻是未考虑熵编码的延迟、即被修正之前的解码时刻。此时,缓冲器占有量计算部26参照从位计数器25接收到的到目前为止被编码的组内的块的编码量。而且,缓冲器占有量计算部26将推定出的缓冲器占有量通知给编码量控制部12的量化值计算部24。量化值计算部24按照在各组的解码时刻之前各组的所有数据到达动态图像解码装置的数据流接收缓冲器的方式,来控制属于各组的块的编码量(步骤S107)。而且,量化值计算部24算出与该编码量对应的量化值作为编码量的控制信息,将该量化值通知给编码处理部11的量化部22。
编码处理部11的正交变换部21按各个块来进行正交变换处理,算出各块的频率系数的组(步骤S108)。而且,正交变换部21将各块的频率系数的组输出给量化部22。
量化部22基于作为编码量的控制信息的量化值来对各块的频率系数的组进行量化(步骤S109)。而且,量化部22将量化后的各频率系数输出给编码处理部11的熵编码部23。熵编码部23对量化后的各频率系数进行熵编码(步骤S110)。而且,熵编码部23输出得到的熵编码。该熵编码与从组信息附加部15输出的组信息、解码时刻信息等被保存在输出数据流中。另外,熵编码部23将各个块的编码量输出给位计数器25。
在步骤S110之后,动态图像编码装置10结束动态图像编码处理。
如以上说明那样,该动态图像编码装置以组为单位对将图像分割后的块进行分类,通过根据按所述组推定的解码时刻来对组所含的块的编码量进行调整,能够降低解码延迟。并且,该动态图像编码装置通过基于熵编码的最大延迟来修正解码时刻,并且将该修正后的解码时刻通知给动态图像解码装置,即使产生熵编码的延迟,也能够防止接收缓冲器下溢。
根据变形例,熵编码延迟信息附加部16也可以按每张图像,或以规定的图像间隔将解码时刻的修正量(Δ/R)作为解码时刻修正信息,与熵编码的最大延迟值Δ一同附加到输出数据流的头部信息。该情况下,头部信息例如也可设为在MPEG-2中规定的、由MPEG-2规定的图像头部或者由H.264规定的划分头部。
该情况下,组信息附加部15不修正从组解码时刻信息计算部14输出的各组的解码时刻而直接编码,将编码后的解码时刻附加到输出数据流。动态图像解码装置按照上述的(6)式,通过使用解码时刻的修正量(Δ/R)对被组信息附加部15附加到输出数据流的各组的解码时刻进行修正,来计算出考虑了熵编码的延迟的各组的解码时刻。
并且,熵编码部23并不限于上述的方式,也可以按照在对各组编码时有可能产生规定的最大值以下的延迟的其他编码方式来对各组进行编码。
通过在计算机上执行来实现上述实施方式或者其变形例涉及的动态图像编码装置的各部功能的计算机程序可以被记录到半导体存储器或者光记录介质等的记录介质中并发布。
上述的实施方式或者其变形例涉及的动态图像编码装置可被用于各种用途。例如,该动态图像编码装置可被组装到摄像机、影像发送装置、影像接收装置、可视电话***、计算机或者便移动电话机中。
这里举出的所有例以及特定的用语意图在于帮助读者理解本发明以及本发明人对促进该技术发展做出的贡献,应该解释成不限于与表示本发明的优良性以及低劣性有关的、本说明书的任何构成例的构成、这种特定的列举出的例子以及条件。本发明的实施方式虽被详细说明,但请理解,在不脱离本发明的精神以及范围前提下,能够进行各种变更、置換以及修正。
附图标记说明:
10-动态图像编码装置;11-编码处理部;12-编码量控制部;13-组决定部;14-组解码时刻信息计算部;15-组信息附加部;16-熵编码延迟信息附加部;21-正交变换部;22-量化部;23-熵编码部;24-量化值计算部;25-位计数器;26-缓冲器占有量计算部;301-二进制化部;302-内容模型化部;303-概率量化部;304-1~304-k-二进制码编码部;305-多路复用部。

Claims (8)

1.一种动态图像编码装置,是将动态图像数据所含的各图像分割成多个块来进行编码的动态图像编码装置,其中,该动态图像编码装置具有:
组决定部,决定所述多个块的每一个属于将所述图像分割后的多个组中的哪个组;
组解码时刻信息计算部,按每个所述组计算出解码时刻;
编码量控制部,在所述组所含的所有块的解码所需的数据被以规定的传输率传输给动态图像解码装置的情况下,控制该组所含的各块的数据的熵编码后的编码量,以便所述组所含的所有块的解码所需的数据在由所述解码时刻信息计算部计算出的该组的解码时刻之前到达该动态图像解码装置的流接收缓冲器;
压缩部,基于所述编码量对所述各块的数据进行压缩;
熵编码部,对被所述压缩部压缩后的所述各块的数据进行熵编码;以及
解码信息附加部,将每个所述组的解码时刻的修正信息以及表示所述各块所属的组的组信息附加到输出数据中,其中,所述每个所述组的解码时刻的修正信息相当于与所述熵编码部执行的熵编码相伴的每个所述组的延迟的最大值。
2.根据权利要求1所述的动态图像编码装置,其中,
所述解码信息附加部还将所述延迟的最大值附加到所述输出数据中。
3.根据权利要求1或2所述的动态图像编码装置,其中,
所述解码信息附加部以与所述延迟的最大值相当的时间对每个所述组的解码时刻进行修正,将该修正后的解码时刻作为所述修正信息附加到所述输出数据中。
4.根据权利要求3所述的动态图像编码装置,其中,
所述解码信息附加部仅针对各图像的最后的组,将所述延迟的最大值设为零来计算该最后的组的所述修正后的解码时刻。
5.根据权利要求1或2所述的动态图像编码装置,其中,
所述解码信息附加部将每个所述组的解码时刻和与所述延迟的最大值相当的解码时刻的修正量作为所述修正信息附加到所述输出数据中。
6.根据权利要求5所述的动态图像编码装置,其中,
所述解码时刻的修正量是与所述延迟的最大值相当的、用所述熵编码部内蓄积的所述输出数据的位量的最大值除以所述规定的传输率而得到的值。
7.一种动态图像编码方法,是将动态图像数据所含的各图像分割成多个块来进行编码的动态图像编码方法,其中包括下述处理:
决定所述多个块的每一个属于将所述图像分割后的多个组中的哪个组;
按每个所述组计算出解码时刻;
在所述组所含的所有块的解码所需的数据被以规定的传输率传输给动态图像解码装置的情况下,控制该组所含的各块的数据的熵编码后的编码量,以便所述组所含的所有块的解码所需的数据在该组的所述解码时刻之前到达该动态图像解码装置的流接收缓冲器;
基于所述编码量对所述各块的数据进行压缩;
对被压缩后的所述各块的数据进行熵编码;
将每个所述组的解码时刻的修正信息以及表示所述各块所属的组的组信息附加到输出数据中,其中,所述每个所述组的解码时刻的修正信息相当于与被压缩后的所述各块的数据的熵编码相伴的每个所述组的延迟的最大值。
8.一种动态图像编码用计算机程序,用于使计算机执行将动态图像数据所含的各图像分割成多个块来进行编码的处理,其中,该动态图像编码用计算机程序使计算机执行下述处理:
决定所述多个块的每一个属于将所述图像分割后的多个组中的哪个组;
按每个所述组计算出解码时刻;
在所述组所含的所有块的解码所需的数据被以规定的传输率传输给动态图像解码装置的情况下,控制该组所含的各块的数据的熵编码后的编码量,以便所述组所含的所有块的解码所需的数据在该组的所述解码时刻之前到达该动态图像解码装置的流接收缓冲器;
基于所述编码量对所述各块的数据进行压缩;
对被压缩后的所述各块的数据进行熵编码;
将每个所述组的解码时刻的修正信息以及表示所述各块所属的组的组信息附加到输出数据中,其中,所述每个所述组的解码时刻的修正信息相当于与被压缩后的所述各块的数据的熵编码相伴的每个所述组的延迟的最大值。
CN201180065441.4A 2011-01-18 2011-01-18 动态图像编码装置和动态图像编码方法 Expired - Fee Related CN103329524B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/050762 WO2012098646A1 (ja) 2011-01-18 2011-01-18 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム

Publications (2)

Publication Number Publication Date
CN103329524A true CN103329524A (zh) 2013-09-25
CN103329524B CN103329524B (zh) 2016-10-05

Family

ID=46515298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180065441.4A Expired - Fee Related CN103329524B (zh) 2011-01-18 2011-01-18 动态图像编码装置和动态图像编码方法

Country Status (6)

Country Link
US (1) US9479781B2 (zh)
EP (1) EP2667603A4 (zh)
JP (1) JP5447695B2 (zh)
KR (1) KR101494562B1 (zh)
CN (1) CN103329524B (zh)
WO (1) WO2012098646A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111133476A (zh) * 2017-09-18 2020-05-08 苹果公司 点云压缩
US11663744B2 (en) 2018-07-02 2023-05-30 Apple Inc. Point cloud compression with adaptive filtering
US11676309B2 (en) 2017-09-18 2023-06-13 Apple Inc Point cloud compression using masks
US11683525B2 (en) 2018-07-05 2023-06-20 Apple Inc. Point cloud compression with multi-resolution video encoding
US11748916B2 (en) 2018-10-02 2023-09-05 Apple Inc. Occupancy map block-to-patch information compression
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
US11935272B2 (en) 2017-09-14 2024-03-19 Apple Inc. Point cloud compression
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9979970B2 (en) * 2014-08-08 2018-05-22 Qualcomm Incorporated System and method for determining buffer fullness for display stream compression

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH039684A (ja) * 1989-06-06 1991-01-17 Nec Corp フレーム間予測符号化装置の発生情報制御方式
CN1328748A (zh) * 1998-10-02 2001-12-26 通用仪器公司 视频编码器速率控制的方法及设备
CN1386380A (zh) * 2000-06-01 2002-12-18 皇家菲利浦电子有限公司 视频信号编码和缓存器管理
CN1461568A (zh) * 2000-09-20 2003-12-10 通用仪器公司 在一统计式多工器中决定传输比特率的方法及装置
CN101902639A (zh) * 2009-05-27 2010-12-01 索尼公司 编码装置和编码方法以及解码装置和解码方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0379182A (ja) * 1989-08-23 1991-04-04 Fujitsu Ltd 画像符号化制御方式
JP2787599B2 (ja) 1989-11-06 1998-08-20 富士通株式会社 画像信号符号化制御方式
US6963608B1 (en) * 1998-10-02 2005-11-08 General Instrument Corporation Method and apparatus for providing rate control in a video encoder
JP5111127B2 (ja) 2008-01-22 2012-12-26 キヤノン株式会社 動画像符号化装置及びその制御方法、並びに、コンピュータプログラム
US8467444B2 (en) * 2008-06-16 2013-06-18 Canon Kabushiki Kaisha Information processing system, information processing apparatus, information processing method, and program
JP6234660B2 (ja) * 2012-04-27 2017-11-22 富士通株式会社 動画像復号装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH039684A (ja) * 1989-06-06 1991-01-17 Nec Corp フレーム間予測符号化装置の発生情報制御方式
CN1328748A (zh) * 1998-10-02 2001-12-26 通用仪器公司 视频编码器速率控制的方法及设备
CN1386380A (zh) * 2000-06-01 2002-12-18 皇家菲利浦电子有限公司 视频信号编码和缓存器管理
CN1461568A (zh) * 2000-09-20 2003-12-10 通用仪器公司 在一统计式多工器中决定传输比特率的方法及装置
CN101902639A (zh) * 2009-05-27 2010-12-01 索尼公司 编码装置和编码方法以及解码装置和解码方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US11935272B2 (en) 2017-09-14 2024-03-19 Apple Inc. Point cloud compression
CN111133476A (zh) * 2017-09-18 2020-05-08 苹果公司 点云压缩
US11676309B2 (en) 2017-09-18 2023-06-13 Apple Inc Point cloud compression using masks
CN111133476B (zh) * 2017-09-18 2023-11-10 苹果公司 包括多个点的点云的压缩和解压缩的***、设备和方法
US11922665B2 (en) 2017-09-18 2024-03-05 Apple Inc. Point cloud compression
US11663744B2 (en) 2018-07-02 2023-05-30 Apple Inc. Point cloud compression with adaptive filtering
US11683525B2 (en) 2018-07-05 2023-06-20 Apple Inc. Point cloud compression with multi-resolution video encoding
US11748916B2 (en) 2018-10-02 2023-09-05 Apple Inc. Occupancy map block-to-patch information compression
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes

Also Published As

Publication number Publication date
US20130294502A1 (en) 2013-11-07
US9479781B2 (en) 2016-10-25
JPWO2012098646A1 (ja) 2014-06-09
JP5447695B2 (ja) 2014-03-19
CN103329524B (zh) 2016-10-05
KR20130105887A (ko) 2013-09-26
EP2667603A4 (en) 2015-01-07
KR101494562B1 (ko) 2015-02-17
EP2667603A1 (en) 2013-11-27
WO2012098646A1 (ja) 2012-07-26

Similar Documents

Publication Publication Date Title
CN103329524A (zh) 动态图像编码装置、动态图像编码方法以及动态图像编码用计算机程序
EP1446952B1 (en) Method and system for rate control during video transcoding
CN103202015A (zh) 动态图像加密装置、动态图像加密方法及动态图像加密用计算机程序
US9774875B2 (en) Lossless and near-lossless image compression
JPH09214962A (ja) バッファ空/充填ルックアヘッド・ビット・アロケータを有する動画ビデオ圧縮システム
US7826530B2 (en) Use of out of order encoding to improve video quality
JP6828184B2 (ja) Gcliのエントロピー符号化のためのサブバンドに依存する予測の適応を使用する符号化または復号のための装置および方法
CN101888542B (zh) 视频转码的帧级码率控制方法及转码器
MX2013004678A (es) Dispositivo de codificacion de imagen de video, metodo de codificacion de imagen de video, dispositivo de decodificacion de imagen de video y metodo de decodificacion de imagen de video.
JP5772623B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
US10448035B2 (en) Information compression device, information compression method, non-volatile recording medium, and video coding device
KR20100027612A (ko) 이미지 무손실 및 손실 압축 장치
JP2001078193A (ja) 動画像圧縮符号化信号変換方法および装置
JP5632328B2 (ja) 符号量予測装置及びプログラム
JP4239734B2 (ja) 符号化装置、および、符号化方法、並びに、プログラム
JP2010187337A (ja) 動画像変換装置及び動画像変換方法
JP2000083255A (ja) デ―タ符号化方法及び装置
KR20040067239A (ko) 양자화 수행시에 사용되는 비트의 할당방법 및 장치
WO2008047714A1 (en) Code conversion method, transcoder, and integrated circuit thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161005

Termination date: 20190118

CF01 Termination of patent right due to non-payment of annual fee