CN101939994A - 图像解码装置及图像解码方法 - Google Patents

图像解码装置及图像解码方法 Download PDF

Info

Publication number
CN101939994A
CN101939994A CN2009801042028A CN200980104202A CN101939994A CN 101939994 A CN101939994 A CN 101939994A CN 2009801042028 A CN2009801042028 A CN 2009801042028A CN 200980104202 A CN200980104202 A CN 200980104202A CN 101939994 A CN101939994 A CN 101939994A
Authority
CN
China
Prior art keywords
stream
mentioned
division
sheet
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
CN2009801042028A
Other languages
English (en)
Other versions
CN101939994B (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN101939994A publication Critical patent/CN101939994A/zh
Application granted granted Critical
Publication of CN101939994B publication Critical patent/CN101939994B/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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/42Methods 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/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

具备流划分部,该流划分部按照包含在编码流中的每个图片,划分为多个MB行,将它们分别分配到多个划分流中的某一个划分流的一部分,由此生成能够并行解码的多个划分流;流划分部当包含在图片中的片被划分为多个片部分而分配到多个划分流时,按照每个划分流,将由对该划分流分配的多个片部分构成的片部分群重新构成,以使其能够被解码装置识别为片。此时,当连续的两个MB行具有规定的代码字(例如QP值变化量或MB跳过运行信息)带来的依赖关系时,将代码字设定在划分流中,以使该依赖关系成为与各划分流中的MB行的前后关系对应的新的依赖关系。

Description

图像解码装置及图像解码方法
技术领域
本发明涉及将编码图像数据而得到的编码流解码的图像解码装置及图像解码方法,特别涉及并行地执行解码的图像解码装置及图像解码方法。
背景技术
将活动图像编码的图像编码装置将构成活动图像的各图片划分为宏块,按照宏块进行编码。并且,图像编码装置生成表示编码后的活动图像的编码流。
图28是表示被编码的图片的结构的图。
图片被划分为由16×16像素构成的宏块而编码。这里,由包含在该图片中的多个宏块构成片,由多个片构成图片。此外,将具有一个由从图片的左端到右端沿水平方向排列的多个宏块构成的列的构成单位称作宏块行(MB行)。
图29是表示编码流的结构的图。
编码流被阶层化,如图29(a)所示,包括头、以及以编码顺序排列的多个图片而构成。另外,在上述头中,包含有例如为了将由多个图片构成的序列解码而参照的序列参数集(SPS)。此外,该被编码的图片如图29(b)所示,包括头和多个片而构成,片如图29(c)所示,包括头和多个宏块(MB)而构成。另外,在处于图29(b)所示的图片的开头的头中,包含有例如为了将该图片解码而参照的图片参数集(PPS)。
图30是表示以往的图像解码装置的结构的图。
图像解码装置300具备存储器310及解码引擎320。存储器310具备具有用来存储编码流的区域的流缓冲器311、以及具有用来存储从解码引擎320输出的解码图像数据的区域的帧存储器312。图像解码装置300如果从开头侧依次获得包含在编码流中的宏块或图片等的编码图像数据,则将该编码图像数据保存到流缓冲器311中。
解码引擎320从该流缓冲器311以解码顺序将编码图像数据依次读出并解码,将通过该解码生成的解码图像数据保存到帧存储器312中。此外,解码引擎320在解码时,一边参照已经保存在帧存储器312中的解码图像数据,一边将编码图像数据解码。
并且,将保存在帧存储器312中的解码图像数据以显示顺序输出到显示装置中并显示。
图31是表示以往的解码引擎320的结构的图。
解码引擎320具备熵解码部321、逆变换部322、加法器323、解块过滤器324、运动补偿部325、加权预测部326、画面内预测部327、以及开关328。
熵解码部321将编码图像数据进行熵解码,生成表示量化值的量化数据,输出给逆变换部322。
逆变换部322通过对该量化数据进行逆量化及逆正交变换等,将该量化数据变换为差分图像数据。
加法器323通过将从逆变换部322输出的差分图像数据与从加权预测部326或画面内预测部327经由开关328输出的预测图像数据相加而生成解码图像数据。
解块过滤器324将包含在由加法器生成的解码图像数据中的编码失真除去,将除去了编码畸变的解码图像数据保存到帧存储器312中。
运动补偿部325通过将保存在帧存储器312中的解码图像数据读出并进行运动补偿而生成预测图像数据,将该预测图像数据输出给加权预测部326。
加权预测部326对从运动补偿部325输出的预测图像数据加权,输出给开关328。
画面内预测部327进行画面内预测。即,画面内预测部327通过利用由加法器323生成的解码图像数据进行画面内预测而生成预测图像数据,输出给开关328。
开关328在通过画面内预测生成了从逆变换部322输出的差分图像数据的情况下,将从画面内预测部327输出的预测图像数据输出给加法器323。此外,开关328在通过画面间预测生成了从逆变换部322输出的差分图像数据的情况下,将从加权预测部326输出的预测图像数据输出给加法器323。
另外,近年来,图像的高精细化及高帧率化不断发展。即,目前虽然正进行HD(高清:High Definition)的图像的编码及解码,但进行比该图像更高的精细化及高帧率化。具体而言,研究了所谓的4k2k析像度的活动图像的实用化。
图32是用来说明HD及4k2k的说明图。
HD的编码流通过地面数字广播或BS数字广播等分发,将析像度“1920×1080像素”的图片以30帧/秒的帧率解码并显示。4k2k的编码流计划从2011年起以高度BS数字广播试验性地分发,将析像度“3840×2160像素”的图片以60帧/秒的帧率解码并显示。
即,在4k2k中,与HD相比,在纵向及横向上分别具有2倍的析像度,并且具有2倍的帧率。
进而,正在研究在纵向及横向上分别高析像度化到4k2k的2倍的8k4k的图像(7680×4320像素)的编码及解码。
如果这样的图像的高精细化及高帧率不断发展,则图像解码装置的解码引擎的处理负荷变得庞大。例如,图30所示的图像解码装置300的解码引擎320在将4k2k的编码流解码的情况下,需要在现实上很困难的1GHz以上的动作频率。所以,研究了解码的并行处理。
图33是表示以往的执行解码并行处理的图像解码装置的结构的一例的模块图。
图像解码装置400具备存储器310及解码器420。解码器420具备N个(例如N=4)具有与图30及图31所示的解码引擎320同样的功能的解码引擎421。N个解码引擎421(第1解码引擎421~第N解码引擎421)分别从保存在流缓冲器311中的编码流中提取自己应处理的部分,将该提取出的部分解码而输出给帧存储器312。
图34A及图34B是用来说明解码的并行处理的一例的说明图。
例如,图像解码装置400获得由4个区域编码流构成的编码流,保存到流缓冲器311中。这些4个区域编码流分别是独立的流,如图34A所示,是表示将一个画面4等分中的一个区域的活动图像的流。图像解码装置400的4个解码引擎421(例如N=4)分别将自己应处理的区域编码流从流缓冲器311提取并解码,在对应于该区域编码流的区域显示活动图像。
或者,图像解码装置400获得包括由4个片构成的图片的编码流,保存到流缓冲器311中。4个片如图34B所示,通过将图片沿纵向4等分而生成。图像解码装置400的4个解码引擎421(例如N=4)分别从流缓冲器311中提取自己应处理的片并解码,在对应于该片的区域显示活动图像。
但是,如图34A所示,将一个编码流作为4个区域编码流生成并将它们解码需要对活动图像的编码方法加以制约。即,需要系统整体的变更,其负担很庞大。
此外,如图34B所示,将一个图片4等分、将划分后的各部分作为片编码并解码也需要对活动图像的编码方法加以制约。
具体而言,在作为活动图像的编码及解码的规格的MPEG-2(活动图像专家组一2:Moving Picture Experts Group phase2)中,在MB行的边界,片必定被分离。此外,在H.264/AVC中,设定在图片中的片的大小及位置是任意的,也有在一个图片中仅设定一个片的情况。因而,如图34B所示,唯一地设定片的位置及大小需要数字广播系统的运用规格等系统整体的变更,其负担较庞大。
所以,还研究了不对这样的运用规格加以制约或变更、将表示按照该规格编码的活动图像的编码流并行解码的图像解码装置。
例如,专利文献1及专利文献2的图像解码装置将通过MPEG-2生成的编码流的图片按片分离,并行地执行各片的解码处理。
此外,专利文献3的图像解码装置将通过H.264/AVC生成的编码流的图片按照MB行分离,并行地执行各MB行的解码处理。
图35是用来说明专利文献3的图像解码装置的解码处理的说明图。
图像解码装置的第1解码引擎将处于图片中的第0行的MB行解码,第2个解码引擎将处于图片中的第1行的MB行解码,第3个解码引擎将处于图片中的第2行的MB行解码。
此外,各解码引擎从MB行的左端向右端将宏块依次解码。这里,在宏块的解码中,在解码对象的宏块、与从该解码对象的宏块观察为左、左上、上、及右上的宏块之间有依赖关系。即,各解码引擎在将宏块解码时,需要通过从该解码对象的宏块观察为左、左上、上、及右上的宏块的解码得到的信息。因而,各解码引擎在这些宏块的解码结束后,开始该解码对象的宏块的解码。另外,各解码引擎在左、左上、上及右上的宏块中的某个不存在的情况下,在其以外的宏块的解码结束后,开始该解码对象宏块的解码。即,图像解码装置并行地进行处于跳马的位置的宏块的解码。
专利文献4的图像解码装置如果获得通过H.264/AVC生成的编码流,则在该编码流的MB行的边界插入行头,并行地执行各MB行的解码处理。该图像解码装置的解码引擎分别将行头作为标记,从编码流中提取自己应处理的MB行,执行该MB行的解码。
专利文献1:日本特开平6-225278号公报
专利文献2:日本特开平8-130745号公报
专利文献3:日本特开2006-129284号公报
专利文献4:美国专利第7305036号说明书
但是,在上述专利文献1~4的图像解码装置中,有不能适当地执行解码的并行处理的问题、及装置的结构变得复杂的问题。
即,在上述专利文献1及专利文献2的图像解码装置中,由于将图片按片划分而并行地执行多个片的解码,所以对于如H.264/AVC的编码流那样片的大小及位置任意地设定的编码流,不能适当地执行解码的并行处理。换言之,在装备于图像解码装置中的多个解码引擎的各自中发生负荷的不均匀等,不能执行有效地利用并行处理的解码。例如,在一个图片由一个片构成的情况下,不能将该图片划分,而必须是一个解码引擎执行该图片整体的解码。
此外,在上述专利文献3及专利文献4的图像解码装置中,有将包含在H.264/AVC的图片中的片划分的情况。在此情况下,需要在解码引擎的各自中具备用来将划分后的片的一部分适当地识别为片的功能,图像解码装置的结构变得复杂。
发明内容
所以,本发明是鉴于这样的问题而做出的,目的是提供一种以简单的结构适当地执行解码的并行处理的图像解码装置及图像解码方法。
为了达到上述目的,有关本发明的一个方式的图像解码装置,是将编码图像数据而得到的编码流解码的图像解码装置,具备:获得部,获得编码流;流划分部,按照包含在由获得部获得的编码流中的编码图片,将该编码图片划分为多个构成单位,通过将上述多个构成单位分别分配到作为生成对象的N个(N是2以上的整数)的划分流中的某一个划分流的一部分,生成N个划分流;N个解码部,将由上述流划分部生成的N个划分流的各个并行地解码;上述流划分部在生成上述N个划分流时,当将包含在上述编码图片中的片划分为多个片部分而分配到多个划分流时,按照上述划分流,将上述片部分群重新构成为新的片,以使该片部分群被上述N个解码部的某个识别为片,上述片部分群是由对该划分流分配的至少一个片部分构成的;当上述多个片部分中的、在上述编码流中连续的至少两个片部分具有包含在上述编码流中的规定的代码字带来的依赖关系时,通过在上述多个划分流中的至少一个划分流中设定代码字以使上述依赖关系成为对应于各划分流中的片部分的前后关系的新的依赖关系,将上述片部分群重新构成为新的片。
由此,编码图片被划分为例如多个宏块行等构成单位,多个宏块行分别被作为划分流的一部分分配到N个解码部而解码,所以能够使N个解码部进行的解码处理的负担变得均等,能够适当地执行解码的并行处理。例如,如果是H.264/AVC的编码图片由一个片构成的情况,也由于该编码图片被划分为多个宏块行,所以能够使该一个片的解码不是由一个解码部负担、而是由N个解码部均等地负担。
这里,如果将编码图片划分为多个宏块行,则有跨越多个宏块行的片被划分为多个片部分、这些片部分被分配到相互不同的划分流的情况。即,在一个划分流中不包含编码图片的片的整体,而包含由作为该片的片断的片部分集合一个以上而构成的片部分群。
因此,在这样的片部分群中,相对于编码图片被划分之前,宏块行单位下的前后关系变化。因而,在连续的多个宏块行具有规定的代码字带来的依赖关系的情况下,该依赖关系不再保持,在此状态下解码部不能将划分流解码。
所以,在本发明中,按照在这样的片部分群内连续的宏块行的新的前后关系,在划分流中设定代码字。由此,片部分群被重新构成为新的片,所以将包括该片部分群的划分流解码的解码部不需要用来识别该片部分群的特别的处理,而能够将片部分群简单地识别为新的片。即,在本发明中,由于不需要在N个解码部中分别设置进行特别的处理的功能及结构,所以能够使图像解码装置的整体结构变得简单。
此外,优选的是,上述编码图片是按照规定的像素数的块编码的图片;上述规定的代码字是表示在包含于上述编码图片中的片内连续的规定种类的块的个数的第1代码字;上述流划分部通过包含在上述编码流中的第1代码字表示在上述编码流中跨越连续的至少两个片部分而连续的块的个数,从而当上述至少两个片部分具有依赖关系时,通过将修正为使其表示各片部分的块的个数的上述第1代码字设定在分别分配了上述至少两个连续的片部分的至少两个划分流中,将上述片部分群重新构成为新的片。
由此,即使是在编码流中包含第1代码字的情况,由于将第1代码字修正以使其在各个划分流中表示适当的值,所以将该划分流解码的解码部也能够不进行特别的处理而将第1代码字适当地解码。
此外,优选的是,上述流划分部还在各划分流中,在对应于设定的多个第1代码字的多个块在该划分流内连续时,通过将上述多个第1代码字变换为表示上述多个第1代码字分别表示的个数的总和的一个代码字,将上述片部分群重新构成为新的片。
由此,即使是在编码流中包含第1代码字、并且在重新构成之前在划分流内第1代码字连续的情况,由于将第1代码字修正以使其在各个划分流中表示适当的值,所以将该划分流解码的解码部也能够不进行特别的处理而将第1代码字适当地解码。
此外,优选的是,上述编码图片是按照规定的像素数的块编码的图片;上述规定的代码字是表示包含在上述编码图片中的片内的块间的编码系数的变化量的第2代码字;上述流划分部通过包含在上述编码流中的第2代码字表示在编码流中跨越连续的两个片部分的块间的变化量,从而当上述两个片部分具有依赖关系时,计算基于上述划分流中的块的新的前后关系的编码系数的变化量,将基于计算出的变化量的代码字设定在分别被分配了上述两个片部分的两个划分流的一个中,将上述片部分群重新构成为新的片。
由此,即使是在编码流中包含第2代码字的情况,也按照在各个划分流中基于第2代码字计算适当的值的方式,将代码字设定在划分流中。因而,将该划分流解码的解码部能够不进行特别的处理而根据第2代码字将编码系数解码。
此外,也可以是,上述流划分部将修正为计算出的变化量的上述第2代码字设定在上述划分流中。
由此,即使是在编码流中包含第2代码字的情况,也按照在各个划分流中基于第2代码字计算适当的值的方式,将第2代码字修正。因而,将该划分流解码的解码部能够不进行特别的处理而根据第2代码字将编码系数解码。
此外,也可以是,上述流划分部将表示计算出的变化量的新的代码字和上述第2代码字设定在上述划分流中。
由此,即使是在编码流中包含第2代码字的情况,也按照在各个划分流中基于第2代码字计算适当的值的方式,在划分流中插入新的代码字。因而,将该划分流解码的解码部能够不进行特别的处理而根据第2代码字将编码系数解码。
此外,也可以是,上述流划分部使用包含在上述编码流中的第2代码字将各块的编码系数复原,利用复原后的编码系数,计算基于各划分流中的块的新的前后关系的编码系数的变化量。
由此,能够通过简单的方法计算基于各划分流中的块的新的前后关系的编码系数的变化量。
此外,也可以是,上述流划分部按照上述划分流将包含在该划分流以外的划分流中的第2代码字所表示的变化量累积,利用累积的变化量,计算基于各划分流中的块的新的前后关系的编码系数的变化量。
此外,优选的是,上述流划分部在将第2代码字所表示的变化量累积时,在片边界上将累积的变化量复位为0。
由此,能够不将各块的编码系数复原、而计算基于各划分流中的块的新的前后关系的编码系数的变化量,所以能够使流划分部的结构变得简单。
另外,本发明不仅能够作为这样的图像解码装置实现,还能够作为其方法、程序、保存该程序的存储媒体、集成电路来实现。
发明效果
本发明的图像解码装置起到能够以简单的结构适当地执行解码的并行处理的作用效果。
附图说明
图1是是表示本发明的实施方式1的图像解码装置的结构的模块图。
图2A是表示本发明的实施方式1的图片没有由MBAFF构成的情况下的解码的顺序的图。
图2B是表示本发明的实施方式1的图片由MBAFF构成的情况下的解码的顺序的图。
图3是用来说明本发明的实施方式1的片头的插入处理的说明图。
图4是用来说明本发明的实施方式1的MB地址信息的更新处理的说明图。
图5是用来说明本发明的实施方式1的片末端处理的说明图。
图6是表示本发明的实施方式1的图像解码装置的整体的动作的流程图。
图7是表示本发明的实施方式1的流划分部的结构的模块图。
图8是用来说明本发明的实施方式1的片头插入部及片数据处理部的动作的说明图。
图9是表示本发明的实施方式1的片头插入部的结构的模块图。
图10是表示对本发明的实施方式1的划分流缓冲器的第1区域~第4区域分配的MB行及片头的图。
图11A是表示本发明的实施方式1的设定片末端信息的位置的图。
图11B是表示本发明的实施方式1的设定片末端信息的位置的图。
图12是表示本发明的实施方式1的划分点检测部的动作的流程图。
图13A是用来说明本发明的实施方式1的MB跳过运行信息的修正处理的说明图。
图13B是用来说明本发明的实施方式1的MB跳过运行信息的修正处理的说明图。
图14是表示本发明的实施方式1的跳过运行修正部的结构的模块图。
图15是表示本发明的实施方式1的跳过运行修正部的MB跳过运行信息的修正动作的流程图。
图16A是用来说明本发明的实施方式1的QP变化量的修正处理的说明图。
图16B是用来说明本发明的实施方式1的QP变化量的修正处理的说明图。
图17是用来说明本发明的实施方式1的QP变化量的累积的说明图。
图18是表示本发明的实施方式1的QP德尔塔修正部的QP变化量的修正处理的流程图。
图19A是用来说明本发明的实施方式1的高析像度解码的说明图。
图19B是用来说明本发明的实施方式1的高速解码的说明图。
图19C是用来说明本发明的实施方式1的多通道解码的说明图。
图20是表示本发明的实施方式2的图像解码装置的结构的模块图。
图21是表示本发明的实施方式2的流划分部的结构的模块图。
图22是用来说明本发明的实施方式2的MB跳过运行信息的修正处理及QP变化量的插入处理的说明图。
图23是表示本发明的实施方式2的跳过运行修正部的结构的模块图。
图24是表示本发明的实施方式2的跳过运行修正部的MB跳过运行信息的修正动作的流程图。
图25是表示本发明的实施方式2的QP德尔塔插入部的累积QP变化量的插入处理的流程图。
图26是表示有关本发明的实施方式的图像解码装置的应用例的图。
图27是表示有关本发明的实施方式的图像解码装置的最小结构的模块图。
图28是表示被编码的图片的结构的图。
图29是表示编码流的结构的图。
图30是表示以往的图像解码装置的结构的图。
图31是表示以往的解码引擎的结构的图。
图32是用来说明HD及4k2k的说明图。
图33是表示以往执行解码并行处理的图像解码装置的结构的模块图。
图34A是用来说明以往的解码并行处理的一例的说明图。
图34B是用来说明以往的解码并行处理的一例的说明图。
图35是用来说明以往的图像解码装置的解码处理的说明图。
具体实施方式
以下,参照附图对本发明的实施方式的图像解码装置进行说明。
(实施方式1)
图1是是表示本发明的实施方式1的图像解码装置的结构的模块图。
本实施方式的图像解码装置100是以简单的结构适当地进行解码的并行处理的装置,具备解码器110和存储器150。
存储器150具有用来存储输入到解码器110中的数据、由解码器110中间生成的数据、以及由解码器110最终生成并输出的数据的区域。
具体而言,存储器150具备流缓冲器151、划分流缓冲器152、以及帧存储器153。
在流缓冲器151中,保存有由图像编码装置生成并发送的编码流。即,在本实施方式中,该流缓冲器151构成为获得编码流的获得部。在划分流缓冲器152中,作为上述中间生成的数据而保存有由解码器110生成的N个划分流。在帧存储器153中,作为上述最终生成并输出的数据而保存有由N个解码引擎(解码部)120生成的N个划分解码图像数据。另外,解码图像数据保存在帧存储器153中,读入到显示装置中,作为活动图像显示。
解码器110通过将保存在存储器150的流缓冲器151中的编码流读出并解码而生成解码图像数据,将该解码图像数据保存在存储器150的帧存储器153中。此外,该解码器110具备流划分部130、以及N个解码引擎(第1解码引擎~第N解码引擎)120。
另外,本实施方式的解码引擎120具有能够以两个通道量解码HD的图像(1920×1088像素,60i)的处理能力。
流划分部130获得后述的模式信息,根据该模式信息将编码流划分为N个划分流(第1划分流~第N划分流)。即,本实施方式的流划分部130按照包含在编码流中的编码的图片,将该图片划分为多个MB行。并且,流划分部130通过将这些多个MB行分别分配到作为生成对象的N个划分流中的某一个划分流的一部分,生成N个划分流。
另外,MB行是具有一个由从图片的左端到右端沿水平方向排列的多个宏块构成的列的构成单位。此外,流划分部130在图片不由MBAFF(宏块自适应帧场)构成的情况下,将图片划分为多个MB行,但在图片由MBAFF构成的情况下,将两个MB行作为一个构成单位(以下称作MB行对)处理,将图片划分为多个MB行对。换言之,流划分部130在图片由MBAFF构成的情况下,将图片划分为多个MB行,将属于MB行对的两个MB行分别分配到同一划分流的一部分。以下,以图片不由MBAFF构成为前提说明本发明,但在本发明中,在图片不由MBAFF构成的情况、以及图片由MBAFF构成的情况下需要不同的处理时,每次对MBAFF说明特有的处理。此外,在不需要对MBAFF进行该特有的处理等的情况下,在以下的说明中,通过将MB行替换为MB行对,能够将该说明替换为图片由MBAFF构成的情况下的本发明的说明。
流划分部130在将图片划分为多个MB行时,如果在编码流中的MB行紧前、或者属于该MB行的两个宏块之间有头,则使该头附属于该MB行,分配到划分流的一部分。
通过这样的流划分部130进行的按照MB行的划分,包含在图片中的、跨多个MB行配置的片被划分。此外,流划分部130在划分为N个划分流时,预先将跨越N个划分流的各个划分流的、宏块间的可变长度解码处理中的依赖关系除去。
N个解码引擎120分别将自己应处理的划分流从划分流缓冲器152读出,通过将读出的划分流并行解码而生成N个划分解码图像数据。例如,第1解码引擎120将第1划分流从划分流缓冲器152读出,第2解码引擎120将第2划分流从划分流缓冲器152读出,第3解码引擎120将第3划分流从划分流缓冲器152读出,第4解码引擎120将第4划分流从划分流缓冲器152读出。并且,第1解码引擎120~第4解码引擎120分别将第1划分流~第4划分流并行地解码。
此外,N个解码引擎120在将划分流解码时,参照已经保存在帧存储器153中的解码图像数据,根据需要进行运动补偿而将划分流解码。
进而,N个解码引擎120分别在将包含在划分流中的通过画面内预测编码的宏块解码时,从将处于该解码对象宏块的左上、上及右上的宏块解码的解码引擎120获得这些解码的宏块的信息作为相邻MB信息。获得了该相邻MB信息的解码引擎120使用该相邻MB信息将解码对象宏块解码。此外,解码引擎120在例如进行解块过滤处理或运动矢量预测处理的情况下,也与上述相同,获得处于处理对象的宏块的左上、上及右上的已解码的宏块的信息作为相邻MB信息,进行上述处理。
另外,在本实施方式中,为了使说明变得简单,以下设N为N=4而进行说明。此外,在本实施方式中,如果从解码对象的宏块观察左、左上、上及右上的宏块的解码结束,则N(N=4)个解码引擎120分别使用这些相邻MB信息,开始该解码对象的宏块的解码。结果,第1解码引擎120~第4解码引擎120分别将在各MB行中沿水平方向处于相互不同的位置的宏块并行地解码。
图2A是表示图片没有由MBAFF构成的情况下的解码的顺序的图。
在图片没有由MBAFF构成的情况下,第1解码引擎120将第0MB行解码,第2解码引擎120将第1MB行解码,第3解码引擎120将第2MB行解码,第4解码引擎120将第3MB行解码。另外,第k(k是0以上的整数)MB行表示从图片的上端开始处于第k个的MB行,例如第0MB行是从图片的上端开始处于第0个的MB行。
这里,当开始图片的解码时,首先第1解码引擎120开始第0MB行的解码。接着,如果处于第0MB行的左端的两个宏块的解码完成,则第2解码引擎120开始第1MB行的左端的宏块的解码。并且,如果处于第1MB行的左端的两个宏块的解码完成,则第3解码引擎120开始第2MB行的左端的宏块的解码。同样,如果处于第2MB行的左端的两个宏块的解码完成,则第4解码引擎120开始第3MB行的左端的宏块的解码。
因而,第(k+1)MB行与第kMB行相比延迟了两个宏块的量,从左端的宏块解码到右端的宏块。
图2B是表示图片由MBAFF构成的情况下的解码的顺序的图。
在图片由MBAFF构成的情况下,MB行对如上述那样是具有两个由从图片的左端到右端沿水平方向排列的多个宏块构成的列(MB行)的构成单位。MB行按照处于上下的两个宏块(宏块对)适应性地进行帧/场编码。另外,在宏块对中,首先将上方的宏块解码,接着将下方的宏块解码。在此情况下,也与图片不由MBAFF构成的情况同样,第1解码引擎120将第0MB行对解码,第2解码引擎120将第1MB行对解码,第3解码引擎120将第2MB行对解码,第4解码引擎120将第3MB行对解码。另外,第k(k是0以上的整数)MB行对表示从图片的上端起处于第k个的由两个MB行构成的构成单位,例如,第0MB行是从图片的上端起处于第0个的由两个MB行构成的构成单位。
这里,当开始图片的解码时,首先,第1解码引擎120开始第0MB行对的解码。接着,如果处于第0MB行对的左端的两个宏块对的解码完成,则第2解码引擎120开始第1MB行对的左上端的宏块的解码。接着,如果处于第1MB行对的左端的两个宏块对的解码完成,则第3解码引擎120开始第2MB行对的左上端的宏块的解码。同样,如果处于第2MB行对的左端的两个宏块对的解码完成,则第4解码引擎120开始第3MB行对的左上端的宏块的解码。
因而,第(k+1)MB行对与第kMB行对相比延迟了两个宏块对的量,从左端的宏块对解码到右端的宏块对。
另外,在图片没有由MBAFF构成的情况、以及图片由MBAFF构成的情况下,只要分别使第(k+1)MB行或第(k+1)MB行对与第kM行或第kMB行对相比至少延迟两个宏块量或两个宏块对的量解码就可以。即,也可以延迟3个宏块量或3个宏块对的量以上进行解码。例如,在第(k+1)MB行或第(k+1)MB行对与第kM行或第kMB行对相比相比延迟了两个宏块量或两个宏块对的量解码的情况下,能够使图片的解码花费的时间最短,在延迟了3个宏块的量或3个宏块对的量以上解码的情况下,对应于该延迟的量,图片的解码花费的时间变长。
这样的本实施方式的图像解码装置100的特征是,将通过流划分部130的划分生成的、由片的一个或多个部分(片部分)构成的片部分群重新构成为一个新的片。片的重新构成包括片头的插入处理、片末端处理、MB地址信息的更新处理、跳过运行修正处理、以及QP德尔塔设定处理。此外,QP德尔塔设定处理包括QP德尔塔修正处理及QP德尔塔插入处理。另外,在本实施方式中,对QP德尔塔设定处理是QP德尔塔修正处理的情况进行说明。
图3是用来说明片头的插入处理的说明图。
例如,流划分部130将图3(a)所示的图片p1划分。
图片p1由片A、片B及片C构成,并且由MB行L1~L12构成。
片A跨MB行L1~L7而配置,具有片头ha、以及从该片头ha连续配置的多个宏块mba。片B跨MB行L7~L8而配置,具有片头hb、以及从该片头hb连续配置的多个宏块mbb。片C跨MB行L9~L12而配置,具有片头hc、以及从该片头hc连续配置的多个宏块mbc。另外,在片头中,包括具有该片头的片的解码所需要的辅助信息。
流划分部130如图3(b)所示,将上述图片p1按照MB行划分。并且,流划分部130将MB行L1~L12分别从开头起依次分配到第1划分流~第4划分流的某一个划分流的一部分。例如,流划分部130将MB行L1分配到第1划分流的一部分,将MB行L2分配到第2划分流的一部分,将MB行L3分配到第3划分流的一部分,将MB行L4分配到第4划分流的一部分。并且,流划分部130如果向第4划分流的MB行的分配结束,则重复进行向第1划分流的MB行的分配。即,流划分部130将MB行L5分配到第1划分流的一部分,将MB行L6分配到第2划分流的一部分,将MB行L7分配到第3划分流的一部分,将MB行L8分配到第4划分流的一部分。
结果,第1划分流包括连续的MB行L1、L5、L9,第2划分流包括连续的MB行L2、L6、L10,第3划分流包括连续的MB行L3、L7、L11,第4划分流包括连续的MB行L4、L8、L12。
另外,MB行L1~L6、由MB行L7的开头侧的6个宏块构成的集合、由MB行L7的末端侧的10个宏块构成的集合、以及MB行L8~L12分别是构成片A~C的一部分的片部分。并且,在第1划分流中,由作为片A的片部分的MB行L1、L5构成片部分群(第1划分流的片A)。此外,在第2划分流中,由作为片B的片部分的MB行L2、L6构成片部分群(第2划分流中的片B)。
这里,仅通过单纯将MB行分配到划分流,有时不能使解码引擎120适当地识别包含在划分流中的片。
例如,在第1划分流中,如上所述包括连续的MB行L1、L5、L9。在此情况下,MB行L1、L5应被识别为片A,MB行L9应被识别为片C。为此,需要在第1划分流中在应成为片A的开头的MB行L1的开头配置片A的片头ha,需要在第1划分流中在应成为片C的开头的MB行L9的开头配置片C的片头hc。在图3所示的例子中,由于片头ha、hc分别被预先配设在MB行L1、L9的开头,所以流划分部130只要将MB行L1、L5、L9与片头ha、hc一起分配到第1划分流就可以。
另一方面,在第2划分流中,如上述那样包含有连续的MB行L2、L6、L10。在此情况下,MB行L2、L6应被识别为片A,MB行L10应被识别为片C。为此,需要在第2划分流中在应成为片A的开头的MB行L2的开头配置片A的片头ha,需要在第2划分流中在应成为片C的开头的MB行L10的开头配置片C的片头hc。
所以,本实施方式的流划分部130在将MB行分配到划分流的一部分时,通过根据需要复制片头ha、hb、hc从而复制片头ha′、hb′、hc′,将它们插入到划分流中。
例如,流划分部130通过复制片头ha而生成3个复制片头ha′,将该复制片头ha′插入到紧靠MB行L2、L3、L4之前。进而,流划分部130通过复制片头hb而生成一个复制片头hb′,将该复制片头hb′插入到紧靠MB行L8之前。进而,流划分部130通过复制片头hc而生成3个复制片头hc′,将该复制片头hc′插入到紧靠MB行L10、L11、L12之前。
结果,在第2划分流中,在紧靠作为片A的开头的MB行L2之前,配置作为片A的片头ha的复制的复制片头ha′,在紧靠作为片的开头的MB行L10之前,配置作为片C的片头hc的复制的复制片头hc′。由此,第2解码引擎120能够根据复制片头ha′、hc′而得到在第2划分流的片A及片C各自的解码中需要的参数。
接着,对MB地址信息的更新处理进行说明。
流划分部130在如上述那样将复制片头插入到划分流中时,根据插入的位置更新包含在复制片头中的MB地址信息。
即,在构成包含在编码流中的图片的各片的片头中,包含有用来确定该片的开头宏块在上述图片内的地址的MB地址信息“first_mb_in_slice”。因而,在通过复制这样的片头来生成的复制片头中,最初包含有与复制源的片头的MB地址信息相同的MB地址信息。结果,如果将这样的复制片头在图片内插入到与复制源的片头不同的位置,则由该复制片头的MB地址信息确定的地址指示错误的地址。即,通过复制片头的MB地址信息确定的地址不指示在划分流中具有该复制片头的片的开头宏块在上述图片内的地址,而指示具有复制源的片头的片的开头宏块的地址。
例如,在图片p1的片A的片头ha中,包含有表示该片A的开头宏块(MB行L1的开头宏块)在图片p1内的地址的MB地址信息。在通过复制这样的片头ha而生成的复制片头ha′中,最初包含有用来确定MB行L1的开头宏块在图片p1内的地址的MB地址信息。结果,如果将这样的复制片头ha′插入到紧靠MB行L2之前,则由该复制片头ha′的MB地址信息确定的地址没有指示在第2划分流中具有该复制片头ha′的片A的开头宏块(MB行L2的开头宏块)在图片p1内的地址,而指示MB行L1的开头宏块的地址。
所以,本实施方式的流划分部130更新如上述那样包含在复制片头中的MB地址信息。
图4是用来说明MB地址信息的更新处理的说明图。
流划分部130首先从包含在编码流中的SPS(序列参数集)中获得作为与图片的水平方向的宏块的数量关联的信息的“pic_width_in_mbs_minus1”。
进而,流划分部130使用包含在复制源的片头中的MB地址信息“first_mb_in_slice”,计算具有该复制源的片头的片的开头宏块的地址。
接着,流划分部130基于计算出的开头宏块的地址,计算表示该开头宏块在图片内处于第几行的MB行中的值“mbposv”。另外,值“mbposv”是0以上的整数。
并且,流划分部130在紧前插入了复制片头的MB行从配置有复制源的片头的MB行观察离开了n行时,通过“first_mb_in_slice[n]”=(“mbposv”+n)×(“pic_width_in_mbs_minus1”+1)计算复制片头的MB地址信息。
另外,在图片由MBAFF(宏块自适应帧场)构成的情况下,流划分部130通过“first_mb_in_slice[n]”=(“mbposv”/2+n)×(“pic_width_in_mbs_minus1”+1)计算复制片头的MB地址信息。
流划分部130将最初包含在复制片头中的MB地址信息更新为如上述那样计算出的MB地址信息。由此,由复制片头的MB地址信息确定的地址正确地指示在划分流中具有该复制片头的片的开头宏块在图片内的地址。
接着,对片末端处理进行说明。
在构成包含在编码流中的图片的各片的末端,设定有表示是该片的末端的片末端信息。因而,如图3所示,在单纯将图片划分为多个MB行、该多个MB行分别被分配到第1划分流~第4划分流的某一个的一部分的情况下,有时不能使解码引擎120适当地识别包含在划分流中的片的末端。
所以,本实施方式的流划分部130与片头插入处理同样也执行片末端处理。
图5是用来说明片末端处理的说明图。
例如,如图5(a)所示,包含在编码流的图片p1中的片C包含有片头hc、MB行L9~L12、以及片末端信息ec。
流划分部130将图片p1按照MB行划分。结果,如图5(b)~图5(e)所示,MB行L9被与片头hc一起分配到第1划分流,MB行L10被分配到第2划分流,MB行11被分配到第3划分流,MB行L12被分配到第4划分流。
进而,流划分部130通过上述片头的插入处理,复制片头hc而生成3个复制片头hc′,将这些3个复制片头hc′分别插入到紧靠第2划分流~第4划分流的MB行L10、L11、L12之前。此外,流划分部130通过上述MB地址信息的更新处理,根据插入的复制片头hc′的位置,将包含在该复制片头hc′中的MB地址信息更新。
这里,流划分部130作为片末端处理而生成表示第1划分流中的片C(MB行L9)的末端、第2划分流中的片C(MB行L10)的末端、第3划分流中的片C(MB行L11)的末端、以及第4划分流中的片C(MB行L12)的末端的片末端信息ec′。并且,流划分部130将该生成的片末端信息ec′设定在紧靠第1划分流~第4划分流的MB行L9、L10、L11、L12之后。另外,流划分部130在将编码流按照MB行划分时,将原本包含在该编码流中的片末端信息ec丢弃。此外,如果片末端信息ec和片末端信息ec是相同的信息,则最终MB行L12被与片末端信息ec′(ec)一起分配该第4划分流。
由此,解码引擎120能够适当地识别包含在划分流中的片的末端。
图6是表示本实施方式的图像解码装置100的整体的动作的流程图。
首先,图像解码装置100获得编码流(步骤S10),从该编码流中确定作为处理对象的被编码的图片(步骤S12)。进而,图像解码装置100通过将处理对象的图片划分而提取一个MB行(步骤S14)。另外,如果在紧靠MB行之前或属于该MB行的两个宏块间有片头,则将该MB行与该片头一起提取。
接着,图像解码装置100在将通过步骤S14的划分而提取的一个MB行分配到作为生成对象的第1~第N划分流的某个之前,判断是否需要进行片重新构成处理(是否需要在紧靠该MB行之前插入片头,是否需要在紧靠已经分配的MB行之后设定片末端信息,是否需要修正MB跳过运行信息,以及是否需要设定QP变化量)(步骤S16)。
图像解码装置100在步骤S16中判断为需要进行片重新构成处理时(步骤S16的是),执行片重新构成处理(步骤S18)。即,图像解码装置100执行上述片头的插入处理、片末端处理、跳过运行修正处理及QP德尔塔设定处理的至少其一。此外,图像解码装置100在执行片头的插入处理时,也执行MB地址信息的更新处理。
接着,图像解码装置100将该MB行分配到作为生成对象的第1~第N划分流的某个(步骤S20)。通过反复进行该步骤S20,对第1~第N划分流分别依次分配MB行,生成第1~第N划分流。
图像解码装置100将分别分配到第1~第N划分流的MB行并行地解码(步骤S22)。另外,在对第1~第N划分流中的某个划分流没有分配MB行的情况下,图像解码装置100将除了该没有被分配MB行的划分流以外的剩余的划分流解码。
接着,图像解码装置100判断是否分配了包含在图片中的所有的MB行(步骤S24),当判断为没有分配时(步骤S24的否),重复执行从步骤S14起的处理。另一方面,图像解码装置100在判断已分配了所有的MB行时(步骤S24的是),再判断是否已将包含在编码流中的所有的图片划分(步骤S26)。这里,图像解码装置100在判断没有将所有的图片划分时(步骤S26的否),重复执行从步骤S12起的处理,当判断为已将所有的图片划分时(步骤S26的是),结束解码处理。
另外,图6的流程图所示的处理动作是本发明的图像解码装置100的处理动作的一例,本发明并不限定于该流程图所示的处理动作。
例如,在图6的流程图中,图像解码装置100的流划分部130在步骤S18的片重新构成处理中进行片头的插入处理,但也可以不进行片头的插入处理,而将复制片头直接交给需要片头的解码引擎120。此外,在图6的流程图中,流划分部130在步骤S18的片重新构成处理中进行MB地址信息的更新处理,但也可以不进行该更新处理。在此情况下,例如解码引擎120将包含在划分流中的复制片头的MB地址信息更新。此外,在图6的流程图中,流划分部130在步骤S18的片重新构成处理中进行片末端处理,但也可以不在该片重新构成处理中进行。在此情况下,例如也可以在步骤S20中将MB行分配到第1~第N划分流的某个之后、且将下个新的MB行从流划分部130分配到该某个划分流之前,对已经分配的MB行进行片末端处理。
这里,对流划分部130的结构及动作详细地说明。
图7是表示流划分部130的结构的模块图。
流划分部130具备开始代码检测部131、EPB除去部132a、EPB插入部132b、片头插入部133、以及片数据处理部134a、134b。
开始代码检测部131从流缓冲器151读出编码流,按照NAL单元检测开始代码。
EPB除去部132a将EPB(模仿防止字节)从编码流中除去,将除去了EPB的编码流输出给片数据处理部134a、134b。进而,EPB除去部132a获得包含在编码流中的SPS(序列参数集)及PPS(图片参数集)等比片更靠上层的信息,将该信息输出给EPB插入部132b,以使其将该信息分别插入到4个划分流中。
EPB插入部132b在通过将编码流划分而生成的划分流中插入由EPB除去部132a除去的EPB。
片头插入部133执行上述片头的插入处理及MB地址信息的更新处理。另外,片头插入部133以规定的定时,将表示是否进行片头的插入处理的片头处理内容通知M1发送给片数据处理部134a、134b,当从片数据处理部134a、134b接受到末端处理完成通知M2时,执行片头的插入处理。并且,片头插入部133通过片头的插入处理,将处于MB行紧前的片头和更新了MB地址信息后的复制片头输出给EPB插入部132b。
片数据处理部134a、134b通过将除去了EPB之后的编码流划分而生成4个划分流,将该4个划分流输出。另外,在从片数据处理部134a、134b输出的划分流中,不包含处于上述MB行紧前或其中的片头及复制片头。这里,片数据处理部134a执行对应于CAVLD(内容适应可变长度解码:Context-Adaptive Variable Length Decoding)的处理,将通过CAVLC(内容适应可变长度编码:Context-Adaptive Variable Length Coding)生成的编码流划分为4个划分流。此外,片数据处理部134b执行对应于CABAD(内容适应二进制运算解码:Context-Adaptive Binary Arithmetic Decoding)的处理,将通过CABAC(内容适应二进制运算编码:Context-Adaptive BinaryArithmetic Coding)生成的编码流划分为4个划分流。
片数据处理部134a具备片数据层解码部135a、宏块层解码部136a、跳过运行修正部137a、QP德尔塔修正部138a及划分点检测部139a。
片数据层解码部135a将包含在编码流中的片数据层的编码数据可变长度解码。宏块层解码部136a将包含在编码流中的宏块层的的编码数据可变长度解码。通过这样的、片数据层解码部135a及宏块层解码部136a的可变长度解码,将相邻的宏块间的依赖关系除去。另外,片数据层解码部135a及宏块层解码部136a也可以仅将依赖于与处理对象的宏块相邻的宏块的信息(具体而言是CAVLC的nC(非零系数:non-zero coefficient)等)解码。
跳过运行修正部137a将由片数据层解码部135a解码后的MB跳过运行信息“mb_skip_run”修正,将修正后的MB跳过运行信息再次编码,将编码后的MB跳过运行信息输出。即,跳过运行修正部137a当MB跳过运行信息表示在编码流中跨越连续的至少两个片部分而连续的块的个数时,将该连续的块的个数划分,将修正为表示各片部分的块的个数的MB跳过运行信息设定在分别被分配了至少两个连续的片部分的划分流中。进而,跳过运行修正部137a在各划分流中对应于设定的多个MB跳过运行信息的多个块在该划分流内连续时,将多个MB跳过运行信息变换为表示该多个MB跳过运行信息分别表示的个数的总和的一个MB跳过运行信息。
这里,MB跳过运行信息是在包含于编码图片中的片内指定种类的块连续的情况下表示连续的该块的个数的第1代码字的一例。具体而言,MB跳过运行信息表示连续被跳过的宏块的数量。
例如,在编码流的片之中,在连续被跳过的宏块的集合跨越多个MB行存在的情况下,由片数据层解码部135a解码后的MB跳过运行信息表示包含在该集合中的被连续跳过的宏块的数量。在这样的情况下,如果将图片按照MB行划分、将这些MB行分配到不同的划分流,则在各个划分流中被连续跳过的宏块的数量变化。即,MB跳过运行信息带来的MB行间的依赖关系混乱了。
所以,跳过运行修正部137a按照包括上述集合的一部分的每个MB行,确定构成包含在该MB行中的上述一部分的、被连续跳过的宏块的数量。并且,跳过运行修正部137a按照MB行,修正MB跳过运行信息,以使由MB跳过运行信息表示的数量相对于该MB行成为被确定的数量。
QP德尔塔修正部138a按照每个宏块,将由宏块层解码部136a解码的、该宏块的QP变化量“mb_qp_delta”修正,将修正后的QP变化量再次编码,将编码后的QP变化量输出。即,QP德尔塔修正部138a在QP变化量表示跨越两个MB行的块间的变化量的情况下,计算基于各划分流中的块的新的前后关系的编码系数的变化量。并且,QP德尔塔修正部138a对计算出的变化量修正QP变化量。
另外,QP变化量是表示在编码图片中包含的片内连续的块间的编码系数的变化量的第2代码字的一例。具体而言,QP变化量包含在宏块(对象宏块)中,表示该对象宏块的QP值与位于该对象宏块紧前的宏块的QP值的差分值。
即,如果将图片按照MB行划分,并将MB行分别分配到多个划分流的某个,则夹着MB行的边界相互连续的宏块分别被分配到不同的划分流。结果,将包括该相互连续的一个宏块(对象宏块)的划分流作为解码的对象的解码引擎120不能根据对象宏块的QP变化量导出该对象宏块的QP值。即,QP变化量带来的MB行间的依赖关系混乱了。
所以,QP德尔塔修正部138a按照宏块,基于划分流中的新的宏块的前后关系重新计算该宏块(对象宏块)的QP变化量。
划分点检测部139a将编码流划分为4个划分流。即,划分点检测部139a将图片划分为多个MB行,将MB行分别分配到4个划分流的某个。另外,划分点检测部139a在紧靠MB行之前或属于该MB行的两个宏块间有片头的情况下,不进行该片头的分配,而仅将MB行分配到划分流。此外,划分点检测部139a在划分流的各自中包含从跳过运行修正部137a获得的MB跳过运行信息、以及从QP德尔塔修正部138a获得的QP变化量。
进而,划分点检测部139a检测划分流的片的末端,如果从片头插入部133接受到片头处理内容通知M1,则根据该片头处理内容通知M1表示的内容,执行上述片末端处理。此外,如果片末端处理完成,则划分点检测部139a对片头插入部133发送末端处理完成通知M2。
片数据处理部134b具备片数据层解码部135b、宏块层解码部136b、QP德尔塔修正部138b及划分点检测部139b。
片数据层解码部135b将包含在编码流中的片数据层的编码数据可变长度解码(算术解码)。宏块层解码部136b将包含在编码流中的宏块层的编码数据可变长度解码(算术解码)。通过这样的、片数据层解码部135b及宏块层解码部136b的可变长度解码,将相邻的宏块间的依赖关系除去。
QP德尔塔修正部138b与上述QP德尔塔修正部138a同样,按照宏块,将由宏块层解码部136b解码的、该宏块的QP变化量“mb_qp_delta”修正,将修正后的QP变化量再次编码,将编码后的QP变化量输出。
划分点检测部139b与划分点检测部139a同样,将编码流划分为4个划分流。此时,划分点检测部139b在划分流的各自中包含从QP德尔塔修正部138b获得的QP变化量。进而,划分点检测部139b检测划分流的片的末端,如果从片头插入部133接受到片头处理内容通知M1,则根据该片头处理内容通知M1表示的内容,执行上述片末端处理。此外,如果片末端处理完成,则划分点检测部139b对片头插入部133发送末端处理完成通知M2。
这里,对片头插入部133及片数据处理部134a、134b详细地说明。另外,当说明对片数据处理部134a、134b共通的功能及处理动作时,不将它们区别而总称作片数据处理部134。
首先,对片头插入部133插入片头的定时、以及片数据处理部134插入片末端信息的定时进行说明。
图8是用来说明片头插入部133及片数据处理部134的动作的说明图。
片数据处理部134将包括片A及片B的图片按照MB行划分,经由EPB插入部132b从开头侧的MB行将各MB行依次保存到包含于划分流缓冲器152中的4个区域(第1区域df1~第4区域df4)中。此时,片数据处理部134a每当1MB行的保存时,将MB行的保存目的地以第1区域df1、第2区域df2、第3区域df3、第4区域df4、第1区域df1的顺序反复变更。
例如,片数据处理部134如图8(a)所示,将片A的MB行La1保存到划分流缓冲器152的第1区域df1中,将片A的下个MB行La2保存到划分流缓冲器152的第2区域df2中,将片A的下个MB行La3保存到划分流缓冲器152的第3区域df3中。进而,片数据处理部134a将片A的下个片B的MB行Lb1保存到划分流缓冲器152的第4区域df4中。
结果,在划分流缓冲器152的4个第1区域df1~第4区域df4的各自中保存MB行,划分流缓冲器152成为片B的下个MB行再次被保存到第1区域df1中之前的状态。
另外,片数据处理部134在将MB行La3保存到第3区域df3中时,如果在编码流中在MB行La3之后有片末端信息ea,也不保存该片末端信息ea,而仅将MB行La3保存到第3区域df3中。并且,片数据处理部134其后在将属于新的片的MB行保存到第3区域df3中时,将对应于该片末端信息ea的片末端信息ea′保存到第3区域df3中。此外,在片数据处理部134将MB行Lb1保存到第4区域df4中时,也事前通过片头插入部133将片B的片头hb保存到第4区域df4中。此外,在图片中,在比片A的MB行La1靠前,存在该片A的另一MB行。因而,在第1区域df1、第2区域df2及第3区域df3的MB行La1、La2、La3之前,没有插入片A的复制片头。
此外,片数据处理部134的划分点检测部139a、139b每当输出宏块时判断是否输出了1MB行的所有的宏块。结果,划分点检测部139a、139b如果判断为已输出了所有的宏块,则检测MB行的边界(MB行的末端)。并且,划分点检测部139a、139b每当检测MB行的边界时,将宏块的输出处理中断,将检测到了MB行的边界的情况通知给片头插入部133。
因而,MB行的最后的宏块被保存在划分流缓冲器152中,当划分流缓冲器152成为上述那样的图8(a)所示的状态时,片头插入部133也从片数据处理部134的划分点检测部139a、139b接受检测到了MB行的边界的通知。
接受到MB行的边界检测的通知的片头插入部133如图8(b)所示,将片头处理内容通知M1发送给片数据处理部134。该片头处理内容通知M1是在从片数据处理部134向划分流缓冲器152保存下个MB行之前、对该片数据处理部134通知是否计划将片头输出到划分流缓冲器152中并保存的信息,表示“输出”或“不输出”。即,表示“输出”的片头处理内容通知M1是对片数据处理部134提示片末端处理的通知。
例如,片头插入部133在从片数据处理部134向划分流缓冲器152保存下个MB行Lb2之前,判断是否要将复制片头hb′输出并保存到划分流缓冲器152中。此时,片头插入部133将表示“输出”的片头处理内容通知M1输出给片数据处理部134。
片数据处理部134如果获得片头处理内容通知M1,则只要该片头处理内容通知M1表示“输出”,就生成片末端信息而保存到划分流缓冲器152中之后,将末端处理完成通知M2输出给片头插入部133。另一方面,片数据处理部134如果片头处理内容通知M1表示“不输出”,则不将片末端信息保存到划分流缓冲器152中,而将末端处理完成通知M2输出给片头插入部133。
例如,片数据处理部134如果获得表示“输出”的片头处理内容通知M1,则如图8(c)所示,生成片末端信息ea′,保存到划分流缓冲器152的第1区域df1中。如果该保存完成,则片数据处理部134将末端处理完成通知M2输出给片头插入部133。
片头插入部133如果从片数据处理部134获得末端处理完成通知M2,则在之前输出的片头处理内容通知M1表示“输出”的情况下,经由EPB插入部132b将片头输出并保存到划分流缓冲器152中,然后,将片头处理完成通知M3输出给片数据处理部134。另一方面,在之前输出的片头处理内容通知M1表示“不输出”的情况下,片头插入部133不将片头保存到划分流缓冲器152中,而将片头处理完成通知M3输出给片数据处理部134。
例如,片头插入部133在之前输出的片头处理内容通知M1表示“输出”的情况下,如果从片数据处理部134获得末端处理完成通知M2,则如图8(d)所示,生成复制片头hb′并保存到划分流缓冲器152的第1区域df1中。然后,片头插入部133将片头处理完成通知M3输出给片数据处理部134。
片数据处理部134的划分点检测部139a、139b如果从片头插入部133接受到片头处理完成通知M3,则重新开始中断的宏块的输出处理,输出下个MB行并保存到划分流缓冲器152中。
例如,片数据处理部134如图8(d)所示,将下个MB行Lb2输出并保存到划分流缓冲器152的第1区域df1中。
通过这样的片头插入部133及片数据处理部134的处理,在划分流缓冲器152的各区域中,能够以片末端信息、片头、下个MB行的顺序,将这些数据写入到适当的MB行的边界中。
图9是表示片头插入部133的结构的模块图。
另外,在利用图9说明关于划分点检测部139a、139b共通的功能及处理动作时,不将它们区别而统称作划分点检测部139。
片头插入部133具备NAL类型判断部133a、头插入计数器133b、头地址更新部133c及头缓冲器133d。
NAL类型判断部133a每当获得编码流的NAL单元时,判断该NAL单元的类型是否是片。并且,NAL类型判断部133a在判断是片时,将该NAL单元的类型是片的情况通知给头缓冲器133d及头插入计数器133b。
头缓冲器133d如果接受到来自NAL类型判断部133a的通知,则只要在对应于该通知的NAL单元中包含有片头,就从该NAL单元取出片头并存储。进而,头缓冲器133d如果在后面的NAL单元中包含有新的片头,则将已经存储的片头替换为该新的片头。即,头缓冲器133d总是保持着最新的片头。
头插入计数器133b为了确定生成并插入复制片头的定时,计数编码流中的MB行的边界(末端)被划分点检测部139检测到的数量。具体而言,头插入计数器133b计数0~4(解码引擎120的总数)的值。头插入计数器133b如果接受到来自NAL类型判断部133a的通知,则只要在对应于该通知的NAL单元中包含有片头,则将计数值复位为0。进而,头插入计数器133b当检测到MB行的边界(MB行的末端)时,将计数值计数增加1。并且,头插入计数器133b在计数值达到4之后再检测到MB行的边界时,不进行计数增加,而将计数值维持为4。
这样,头插入计数器133b在检测到MB行的边界时,更新或保持计数值,如果在NAL单元中包含有片头,则将计数值复位为0。
此外,头插入计数器133b在检测到MB行的边界时,根据通过该检测而更新的计数值(包括由于MB行边界之后的片头而复位的计数值=0),将表示“输出”或“不输出”的片头处理内容通知M1输出给划分点检测部139。具体而言,头插入计数器133b当刚检测到MB行的边界之后的计数值是0~3时,输出表示“输出”的片头处理内容通知M1,当该计数值是4时,输出表示“不输出”的片头处理内容通知M1。此外,头插入计数器133b并不限于检测到MB行的边界时,在计数值成为0时,也输出表示“输出”的片头处理内容通知M1。
进而,头插入计数器133b在将片头处理内容通知M1输出给划分点检测部139之后,如果从划分点检测部139接受到末端处理完成通知M2,则在该输出的片头处理内容通知M1表示“输出”的情况下,从该头缓冲器133d输出保存在头缓冲器133d中的片头。然后,头插入计数器133b将片头处理完成通知M3输出给划分点检测部139。另外,在从头缓冲器133d输出片头时,片头插入部133根据由包含在该片头中的MB地址信息所表示的值,选择作为划分流缓冲器152的保存目的地的区域。并且,片头插入部133将片头保存到该选择的作为保存目的地的区域中。另一方面,头插入计数器133b在该输出的片头处理内容通知M1表示“不输出”的情况下,不将保存在头缓冲器133d中的片头从头缓冲器133d输出,而维持保存的状态。然后,与上述同样,头插入计数器133b将片头处理完成通知M3输出给划分点检测部139。
头地址更新部133c根据刚检测到MB行的边界之后的计数值(包括由于紧靠MB行边界之后的片头而复位的计数值=0),将保存在头缓冲器133d中的片头的MB地址信息“first_mb_in_slice”更新。
例如,头地址更新部133c在计数值n=0时,不将MB地址信息更新,在计数值n≠0时,将MB地址信息更新为(“mbposv”+n)×(“pic_width_inmbs_minus1”+1)。另外,在图片由MBAFF构成的情况下,头地址更新部133c将MB地址信息通过(“mbposv”/2+n)×(“pic_width_in_mbs_minus1”+1)更新。
图10是表示对划分流缓冲器152的第1区域df1~第4区域df4分配的MB行及片头的图。
例如,流划分部130将保存在流缓冲器151中的编码流的片A~C以片A、片B、片C的顺序读出。
在此情况下,首先片头插入部133的头缓冲器133d从片A的开头取出片头ha并存储。此时,头插入计数器133b将计数值复位为0。因而,头缓冲器133d由于计数值是0,所以通过将存储的片头ha输出,将该片头ha保存到划分流缓冲器152的第1区域df1中。
如果从头缓冲器133d输出片头ha,则片数据处理部134通过将编码流中接在片A的片头ha之后的第1MB行输出,将该第1MB行保存到划分流缓冲器152的第1区域df1中。结果,在第1区域df1中,以片头ha、属于片A的第1MB行的顺序保存这些数据。
如果将第1MB行从片数据处理部134输出,则上述头插入计数器133b将计数值计数增加到1。因而,头插入计数器133b由于在第1MB行的末端计数值是1,所以通过将存储的片头ha作为复制片头ha′输出,将该复制片头ha′保存到划分流缓冲器152的第2区域df2中。另外,复制片头ha′的MB地址信息由头地址更新部133c更新。
如果将复制片头ha′从头缓冲器133d输出,则片数据处理部134通过将在编码流中接着第1MB行的第2MB行输出,将该第2MB行保存到划分流缓冲器152的第2区域df2中。
这里,第2MB行包含有属于片A的多个宏块、片B的片头hb、以及属于片B的多个宏块。所以,片数据处理部134的划分点检测部139首先将属于包含在第2MB行中的片A的所有的宏块保存到第2区域df2中。如果该保存结束,则划分点检测部139将宏块的输出处理暂时中断,待机直到从片头插入部133接受到片头处理内容通知M1。此时,片头插入部133由于检测到片B的片头hb,所以将计数值复位为0,将表示“输出”的片头处理内容通知M1发送给划分点检测部139。接受到该片头处理内容通知M1的划分点检测部139对第2区域df2的片A的末端进行片末端处理,将末端处理完成通知M2发送给片头插入部133。接受到该末端处理完成通知M2的片头插入部133将片B的片头hb保存到第2区域df2中,将片头处理完成通知M3发送给划分点检测部139。接受到该片头处理完成通知M3的划分点检测部139重新开始中断的输出处理,将属于包含在第2MB行中的下个片B的多个宏块保存到第2区域df2中。
结果,在第2区域df2中,接着复制片头ha′,以构成属于片A的第2MB行的一部分的多个宏块、片头hb、构成属于片B的第2MB行的一部分的多个宏块的顺序保存这些数据。
如果从片数据处理部134输出第2MB行,则片头插入部133的头缓冲器133d从编码流中接着该第2MB行的片C的开头读出片头hc并存储。此时,头插入计数器133b将计数值复位为0。因而,头缓冲器133d由于在第2MB行的末端计数值是0,所以通过将存储的片头hc输出,将该片头hc保存到划分流缓冲器152的第3区域df3中。
如果将片头hc从头缓冲器133d输出,则片数据处理部134通过将编码流中接着片C的片头hc的第3MB行输出,将该第3MB行保存到划分流缓冲器152的第3区域df3中。结果,在第3区域df3中,以片头hc、属于片C的第3MB行的顺序保存这些数据。
如果将第3MB行从片数据处理部134输出,则上述头插入计数器133b将计数值计数增加到1。因而,头缓冲器133d由于在第3MB行的末端计数值是1,所以通过将存储的片头hc作为复制片头hc′输出,将该复制片头hc′保存到划分流缓冲器152的第4区域df4中。另外,复制片头hc′的MB地址信息由头地址更新部133c更新。
通过重复这样的处理,将数据依次保存到划分流缓冲器152的第1区域df1~第4df4中。结果,在这些第1区域df1~第4区域df4中分别保存第1划分流~第4划分流。
图11A及图11B是表示设定片末端信息的位置的图。
例如,如图11A所示,图片包括片A和片B,接在片A之后的片B的开头的宏块处于MB行的左端。在这样的情况下,片数据处理部134的划分点检测部139在从片头插入部133输出片B的片头hb之前,在从该片B的的开头MB行起处于4MB行前的、片A的MB行的末端,设定片A的片末端信息ea′。进而,片数据处理部134的划分点检测部139在从片头插入部133输出片B的复制片头hb′之前,在从该片B的开头MB行起处于3MB行前的片A的MB行的末端设定片A的片末端信息ea′。
这样,在片的开头的宏块处于MB行的左端的情况下,在处于该MB行的1~4MB行前的各MB行的末端设定片末端信息ea′。
此外,如图11B所示,图片包括片A和片B,接在片A之后的片B的开头的宏块处于MB行的左端以外。在这样的情况下,片数据处理部134的划分点检测部139在从片头插入部133输出片B的复制片头hb′之前,在处于从包括该片B的片头hb的MB行起3MB行前的、片A的MB行的末端,设定片A的片末端信息ea′。
这样,在片的开头的宏块处于MB行的左端以外的情况下,在该MB行中的片的边界、以及处于该MB行的1~3MB行前的各MB行的末端设定片末端信息ea′。
这里,对划分点检测部139的动作详细地说明。
图12是表示划分点检测部139的动作的流程图。
首先,划分点检测部139从编码流的开头侧确定应作为处理对象的数据(例如宏块)并输出,保存到划分流缓冲器152中。
这里,划分点检测部139管理着输出的宏块的地址(MB地址值)。即,如果输出的宏块是包含在编码流中的片的开头宏块,则划分点检测部139将输出的宏块的MB地址值更新为由包含在该片的片头中的MB地址信息表示的值。并且,划分点检测部139每当输出接着该开头宏块的宏块时,将该MB地址值增加。另外,MB地址值是0以上的整数。
并且,划分点检测部139在步骤S100中输出宏块时,根据该宏块的MB地址值,选择划分流缓冲器152内的作为保存目的地的区域,将宏块保存到该作为保存目的地的区域中。具体而言,在对包含在划分流缓冲器152中的4个区域分配第1~第4的号码的情况下,划分点检测部139选择第m=((MB地址值/W)%N+1)个区域,在该第m个区域中保存宏块。
另外,W用W=“pic_width_in_mbs_minus1”+1表示,表示图片的水平方向的宏块数。此外,N是解码引擎120的总数(N=4),%表示用(MB地址值/W)除以N时的余数。
接着,划分点检测部139判断在步骤S100中输出的宏块是否是MB行的末端(边界),即宏块的输出处理是否达到了MB行的末端(步骤S102)。具体而言,划分点检测部139判断在步骤S100中输出的宏块的MB地址值是否是(W的倍数-1)。当MB地址值=(W的倍数-1)时,输出处理达到MB行的末端,当MB地址值≠(W的倍数-1)时,输出处理没有达到MB行的末端。
划分点检测部139如果判断为没有达到末端(步骤S102的否),则判断在编码流中是否有接着要作为处理对象的数据,即是否应结束输出处理(步骤S114)。另一方面,划分点检测部139如果判断为达到了末端(MB行的边界),即如果检测到MB行的边界(步骤S102的是),则将检测到MB行的边界的情况通知给片头插入部133并将输出处理中断,然后判断是否从片头插入部133接受到了片头处理内容通知M1(步骤S104)。
划分点检测部139如果判断为没有接受到片头处理内容通知M1(步骤S104的否),则待机直到接受到片头处理内容通知M1。
另一方面,划分点检测部139如果判断为接受到片头处理内容通知M1(步骤S104的是),则判断该片头处理内容通知M1是否表示“输出”(步骤S106)。
这里,划分点检测部139如果判断为表示“输出”(步骤S106的是),则执行片末端处理(步骤S108)。即,划分点检测部139在将编码流用CABAD解码的情况,在“end_of_slice_flag”中设定“1”作为片末端信息。此外,划分点检测部139在将编码流用CAVLD解码的情况下,赋予“rbsp_slice_trailing_bits”作为片末端信息。
划分点检测部139在步骤S106中判断为不表示“输出”之后(步骤S106的否),或者在步骤S108中执行片末端处理之后,对片头插入部133发送末端处理完成通知M2(步骤S110)。然后,划分点检测部139判断是否从片头插入部133接受到了片头处理完成通知M3(步骤S112)。这里,划分点检测部139如果判断为没有接受到片头处理完成通知M3(步骤S112的否),则待机直到接受到片头处理完成通知M3。另一方面,划分点检测部139在步骤S112中判断为接受到了片头处理完成通知M3时(步骤S112的是),判断在编码流中是否有接着要作为处理对象的数据、即是否应结束输出处理(步骤S114)。
这里,划分点检测部139在判断为应结束时(步骤S114的是),结束处理,在判断为不是应结束时(步骤S114的否),再次输出应作为下个处理对象的数据而保存到划分流缓冲器152中(步骤S100)。
接着,对跳过运行修正部137a的动作的详细情况进行说明。
跳过运行修正部137a如上述那样修正作为MB跳过运行信息的“mb_skip_run”。MB跳过运行信息是在编码方法中使用CAVLC的情况下包含在编码流中的代码字,表示连续的跳过宏块的个数(以下也称作“长度”)。此外,在以下的记载中,所谓MB跳过运行信息的长度,是指MB跳过运行信息表示的、连续的跳过宏块的个数。
图13A及图13B是用来说明MB跳过运行信息的修正处理的说明图。
在图13A所示的图片中,在MB行L2的末尾存在5个、在MB行L3的开头存在3个、在MB行L5的末尾存在两个、在MB行L6的开头存在4个连续的跳过宏块。因而,在包括这样的图片的编码流中,将表示跨越MB行L2~L3连续的跳过宏块的个数的长度8(5+3=8)的MB跳过运行信息编码,将表示跨越MB行L5~L6连续的跳过宏块的个数的长度6(2+4=6)的MB跳过运行信息编码。
但是,在这样的情况下,如果将图片按照MB行划分、将这些MB行分配到不同的划分流,则在各个划分流中,连续被跳过的宏块的数量变化。即,表示跨越多个MB行连续的跳过宏块的个数的MB跳过运行信息带来的、该多个MB行间的依赖关系混乱了。
即,包含在第1划分流中的MB行是L1及L5,在MB行L5的末尾存在连续的两个跳过宏块。此外,包含在第2划分流中的MB行是L2及L6,MB行存在跨越L2到L6连续的9个跳过宏块。此外,包含在第3划分流中的MB行是L3及L7,MB行在L3的开头存在连续的3个跳过宏块。此外,包含在第4划分流中的MB行是L4及L8,不存在跳过宏块。
以上,相对于原本包含在编码流中的MB跳过运行信息是长度8和6,需要对第1划分流输出长度2的MB跳过运行信息、对第2划分流输出长度9的MB跳过运行信息、对第3划分流输出长度3的MB跳过运行信息。即,根据表示跨越多个MB行连续的跳过宏块的个数的MB跳过运行信息,在该多个MB行相互具有依赖关系的情况下,需要修正MB跳过运行信息,以使该依赖关系成为对应于各划分流中的MB行的前后关系的新的依赖关系。
所以,跳过运行修正部137a首先在与由片数据层解码部135a解码的MB跳过运行信息对应的跳过宏块的集合跨越多个MB行存在的情况下,在MB行边界将MB跳过运行信息划分。这里,所在在MB行边界将MB跳过运行信息划分,是指将跨越多个MB行连续的多个跳过宏块的个数划分、生成分别表示各MB行的跳过宏块的个数的多个MB跳过运行信息。
即,在图13A所示的图片的情况下,跳过运行修正部137a将对应于跨越MB行L2~L3存在的8个跳过宏块的集合的MB跳过运行信息划分为对应于包含在MB行L2中的5个跳过宏块的集合的MB跳过运行信息、以及对应于包含在MB行L3中的3个跳过宏块的集合的MB跳过运行信息。同样,跳过运行修正部137a将对应于跨越MB行L5~L6存在的6个跳过宏块的集合的MB跳过运行信息划分为对应于包含在MB行L5中的2个跳过宏块的集合的MB跳过运行信息、以及对应于包含在MB行L6中的4个跳过宏块的集合的MB跳过运行信息。
接着,跳过运行修正部137a将划分后的MB跳过运行信息中的、对应于在各划分流中连续的跳过宏块的集合的多个MB跳过运行信息重新结合。这里,所谓多个MB跳过运行信息的重新结合,是指将多个MB跳过运行信息变换为表示该多个MB跳过运行信息分别表示的个数的总和的一个MB跳过运行信息。
在图13A所示的图片的情况下,与划分后的MB跳过运行信息对应的跳过宏块的集合中的、包含在MB行L2中的长度5的跳过宏块的集合以及包含在MB行L6中的长度4的跳过宏块的集合在第2划分流内连续。因此,跳过运行修正部137a将分别对应于这些两个跳过宏块的集合的两个MB跳过运行信息结合,变换为长度9的MB跳过运行信息。
最后,跳过运行修正部137a将这样得到的MB跳过运行信息再次编码,将编码后的MB跳过运行信息输出。
如以上说明,跳过运行修正部137a在将输入的MB跳过运行信息在MB行边界划分后,通过根据需要重新结合,能够对各划分流输出适当长度的MB跳过运行信息。
另外,这里跳过运行修正部137a不使在各划分流中连续的MB跳过运行信息为划分的原状、而根据需要重新结合,是因为在H.264/AVC规格中不允许连续存在多个MB跳过运行信息。即,在H.264/AVC规格中,由于不允许使用多个MB跳过运行信息表现连续的跳过宏块的个数,所以跳过运行修正部137a将该多个MB跳过运行信息结合。这样,通过跳过运行修正部137a以依据H.264/AVC规格的形式将MB跳过运行信息修正,以依据H.264/AVC规格的形式生成各划分流。结果,后段的解码引擎120能够不需要特别的处理而将划分流解码。
此外,在图13B所示的图片中,在MB行L2的末尾存在5个连续的跳过宏块,在MB行L6的开头存在3个连续的跳过宏块。因而,在包括这样的图片的编码流中,在MB行L2中编码有长度5的MB跳过运行信息,在MB行L6中编码有长度3的MB跳过运行信息。
在该图片的情况下,由于不存在表示跨越多个MB行连续的跳过宏块的个数的MB跳过运行信息,所以跳过运行修正部137a不需要在MB行边界将MB跳过运行信息划分。但是,在将该图片按照MB行划分、将这些MB行分配到不同的划分流的情况下,在第2划分流中连续存在长度5的MB跳过运行信息和长度3的MB跳过运行信息。
因而,如该例那样,在不存在表示跨越多个MB行连续的跳过宏块的个数的MB跳过运行信息的情况下,跳过运行修正部137a也进行将在各划分流中表示一个连续的跳过宏块的个数的多个MB跳过运行信息重新结合的处理。即,跳过运行修正部137a在第2划分流中,将长度5的MB跳过运行信息与长度3的MB跳过运行信息结合,变换为长度8的MB跳过运行信息。
跳过运行修正部137a将这样得到的MB跳过运行信息再次编码,将编码后的MB跳过运行信息输出。
图14是表示跳过运行修正部137a的结构的模块图。
跳过运行修正部137a具备跳过运行提取部160、跳过运行划分部161、跳过运行累积·保持部162、加法部163、以及跳过运行编码部164。
运行提取部160从由片数据层解码部输出的流中,检测及提取MB跳过运行信息。将提取出的MB跳过运行信息对跳过运行划分部161输出,将除此以外的信息原样对划分点检测部139a输出。
跳过运行划分部161根据MB跳过运行信息的长度和MB跳过运行信息所存在的宏块的位置信息,判断被输入的MB跳过运行信息是否表示跨越多个MB行连续的跳过宏块的个数。这里,在判断为表示跨越多个MB行连续的跳过宏块的个数的情况下,跳过运行划分部161将MB行边界作为划分点,将MB跳过运行信息划分。将划分后的MB跳过运行信息中的、表示跨越MB行边界后的跳过运行宏块的个数的MB跳过运行信息输出给加法部163,将表示没有越过MB行边界的跳过宏块的个数的MB跳过运行信息输出给跳过运行累积·保持部162。
另外,也有MB跳过运行信息表示跨越3个以上的MB行连续的跳过宏块的个数的情况。在此情况下,由于在连续的跳过宏块之间存在两个以上的MB行边界,所以跳过运行划分部161将各个MB行边界作为划分点而进行反复划分。此时,将划分后的MB跳过运行信息中的、表示越过了最后的MB行边界后的跳过宏块的个数的MB跳过运行信息输出给加法部163,将除此以外的MB跳过宏块信息输出给跳过运行累积·保持部162。
跳过运行累积·保持部162接受从跳过运行划分部161输出的被划分的MB跳过运行信息,按照划分流保持其值作为先行MB跳过运行信息。即,跳过运行累积·保持部162在接受到包含于第1划分流中的MB跳过运行信息的情况下作为第1划分流的先行MB跳过运行信息保持。此外,跳过运行累积·保持部162在接受到包含于第2划分流中的MB跳过运行信息的情况下,作为第2划分流的先行MB跳过运行信息保持。此外,跳过运行累积·保持部162在接受到包含于第3划分流中的MB跳过运行信息的情况下,作为第3划分流的先行MB跳过运行信息保持。此外,跳过运行累积·保持部162在接受到包含于第4划分流中的MB跳过运行信息的情况下,作为第4划分流的先行MB跳过运行信息保持。
此时,在已经在跳过运行累积·保持部162中保持有先行MB跳过运行信息的情况下,跳过运行累积·保持部162将从跳过运行划分部161接受到的MB跳过运行信息累积,按照划分流保持该值作为新的MB跳过运行信息。即,跳过运行累积·保持部162按照划分流,将从跳过运行划分部161接受到的MB跳过运行信息加到保持的先行MB跳过运行信息上。
加法部163从跳过运行划分部161接受MB跳过运行信息,并且将对应于包含有该MB跳过运行信息的划分流的、保持在跳过运行累积·保持部162中的先行MB跳过运行信息读出。并且,加法部163将从跳过运行划分部161接受到的MB跳过运行信息的值、与从跳过运行累积·保持部162读出的先行MB跳过运行信息的值相加,将其结果作为修正后的MB跳过运行信息,输出给跳过运行编码部164。通过该处理进行MB跳过运行信息的重新结合。
跳过运行编码部164通过将从加法部163输出的修正后的MB跳过运行信息重新编码而输出给划分点检测部139a,将修正后的MB跳过运行信息再次埋入到流中。
图15是表示跳过运行修正部137a的MB跳过运行信息的修正动作的流程图。
首先,跳过运行修正部137a判断处理中的流是否到达了片末端(步骤S200)。这是因为,由于MB跳过运行信息不表示跨越片边界连续的跳过宏块的个数,所以当到达了片末端时,需要将保持在跳过运行修正部137a的内部中的先行MB跳过运行信息全部输出。这里,如果判断为到达了片末端(步骤S200的是),则前进到步骤S224的处理。处理的详细情况在后面叙述。
另一方面,如果判断为没有到达片末端(步骤S200的否),则跳过运行修正部137a检查是否已获得了MB跳过运行信息“mb_skip_run”(步骤S202)。这里,在还没有获得MB跳过运行信息的情况下(步骤S202的否),跳过运行修正部137a回到处理的最初,再次继续读取流。
另一方面,在获得了MB跳过运行信息的情况下(步骤S202的是),跳过运行修正部137a根据包含有该MB跳过运行信息的宏块的地址信息计算图片内的宏块的位置(步骤S204)。这里,跳过运行修正部137a确定由所获得的MB跳过运行信息表示的连续的跳过宏块中的、开头的跳过宏块的位置。
跳过运行修正部137a如果在步骤S204中计算出宏块的位置,则通过根据该宏块的位置信息和MB跳过运行信息的长度,检查连续的跳过宏块是否到达MB行边界,判断是否需要将所获得的MB跳过运行信息划分(步骤S206)。
更具体地讲,在将开头的跳过宏块的水平位置及垂直位置分别表现为“mbposh”、“mbposv”、将图片的水平方向的总宏块数表现为“PicWidthInMbs”的情况下,当“mb_skip_run ≥PicWidthInMbs-mbposh”成立时,跳过运行修正部137a判断连续的跳过宏块到达MB行边界即可。
另外,这里表示了以MB行为单位将流划分的结构,但在以其他划分单位将流划分的情况下也同样,只要跳过运行修正部137a根据宏块的位置信息和MB跳过运行信息的长度判断连续的跳过宏块是否到达划分边界。
在判断为连续的跳过宏块到达MB行边界的情况下(步骤S206的是),跳过运行修正部137a为了将MB跳过运行信息划分而前进到步骤S216。详细情况在后面所述。
在判断为连续的跳过宏块没有到达MB行边界的情况下(步骤S206的否),跳过运行修正部137a判断该MB跳过运行信息是否位于MB行的开头(步骤S208)。即,跳过运行修正部137a对于该MB跳过运行信息,判断是否需要与先行MB跳过运行信息的结合。
在判断为该MB跳过运行信息位于MB行的开头的情况下(步骤S208的是),跳过运行修正部137a通过对MB跳过运行信息“mb_skip_run”加上先行MB跳过运行信息“prev_mb_skip_run”,进行MB跳过运行信息的重新结合(步骤S210)。另外,该MB跳过运行信息的重新结合处理需要对每个划分流独立地进行。即,先行MB跳过运行信息按照每个划分流保持在跳过运行修正部137a中,加上与包含有该MB跳过运行信息的MB行对应的、先行MB跳过运行信息。
在步骤S208中判断为该MB跳过运行信息不位于MB行的开头的情况下(步骤S208的否),或者在步骤S210中执行了MB跳过运行信息的结合之后,跳过运行修正部137a进行MB跳过运行信息的重新编码处理(步骤S212)。这是为了使划分流成为依据H.264/AVC规格的形式。
然后,跳过运行修正部137a将重新编码后的MB跳过运行信息输出给划分点检测部139a,结束处理(步骤S214)。
此外,在步骤S206中判断为连续的跳过宏块到达了MB行边界的情况下(步骤S206的是),跳过运行修正部137a将MB行边界作为划分点,将对应的MB跳过运行信息划分为前半部和后半部(步骤S216)。另外,在连续的跳过宏块到达了MB行边界但没有跨越MB行边界的情况下,后半部也可以是0。
进而,跳过运行修正部137a将划分后的MB跳过运行信息中的前半部作为先行MB跳过运行信息“prev_mb_skip_run”保持在内部。此时,在保持于跳过运行修正部137a中的先行MB跳过运行信息已经存在的情况下,跳过运行修正部137a将新产生的MB跳过运行信息的前半部的长度加上已保持的先行MB跳过运行信息的长度并保持(步骤S218)。另外,如上所述,将先行MB跳过运行信息作为与包含其自身的MB行对应的划分流的先行跳过运行信息,按照划分流独立地保持。
接着,跳过运行修正部137a在将划分后的MB跳过运行信息中的后半部设定为新的MB跳过运行信息之后(步骤S220),判断该长度是否是0(步骤S222)。
在步骤S222中判断新的MB跳过运行信息的长度是0的情况下(步骤S222的是),跳过运行修正部137a认为不再有要处理的MB跳过运行信息,结束处理。
在步骤S222中判断为新的MB跳过运行信息的长度不是0的情况下(步骤S222的是),跳过运行修正部137a认为还存在要处理的MB跳过运行信息,回到步骤S204,再次进行MB跳过运行信息的划分·重新结合及输出处理。通过这样跳过运行修正部137a反复进行MB跳过运行信息的划分·重新结合,对于跨越3MB行以上的MB跳过运行信息也正确地进行划分·重新结合处理。
另一方面,在步骤S200中判断为是片末端的情况下(步骤S200的是),为了将保持在跳过运行修正部137a中的先行MB跳过运行信息输出,而将先行MB跳过运行信息“prev_mb_skip_run”原样替换为MB跳过运行信息“mb_skip_run”(步骤S224)。然后,前进到步骤S212的处理,跳过运行修正部137a将替换后的MB跳过运行信息重新编码后,输出给划分点检测部139a并结束处理(步骤S212~S214)。另外,对所有的划分流进行该先行MB跳过运行信息的输出。
以上说明的处理由跳过运行修正部137a反复进行,直到流的结束。这样,在跳过运行修正部137a中,适当地进行MB跳过运行信息的划分·重新结合。
接着,对QP德尔塔修正部138a、138b的动作详细地说明。另外,在以后的说明中,在说明对QP德尔塔修正部138a、138b共通的功能及处理动作时,不将它们区别而总称作QP德尔塔修正部138。
QP德尔塔修正部138按照宏块来修正作为原则存在的QP变化量“mb_qp_delta”。所谓QP变化量,是为了将作为宏块的量化参数的QP值解码而包含在编码流中的代码字,表示对象宏块与在其之前处理的宏块的QP值的差分值。
QP值的解码通过下式(1)进行。
QPY=((QPY.PREV+mb_qp_delta+52+2*QpBdOffsetY)%(52+QpBdOffsetY))-QpBdOffsetY          ……(1)
这里,QPY表示处理对象宏块的亮度的QP值,QPY.PREV表示之前的宏块的亮度的QP值。另外,QpBdOffsetY是由构成图片的像素的位深度决定的值,在一般使用的8位深度的情况下,是QpBdOffsetY=0。在此情况下,上述式(1)可以如下式(2)这样改写。
QPY=(QPY.PREV+mb_qp_delta+52)%52       ……(2)
由式(2)可知,在像素的位深度是8的情况下,QP值使用QP变化量“mb_qp_delta”解码,以成为0~51的范围。另外,“mb_qp_delta”是能够取-26~+25的范围的值。
作为量化参数的QP值的解码在处理顺序上连续的宏块间有依赖关系,但在中途有片的边界的情况下,在那里依赖关系被消除。即,作为量化参数的QP值在片的开头通过片QP值初始化。在片的开头的宏块中,编码有该宏块的QP值与片QP值的差分值作为QP变化量。
图16A及图16B是用来说明QP变化量的修正处理的说明图。
如果着眼于图16A所示的图片中的宏块C,则本来在其之前进行处理的宏块是宏块B。因而,在宏块C中,编码有宏块B的QP值与宏块C的QP值的差分值作为QP变化量。
但是,如果这样的图片被按照MB行划分,而这些MB行被分配到不同的划分流,则在各个划分流中,MB行边界处的宏块的前后关系变化。
即,在流划分后,在包含有宏块C的第2划分流中,位于宏块C紧前的宏块为宏块A。因而,在此状态下解码引擎120将第2划分流解码的情况下,对于宏块A的QP值,反映了作为宏块B的QP值与宏块C的QP值的差分值的QP变化量,不能将宏块C的QP值正确地解码。即,表示跨越两个MB行的宏块间的变化量的QP变化量带来的该MB行间的依赖关系混乱了。
所以,QP德尔塔修正部138进行QP变化量的修正,以校正因将流划分而产生的宏块的前后关系的变化。即,在由于表示跨越两个MB行的宏块间的变化量的QP变化量而这两个MB行具有依赖关系的情况下,修正QP变化量,以使该依赖关系成为对应于各划分流中的MB行的前后关系的新的依赖关系。
作为QP变化量的修正方法,可以考虑在对所有的宏块进行QP值的解码(QP值的复原)后、基于流划分后的新的宏块的前后关系重新计算QP变化量的方法。但是,在该方法中,需要QP值解码和QP变化量计算的两个处理,QP德尔塔修正部138中的处理量变大。
所以,在本实施方式中,QP德尔塔修正部138通过按照每个划分流来累积没有对对象划分流分配的宏块的QP变化量,由此不将QP值解码而直接导出修正后的QP变化量。
这里,利用附图对通过QP变化量累积进行的修正QP变化量的导出进行说明。图17是用来说明QP变化量的累积的说明图。
在图中,横轴表示QP值,QP1~QP4表示连续的宏块中的QP值。此外,在图中表示了表示各自的QP值的差分值的“mb_qp_delta”。添加在“mb_qp_delta”的末尾的两位的数字的高位侧表示对应于先行的宏块的QP值的号码,低位侧表示对应于后续的宏块的QP值的号码。例如,“mb_qp_delta12”表示QP1与QP2的差分值。此外,如图所示,“mb_qp_delta”表示作为QP值的最小值的0和作为最大值的51连续相连的轴上的QP值的差分值。
在通常的QP值的解码处理中,可以根据QP1和“mb_qp_delta12”,使用式(2)求出QP2。此外,同样可以根据QP2和“mb_qp_delta23”求出QP3。此外,可以根据QP3和“mb_qp_delta34”求出QP4。
这里,如图所示,“mb_qp_delta12”、“mb_qp_delta23”、“mb_qp_delta34”所表示的QP变化量的合计等于表示QP1与QP4的差分值的“mb_qp_delta14”。即,可知为了求出不相邻的宏块间的QP变化量,只要将其之间的所有的QP变化量“mb_qp_delta”累积就可以。
另外,累积按照下式(3)进行。
acc_mb_qp_delta=(acc_mb_qp_delta+mb_qp_delta+52)%52……(3)
这里,“acc_mb_qp_delta”表示累积的“mb_qp_delta”。这样,通过以符合式(2)的形式累积“mb_qp_delta”,在图17所示的作为QP值的最小值的0和作为最大值的51连续相连的轴上,能够求出QP变化量的合计。
作为具体的例子,对图16A所示的图片中的宏块C的QP变化量的修正处理进行说明。如上所述,在流划分后的第2划分流中,由于位于宏块C紧前的宏块是宏块A,所以在宏块C中,需要包括宏块A的QP值与宏块C的QP值的差分值作为QP变化量。
所以,QP德尔塔修正部138将包含在MB行L3~L5中的所有的宏块的QP变化量和宏块C的QP变化量累积。通过这样将处于宏块A与宏块C之间的所有的宏块的QP变化量累积,能够求出作为宏块A的QP值与宏块C的QP值的差分值的修正QP变化量。
另外,这里求出的QP变化量因为通过式(3)导出,所以为表示0~51的范围的值。由于本来的QP变化量“mb_qp_delta”是取-26~+25的范围的值,所以QP德尔塔修正部138通过下式(4)修正,以使QP变化量“mb_qp_delta”成为-26~+25的范围。
在acc_mb_qp_delta>25的情况下:mb_qp_delta=acc_mb_qp_delta-52
在acc_mb_qp_delta≤25的情况下:mb_qp_delta=acc_mb_qp_delta
                                                 ……(4)
另外,由式(4)表示的处理既可以在如这里所示那样在对QP变化量“mb_qp_delta”的累积对象的所有的宏块累积后、最后仅通过1次进行,也可以对累积对象的所有的宏块按每一个宏块进行。
此外,这里着眼于宏块C进行了说明,但对所有的MB行的开头的宏块也进行同样的处理。例如,对于宏块C的下方向上相邻的宏块,通过累积MB行L4~L6的所有的宏块的QP变化量,对该宏块进行反映,由此导出修正后的QP变化量。这些处理按照每个划分流独立地进行。
最后,QP德尔塔修正部138将这样得到的修正QP变化量再次编码,将编码后的修正QP变化量对划分点检测部139输出。另外,QP德尔塔修正部138a以CAVLC方式进行编码,QP德尔塔修正部138b以CABAC方式进行编码。
如以上说明,QP德尔塔修正部138通过将输入的QP变化量修正以使其符合划分流中的宏块的前后关系,能够对各划分流设定适当的QP变化量。结果,后段的解码引擎120能够不需要特别的处理而将划分流解码。
此外,在图16B中,表示在MB行L4和L5的边界将片划分的情况的例子。在该例中,MB行L1~L4包含在片A中,MB行L5~L8包含在片B中。
此时,在第2划分流中,与图16A同样,宏块A和宏块C连续,但包含各个宏块的片不同,在宏块A与宏块C之间不再有依赖关系。在第2划分流中,由于宏块C为片B的开头的宏块,所以宏块C的QP变化量需要表示宏块C的QP值与片B的片QP值的差分值。
即,QP德尔塔修正部138通过对包含在宏块A到宏块C之间的宏块中的、包含在片B中的宏块进行QP变化量的累积,能够求出与片B的片QP值的差分值。但是,实际上片是否被划分,在片B的开头到达之前不能判断。
所以,QP德尔塔修正部138对包含在宏块A到宏块C之间的所有宏块进行QP变化量的累积,并且在片B的开头的宏块的处理开始时,将累积QP变化量“acc_mb_qp_delta”复位为0。通过这样,能够仅对包含在片B中的宏块进行QP变化量的累积,能够正确地求出宏块C的修正QP变化量。
将这样得到的修正QP变化量再次编码,将编码后的修正QP变化量对划分点检测部139输出。
图18是表示QP德尔塔修正部138的QP变化量的修正处理的流程图。
如果开始宏块的处理,则首先,QP德尔塔修正部138根据处理对象宏块的地址信息,计算图片内的宏块的位置(步骤S300)。
接着,QP德尔塔修正部138判断处理对象宏块是否是片的开头(步骤S302)。
在判断处理对象宏块是片的开头的情况下(步骤S302的是),将对应于所有的划分流的累积QP变化量“acc_mb_qp_delta”复位为0(步骤S304)。通过该处理,在中途片被划分的情况下,能够正确地导出与片QP值的QP变化量。另外,这里根据是否是片的开头的宏块来决定是否将累积QP变化量复位,但只要能够在片的开头将累积QP变化量复位就可以,所以也可以是在片头到来的时刻将累积QP变化量复位的结构。
在步骤S302中判断为处理对象宏块不是片的开头的情况下(步骤S302的否),或者在步骤S304中进行了累积QP变化量的复位后,QP德尔塔修正部138根据在步骤S300中求出的宏块的位置信息,判断处理对象宏块的划分流的输出目的地(步骤S306)。
在步骤S306中判断处理对象宏块的输出目的地是第1划分流的情况下,QP德尔塔修正部138对对应于第2、第3、第4划分流的累积QP变化量,将处理对象宏块的QP变化量按照式(3)累积(步骤S308)。
此外,在步骤S306中判断处理对象宏块的输出目的地是第2划分流的情况下,QP德尔塔修正部138对对应于第1、第3、第4划分流的累积QP变化量,将处理对象宏块的QP变化量按照式(3)累积(步骤S310)。
此外,在步骤S306中判断处理对象宏块的输出目的地是第3划分流的情况下,QP德尔塔修正部138对对应于第1、第2、第4划分流的累积QP变化量,将处理对象宏块的QP变化量按照式(3)累积(步骤S312)。
此外,在步骤S306中判断处理对象宏块的输出目的地是第4划分流的情况下,QP德尔塔修正部138对对应于第1、第2、第3划分流的累积QP变化量,将处理对象宏块的QP变化量按照式(3)累积(步骤S314)。
这样,在步骤S308~步骤S314中,进行对应于作为处理对象宏块的输出目的地的划分流以外的划分流的QP变化量的累积。这意味着在各划分流中,进行包含在没有分配到对象的划分流的3MB行中的宏块的QP变化量的累积。通过这样的处理,QP德尔塔修正部138能够将相对于没有分配到对象的划分流的3MB行在前后的宏块的QP值的差分值正确地校正。
在步骤S308、步骤S310、步骤S312、步骤S314中进行QP变化量的累积之后,QP德尔塔修正部138根据在步骤S300中求出的宏块的位置信息,确定处理对象宏块是否位于MB行的开头(步骤S316)。另外,这里表示了以MB行为单位划分流的结构,但在以其他划分单位划分流的情况下也同样,QP德尔塔修正部138只要根据宏块的位置信息判断处理对象宏块是否位于划分单位的开头就可以。
在判断为处理对象宏块位于MB行的开头的情况下(步骤S316的是),QP德尔塔修正部138对于与包含有处理对象宏块的划分流对应的累积QP变化量,将处理对象宏块的QP变化量按照式(3)累积。接着,QP德尔塔修正部138将得到的累积QP变化量按照式(4)修正以使其成为-26~+25的范围后,替换为处理对象宏块的QP变化量。进而,QP德尔塔修正部138将对应于包含有处理对象宏块的划分流的累积QP变化量复位为0(步骤S318)。这样,在步骤S318中,通过将累积的QP变化量反映到MB行开头的宏块的QP变化量中,进行QP变化量的修正。
在判断为处理对象宏块没有位于MB行的开头的情况下(步骤S316的否),或者在步骤S318中进行了处理对象宏块的QP变化量的修正之后,QP德尔塔修正部138进行处理对象宏块的QP变化量的重新编码处理(步骤S320)。这是为了使划分流成为依据H.264/AVC规格的形式。
然后,QP德尔塔修正部138将重新编码后的QP变化量输出给划分点检测部139,结束处理(步骤S322)。
以上,QP德尔塔修正部138在对MB行的开头宏块进行QP变化量的修正之后,对于MB行的开头以外的宏块原样进行QP变化量的重新编码-输出处理。
这样,在本实施方式的图像解码装置100中,将编码的图片划分为多个MB行(构成单位),将多个MB行分别作为划分流的一部分分配到N个解码引擎120并解码,所以能够使N个解码引擎120的解码处理的负担变得均匀,能够适当地执行解码的并行处理。例如,即使是H.264/AVC的编码图片由一个片构成的情况,也将该编码图片划分为多个MB行,所以能够使这一个片的解码不是由一个解码引擎120负担而是由N个解码引擎120均等地负担。
这里,如果将编码图片划分为多个MB行,则有时跨越多个MB行的片被划分为多个片部分(例如图3所示的各MB行L1~L6、及MB行L7中的开头6个宏块的集合等),这些片部分由被分配到相互不同的划分流。即,在一个划分流中没有包含编码图片的片的整体,而包含由作为该片的片断的片部分集合一个以上而构成的片部分群(例如包含在图3所示的第2划分流中的MB行L2、L6)。此外,在这样的片部分群(MB行L2、L6)中有时没有包含表示其开头的片头、及表示其末端的片末端信息。
进而,有由于包含在编码流中的规定的代码字而多个MB行具有依赖关系的情况。例如,在H.264/AVC中,有通过MB跳过运行信息“mb_skip_run”、或QP变化量“mb_qp_delta”而多个MB行相互具有依赖关系的情况。如果将这样的编码流划分为多个MB行而分配到相互不同的划分流,则不能正确地保持MB行间的依赖关系。
所以,在本实施方式中,流划分部130将该片部分群重新构成为新的片。结果,将包括该片部分群的划分流解码的解码引擎120不需要用来识别该片部分群而适当地解码的特别的处理,能够将片部分群作为新的片简单地识别并适当地解码。即,在本实施方式中,由于不需要设置对N个解码引擎120分别进行特别的处理的功能及结构,所以能够使图像解码装置100的整体结构变得简单。
此外,在本实施方式的图像解码装置中,与上述专利文献3的图像解码装置相比能够实现解码处理的高速化。具体而言,在上述专利文献3的图像解码装置中,不进行编码流的可变长度解码及解块过滤处理的并行化。即,在上述专利文献3的图像解码装置中,不将编码流适当地划分,换言之,将划分编码流而生成的数据没有构成为能够由以往的解码引擎解码的流。另一方面,在本实施方式的图像解码装置100中,由于将编码流适当地划分为多个划分流,所以解码引擎120分别如图33所示的解码引擎421那样,能够并行地执行可变长度解码及解块过滤处理。结果,在本实施方式的图像解码装置中,能够实现解码处理的高速化。
此外,在本实施方式中,与上述专利文献4的图像解码装置相比,具有能够沿用以往的解码引擎的优点。具体而言,在上述专利文献4的图像解码装置中,不将编码流划分而在编码流中在MB行的边界中插入有行头。因而,上述专利文献4的图像解码装置的多个解码引擎必须以行头为标记而从编码流中提取自己要处理的MB行。此时,如果保存有处理对象的MB行的位置已经确定,则这些解码引擎为了提取处理对象的MB行而需要对编码流不连续地访问,如果该位置没有确定,则需要从开头访问编码流,将不是处理对象的MB行跳读。另一方面,在本实施方式的图像解码装置100中,由于将编码流适当地划分为多个划分流,所以解码引擎120分别如图33所示的解码引擎421那样,能够将划分流作为通常的编码流处理并解码。这样,在本实施方式的图像解码装置中,能够沿用以往的解码引擎,能够起到在上述专利文献4的图像解码装置中不能得到的效果。
此外,这样的本实施方式的图像解码装置100根据输入到流划分部130中的上述模式信息,执行高析像度解码、高速解码、以及多通道解码中的某个。
图19A是用来说明高析像度解码的说明图。图19B是用来说明高速解码的说明图。图19C是用来说明多通道解码的说明图。
图像解码装置100的流划分部130如图19A所示,如果获得指示高析像度解码的执行的模式,则将4k2k的编码流如上述那样划分为4个划分流,使各解码引擎120将4个划分流分别解码。
例如,4个解码引擎120分别具有能够将HD的图像(1920×1088像素,60i)解码两个通道量的处理能力,所以图像解码装置100能够实时地处理4k2k的图像(3840×2160像素,60p)。
此外,图像解码装置100的流划分部130如图19B所示,如果获得指示高速解码的执行的模式信息,则将HD的编码流如上述那样划分为4个划分流,使各解码引擎120将4个划分流分别解码。
例如,4个解码引擎120分别具有能够将HD的图像(1920×1088像素,60i)解码两个通道量的处理能力,所以图像解码装置100能够将HD的图像以8倍速(4×2)处理。
此外,图像解码装置100的流划分部130如图19C所示,如果获得指示多通道解码的执行的模式信息,则不将多个HD的编码流划分,而使各解码引擎120将该多个编码流分别解码。另外,在该多通道解码的情况下,流划分部130不进行SPS、PPS及片等的各种NAL单元的复制及插入,而仅进行编码流(通道)向划分流缓冲器152的各区域的分配。
例如,4个解码引擎120分别具有将HD的图像(1920×1088像素,60i)解码两个通道量的处理能力,所以图像解码装置100能够将最大8通道、即8个HD的编码流同时解码。此外,在将最大通道数以下的通道(编码流)解码的情况下,能够降低解码引擎120的时钟频率而实现消耗电力的降低。例如,在将4个通道解码的情况下,使第1解码引擎120和第2解码引起120分别执行两个通道的解码,使其余的第3解码引擎120和第4解码引擎120停止。或者,使用第1解码引擎120~第4解码引擎120,将它们的时钟频率设为1/2.
这样,本实施方式的图像解码装置100由于能够根据模式信息将解码处理切换为高析像度解码、高速解码和多通道解码的任一个,所以能够提高用户的使用方便性。另外,图像解码装置100的高析像度解码及高速解码分别是将编码流划分为4个划分流而将它们并行解码的处理,是相同的处理。即,在高析像度解码和高速解码中,只有解码对象的编码流的析像度·帧率(4k2k或HD)不同。因而,图像解码装置100根据模式信息,将解码处理切换为高析像度解码或高速解码、多通道解码,再根据编码流的析像度·帧率将解码处理切换为高析像度解码和高速解码。
(实施方式2)
接着,对本发明的实施方式2详细地说明。
实施方式1的图像解码装置100通过将MB跳过运行信息及QP变化量修正,将在划分前的编码流中连续的MB行间的依赖关系修正为对应于各划分流中的MB行的前后关系的依赖关系。
这里,有时在编码流中包括不包含QP变化量的宏块。不包含QP变化量的宏块相当于没有量化的宏块。具体而言,H.264/AVC规格中的、不包含QP变化量的宏块例如是(1)跳过宏块、(2)非压缩的宏块(I_PCM)、或者(3)内部预测的预测模式不是“Intra16×16”、并且“coded_block_pattern”是0(非0系数一个都不包括)的宏块。
在这样的不包含QP变化量的宏块存在于MB行的开头的情况下,实施方式1的图像解码装置100由于不存在作为修正对象的QP变化量,所以不能修正QP变化量。
所以,实施方式2的图像解码装置200的一个特征是,在从MB行的开头包含有不包含QP变化量的宏块的编码流生成多个划分流时,将QP变化量插入到包含该宏块的划分流中。由此,图像解码装置200能够适当地设定基于各划分流中的新的前后关系的QP变化量。
这里,在划分流中插入了QP变化量的情况下,由于在MB行间存在QP变化量,所以不能使用一个MB跳过运行信息表示跨越MB行连续的跳过宏块的个数。所以,实施方式2的图像解码装置200的另一个特征是,不进行MB跳过运行信息的重新结合处理。
以下,利用附图对本实施方式的图像解码装置200进行说明。
图20是表示本发明的实施方式2的图像解码装置的结构的模块图。另外,在图20中,对于与图1同样的结构要素赋予相同的标号而省略说明。
如图20所示,图像解码装置200具备解码器210和存储器150。
解码器210与解码器110同样,通过将保存在存储器150的流缓冲器151中的编码流读出并解码而生成解码图像数据,将该解码图像数据保存到存储器150的帧存储器153中。此外,该解码器210具备流划分部230、以及N个解码引擎(第1解码引擎~第N解码引擎)220。
流划分部230除了MB跳过运行信息的修正处理及Qp变化量的修正处理以外,执行与流划分部130同样的处理。流划分部230的详细情况使用图21在后面叙述。
N个解码引擎220相当于将N个划分流分别并行解码的N个解码部。N个解码引擎220除了使用由流划分部230插入到划分流中的累积QP变化量计算QP值这一点以外,执行与N个解码引擎120同样的处理。
接着,对流划分部230的结构及动作详细地说明。
图21是表示流划分部230的结构的模块图。
流划分部230在代替跳过运行修正部137a及QP德尔塔修正部138a、138b而具备跳过运行修正部237a及QP德尔塔插入部238a、238b这一点与图7所示的流划分部130不同。
跳过运行修正部237a与跳过运行修正部137a同样,在MB跳过运行信息表示跨越对相互不同的划分流分配的至少两个MB行而连续的宏块的个数的情况下,将MB跳过运行信息划分,以使其表示各MB行的块的个数。
但是,跳过运行修正部237a与跳过运行修正部137a不同,在各划分流中,不将多个MB跳过运行信息结合为一个MB跳过运行信息。
QP德尔塔插入部238a、238b与QP德尔塔修正部138a、138b同样,在QP变化量表示跨越两个MB行的宏块间的变化量的情况下,计算基于各划分流中的宏块的新的前后关系的QP变化量。
但是,QP德尔塔插入部238a、238b将计算出的QP变化量作为新的QP变化量输出给划分点检测部139。由此,在各划分流中,插入(设定)新的QP变化量。即,QP德尔塔插入部238a、238b不修正包含在各宏块中的QP变化量。
划分点检测部139a在划分流的各自中包含从跳过运行修正部237a获得的MB跳过运行信息、以及从QP德尔塔插入部238a获得的累积QP变化量。
划分点检测部139b在划分流的各自中包含从QP德尔塔插入部238b获得的累积QP变化量。
接着,以与跳过运行修正部137a及QP德尔塔修正部138a、138b的动作不同的点为中心,对跳过运行修正部237a及QP德尔塔插入部238a、238b的动作详细地说明。
另外,在以后的说明中,当说明关于QP德尔塔插入部238a、238b共通的功能及处理动作时,不将它们区别而总称作QP德尔塔插入部238。
图22是用来说明MB跳过运行信息的修正处理及QP变化量的插入处理的说明图。
在图22所示的图片中,在MB行L2的末尾存在5个、在MB行L3的开头存在3个、在MB行L5的末尾存在两个、在MB行L6的开头存在4个连续的跳过宏块。
此外,如上所述,在跳过宏块中不包含QP变化量。因而,在宏块C中,编码有宏块B的QP值与宏块C的QP值的差分值作为QP变化量。
但是,如果将这样的图片按照MB行划分、将这些MB行分配到不同的划分流,则在各自的划分流中,MB行边界上的宏块的前后关系变化。
即,在流划分后,在包含宏块C的第2划分流中,位于宏块C紧前的、包含QP变化量的宏块为宏块A。因而,在此状态下解码引擎220将第2划分流解码的情况下,对于宏块A的QP值,反映了作为宏块B的QP值与宏块C的QP值的差分值的QP变化量,不能将宏块C的QP值正确地解码。
所以,QP德尔塔插入部238将用来向MB行插入的新的QP变化量输出给划分点检测部139,以校正通过将流划分而发生的宏块的前后关系的变化。即,QP德尔塔插入部238通过QP变化量表示跨越两个MB行的块间的QP值的差分值,由此在这两个MB行具有依赖关系的情况下,将用来插入到MB行的开头中的新的QP变化量输出给划分点检测部139,以使其将该依赖关系割断。
另外,在本实施方式中,在MB行的开头插入了QP变化量,但并不一定需要在MB行的开头插入QP变化量。例如,也可以在MB行的开头的宏块内等的其他地方中插入QP变化量。
作为用来插入到MB行的开头中的QP变化量的计算方法,与实施方式1同样,可以考虑通过对所有的宏块复原QP值而计算QP变化量的方法、以及通过将没有分配到对象划分流的宏块的QP变化量累积而计算QP变化量的方法。在本实施方式中,对后者的计算方法进行说明。
QP德尔塔插入部238计算将包含在MB行L3~L5中的、包括QP变化量的所有的宏块的QP变化量累积的累积QP变化量。并且,QP德尔塔插入部238将计算出的累积QP变化量再次编码,将编码后的累积QP变化量作为新的QP变化量输出给划分点检测部130。结果,如图22所示,累积QP变化量被插入到MB行L6的开头。即,在第2划分流中,设定累积QP变化量、以及原本包含在宏块C中的QP变化量。另外,累积QP变化量的详细的计算方法与实施方式1是同样的,所以省略说明。
另外,这里着眼于MB行L6而进行了说明,但QP德尔塔插入部238对于其他行,也为了将累积QP变化量插入到MB行的开头而将编码后的累积QP变化量输出给划分点检测部139。例如,QP德尔塔插入部238作为用来插入到MB行L7的开头中的累积QP变化量,计算将包含在MB行L4~L6中的、包括QP变化量的所有的宏块的QP变化量累积后的累积QP变化量。并且,QP德尔塔插入部238将计算出的累积QP变化量编码,将编码后的累积QP变化量输出给划分点检测部139。这些处理按照每个划分流独立地进行。
这样,在本实施方式中,由于累积QP变化量被插入在MB行的开头,所以跳过宏块没有跨越MB行连续。即,跳过运行修正部237a与实施方式1的跳过运行修正部137a不同,不进行MB跳过运行信息的结合处理。
例如,在图22所示的图片的情况下,跳过运行修正部237a与跳过运行修正部137a同样,将对应于跨越MB行L2~L3存在的8个跳过宏块的MB跳过运行信息划分为对应于包含在MB行L2中的5个跳过宏块的MB跳过运行信息、以及对应于包含在MB行L3中的3个跳过宏块的MB跳过运行信息。同样,跳过运行修正部237a将对应于跨域MB行L5~L6存在的6个跳过宏块的MB跳过运行信息划分为对应于包含在MB行L5中的两个跳过宏块的MB跳过运行信息、以及对应于包含在MB行L6中的4个跳过宏块的MB跳过运行信息。
这里,在包含于MB行L2中的5个连续的跳过宏块、与包含在MB行L6中的4个连续的跳过宏块之间,如上述那样插入累积QP变化量作为新的QP变化量。所以,跳过运行修正部237a不将对应于包含在MB行L2中的5个连续的跳过宏块的MB跳过运行信息、与对应于包含在MB行L6中的4个连续的跳过宏块的MB跳过运行信息重新结合。
另外,跳过运行修正部237a与跳过运行修正部137a同样,将这样得到的MB跳过运行信息再次编码,将编码后的MB跳过运行信息输出。
图23是表示跳过运行修正部237a的结构的模块图。另外,在图23中,对于与图14同样的结构要素赋予相同的标号而省略详细的说明。
跳过运行修正部237a具备跳过运行提取部160、跳过运行划分部161、以及跳过运行编码部164。即,跳过运行修正部237a与从实施方式1的跳过运行修正部137a除去了跳过运行累积·保持部162和加法部163的结构是同样的。另外,跳过运行划分部161将划分后的MB跳过运行信息输出给跳过运行编码部164。
图24是表示跳过运行修正部237a的MB跳过运行信息的修正动作的流程图。另外,在图24中,对于进行与图15同样的处理的步骤赋予相同的标号而省略说明。
首先,跳过运行修正部237a检查是否已获得了MB跳过运行信息“mb_skip_run”(步骤S202)。即,跳过运行修正部237a不判别处理的流是否到达了片末端。这是因为,如后所述,跳过运行修正部237a在内部中没有保持先行MB跳过运行信息,所以不需要到达了片末端时的先行MB跳过运行信息的输出处理。
这里,在还没有获得MB跳过运行信息的情况下(步骤S202的否),跳过运行修正部237a回到处理的最初而再次继续读取流。
另一方面,在获得了MB跳过运行信息的情况下(步骤S202的是),跳过运行修正部237a与实施方式1同样,根据包含有该MB跳过运行信息的宏块的地址信息,计算图片内的宏块的位置(步骤S204)。
接着,跳过运行修正部237a与实施方式1同样,判断是否需要将所获得的MB跳过运行信息划分(步骤S206)。
这里,在判断为连续的跳过宏块到达MB行边界的情况下(步骤S206的是),跳过运行修正部237a为了将MB跳过运行信息划分而前进到步骤S216。详细情况在后面叙述。
另一方面,在判断为连续的跳过宏块没有到达MB行边界的情况下(步骤S206的否),跳过运行修正部237a进行MB跳过运行信息的重新编码处理(步骤S212)。这里,不执行图15所示的步骤S208及步骤S210的处理是因为,本实施方式的跳过运行修正部237a不将MB跳过运行信息重新结合。
然后,跳过运行修正部237a将重新编码后的MB跳过运行信息输出给划分点检测部139a,结束处理(步骤S214)。
此外,在步骤S206中判断为连续的跳过宏块到达MB行边界的情况下(步骤S206的是),跳过运行修正部237a与实施方式1同样,将MB行边界作为划分点,将该MB跳过运行信息划分为前半部和后半部(步骤S216)。
进而,跳过运行修正部237a将划分后的MB跳过运行信息中的前半部作为MB跳过运行信息重新编码(步骤S250)。然后,跳过运行修正部237a将重新编码后的MB跳过运行信息输出给划分点检测部139a(步骤S252)。即,在本实施方式中,由于不需要将MB跳过运行信息重新结合,所以不像实施方式1那样将先行MB跳过运行信息保持在内部中。
接着,跳过运行修正部237a与实施方式1同样,将划分后的MB跳过运行信息中的后半部设定为新的MB跳过运行信息之后(步骤S220),判断其长度是否是0(步骤S222)。
在步骤S222中判断为新的MB跳过运行信息的长度是0的情况下(步骤S222的是),跳过运行修正部237a认为不再有要处理的MB跳过运行信息,结束处理。
在步骤S222中判断为新的MB跳过运行信息的长度不是0的情况下(步骤S222的是),跳过运行修正部137a认为还存在要处理的MB跳过运行信息,回到步骤S204,再次进行MB跳过运行信息的划分及输出处理。
将以上说明的处理在跳过运行修正部237a中反复进行直到流的结束。这样,在跳过运行修正部237a中,适当地进行MB跳过运行信息的划分。
图25是表示QP德尔塔插入部238的累积QP变化量的插入处理的流程图。另外,在图25中,对于进行与图18同样的处理的步骤赋予相同的标号而省略详细的说明。
如果开始宏块的处理,则QP德尔塔插入部238与实施方式1同样,执行步骤S300~步骤S316之前的处理。
并且,在判断为处理对象宏块位于MB行的开头的情况下(步骤S316的是),QP德尔塔插入部238将与被分配了处理对象宏块的划分流对应的累积QP变化量编码,输出给划分点检测部139(步骤S352)。即,QP德尔塔插入部238在输出MB信息之前输出累积QP变化量。
接着,QP德尔塔插入部238将对应于包含有处理对象宏块的划分流的累积QP变化量复位为0(步骤S354)。接着,QP德尔塔插入部238将MB信息输出给划分点检测部139,结束处理(步骤S356)。即,QP德尔塔插入部238在MB信息中包含有QP变化量的情况下,将QP变化量不修正而原样输出。
另一方面,在判断为处理对象宏块没有位于MB行的开头的情况下(步骤S316的否),QP德尔塔插入部238将MB信息输出给划分点检测部139,结束处理(步骤S350)。即,QP德尔塔插入部238在MB信息中包含有QP变化量的情况下,不修正该QP变化量而输出MB信息。
以上,QP德尔塔插入部238为了插入到MB行的开头而将累积的新的QP变化量(累积QP变化量)、以及包含在编码流中的QP变化量输出给划分点检测部139。
这样,在本实施方式的图像解码装置200中,与实施方式1的图像解码装置100同样,能够使N个解码引擎220的解码处理的负担变得均等,能够适当地执行解码的并行处理。
特别是,如果是位于MB行的开头的宏块不包含QP变化量的情况,本实施方式的图像解码装置200也通过将新的QP变化量插入到MB行中,在并行进行解码处理时能够得到正确的QP值。
此外,这样的本实施方式的图像解码装置200与实施方式1的图像解码装置100同样,根据输入到流划分部230中的模式信息,执行图19A~图19C所示的高析像度解码、高速解码、以及多通道解码中的某个。
由此,本实施方式的图像解码装置200能够根据模式信息将解码处理切换为高析像度解码、高速解码和多通道解码的某个,所以能够提高用户的使用方便性。
接着,对有关上述实施方式1及2的图像解码装置的应用例进行说明。
图26是表示有关上述实施方式1及2的图像解码装置的应用例的图。
例如,有关上述实施方式1及2的图像解码装置如图26所示,装备在接收广播波而将包含在该广播波中的编码流再生的再生装置101中。再现装置101具备接收BS数字广播的广播波的天线101a和装置主体101b,装置主体101b具备上述图像解码装置。
装备在装置主体101b中的图像解码装置从由天线101a接收到的广播波中提取例如4k2k的编码流。并且,该图像解码装置如上述那样将提取出的编码流划分而生成N个划分流,将N个划分流并行地解码。
以上,利用实施方式对有关本发明的图像解码装置及图像解码方法进行了说明,但本发明并不限于这些。只要不脱离本发明的主旨,将本领域的技术人员想到的各种变形实施到上述实施方式中、或者将不同的实施方式中的结构要素组合而构建的形态也包含在本发明的范围内。
例如,在上述实施方式中,图像解码装置100、200具备划分流缓冲器152等,但也可以不具备这些。
图27是表示有关本发明的实施方式的图像解码装置的最小结构的模块图。
图像解码装置10具有用来实现本发明的最小结构,具备获得部11、流划分部12、以及N个解码部13。
获得部11相当于流缓冲器151或用来从流缓冲器151向图像解码装置10取入编码流的获得装置(或者单纯的获得口),获得将图像数据编码后的编码流。流划分部12相当于流划分部130、230。即,流划分部12按照包含在由获得部11获得的编码流中的编码图片,将该编码图片划分为多个构成单位,通过将多个构成单位分别分配到作为生成对象的N个(N是2以上的整数)的划分流中的某一个划分流的一部分,生成N个划分流。N个解码部13相当于解码引擎120、220,将由流划分部12生成的N个划分流分别并行地解码。此外,流划分部12在生成N个划分流时,当将包含在编码图片中的片划分为多个片部分而分配到多个划分流时,按照划分流将片部分群重新构成为新的片,以使上述片部分群被N个解码部13的某个识别为片,上述片部分群是由对该划分流分配的至少一个片部分构成的。
由此,编码图片例如被划分为多个宏块行等构成单位,多个宏块行分别被作为划分流的一部分分配到N个解码部解码,所以能够使N个解码部的解码部处理的负担变得均等,能够适当地执行解码的并行处理。例如,如果是H.264/AVC的编码图片由一个片构成的情况,也由于该编码图片被划分为多个宏块行,所以能够使该一个片的解码不是由一个解码部负担、而由N个解码部均等地负担。
这里,如果编码图片被划分为多个宏块行,则有跨越多个宏块行的片被划分为多个片部分、这些片部分被分配到不同的划分流的情况。即,在一个划分流中没有包含编码图片的片的整体,而包含作为该片的片断的片部分集合一个以上而构成的片部分群。此外,有在这样的片部分群中不包含表示其开头的头、及表示其末端的末端信息的情况。此外,有多个片部分中的、在编码流中连续的至少两个片部分具有包含在编码流中的规定的代码字带来的依赖关系的情况。
所以,在上述实施方式中,由于将该片部分群构成为新的片,所以将包括该片部分群的划分流解码的解码部13不需要用来识别该片部分群并适当地解码的特别的处理,而能够将片部分群简单地识别为新的片并适当地解码。即,在上述实施方式中,由于不需要在N个解码部13的各自中设置进行特别的处理的功能及结构,所以能够在将划分流解码的解码部中沿用以往方式的解码电路,能够使图像解码装置的整体结构变得简单。
因而,图像解码装置10不需要上述实施方式中的划分流缓冲器152等,即使没有它们也能够起到上述本发明特有的作用效果、达到上述目的。
例如,在上述实施方式中,将一个MB行作为一个构成单位处理,将图片划分为多个构成单位,但该构成单位并不限于一个MB行,也可以是2个MB行、3个MB行,也可以是沿图片的垂直方向排列为一列的多个宏块。例如,也可以在图片由MBAFF构成的情况下,将2个MB行作为构成单位处理,在图片不由MBAFF构成的情况下,将一个MB行作为构成单位处理。
此外,在上述实施方式中,流划分部将复制片头插入到划分流中,解码引擎将插入了该复制片头的划分流读出并解码。但是,也可以是流划分部不将复制片头插入到划分流中而将该复制片头直接输出给解码引擎。例如,流划分部判断在紧靠读入到解码引擎中的划分流中的MB行之前是否应存在复制片头,在判断为应存在时,在由解码引擎将该MB行读入之前,将该复制片头输出给解码引擎。这里,流划分部也可以不将复制片头自身输出给解码引擎、而仅将包含在复制片头中的一部分信息输出给解码引擎。
此外,在上述实施方式中,流划分部执行QP变化量的修正及QP变化量的插入的某一个操作,但也可以执行两者。在此情况下,流划分部只要例如判断MB行的开头宏块是否包含有QP变化量就可以。这里,在MB行的开头宏块包含有QP变化量的情况下,流划分部只要进行该宏块的QP变化量的替换等就可以(图18的步骤S318~S322)。另一方面,在MB行的开头的宏块不包含QP变化量的情况下,流划分部只要进行累积QP变化量的输出等就可以(图25的步骤S352~S356)。
进而,在流划分部执行QP变化量的修正及QP变化量的插入两者的情况下,优选的是,跳过运行修正部例如在MB跳过运行信息位于MB行的开头时,判断在该MB行的开头是否插入QP变化量。这里,在MB行的开头没有插入QP变化量的情况下,跳过运行修正部只要对MB跳过运行信息加上先行MB跳过运行信息就可以(图15的S210)。另一方面,在MB行的开头插入QP变化量的情况下,只要将先行MB跳过运行信息和MB跳过运行信息分别作为MB跳过运行信息输出就可以。
此外,在上述实施方式中,对第1代码字是MB跳过运行信息的情况进行了说明,但第1代码字并不一定需要是MB跳过运行信息。例如,第1代码字只要是表示与跳过宏块不同种类的宏块连续的代码字就可以。
此外,在上述实施方式中,对第2代码字是QP变化量的情况进行了说明,但第2代码字并不一定需要是QP变化量。例如,第2代码字也可以是表示与QP变化量不同的、表示宏块间的编码系数的变化量的代码字就可以。
另外,模块图(图1、图7、图9、图14、图20、图21及图23等)的各功能模块典型地作为是集成电路的LSI(大规模集成电路:Large ScaleIntegration)实现。它们既可以单独地单芯片化,也可以包含一部分或全部而单芯片化。例如,也可以将图1的用解码器110表示的部分(包括流划分部130、第1解码引擎~第N解码引擎120的部分)包含在一个芯片中。
这里,设为LSI,但根据集成度的差异,也有称作IC(集成电路:IntegratedCircuit)、系统LSI、超级LSI、超大规模LSI的情况。
此外,集成电路化的方法并不限于LSI,也可以由专用电路或通用处理器实现。也可以使用在LSI制造后能够编程的FPGA(场可编程门阵列:FieldProgrammable Gate Array)、或能够重新构成LSI内部的电路单元的连接及设定的可重构处理器。
进而,如果因半导体技术的进步或派生的其他技术而出现代替LSI的集成电路化的技术,则当然也可以使用该技术进行功能块的集成化。有可能是生物技术的应用等。
工业实用性
本发明的图像解码装置起到能够以简单的结构适当地执行解码的并行处理的效果,例如作为将4k2k的编码流解码的再现装置等具有实用性。
符号说明
10、100、200  图像解码装置
11  获得部
12、130、230  流划分部
13  解码部
110、210  解码器
120、220  第1~第N解码引擎(解码引擎)
131  开始代码检测部
132a EPB  除去部
132b EPB  插入部
133  片头插入部
133a NAL类型判断部
133b  头插入计数器
133c  头地址更新部
133d  头缓冲器
134、134a、134b  片数据处理部
135a、135b  片数据层解码部
136a、136b  宏块层解码部
137a、237a  跳过运行修正部
138、138a、138b  QP德尔塔修正部
139、139a、139b  划分点检测部
150  存储器
151  流缓冲器
152  划分流缓冲器
153  帧存储器
160  跳过运行提取部
161  跳过运行划分部
162  跳过运行累积·保持部
163  加法部
164  跳过运行编码部
238、238a、238b  QP德尔塔插入部
权利要求书(按照条约第19条的修改)
1.一种图像解码装置,对编码图像数据而得到的编码流进行解码,具备:
获得部,获得编码流;
流划分部,按由上述获得部获得的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将上述多个构成单位的每一个分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流,其中N为2以上的整数;以及
N个解码部,对由上述流划分部生成的N个划分流的每一个并行进行解码;
上述流划分部,
在生成上述N个划分流的情况下,在上述编码图片中包含的片被划分为多个片部分而被分配到多个划分流时,按每个上述划分流,将片部分群重新构成为新的片,以使上述片部分群被上述N个解码部的任一个识别为片,上述片部分群是由被分配到该划分流的至少一个片部分构成的,
在上述多个片部分之中的、在上述编码流中连续的至少两个片部分具有基于上述编码流中包含的规定的代码字的依赖关系时,通过在上述多个划分流之中的至少一个划分流中设定代码字,以使上述依赖关系成为与各划分流中的片部分的前后关系相应的新的依赖关系,从而将上述片部分群重新构成为新的片。
2.如权利要求1所述的图像解码装置,其中,
上述编码图片是按规定的像素数的块来编码的图片;
上述规定的代码字是表示在上述编码图片中包含的片内连续的指定种类的块的个数的第1代码字;
在上述编码流中包含的第1代码字表示在上述编码流中跨连续的至少两个片部分而连续的块的个数,从而上述至少两个片部分具有依赖关系时,上述流划分部将修正为表示每个片部分的块的个数的上述第1代码字,设定在被分别分配了上述至少两个连续的片部分的至少两个划分流中,从而将上述片部分群重新构成为新的片。
3.如权利要求2所述的图像解码装置,其中,
在各划分流中,与设定的多个第1代码字对应的多个块在该划分流内连续时,上述流划分部还将上述多个第1代码字,变换为表示上述多个第1代码字的每一个所表示的个数的总和的一个代码字,从而将上述片部分群重新构成为新的片。
4.如权利要求1所述的图像解码装置,其中,
上述编码图片是按规定的像素数的块来编码的图片;
上述规定的代码字是表示上述编码图片中包含的片内的块间的编码系数的变化量的第2代码字;
在上述编码流中包含的第2代码字表示在编码流中跨连续的两个片部分的块间的变化量,从而上述两个片部分具有依赖关系时,上述流划分部计算基于上述划分流中的块的新的前后关系的编码系数的变化量,将基于计算出的变化量的代码字设定在被分别分配了上述两个片部分的两个划分流中的一个中,从而将上述片部分群重新构成为新的片。
5.如权利要求4所述的图像解码装置,其中,
上述流划分部将修正为计算出的变化量的上述第2代码字设定在上述划分流中。
6.如权利要求4所述的图像解码装置,其中,
上述流划分部将表示计算出的变化量的新的代码字和上述第2代码字设定在上述划分流中。
7.如权利要求4所述的图像解码装置,其中,
上述流划分部使用上述编码流中包含的第2代码字来将每个块的编码系数复原,利用复原的编码系数,计算基于各划分流中的块的新的前后关系的编码系数的变化量。
8.如权利要求4所述的图像解码装置,其中,
上述流划分部按每个上述划分流,将该划分流以外的划分流中包含的第2代码字所表示的变化量累积,利用累积的变化量,计算基于各划分流中的块的新的前后关系的编码系数的变化量。
9.如权利要求8所述的图像解码装置,其中,
上述流划分部在将第2代码字所表示的变化量累积时,在片边界,将累积的变化量复位为0。
10.(修改后)如权利要求1~9中任一项所述的图像解码装置,其中,
上述N个解码部包括第1解码部及第2解码部;
在上述第1解码部将上述N个划分流之中的被分配到该第1解码部的划分流中包含的第1片部分解码,上述第2解码部将上述N个划分流中的被分配到该第2解码部的划分流中包含的第2片部分解码的情况下,且在上述第1片部分及第2片部分在上述编码图片内相互相邻的情况下,
在上述第2解码部所进行的上述第2片部分的解码开始之前,上述第1解码部开始上述第1片部分的解码,
上述第2解码部从上述第1解码部获得通过上述第1解码部所进行的上述第1片部分的解码而生成的相邻信息,利用上述相邻信息将上述第2片部分解码,或不使用上述相邻信息而将上述第2片部分解码。
11.(修改后)一种图像解码方法,对编码图像数据而得到的编码流进行解码,其中,
获得编码流;
按获得的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将上述多个构成单位的每一个分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流,其中N是2以上的整数;
对生成的N个划分流的每一个并行进行解码;
在生成上述N个划分流时,
在上述编码图片中包含的片被划分为多个片部分而被分配到多个划分流时,按每个上述划分流,将片部分群重新构成为新的片,以使上述片部分群被上述N个解码部的任一个识别为片,上述片部分群是由被分配到该划分流的至少一个片部分构成的,
当上述多个片部分之中的、在上述编码流中连续的至少两个片部分具有基于上述编码流中包含的规定的代码字的依赖关系时,通过在上述多个划分流之中的至少一个划分流中设定代码字,以使上述依赖关系成为与各划分流中的片部分的前后关系相应的新的依赖关系,从而将上述片部分群重新构成为新的片。
12.(修改后)一种程序,用来对编码图像数据而得到的编码流进行解码,使计算机执行:
获得编码流;
按获得的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将上述多个构成单位的每一个分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流,其中N是2以上的整数;
对生成的N个划分流的每一个并行进行解码;
在生成上述N个划分流时,
在上述编码图片中包含的片被划分为多个片部分而被分配到多个划分流时,按每个上述划分流,将片部分群重新构成为新的片,以使上述片部分群被上述N个解码部的任一个识别为片,上述片部分群是由被分配到该划分流的至少一个片部分构成的,
当上述多个片部分之中的、在上述编码流中连续的至少两个片部分具有基于上述编码流中包含的规定的代码字的依赖关系时,通过在上述多个划分流之中的至少一个划分流中设定代码字,以使上述依赖关系成为与各划分流中的片部分的前后关系相应的新的依赖关系,从而将上述片部分群重新构成为新的片。
13.(追加)一种集成电路,对编码图像数据而得到的编码流进行解码,具备:
获得部,获得编码流;
流划分部,按由上述获得部获得的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将上述多个构成单位的每一个分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流,其中N为2以上的整数;以及
N个解码部,对由上述流划分部生成的N个划分流的每一个并行进行解码;
上述流划分部,
在生成上述N个划分流的情况下,在上述编码图片中包含的片被划分为多个片部分而被分配到多个划分流时,按每个上述划分流,将片部分群重新构成为新的片,以使上述片部分群被上述N个解码部的任一个识别为片,上述片部分群是由被分配到该划分流的至少一个片部分构成的,
在上述多个片部分之中的、在上述编码流中连续的至少两个片部分具有基于上述编码流中包含的规定的代码字的依赖关系时,通过在上述多个划分流之中的至少一个划分流中设定代码字,以使上述依赖关系成为与各划分流中的片部分的前后关系相应的新的依赖关系,从而将上述片部分群重新构成为新的片。

Claims (12)

1.一种图像解码装置,对编码图像数据而得到的编码流进行解码,具备:
获得部,获得编码流;
流划分部,按由上述获得部获得的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将上述多个构成单位的每一个分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流,其中N为2以上的整数;以及
N个解码部,对由上述流划分部生成的N个划分流的每一个并行进行解码;
上述流划分部,
在生成上述N个划分流的情况下,在上述编码图片中包含的片被划分为多个片部分而被分配到多个划分流时,按每个上述划分流,将片部分群重新构成为新的片,以使上述片部分群被上述N个解码部的任一个识别为片,上述片部分群是由被分配到该划分流的至少一个片部分构成的,
在上述多个片部分之中的、在上述编码流中连续的至少两个片部分具有基于上述编码流中包含的规定的代码字的依赖关系时,通过在上述多个划分流之中的至少一个划分流中设定代码字,以使上述依赖关系成为与各划分流中的片部分的前后关系相应的新的依赖关系,从而将上述片部分群重新构成为新的片。
2.如权利要求1所述的图像解码装置,其中,
上述编码图片是按规定的像素数的块来编码的图片;
上述规定的代码字是表示在上述编码图片中包含的片内连续的指定种类的块的个数的第1代码字;
在上述编码流中包含的第1代码字表示在上述编码流中跨连续的至少两个片部分而连续的块的个数,从而上述至少两个片部分具有依赖关系时,上述流划分部将修正为表示每个片部分的块的个数的上述第1代码字,设定在被分别分配了上述至少两个连续的片部分的至少两个划分流中,从而将上述片部分群重新构成为新的片。
3.如权利要求2所述的图像解码装置,其中,
在各划分流中,与设定的多个第1代码字对应的多个块在该划分流内连续时,上述流划分部还将上述多个第1代码字,变换为表示上述多个第1代码字的每一个所表示的个数的总和的一个代码字,从而将上述片部分群重新构成为新的片。
4.如权利要求1所述的图像解码装置,其中,
上述编码图片是按规定的像素数的块来编码的图片;
上述规定的代码字是表示上述编码图片中包含的片内的块间的编码系数的变化量的第2代码字;
在上述编码流中包含的第2代码字表示在编码流中跨连续的两个片部分的块间的变化量,从而上述两个片部分具有依赖关系时,上述流划分部计算基于上述划分流中的块的新的前后关系的编码系数的变化量,将基于计算出的变化量的代码字设定在被分别分配了上述两个片部分的两个划分流中的一个中,从而将上述片部分群重新构成为新的片。
5.如权利要求4所述的图像解码装置,其中,
上述流划分部将修正为计算出的变化量的上述第2代码字设定在上述划分流中。
6.如权利要求4所述的图像解码装置,其中,
上述流划分部将表示计算出的变化量的新的代码字和上述第2代码字设定在上述划分流中。
7.如权利要求4所述的图像解码装置,其中,
上述流划分部使用上述编码流中包含的第2代码字来将每个块的编码系数复原,利用复原的编码系数,计算基于各划分流中的块的新的前后关系的编码系数的变化量。
8.如权利要求4所述的图像解码装置,其中,
上述流划分部按每个上述划分流,将该划分流以外的划分流中包含的第2代码字所表示的变化量累积,利用累积的变化量,计算基于各划分流中的块的新的前后关系的编码系数的变化量。
9.如权利要求8所述的图像解码装置,其中,
上述流划分部在将第2代码字所表示的变化量累积时,在片边界,将累积的变化量复位为0。
10.一种图像解码方法,对编码图像数据而得到的编码流进行解码,其中,
获得编码流;
按获得的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将上述多个构成单位的每一个分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流,其中N是2以上的整数;
对生成的N个划分流的每一个并行进行解码;
在生成上述N个划分流时,
在上述编码图片中包含的片被划分为多个片部分而被分配到多个划分流时,按每个上述划分流,将片部分群重新构成为新的片,以使上述片部分群被上述N个解码部的任一个识别为片,上述片部分群是由被分配到该划分流的至少一个片部分构成的,
当上述多个片部分之中的、在上述编码流中连续的至少两个片部分具有基于上述编码流中包含的规定的代码字的依赖关系时,通过在上述多个划分流之中的至少一个划分流中设定代码字,以使上述依赖关系成为与各划分流中的片部分的前后关系相应的新的依赖关系,从而将上述片部分群重新构成为新的片。
11.一种程序,用来对编码图像数据而得到的编码流进行解码,使计算机执行:
获得编码流;
按获得的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将上述多个构成单位的每一个分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流,其中N是2以上的整数;
对生成的N个划分流的每一个并行进行解码;
在生成上述N个划分流时,
在上述编码图片中包含的片被划分为多个片部分而被分配到多个划分流时,按每个上述划分流,将片部分群重新构成为新的片,以使上述片部分群被上述N个解码部的任一个识别为片,上述片部分群是由被分配到该划分流的至少一个片部分构成的,
当上述多个片部分之中的、在上述编码流中连续的至少两个片部分具有基于上述编码流中包含的规定的代码字的依赖关系时,通过在上述多个划分流之中的至少一个划分流中设定代码字,以使上述依赖关系成为与各划分流中的片部分的前后关系相应的新的依赖关系,从而将上述片部分群重新构成为新的片。
12.一种集成电路,对编码图像数据而得到的编码流进行解码,具备:
获得部,获得编码流;
流划分部,按由上述获得部获得的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将上述多个构成单位的每一个分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流,其中N为2以上的整数;以及
N个解码部,对由上述流划分部生成的N个划分流的每一个并行进行解码;
上述流划分部,
在生成上述N个划分流的情况下,在上述编码图片中包含的片被划分为多个片部分而被分配到多个划分流时,按每个上述划分流,将片部分群重新构成为新的片,以使上述片部分群被上述N个解码部的任一个识别为片,上述片部分群是由被分配到该划分流的至少一个片部分构成的,
在上述多个片部分之中的、在上述编码流中连续的至少两个片部分具有基于上述编码流中包含的规定的代码字的依赖关系时,通过在上述多个划分流之中的至少一个划分流中设定代码字,以使上述依赖关系成为与各划分流中的片部分的前后关系相应的新的依赖关系,从而将上述片部分群重新构成为新的片。
CN200980104202.8A 2008-12-08 2009-10-27 图像解码装置及图像解码方法 Expired - Fee Related CN101939994B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008-311911 2008-12-08
JP2008311911 2008-12-08
PCT/JP2009/005648 WO2010067505A1 (ja) 2008-12-08 2009-10-27 画像復号化装置および画像復号化方法

Publications (2)

Publication Number Publication Date
CN101939994A true CN101939994A (zh) 2011-01-05
CN101939994B CN101939994B (zh) 2013-07-17

Family

ID=42242503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980104202.8A Expired - Fee Related CN101939994B (zh) 2008-12-08 2009-10-27 图像解码装置及图像解码方法

Country Status (5)

Country Link
US (1) US20100322317A1 (zh)
EP (1) EP2357825A4 (zh)
JP (1) JP5341104B2 (zh)
CN (1) CN101939994B (zh)
WO (1) WO2010067505A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103718557A (zh) * 2011-07-29 2014-04-09 夏普株式会社 用于解码视频的方法
CN107105299A (zh) * 2010-07-21 2017-08-29 瑞典爱立信有限公司 画面编码和解码
CN107241605A (zh) * 2012-01-20 2017-10-10 富士通株式会社 视频编码器以及视频编码方法
CN107396120A (zh) * 2011-11-07 2017-11-24 佳能株式会社 图像编码设备和方法以及图像解码设备和方法
CN107483948A (zh) * 2017-09-18 2017-12-15 郑州云海信息技术有限公司 一种webp压缩处理中像素宏块处理方法
CN107613297A (zh) * 2012-02-04 2018-01-19 Lg 电子株式会社 视频编码方法、视频解码方法和使用其的设备
CN108322752A (zh) * 2012-04-13 2018-07-24 Ge视频压缩有限责任公司 低延迟图像写码
US10743030B2 (en) 2012-06-29 2020-08-11 Ge Video Compression, Llc Video data stream concept

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5756921B2 (ja) * 2008-06-10 2015-07-29 パナソニックIpマネジメント株式会社 画像復号装置、画像復号方法、画像符号化装置、画像符号化方法、プログラムおよび集積回路
KR101279507B1 (ko) * 2009-12-15 2013-06-28 한국전자통신연구원 병렬 처리 기반 파이프라인 복호화 장치 및 방법
JP5610199B2 (ja) * 2010-06-09 2014-10-22 ソニー株式会社 受信装置、受信方法、及び通信システム
MY191461A (en) 2010-06-10 2022-06-28 Thomson Licensing Methods and apparatus for determining quantization parameter predictors from a plurality of neighboring quantization parameters
JP5576728B2 (ja) * 2010-07-02 2014-08-20 キヤノン株式会社 動画像符号化装置
US8988531B2 (en) * 2010-07-08 2015-03-24 Texas Instruments Incorporated Method and apparatus for sub-picture based raster scanning coding order
US9307260B2 (en) 2010-07-30 2016-04-05 Panasonic Intellectual Property Management Co., Ltd. Image decoding apparatus, image decoding method, image coding apparatus, and image coding method
WO2012035730A1 (ja) 2010-09-16 2012-03-22 パナソニック株式会社 画像復号装置、画像符号化装置、それらの方法、プログラム、集積回路およびトランスコード装置
US20130173760A1 (en) * 2010-09-20 2013-07-04 Humax Co., Ltd. Processing method to be implemented upon the occurrence of an expression switch in http streaming
KR20120035096A (ko) * 2010-10-04 2012-04-13 한국전자통신연구원 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치
GB2487200A (en) 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
US9819968B2 (en) * 2011-01-12 2017-11-14 Texas Instruments Incorporated Method and apparatus for error detection in CABAC
FR2972588A1 (fr) 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
WO2012169952A2 (en) * 2011-06-10 2012-12-13 Telefonaktiebolaget L M Ericsson (Publ) Signaling of end of slices
FR2977111A1 (fr) * 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US9510020B2 (en) 2011-10-20 2016-11-29 Qualcomm Incorporated Intra pulse code modulation (IPCM) and lossless coding mode deblocking for video coding
US20130188732A1 (en) * 2012-01-20 2013-07-25 Qualcomm Incorporated Multi-Threaded Texture Decoding
HUE042414T2 (hu) * 2012-01-30 2019-07-29 Samsung Electronics Co Ltd Eljárás és berendezés hierarchikus adategység alapú video kódolásra és dekódolásra, amely tartalmaz kvantálás paraméter predikciót
AU2013322008B2 (en) * 2012-09-26 2016-10-27 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
EP2993898A4 (en) * 2013-05-01 2016-11-09 Lg Electronics Inc APPARATUS AND METHOD FOR TRANSMITTING AND RECEIVING A SIGNAL
GB2524726B (en) * 2014-03-25 2018-05-23 Canon Kk Image data encapsulation with tile support
CN204402320U (zh) * 2014-12-02 2015-06-17 亿丰综合工业股份有限公司 无拉绳窗帘的升降控制结构
US9854261B2 (en) * 2015-01-06 2017-12-26 Microsoft Technology Licensing, Llc. Detecting markers in an encoded video signal
CN105992000B (zh) * 2015-03-06 2019-03-22 扬智科技股份有限公司 影像流的处理方法及其影像处理装置
US10382793B2 (en) * 2015-06-23 2019-08-13 Integrated Device Technology, Inc. Apparatuses and methods for performing information extraction and insertion on bitstreams
JP6065090B2 (ja) * 2015-11-09 2017-01-25 富士通株式会社 動画像復号装置、動画像復号方法、動画像復号プログラム
JP6311821B2 (ja) * 2017-04-18 2018-04-18 富士通株式会社 動画像処理装置及び動画像処理方法
WO2021005347A1 (en) * 2019-07-05 2021-01-14 V-Nova International Ltd Quantization of residuals in video coding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030219072A1 (en) * 2002-05-14 2003-11-27 Macinnis Alexander G. System and method for entropy code preprocessing
US20050053157A1 (en) * 2003-09-05 2005-03-10 Lillevold Karl O. Parallel video decoding
US20080063082A1 (en) * 2006-09-07 2008-03-13 Fujitsu Limited MPEG decoder and MPEG encoder
US20080089428A1 (en) * 2006-10-13 2008-04-17 Victor Company Of Japan, Ltd. Method and apparatus for encoding and decoding multi-view video signal, and related computer programs
US20080253461A1 (en) * 2007-04-13 2008-10-16 Apple Inc. Method and system for video encoding and decoding

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0128244B1 (ko) 1992-09-23 1998-04-02 배순훈 병렬 구조를 갖는 부호 화상 데이타의 복호 장치
US5532744A (en) * 1994-08-22 1996-07-02 Philips Electronics North America Corporation Method and apparatus for decoding digital video using parallel processing
US6301299B1 (en) * 1994-10-28 2001-10-09 Matsushita Electric Industrial Co., Ltd. Memory controller for an ATSC video decoder
US5623311A (en) 1994-10-28 1997-04-22 Matsushita Electric Corporation Of America MPEG video decoder having a high bandwidth memory
US5920352A (en) * 1994-10-28 1999-07-06 Matsushita Electric Industrial Co., Ltd. Image memory storage system and method for a block oriented image processing system
EP0710033A3 (en) * 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG video decoder having a high bandwidth memory
US8401084B2 (en) * 2002-04-01 2013-03-19 Broadcom Corporation System and method for multi-row decoding of video with dependent rows
JP4453518B2 (ja) * 2004-10-29 2010-04-21 ソニー株式会社 符号化及び復号装置並びに符号化及び復号方法
US20080170793A1 (en) * 2007-01-12 2008-07-17 Mitsubishi Electric Corporation Image encoding device and image encoding method
US8582656B2 (en) * 2007-04-13 2013-11-12 Apple Inc. Method and system for video encoding and decoding
US8265144B2 (en) * 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
JP5345149B2 (ja) * 2008-10-10 2013-11-20 パナソニック株式会社 画像復号化装置および画像復号化方法
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030219072A1 (en) * 2002-05-14 2003-11-27 Macinnis Alexander G. System and method for entropy code preprocessing
US20050053157A1 (en) * 2003-09-05 2005-03-10 Lillevold Karl O. Parallel video decoding
US20080063082A1 (en) * 2006-09-07 2008-03-13 Fujitsu Limited MPEG decoder and MPEG encoder
US20080089428A1 (en) * 2006-10-13 2008-04-17 Victor Company Of Japan, Ltd. Method and apparatus for encoding and decoding multi-view video signal, and related computer programs
US20080253461A1 (en) * 2007-04-13 2008-10-16 Apple Inc. Method and system for video encoding and decoding

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107105299A (zh) * 2010-07-21 2017-08-29 瑞典爱立信有限公司 画面编码和解码
CN107105299B (zh) * 2010-07-21 2020-05-22 威勒斯媒体国际有限公司 画面编码和解码
CN103718557B (zh) * 2011-07-29 2017-07-28 夏普株式会社 用于解码视频的方法
CN107277530A (zh) * 2011-07-29 2017-10-20 夏普株式会社 用于解码视频的方法
CN103718557A (zh) * 2011-07-29 2014-04-09 夏普株式会社 用于解码视频的方法
US10582199B2 (en) 2011-11-07 2020-03-03 Canon Kabushiki Kaisha Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and program
CN107396120A (zh) * 2011-11-07 2017-11-24 佳能株式会社 图像编码设备和方法以及图像解码设备和方法
CN107396119A (zh) * 2011-11-07 2017-11-24 佳能株式会社 图像编码设备和方法以及图像解码设备和方法
US10609369B2 (en) 2011-11-07 2020-03-31 Canon Kabushiki Kaisha Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and program
CN107396119B (zh) * 2011-11-07 2020-03-06 佳能株式会社 图像编码设备和方法以及图像解码设备和方法
CN107396120B (zh) * 2011-11-07 2020-03-06 佳能株式会社 图像编码设备和方法以及图像解码设备和方法
CN107241605A (zh) * 2012-01-20 2017-10-10 富士通株式会社 视频编码器以及视频编码方法
CN107734339A (zh) * 2012-02-04 2018-02-23 Lg 电子株式会社 视频编码方法、视频解码方法和使用其的设备
CN107613297B (zh) * 2012-02-04 2020-10-23 Lg 电子株式会社 视频编码方法、视频解码方法和使用其的设备
US11778212B2 (en) 2012-02-04 2023-10-03 Lg Electronics Inc. Video encoding method, video decoding method, and device using same
US11218713B2 (en) 2012-02-04 2022-01-04 Lg Electronics Inc. Video encoding method, video decoding method, and device using same
CN107734338A (zh) * 2012-02-04 2018-02-23 Lg 电子株式会社 视频编码方法、视频解码方法和使用其的设备
CN107613297A (zh) * 2012-02-04 2018-01-19 Lg 电子株式会社 视频编码方法、视频解码方法和使用其的设备
CN107734339B (zh) * 2012-02-04 2021-06-01 Lg 电子株式会社 视频编码方法、视频解码方法和使用其的设备
CN107734338B (zh) * 2012-02-04 2021-01-08 Lg 电子株式会社 视频编码方法、视频解码方法和使用其的设备
US10681364B2 (en) 2012-02-04 2020-06-09 Lg Electronics Inc. Video encoding method, video decoding method, and device using same
CN108462880B (zh) * 2012-04-13 2021-04-09 Ge视频压缩有限责任公司 译码器、编码器、方法和计算机可读介质
US11259034B2 (en) 2012-04-13 2022-02-22 Ge Video Compression, Llc Scalable data stream and network entity
US10694198B2 (en) 2012-04-13 2020-06-23 Ge Video Compression, Llc Scalable data stream and network entity
US10674164B2 (en) 2012-04-13 2020-06-02 Ge Video Compression, Llc Low delay picture coding
CN108540814A (zh) * 2012-04-13 2018-09-14 Ge视频压缩有限责任公司 低延迟图像写码
CN108322752B (zh) * 2012-04-13 2021-04-09 Ge视频压缩有限责任公司 译码器和编码器
US11876985B2 (en) 2012-04-13 2024-01-16 Ge Video Compression, Llc Scalable data stream and network entity
CN108462880A (zh) * 2012-04-13 2018-08-28 Ge视频压缩有限责任公司 低延迟图像写码
US11122278B2 (en) 2012-04-13 2021-09-14 Ge Video Compression, Llc Low delay picture coding
CN108322752A (zh) * 2012-04-13 2018-07-24 Ge视频压缩有限责任公司 低延迟图像写码
US11343517B2 (en) 2012-04-13 2022-05-24 Ge Video Compression, Llc Low delay picture coding
US10743030B2 (en) 2012-06-29 2020-08-11 Ge Video Compression, Llc Video data stream concept
US11025958B2 (en) 2012-06-29 2021-06-01 Ge Video Compression, Llc Video data stream concept
US11856229B2 (en) 2012-06-29 2023-12-26 Ge Video Compression, Llc Video data stream concept
US11956472B2 (en) 2012-06-29 2024-04-09 Ge Video Compression, Llc Video data stream concept
CN107483948A (zh) * 2017-09-18 2017-12-15 郑州云海信息技术有限公司 一种webp压缩处理中像素宏块处理方法

Also Published As

Publication number Publication date
JP5341104B2 (ja) 2013-11-13
WO2010067505A1 (ja) 2010-06-17
EP2357825A1 (en) 2011-08-17
JPWO2010067505A1 (ja) 2012-05-17
EP2357825A4 (en) 2012-06-20
CN101939994B (zh) 2013-07-17
US20100322317A1 (en) 2010-12-23

Similar Documents

Publication Publication Date Title
CN101939994B (zh) 图像解码装置及图像解码方法
CN102550029B (zh) 图像解码装置、图像解码方法、图像编码装置以及图像编码方法
CN101897189B (zh) 图像解码装置以及图像解码方法
CN101803388B (zh) 图像解码装置、图像解码方法、图像编码装置、以及图像编码方法
CN103314581B (zh) 使用列的图像分割方法和系统
CN101292537B (zh) 运动图像编码方法、运动图像解码方法以及装置
ES2859635T3 (es) Codificación de imágenes que soporta particionamiento de bloques y fusión de bloques
EA029773B1 (ru) Способ декодирования видеокадров
CN103931196A (zh) 帧间预测方法及其装置
CN103718557A (zh) 用于解码视频的方法
CN112383780A (zh) 点匹配参考集和索引来回扫描串匹配的编解码方法和装置
CN102461172A (zh) 运动图像编码装置以及运动图像解码装置
CN107257487A (zh) 基于四叉树编码和解码自适应量化参数的方法及装置
BRPI0911141B1 (pt) Método para decodificar uma sequência de bits de vídeo, método para decodificar um quadro de vídeo em uma sequência de vídeo e método para gerar uma sequência de bits de vídeo para decodificação paralela
CN103931197A (zh) 确定用于变换系数的二进制码字的方法
KR102480688B1 (ko) 픽쳐 경계 처리를 사용하여 픽쳐를 인코딩하고 디코딩하는 장치 및 방법
CN101472176A (zh) 基于边界强度因子进行去块效应滤波的解码方法和装置
CN100481953C (zh) 一种对于视频码流判断图像边界及预读图像数据的解码方法和装置
TW202327365A (zh) 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法
CN102075746B (zh) 一种视频宏块解码方法及装置
US7848432B2 (en) System and method for efficiently storing macroblocks in SD-RAM
CN108848388A (zh) 一种提高H264编码16x16预测模式DCT运算速度的硬件实现方法
JP4053949B2 (ja) 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,それらのプログラムおよびそれらのプログラム記録媒体

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: 20130717

Termination date: 20191027

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