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

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

Info

Publication number
CN101897189A
CN101897189A CN2009801013256A CN200980101325A CN101897189A CN 101897189 A CN101897189 A CN 101897189A CN 2009801013256 A CN2009801013256 A CN 2009801013256A CN 200980101325 A CN200980101325 A CN 200980101325A CN 101897189 A CN101897189 A CN 101897189A
Authority
CN
China
Prior art keywords
stream
sheet
head
division
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
CN2009801013256A
Other languages
English (en)
Other versions
CN101897189B (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 CN101897189A publication Critical patent/CN101897189A/zh
Application granted granted Critical
Publication of CN101897189B publication Critical patent/CN101897189B/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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行的每一个分配到作为生成对象的四个划分流之中的任一个划分流的一部分,从而生成四个划分流;以及四个解码引擎,对四个划分流的每一个并行进行解码。流划分部,在图片中包含的片被划分为多个片部分而被分配到多个划分流时,按每个划分流,将片部分群重新构成为新的片,以使片部分群被解码引擎识别为片,片部分群是由解码引擎该划分流的至少一个片部分构成的。

Description

图像解码装置以及图像解码方法
技术领域
本发明涉及对编码后的图像进行解码的图像解码装置以及图像解码方法,尤其涉及并行执行解码的图像解码装置以及图像解码方法。
背景技术
对运动图像进行编码的图像编码装置,将构成运动图像的各个图片划分为宏块,按每个宏块进行编码。而且,图像编码装置,生成示出编码后的运动图像的编码流。
图25是示出被编码的图片的结构的图。
图片被划分为由16×16像素构成的宏块而被编码。在此,由该图片中包含的多个宏块构成片(slice),由多个片构成图片。并且,将具有由从图片的左端到右端为止的水平方向上排列的多个宏块构成的一个列的构成单位,称为宏块行(MB行)。
图26是示出编码流的结构的图。
如图26的(a)示出,编码流被阶层化,并在结构上包括头部和按编码顺序排列的多个图片。而且,例如,所述的头部中包括为了对由多个图片构成的序列进行解码而参考的序列参数集(SPS)。并且,如图26的(b)示出,该编码后的图片,在结构上包括头部和多个片,如图26的(c)示出,片,在结构上包括头部和多个宏块(MB)。而且,例如,位于图26的(b)示出的图片的开头的头部中包括为了对该图片进行解码而参考的图像参数集(PPS)。
图27是示出以往的图像解码装置的结构的图。
图像解码装置200包括存储器210以及解码引擎220。存储器210包括:流缓冲器211,具有用于存储编码流的区域;以及帧存储器212,具有用于存储从解码引擎220输出的解码图像数据的区域。图像解码装置200,若从开头一侧依次获得编码流中包括的宏块或图片等的编码图像数据,则将该编码图像数据容纳到流缓冲器211。
解码引擎220,按照解码顺序从该流缓冲器211依次读出编码图像数据来进行解码,将通过该解码而生成的解码图像数据容纳到帧存储器212。并且,解码引擎220,在进行解码时,参考已容纳在帧存储器212的解码图像数据,对编码图像数据进行解码。
而且,容纳在帧存储器212的解码图像数据,按显示顺序输出到显示装置,从而被显示。
图28是示出解码引擎220的结构的图。
解码引擎220包括熵解码部221、逆变换部222、加法器223、解块滤波器224、运动补偿部225、加权预测部226、画面内预测部227、以及开关228。
熵解码部221,对编码图像数据进行熵解码来生成示出量化值的量化数据,并输出到逆变换部222。
逆变换部222,对该量化数据进行反量化以及逆正交变换等,从而将量化数据变换为差分图像数据。
加法器223,对从逆变换部222输出的差分图像数据、与经由开关228从加权预测部226或画面内预测部227输出的预测图像数据进行加法运算,从而生成解码图像数据。
解块滤波器224,除去由加法器223生成的解码图像数据中包含的编码失真,将除去了编码失真的解码图像数据容纳到帧存储器212。
运动补偿部225,读出容纳在帧存储器212的解码图像数据来进行运动补偿,从而生成预测图像数据,并将该预测图像数据输出到加权预测部226。
加权预测部226,对从运动补偿部225输出的预测图像数据进行加权,并输出到开关228。
画面内预测部227,进行画面内预测。也就是说,画面内预测部227,利用由加法器223生成的解码图像数据进行画面内预测,从而生成预测图像数据,并输出到开关228。
开关228,在从逆变换部222输出的差分图像数据由画面内预测生成的情况下,将从画面内预测部227输出的预测图像数据输出到加法器223。并且,开关228,在从逆变换部222输出的差分图像数据由画面间预测生成的情况下,将从加权预测部226输出的预测图像数据输出到加法器223。
另外,近些年,图像的高精细化以及高帧率化进展了。也就是说,目前为止,进行了HD(High Definition:高清晰度)的图像的编码以及解码,但是,将要进行比该图像更高的精细化以及帧率化。具体而言,正在研究以所谓4k2k分辨率的运动图像的实用化。
图29是用于说明HD以及4k2k的说明图。
对于HD的编码流,以地面数字广播或BS数字广播等分发,以30帧/秒的帧率来,解码并显示分辨率为“1920×1080像素”的图片。对于4k2k的编码流,预定从2011年起以高度BS数字广播来试验性地分发,以60帧/秒的帧率来,解码并显示分辨率为“3840×2160像素”的图片。
也就是说,对于4k2k,在纵方向以及横方向分别具有HD的二倍的分辨率,并且具有二倍的帧率。
进而,将要研究在纵方向以及横方向分别被高分辨率化为4k2k的二倍的8k4k的图像(7680×4320像素)的编码以及解码。
若这些图像的高精细化以及高帧率化进展了,则导致图像解码装置的解码引擎的处理负荷的增大。例如,图27示出的图像解码装置200的解码引擎220,在对4k2k的编码流进行解码的情况下,需要实际上困难的1GHz以上的工作频率。于是,正在研究解码的并行处理。
图30是示出执行解码的并行处理的图像解码装置的结构的一个例子的方框图。
图像解码装置300包括存储器210以及解码器320。解码器320包括具有与图27以及图28示出的解码引擎220相同的功能的解码引擎321,该解码引擎321的数量为N个(例如N=4)。N个解码引擎321(第一解码引擎321至第N解码引擎321)的每一个,从容纳在流缓冲器211的编码流中提取应该自己处理的部分,对该提取的部分进行解码,并输出到帧存储器212。
图31A以及图31B是用于说明解码的并行处理的一个例子的说明图。
例如,图像解码装置300,获得由四个区域编码流构成的编码流,并容纳到流缓冲器211。这些四个区域编码流的每一个是独立的流,如图31A示出,也是示出一个画面被四等分后的一个区域的运动图像的流。图像解码装置300的四个解码引擎321(例如N=4)的每一个,从流缓冲器211中提取应该自己处理的区域编码流来进行解码,在与该区域编码流相对应的区域显示运动图像。
并且,图像解码装置300,获得包含由四个片构成的图片的编码流,并容纳到流缓冲器211。如图31B示出,在纵方向将图片四等分,从而生成四个片。图像解码装置300的四个解码引擎321(例如N=4)的每一个,从流缓冲器211中提取应该自己处理的片来进行解码,在与该片相对应的区域显示运动图像。
然而,如图31A示出,在将一个编码流作为四个区域编码流来生成,并对它们进行解码的情况下,需要限制运动图像的编码方法。也就是说,需要变更***整体,其负担是很大的。
并且,如图31B示出,在将图片四等分,且将划分后的各个部分作为片来编码并解码的情况下,也需要限制运动图像的编码方法。
具体而言,在作为运动图像的编码以及解码的标准即MPEG-2(Moving Picture Experts Group phase 2:运动图像专家组-2)中,总是在MB行的边界分离片。并且,在H.264/AVC中,设定在图片的片的大小或位置是任意的,也有在一个图片仅设定一个片的情况。因此,如图31B示出,若唯一地设定片的位置以及大小,则在MPEG-2以及H.264/AVC中需要变更***整体,其负担是很大的。
于是,正在研究不限制或变更MPEG-2或H.264/AVC的运用标准,而对示出根据该标准编码后的运动图像的编码流并行进行编码的图像解码装置。
例如,专利文献1以及专利文献2的图像解码装置,按每个片,分离由MPEG-2生成的编码流的图片,并行执行各个片的解码处理。
并且,专利文献3的图像解码装置,按每个MB行,分离由H.264/AVC生成的编码流的图片,并行执行各个MB行的解码处理。
图32是用于说明专利文献3的图像解码装置的解码处理的说明图。
图像解码装置的第一解码引擎,对图片中的第零行的MB行进行解码;第二解码引擎,对图片中的第一行的MB行进行解码;第三解码引擎,对图片中的第二行的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个划分流,其中,N为2以上的整数;以及N个解码部,对由所述流划分部生成的N个划分流的每一个并行进行解码;所述流划分部,在生成所述N个划分流的情况下,在所述编码图片中包含的片被划分为多个片部分而被分配到多个所述划分流时,按每个所述划分流,将片部分群重新构成为新的片,以使所述片部分群被N个所述解码部之中的任一个识别为片,所述片部分群是由被分配到所述划分流的至少一个片部分构成的。
据此,编码图片被划分为例如多个宏块行等构成单位,多个宏块行的每一个被分配到N个解码部而被解码,以作为划分流的一部分,因此,能够使由N个解码部的解码处理的负担均等化,从而能够适当地执行解码的并行处理。例如,在H.264/AVC的编码图片由一个片构成的情况下,该编码图片也被划分为多个MB行,因此,不由一个解码引擎120负担一个片的解码,而能够由N个解码引擎120均等负担。
在此,有时,若编码图片被划分为多个MB行,则跨过多个MB行的片被划分为多个片部分(例如,图3示出的各个MB行L1至L6,或MB行L7中的开头六个宏块的集合等),这些片部分被分配到相互不同的划分流。也就是说,在一个划分流中,不包含编码图片的片整体,而包含集合作为该片的断片的片部分的一个以上而构成的片部分群。并且,也存在这些片部分群中不包含示出其开头的片头、或示出其末端的片末端信息的情况。
于是,在本发明中,将该片部分群重新构成为新的片,因此,对包含该片部分群的划分流进行解码的解码部,不需要进行用于识别并适当地解码该片部分群的特别的处理,而能够将片部分群简单地识别为新的片来适当地进行解码。也就是说,在本发明中,不需要在N个解码部的每一个设置进行特别的处理的功能或结构,因此,能够将以往的方式的解码电路挪用于对划分流进行解码的解码部,能够将图像解码装置100整体的整体简化。
例如,所述流划分部,在所述片部分群的开头不是所述编码图片中包含的片的开头的情况下,将所述片的解码所需要的辅助信息***到所述片部分群的开头,从而将所述片部分群重新构成为新的片。
据此,由于在划分流中包含的片部分群的开头有辅助信息,因此,对该划分流进行解码的解码部,获得并利用该辅助信息,从而不进行特别的处理,也能够适当地识别该片部分群的末端。
并且,也可以是,其中,所述流划分部,包括:复制部,将位于所述编码图片中包含的片的开头的、所述片的解码所需要的辅助信息复制,从而生成复制辅助信息;以及***部,将所述复制辅助信息作为所述辅助信息来***到所述片部分群的开头;所述图像解码装置,还包括:地址更新部,将所述复制辅助信息中包含的地址信息,更新为示出所述片部分群中包含的开头的宏块的地址的地址信息。
据此,示出片部分群的开头的宏块的地址的地址信息,包含在该片部分群的辅助信息中,因此,解码部,不进行特别的处理,而读出该地址信息,从而能够适当地把握该片部分群的开头的宏块的地址。
并且,也可以是,其中,在所述编码流中包含的片的开头,存在所述片的解码所需要的辅助信息;所述流划分部,包括:N个缓冲器,分别与所述N个解码部相对应;划分输出部,将所述编码图片划分为多个构成单位,将多个所述构成单位的每一个,输出到所述N个缓冲器之中的任一个;以及辅助信息处理部,依次获得所述编码图片中包含的数据,在所述数据为所述辅助信息时,将所述辅助信息输出到所述N个缓冲器;所述N个缓冲器的每一个,每当获得从所述划分输出部输出的所述构成单位中包含的数据时,输出所述数据,在获得从所述辅助信息处理部输出的所述辅助信息的情况下,保持所述辅助信息,仅在紧接获得所述辅助信息之后获得所述构成单位的数据时,在所述数据之前输出所保持的辅助信息,在紧接获得所述辅助信息之后获得新的辅助信息时,将所述辅助信息覆盖写为所述新的辅助信息;所述N个解码部的每一个,对由与该解码部相对应的缓冲器输出的所述辅助信息以及所述构成单位的数据构成的所述划分流进行解码。
据此,若由辅助信息处理部将根据编码流获得的辅助信息单纯地输出到N个缓冲器,则能够仅将输出到N个缓冲器的辅助信息中的N个划分流所需要的辅助信息,以适当的定时,从该N个缓冲器输出。其结果为,以简单的结构,能够将辅助信息适当地***到不是编码图片的片的开头的片部分群的开头。
并且,所述流划分部,在所述片部分群的末端不是所述编码图片中包含的片的末端的情况下,将示出所述片部分群的末端的末端信息设定到该片部分群的末端,从而将所述片部分群重新构成为新的片。
据此,由于在划分流中包含的片部分群的末端有末端信息,因此,对该划分流进行解码的解码部,不进行特别的处理,也能够适当地识别该片部分群的末端。
并且,也可以是,其中,所述流划分部,进一步,获得示出是否应该划分的模式信息,在所述模式信息示出不应该划分的情况下,将由所述获得部获得的多个编码流的每一个输出到所述N个解码部之中的任一个;所述N个解码部,进一步,在获得从所述流划分部输出的多个编码流时,对所述多个编码流并行进行解码。
据此,按照模式信息,能够切换将一个编码流划分为多个划分流来对这些划分流并行进行解码的处理与对多个编码流并行进行解码的处理。其结果为,例如,能够实时再生4k2k的高分辨率的图像,或能够同时再生多个信道的HD的图像。
而且,本发明,除了可以以这些图像解码装置来实现以外,也可以以其方法或程序、存储其程序的存储介质、集成电路来实现。
本发明的图像解码装置,具有能够以简单的结构来适当地执行解码的并行处理的效果。
附图说明
图1是示出本发明的实施例中的图像解码装置的结构的方框图。
图2A是示出本发明的图片不由MBAFF构成的情况下的解码的顺序的图。
图2B是示出本发明的图片由MBAFF构成的情况下的解码的顺序的图。
图3是用于说明本发明的片头的***处理的说明图。
图4是用于说明本发明的MB地址信息的更新处理的说明图。
图5是用于说明本发明的片末端处理的说明图。
图6是示出本发明的图像解码装置的工作整体的流程图。
图7是示出本发明的流划分部的结构的方框图。
图8是用于说明本发明的片头***部以及片数据处理部的工作的说明图。
图9是示出本发明的片头***部的结构的方框图。
图10是示出分配到本发明的划分流缓冲器的第一区域至第四区域的MB行以及片头的图。
图11A是示出设定本发明的片末端信息的位置的图。
图11B是示出设定本发明的片末端信息的其它的位置的图。
图12是示出本发明的划分点检测部的工作的流程图。
图13A是用于说明本发明的高分辨率解码的说明图。
图13B是用于说明本发明的高速解码的说明图。
图13C是用于说明本发明的多信道解码的说明图。
图14是示出本发明的变形例1涉及的用于解码引擎变更MB地址信息的代码的图。
图15是示出本发明的变形例2涉及的图像解码装置的流划分部、划分流缓冲器以及四个解码引擎的方框图。
图16是用于说明本发明的变形例2涉及的流划分部以及四个解码引擎的工作的说明图。
图17是示出本发明的变形例3涉及的图像解码装置的流划分部、划分流缓冲器以及四个解码引擎的方框图。
图18是示出本发明的变形例3涉及的缓冲器的指针的图。
图19是用于说明本发明的变形例3涉及的流划分部的工作的说明图。
图20是示出本发明的图像解码装置的适用例的图。
图21是示出本发明的图像解码装置的最小结构的方框图。
图22是示出本发明的流划分部的结构的方框图。
图23是示出本发明的图像解码装置的其它的最小结构的方框图。
图24是示出本发明的流划分部的其它的结构的方框图。
图25是示出被编码的图片的结构的图。
图26是示出编码流的结构的图。
图27是示出以往的图像解码装置的结构的图。
图28是示出以往的解码引擎的结构的图。
图29是用于说明HD以及4k2k的说明图。
图30是示出执行以往的解码并行处理的图像解码装置的结构的方框图。
图31A是用于说明以往的解码并行处理的一个例子的说明图。
图31B是用于说明以往的解码并行处理的其它的例子的说明图。
图32是用于说明以往的图像解码装置的解码处理的说明图。
具体实施方式
以下,参照附图说明本发明的实施例中的图像解码装置。
图1是示出本发明的实施例中的图像解码装置的结构的方框图。
本发明的实施例中的图像解码装置100是以简单的结构来适当地执行解码的并行处理的装置,图像解码装置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个解码引擎(第一解码引擎至第N解码引擎)120。
而且,在实施例中的解码引擎120,具有能够对两个信道的HD的图像(1920×1088像素,60i)进行解码的处理能力。
流划分部130,获得后述的模式信息,按照该模式信息,将编码流划分为N个划分流(第一划分流至第N划分流)。也就是说,本实施例中的流划分部130,按编码流中包含的编码后的每个图片,将该图片划分为多个MB行。而且,流划分部130,将这些多个MB行的每一个,分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流。
而且,MB行是具有由从图片的左端到右端的水平方向上排列的多个宏块构成的一个列的构成单位。并且,流划分部130,在图片不由MBAFF(Macroblock Adaptive Frame-Field)构成的情况下,将图片划分为多个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个划分解码图像数据。例如,第一解码引擎120从划分流缓冲器152读出第一划分流,第二解码引擎120从划分流缓冲器152读出第二划分流,第三解码引擎120从划分流缓冲器152读出第三划分流,第四解码引擎120从划分流缓冲器152读出第四划分流。而且,第一解码引擎120至第四解码引擎120,分别对第一划分流至第四划分流读并行进行解码。
并且,N个解码引擎120,在对划分流进行解码时,参考已容纳在帧存储器153的解码图像数据,根据需要进行运动补偿,从而对划分流进行解码。
进而,N个解码引擎120的每一个,在对划分流中包含的由画面内预测编码后的宏块进行解码时,从对位于该解码对象宏块的左上、上以及右上的宏块进行了解码的解码引擎120获得这些解码后的宏块的信息,以作为相邻MB信息。获得了该相邻MB信息的解码引擎120,利用该相邻MB信息,对解码对象宏块进行解码。并且,解码引擎120,例如,在进行去块滤波处理或运动矢量预测处理的情况下,也与所述相同,获得位于处理对象的左上、上以及右上的解码后的宏块的信息,以作为相邻MB信息,从而进行所述的处理。
而且,本实施例中,为了使说明简化,以下,将N设为N=4进行说明。并且,本实施例中,N(N=4)个解码引擎120的每一个,若从解码对象的宏块看左、左上、上、以及右上的宏块的解码结束,则利用这些相邻MB信息,开始该解码对象的宏块的解码。其结果为,第一解码引擎120至第四解码引擎120的每一个,对位于各个MB行中的水平方向上的相互不同的位置的宏块并行进行解码。
图2A是示出在图片不由MBAFF构成的情况下的解码的顺序的图。
在图片不由MBAFF构成的情况下,第一解码引擎120对第零MB行进行解码,第二解码引擎120对第一MB行进行解码,第三解码引擎120对第二MB行进行解码,第四解码引擎120对第三MB行进行解码。而且,第k(k为0以上的整数)MB行示出从图片的上端第k的MB行,例如,第零MB行为从图片的上端第零个MB行。
在此,在开始图片的解码时,首先,第一解码引擎120开始第零MB行的解码。其次,若位于第零MB行的左端的两个宏块的解码完成,则第二解码引擎120开始第一MB行的左端的宏块的解码。而且,若位于第一MB行的左端的两个宏块的解码完成,则第三解码引擎120开始第二MB行的左端的宏块的解码。同样,若位于第二MB行的左端的两个宏块的解码完成,则第四解码引擎120开始第三MB行的左端的宏块的解码。
因此,第(k+1)MB行,与第kMB行相比,延迟两个宏块,从左端的宏块到右端的宏块为止被解码。
图2B是示出在图片由MBAFF构成的情况下的解码的顺序的图。
在图片由MBAFF构成的情况下,如上所述,MB行组是具有由从图片的左端到右端的水平方向上排列的多个宏块构成的两个列(MB行)的构成单位。MB行组,按上下的每两个宏块(宏块组)被场编码。而且,对于宏块组,首先,上面的宏块被解码,其次,下面的宏块被解码。在此情况下,也与图片不由MBAFF构成的情况相同,第一解码引擎120对第零MB行进行解码,第二解码引擎120对第一MB行进行解码,第三解码引擎120对第二MB行进行解码,第四解码引擎120对第三MB行进行解码。而且,第k(k为0以上的整数)MB行组示出由从图片的上端第k的两个MB行而成的构成单位,例如,第零MB行为由从图片的上端第零个两个MB行而成的构成单位。
在此,在开始图片的解码时,首先,第一解码引擎120开始第零MB行组的解码。其次,若位于第零MB行组的左端的两个宏块组的解码完成,则第二解码引擎120开始第一MB行组的左上端的宏块的解码。而且,若位于第一MB行组的左端的两个宏块组的解码完成,则第三解码引擎120开始第二MB行组的左上端的宏块的解码。同样,若位于第二MB行组的左端的两个宏块组的解码完成,则第四解码引擎120开始第三MB行组的左上端的宏块的解码。
因此,第(k+1)MB行组,与第kMB行组相比,延迟两个宏块组,从左端的宏块组到右端的宏块组为止被解码。
而且,在图片不由MBAFF构成的情况、以及图片由MBAFF构成的情况的每一个情况下,第(k+1)MB行或第(k+1)MB行组,与第kMB行或第kMB行组相比,至少延迟两个宏块或两个宏块组而被解码即可。也就是说,也可以延迟三个宏块或三个宏块组以上而被解码。例如,在第(k+1)MB行或第(k+1)MB行组,与第kMB行或第kMB行组相比,延迟两个宏块或两个宏块组而被解码的情况下,能够使图片的解码所需要的时间最短,在延迟三个宏块或三个宏块组以上而被解码的情况下,按照该延迟的分量,图片的解码所需要的时间变长。
所述的本实施例中的图像解码装置100的特征是,重新构成由流划分部130的划分所生成的、由片的一个或多个部分(片部分)构成的片部分群,以作为新的一个片。片的重新构成包括片头(slice header)的***处理、片末端处理、以及MB地址信息的更新处理。
图3是用于说明片头的***处理的说明图。
例如,流划分部130,划分图3的(a)示出的图片p1。
图片p1,由片A、片B以及片C构成,并且,由MB行L1至L12构成。
片A跨过MB行L1至L7而被配置,片A具有片头ha、和从该片头ha连续被配置的多个宏块mba。片B跨过MB行L7至L8而被配置,片B具有片头hb、和从该片头hb连续被配置的多个宏块mbb。片C跨过MB行L9至L12而被配置,片C具有片头hc、和从该片头hc连续被配置的多个宏块mbc。而且,片头中包含具有该片头的片的解码所需要的辅助信息。
流划分部130,如图3的(b)示出,按每个MB行,划分所述的图片p1。而且,流划分部130,从开头依次,将MB行L1至L12的每一个分配到第一划分流至第四划分流的任一个划分流的一部分。例如,流划分部130,将MB行L1分配到第一划分流的一部分,将MB行L2分配到第二划分流的一部分,将MB行L3分配到第三划分流的一部分,将MB行L4分配到第四划分流的一部分。而且,流划分部130,若向第四划分流的MB行的分配结束,则反复进行向第一划分流的MB行的分配。也就是说,流划分部130,将MB行L5分配到第一划分流的一部分,将MB行L6分配到第二划分流的一部分,将MB行L7分配到第三划分流的一部分,将MB行L8分配到第四划分流的一部分。
其结果为,第一划分流包含连续的MB行L1、L5、L9,第二划分流包含连续的MB行L2、L6、L10,第三划分流包含连续的MB行L3、L7、L11,第四划分流包含连续的MB行L4、L8、L12。
而且,MB行L1至L6、由MB行L7的开头一侧的六个宏块而成的集合、由MB行L7的末端一侧的十个宏块而成的集合、以及MB行L8至L12分别是构成片A至C的一部分的片部分。而且,在第一划分流中,由作为片A的片部分的MB行L1、L5构成片部分群(第一划分流中的片A)。并且,在第二划分流中,由作为片A的片部分的MB行L2、L6构成片部分群(第二划分流中的片A)。
在此,若仅将MB行单纯地分配到划分流,则存在不能使解码引擎120适当地识别划分流中包含的片的情况。
例如,第一划分流中包含如上连续的MB行L1、L5、L9。在此情况下,MB行L1、L5应该被识别为片A,MB行L9应该被识别为片C。为此,在第一划分流中应该成为片A的开头的MB行L1的开头应该配置有片A的片头ha,在第一划分流中应该成为片C的开头的MB行L9的开头应该配置有片C的片头hc。在图3示出的例子中,片头ha、hc分别预先被配置在MB行L1、L9的开头,因此,流划分部130,将MB行L1、L5、L9与片头ha、hc一起分配到第一划分流即可。
另一方面,第二划分流中包含如上连续的MB行L2、L6、L10。在此情况下,MB行L2、L6应该被识别为片A,MB行L10应该被识别为片C。为此,在第二划分流中应该成为片A的开头的MB行L2的开头应该配置有片A的片头ha,在第二划分流中应该成为片C的开头的MB行L10的开头应该配置有片C的片头hc。
于是,本实施例中的流划分部130,在将MB行分配到划分流的一部分时,根据需要将片头ha、hb、hc复制,从而生成复制片头ha′、hb′、hc′,并将它们***到划分流。
例如,流划分部130,将片头ha复制,从而生成三个复制片头ha′,将该复制片头ha′***到MB行L2、L3、L4的紧前。进而,流划分部130,将片头hb复制,从而生成一个复制片头hb′,将该复制片头hb′***到MB行L8的紧前。进而,流划分部130,将片头hc复制,从而生成三个复制片头hc′,将该复制片头hc′***到MB行L10、L11、L12的紧前。
其结果为,在第二划分流中,在成为片A的开头的MB行L2的紧前配置有将片A的片头ha复制而得到的复制片头ha′,在成为片C的开头的MB行L10的紧前配置有将片C的片头hc复制而得到的复制片头hc′。据此,第二解码引擎120,根据复制片头ha′、hc′,能够得到第二划分流的片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地址信息所确定的地址,不指示第二划分流中的具有该复制片头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行的每一个被分配到第一划分流至第四划分流的任一个划分流的一部分的情况下,有时,不能使解码引擎120适当地识别划分流中包含的片的末端。于是,本实施例中的流划分部130,与片头的***处理相同,也执行片末端处理。
图5是用于说明片末端处理的说明图。
例如,如图5的(a)示出,编码流的图片p1中包含的片C包含片头hc、MB行L9至L12、以及片末端信息ec。
流划分部130,按每个MB行,划分图片p1。其结果为,如图5的(b)至(e)示出,MB行L9与片头hc一起被分配到第一划分流,MB行L10被分配到第二划分流,MB行L11被分配到第三划分流,MB行L12被分配到第四划分流。
进而,流划分部130,通过所述的片头的***处理,将片头hc复制,生成三个复制片头hc′,将这些三个复制片头hc′分别***到第二划分流至第四划分流的MB行L10、L11、L12的紧前。并且,流划分部130,通过所述的MB地址信息的更新处理,按照被***的复制片头hc′的位置更新该复制片头hc′中包含的MB地址信息。
在此,流划分部130,生成片末端信息ec′,以作为片末端处理,该片末端信息ec′示出第一划分流中的片C(MB行L9)的末端、第二划分流中的片C(MB行L10)的末端、第三划分流中的片C(MB行L11)的末端、以及第四划分流中的片C(MB行L12)的末端。而且,流划分部130,将该生成的片末端信息ec′***到第一划分流至第四划分流的MB行L9、L10、L11、L12的紧后。而且,流划分部130,在按每个MB行来划分编码流时,丢弃原来在该编码流中包含的片末端信息ec。并且,在片末端信息ec和片末端信息ec′是相同的信息的情况下,最后,MB行L12与片末端信息ec′(ec)一起被分配到第四划分流。
据此,各个解码引擎120,能够适当地识别划分流中包含的片的末端。
图6是示出本实施例中的图像解码装置100的工作整体的流程图。
首先,图像解码装置100,获得编码流(步骤S10),根据该编码流确定成为处理对象的编码后的图片(步骤S12)。进而,图像解码装置100,通过划分处理对象的图片,从而提取一个MB行(步骤S14)。而且,在MB行的紧前或属于该MB行的两个宏块之间存在片头的情况下,该MB行与该片头一起被提取。
其次,图像解码装置100,在将由步骤S14的划分提取的一个MB行分配到成为生成对象的第一至第N划分流的任一个划分流之前,判别是否需要将片头***到该MB行的紧前,以及是否需要在已分配的MB行的紧后设定片末端信息(步骤S16)。
图像解码装置100,在步骤S16中,在判别为需要***片头时、判别为需要设定片末端信息时、或判别为需要进行***和设定这两者时(步骤S16的“是”),执行片重构处理(步骤S18)。也就是说,图像解码装置100,执行所述的片头的***处理以及片末端处理之中的至少一方。并且,图像解码装置100,在执行片头的***处理时,也执行MB地址信息的更新处理。
而且,图像解码装置100,将该MB行分配到成为生成对象的第一至第N划分流的任一个(步骤S20)。反复进行该步骤S20,MB行依次被分配到第一至第N划分流的每一个,从而生成第一至第N划分流。
图像解码装置100,对被分配到第一至第N划分流的每一个的MB行并行进行解码(步骤S22)。而且,在MB行未被分配到第一至第N划分流中的任一个划分流的情况下,图像解码装置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行被分配到第一至第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,以使得该信息被***到四个划分流的每一个。
EPB***部132b,将由EPB除去部132a除去的EPB,***到因编码流被划分而生成的划分流中。
片头***部133,执行所述的片头的***处理以及MB信息的更新处理。而且,片头***部133,以规定的定时,将示出是否进行片头的***处理的片头处理内容通知M1传输到片数据处理部134a、134b,在从片数据处理部134a、134b接受末端处理完成通知M2时,执行片头的***处理。而且,片头***部133,通过片头的***处理,将位于MB行的紧前的片头、和MB地址信息被更新的复制片头输出到EPB***部132b。
片数据处理部134a、134b,划分除去了EPB的编码流,从而生成四个划分流,并输出该四个划分流。而且,在从片数据处理部134a、134b输出的划分流中,不包含所述的位于MB行的紧前或其中的片头以及复制片头。在此,片数据处理部134a,执行按照CAVLD(Context AdaptiveVariable Length Decoding)的处理,将由CAVLC(Context-AdaptiveVariable Length Coding)生成的编码流划分为四个划分流。并且,片数据处理部134b,执行按照CABAD(Context-Adaptive Binary ArithmeticDecoding)的处理,将由CABAC(Context-Adaptive Binary ArithmeticCoding)生成的编码流划分为四个划分流。
片数据处理部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跳运行信息。在此,MB跳运行信息示出连续被跳过的宏块的数量。
例如,在编码流的片中存在跨过多个MB行的连续被跳过的宏块的集合的情况下,由片数据层解码部135a解码的MB跳运行信息示出该集合中包含的连续被跳过的宏块的数量。在此情况下,若按每个MB行,划分图片,这些MB行被分配到各个划分流,则各个划分流的连续被跳过的宏块的数量不同。
于是,跳运行划分部137a,按包含所述的集合的一部分的每个MB行,确定组成该MB行中包含的所述一部分的、连续被跳过的宏块的数量。而且,跳运行划分部137a,校正MB跳运行信息,从而按每个MB行,MB跳运行信息所示的数量成为针对MB行确定的数量。
QP计算部138a,按每个宏块,将由宏块层解码部136a解码的该宏块的QP变化量“mb_qp_delta”转换为QP值(量化参数的值),并输出该QP值。而且,QP变化量,包含在宏块(对象宏块)中,QP变化量示出该对象宏块的QP值与该对象宏块的左相邻的宏块(左相邻宏块)的QP值之间差分。
也就是说,若按每个MB行,划分图片,MB行的每一个被分配到多个划分流的任一个划分流,则隔着MB行的边界相互相邻了的宏块被分配到各个划分流。其结果为,将包含该相互相邻了的一方的宏块(对象宏块)的划分流作为解码的对象的解码引擎120,根据对象宏块的QP变化量,不能导出该对象宏块的QP值。
于是,QP计算部138a,在划分图片之前,按每个宏块,将该宏块(对象宏块)的QP变化量与左相邻宏块的QP值相加,从而算出该对象宏块的QP值。
划分点检测部139a,将编码流划分为四个划分流。也就是说,划分点检测部139a,将图片划分为多个MB行,将MB行的每一个分配到四个划分流的任一个划分流。而且,划分点检测部139a,在MB行的紧前或属于该MB行的两个宏块之间存在片头的情况下,不进行该片头的分配,而仅将MB行分配到划分流。并且,划分点检测部139a,将从跳运行划分部137a获得的MB跳运行信息、和从QP计算部138a获得的QP值,包含在划分流的每一个中。
进而,划分点检测部139a,检测划分流的片的末端,若从片头***部133接受片头处理内容通知M1,则按照该片头处理内容通知M1示出的内容,执行所述的片末端处理。并且,划分点检测部139a,若片末端处理完成,则将末端处理完成通知M2传输到片头***部133。
片数据处理部134b包括片数据层解码部135b、宏块层解码部136b、QP计算部138b以及划分点检测部139b。
片数据层解码部135b,对编码流中包含的片数据层的编码数据进行可变长解码(算术解码)。宏块层解码部136b,对编码流中包含的宏块层的编码数据进行可变长解码(算术解码)。通过这些片数据层解码部135b以及宏块层解码部136b的可变长解码,相邻的宏块之间的依存关系被除去。
QP计算部138b,与所述的QP计算部138a相同,按每个宏块,将由宏块层解码部136b解码的该宏块的QP变化量“mb_qp_delta”转换为QP值(量化参数的值),并输出该QP值。
划分点检测部139b,与划分点检测部139a相同,将编码流划分为四个划分流。此时,划分点检测部139b,将从QP计算部138b获得的QP值,包含在划分流的每一个中。进而,划分点检测部139b,检测划分流的片的末端,若从片头***部133接受片头处理内容通知M1,则按照该片头处理内容通知M1示出的内容,执行所述的片末端处理。并且,划分点检测部139b,若片末端处理完成,则将末端处理完成通知M2传输到片头***部133。
在此,详细说明片头***部133以及片数据处理部134a、134b。而且,在说明片数据处理部134a、134b共同的功能以及处理工作时,将它们不区别,而总称为片数据处理部134。
首先,说明片头***部133***片头的定时,以及片数据处理部134***片末端信息的定时。
图8是用于说明片头***部133以及片数据处理部134的工作的说明图。
片数据处理部134,按每个MB行,划分包含片A以及片B的图片,经由EPB***部132b,从开头一侧的MB行开始,依次将各个MB行容纳到划分流缓冲器152中包含的四个区域(第一区域df1至第四区域df4)。此时,片数据处理部134,按一个MB行的容纳,按照第一区域df1、第二区域df2、第三区域df3、第四区域df4、第一区域df1的顺序,依次反复地变更MB行的容纳目的地。
例如,片数据处理部134,如图8的(a)示出,将片A的MB行La1容纳到划分流缓冲器152的第一区域df1,将片A的下一个MB行La2容纳到划分流缓冲器152的第二区域df2,将片A的下一个MB行La3容纳到划分流缓冲器152的第三区域df3。进而,片数据处理部134,将片A的下一个片B的MB行Lb1容纳到划分流缓冲器152的第四区域df4。
其结果为,MB行被容纳到划分流缓冲器152的四个第一区域df1至第四区域df4的每一个,划分流缓冲器152,成为片B的下一个MB行再次被容纳到第一区域df1的紧前的状态。
而且,片数据处理部134,在将MB行La3容纳到第三区域df3时,即使编码流中的MB行La3的紧后存在片末端信息ea,也不容纳该片末端信息ea,而仅将MB行La3容纳到第三区域df3。而且,片数据处理部134,然后,到了将属于新的片的MB行容纳到第三区域df3之时,将与该片末端信息ea相对应的片末端信息ea′容纳到第三区域df3。并且,在片数据处理部134将MB行Lb1容纳到第四区域df4时,预先,片头***部133将片B的片头hb容纳到第四区域df4。并且,在图片中,在片A的MB行La1之前,存在该片A的其它的MB行。因此,在第一区域df1、第二区域df2以及第三区域df3的MB行La1、La2、La3的紧前,片A的复制片头未被***。
并且,片数据处理部134的划分点检测部139a、139b,每当输出宏块时,判别是否已输出一个MB行的所有的宏块。其结果为,划分点检测部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是,将在将下一个MB行从片数据处理部134容纳到划分流缓冲器152的紧前,是否预定将片头输出并容纳到划分流缓冲器152的情况通知给片数据处理部134的信息,示出“输出”或“非输出”。也就是说,示出“输出”的片头处理内容通知M1是,促使片数据处理部134进行片末端处理的通知。
例如,片头***部133判断为,在将下一个MB行Lb2从片数据处理部134容纳到划分流缓冲器152的紧前,应该将复制片头hb′输出并容纳到划分流缓冲器152。此时,片头***部133,将示出“输出”的片头处理内容通知M1输出到片数据处理部134。
片数据处理部134,若获得片头处理内容通知M1,在该片头处理内容通知M1示出“输出”的情况下,生成片末端信息来容纳到划分流缓冲器152后,将末端处理完成通知M2输出到片头***部133。另一方面,片数据处理部134,若片头处理内容通知M1示出“非输出”,则不将片末端信息容纳到划分流缓冲器152,而将末端处理完成通知M2输出到片头***部133。
例如,片数据处理部134,若获得示出“输出”的片头处理内容通知M1,如图8的(c)示出,生成片末端信息ea′,并容纳到划分流缓冲器152的第一区域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的第一区域df1。然后,片头***部133,将片头处理完成通知M3输出到片数据处理部134。
片数据处理部134的划分点检测部139a、139b,若从片头***部133获得片头处理完成通知M3,则再次开始中断了的宏块的输出处理,将下一个MB行输出并容纳到划分流缓冲器152。
例如,片数据处理部134,如图8的(d)示出,将下一个MB行Lb2输出并容纳到划分流缓冲器152的第一区域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,为了确定生成并***复制片头的定时,对划分点检测部139检测出编码流中的MB行的边界(末端)的次数进行计数。具体而言,头部***计数器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_in_mbs_minus1”+1)。而且,在图片由MBAFF构成的情况下,头部地址更新部133c,将MB地址信息更新为(“mbposv”/2+n)×(“pic_width_in_mbs_minus1”+1)。
图10是示出分配到划分流缓冲器152的第一区域df1至第四区域df4的MB行以及片头的图。
例如,流划分部130,按照片A、片B、片C的顺序读出容纳在流缓冲器151的编码流的片A至C。
在此情况下,首先,片头***部133的头部缓冲器133d,将片头ha从片A的开头提取来存储。此时,头部***计数器133b,将计数值复位为0。据此,头部缓冲器133d,由于计数值为0,因此,通过输出存储了的片头ha,从而将该片头ha容纳到划分流缓冲器152的第一区域df1。
若从头部缓冲器133d输出片头ha,片数据处理部134,则输出在编码流中后续于片A的片头ha的第一MB行,从而将该第一MB行容纳到划分流缓冲器152的第一区域df1。其结果为,在第一区域df1中,按照片头ha、属于片A的第一MB行的顺序,容纳这些数据。
若从片数据处理部134输出第一MB行,所述的头部***计数器133b,将计数值加计数为1。据此,头部缓冲器133d,在第一MB行的末端,计数值为1,因此,通过将存储了的片头ha作为复制片头ha′来输出,从而将该复制片头ha′容纳到划分流缓冲器152的第二区域df2。而且,复制片头ha′的MB地址信息,已经由头部地址更新部133c更新。
若从头部缓冲器133d输出复制片头ha′,片数据处理部134,则输出在编码流中后续于第一MB行的第二MB行,从而将该第二MB行容纳到划分流缓冲器152的第二区域df2。
在此,第二MB行包含属于片A的多个宏块、片B的片头hb、属于片B的多个宏块。于是,片数据处理部134的划分点检测部139,首先,将第二MB行中包含的属于片A的所有的宏块容纳到第二区域df2。若该容纳结束,划分点检测部139,暂时中断宏块的输出处理,等待到从片头***部133接受片头处理内容通知M1为止。此时,片头***部133,由于检测片B的片头hb,因此,将计数值复位为0,将示出“输出“的片头处理内容通知M1传输到划分点检测部139。接受了该片头处理内容通知M1的划分点检测部139,对第二区域df2的片A的末端进行片末端处理,将末端处理完成通知M2输出到片头***部133。接受了该末端处理完成通知M2的片头***部133,将片B的片头hb容纳到第二区域df2,将片头处理完成通知M3传输到划分点检测部139。接受了该片头处理完成通知M3的划分点检测部139,再次开始中断了的输出处理,将第二MB行中包含的属于下一个片B的多个宏块容纳到第二区域df2。
其结果为,在第二区域df2中,复制片头ha′之后,按照构成属于片A的第二MB行的一部分的多个宏块、片头hb、构成属于片B的第二MB行的一部分的多个宏块的顺序,容纳它们的数据。
若从片数据处理部134输出第二MB行,片头***部133的头部缓冲器133d,从编码流中后续于该第二MB行的片C的开头中提取片头hc来存储。此时,头部***计数器133b,将计数值复位为0。据此,头部缓冲器133d,在第二MB行的末端,计数值为0,因此,输出存储了的片头hc,从而将该片头hc容纳到划分流缓冲器152的第三区域df3。
若从头部缓冲器133d输出片头hc,片数据处理部134,输出编码流中后续于片C的片头hc的第三MB行,从而该第三MB行容纳到划分流缓冲器152的第三区域df3。其结果为,在第三区域df3中,按照片头hc、属于片C的第三MB行的顺序,容纳它们的数据。
若从片数据处理部134输出第三MB行,所述的头部***计数器133b,则将计数值加计数为1。据此,在第三MB行的末端,计数值为1,因此,头部缓冲器133d,将存储了的片头hc作为复制片头hc′来输出,从而将该复制片头hc′容纳到划分流缓冲器152的第四区域df4。而且,复制片头hc′的MB地址信息,已经由头部地址更新部133c更新。
通过反复进行所述处理,从而数据依次被容纳到划分流缓冲器152的第一区域df1至第四区域df4。其结果为,第一划分流至第四划分流被容纳到第一区域df1至第四区域df4的每一个。
图11A以及图11B是示出设定片末端信息的位置的图。
例如,如图11A示出,图片包含片A和片B,后续于片A的片B的开头的宏块位于MB行的左端。在此情况下,片数据处理部134的划分点检测部139,在从片头***部133输出片B的片头hb的紧前,在位于从该片B的开头MB行前第四个MB行的片A的MB行的末端,设定片A的片末端信息ea′。进而,片数据处理部134的划分点检测部139,在从片头***部133输出片B的复制片头hb′的紧前,在位于从该片B的开头MB行前第三个MB行的片A的MB行的末端,设定片A的片末端信息ea′。
如此,在片的开头的宏块位于MB行的左端的情况下,在位于从该MB行前第一至四个MB行的各个MB行的末端,设定片末端信息ea′。
并且,如图11A示出,图片包含片A和片B,后续于片A的片B的开头的宏块位于MB行的左端以外。在此情况下,片数据处理部134的划分点检测部139,在从片头***部133输出片B的复制片头hb′的紧前,在位于从包含该片B的片头hb的MB行前第三个MB行的片A的MB行的末端,设定片A的片末端信息ea′。
如此,在片的开头的宏块位于MB行的左端以外的情况下,在该MB行中的片的边界,和位于从该MB行前第一至三个MB行的各个MB行的末端,设定片末端信息ea′。
在此,详细说明划分点检测部139的工作。
图12是示出划分点检测部139的工作的流程图。
首先,划分点检测部139,将应该作为处理对象的数据(例如,宏块),从编码流的开头一侧开始确定并输出,来容纳到划分流缓冲器152(步骤S100)。
在此,划分点检测部139,管理将要输出的宏块的地址(MB地址值)。也就是说,若将要输出的宏块为编码流中包含的片的开头宏块,划分点检测部139,更新将要输出的宏块的MB地址值,以成为该片的片头中包含的MB地址信息所示的值。而且,划分点检测部139,每当输出后续于该开头宏块的宏块时,使该MB地址值增大。而且,MB地址值为0以上的整数。
而且,划分点检测部139,在由步骤S100输出宏块时,按照该宏块的MB地址值,选择划分流缓冲器152内成为容纳目的地的区域,将宏块容纳到该成为容纳目的地的区域。具体而言,在划分流缓冲器152中包含的四个区域分配了第一至第四的号码的情况下,划分点检测部139,选择第m=((MB地址值/W)%N+1)个区域,将宏块容纳到该第m个区域。
而且,以W=“pic_width_in_mbs_minus1”+1来示出W,并且,W示出图片的水平方向的宏块数。并且,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执行片末端处理后,将末端处理完成通知M2传输到片头***部133(步骤S110)。然后,划分点检测部139,判别是否从片头***部133接受了片头处理完成通知M3(步骤S112)。在此,划分点检测部139,若判别为未接受片头处理完成通知M3(步骤S112的“否”),则等待到接受片头处理完成通知M3为止。另一方面,划分点检测部139,在由步骤S112判别为接受了片头处理完成通知M3时(步骤S112的“是”),判别在编码流中是否存在应该作为下一个处理对象的数据,即判别是否应该结束输出处理(步骤S114)。
在此,划分点检测部139,在判别为应该结束时(步骤S114的“是”),结束处理,在判别为不应该结束时(步骤S114的“否”),再次,将应该作为下一个处理对象的数据输出并容纳到划分流缓冲器152(步骤S110)。
如上所述,本实施例中的图像解码装置100,编码后的图片被划分为多个MB行(构成单位),多个MB行的每一个被分配到N个解码引擎120而被解码,以作为划分流的一部分,因此,能够使由N个解码引擎120的解码处理的负担均等化,从而能够适当地执行解码的并行处理。例如,在H.264/AVC的编码图片由一个片构成的情况下,该编码图片也被划分为多个MB行,因此,不由一个解码引擎120负担一个片的解码,而能够由N个解码引擎120均等负担。
在此,有时,若编码图片被划分为多个MB行,则跨过多个MB行的片被划分为多个片部分(例如,图3示出的各个MB行L1至L6,或MB行L7中的开头六个宏块的集合等),这些片部分被分配到相互不同的划分流。也就是说,在一个划分流中,不包含编码图片的片整体,而包含集合作为该片的断片的片部分的一个以上而构成的片部分群(例如,图3示出的第二划分流中包含的MB行L2,L6)。并且,也存在这些片部分群(MB行L2,L6)中不包含示出其开头的片头、或示出其末端的片末端信息的情况。
于是,在本发明中,流划分部130,将重新构成将该片部分群重新构成为新的片,因此,对包含该片部分群的划分流进行解码的解码引擎120,不需要进行用于识别并适当地解码该片部分群的特别的处理,而能够将片部分群简单地识别为新的片来适当地进行解码。也就是说,在本发明中,不需要在N个解码引擎120的每一个设置进行特别的处理的功能或结构,因此,能够将图像解码装置100整体的整体简化。
并且,在本发明中,与所述专利文献3的图像解码装置相比,能够试图解码处理的高速化。具体而言,在所述专利文献3的图像解码装置中,不进行编码流的可变长解码以及去块滤波处理的并行化。也就是说,在所述专利文献3的图像解码装置中,不适当地划分编码流,换而言之,划分编码流而生成的数据,未被构成为由以往的解码引擎能够解码的流。另一方面,在本发明的图像解码装置100中,将编码流适当地划分为多个划分流,因此,解码引擎120的每一个,像图28示出的解码引擎220那样,能够并行执行可变长解码以及去块滤波处理。其结果为,本发明的图像解码装置,能够试图解码处理的高速化。
并且,在本发明中,与所述专利文献4的图像解码装置相比,具有能够挪用以往的解码引擎的优点。具体而言,在所述专利文献4的图像解码装置中,不划分编码流,而将行头***到编码流中的MB行的边界。因此,所述专利文献4的图像解码装置的多个解码引擎需要,以行头为目标,从编码流中提取应该自己处理的MB行。此时,这些解码引擎,若已确定容纳了处理对象的MB行的位置,为了提取处理对象的MB行,而需要不连续地存取编码流,若未确定该位置,需要从编码流的开头开始存取,并跳读不是处理对象的MB行。另一方面,在本发明的图像解码装置100中,将编码流适当地划分为多个划分流,因此,解码引擎120的每一个,像图28示出的解码引擎220那样,能够将划分流作为通常的编码流来进行解码。如上所述,在本发明的图像解码装置中,能够挪用以往的解码引擎,能够得到所述专利文献4的图像解码装置不能实现的效果。
并且,如上所述的本实施例中的图像解码装置100,按照输入到流划分部130的所述的模式信息,执行高分辨率解码、高速解码以及多信道解码之中的某种解码。
图13A至图13C是用于说明本发明的高分辨率解码、高速解码以及多信道解码的说明图。
图像解码装置100的流划分部130,如图13A示出,若获得指示高分辨率解码的执行的模式信息,则将4k2k的编码流划分为如上所述的四个划分流,使各个解码引擎120对四个划分流的每一个进行解码。
例如,四个解码引擎120的每一个,具有能够对两个信道的HD的图像(1920×1088像素,60i)进行解码的处理能力,因此,图像解码装置100,能够实时地处理4k2k的图像(3840×2160像素,60p)。
并且,图像解码装置100的流划分部130,如图13B示出,若获得指示高速解码的执行的模式信息,则将HD的编码流划分为如上所述的四个划分流,使各个解码引擎120对四个划分流的每一个进行解码。
例如,四个解码引擎120的每一个,具有能够对两个信道的HD的图像(1920×1088像素,60i)进行解码的处理能力,因此,图像解码装置100,能够以8倍速(4×2)来处理HD的图像。
图像解码装置100的流划分部130,如图13C示出,若获得指示多信道解码的执行的模式信息,则不将HD的编码流划分,而使各个解码引擎120对多个编码流的每一个进行解码。而且,在该多信道解码的情况下,流划分部130不进行SPS、PPS以及片等的各种NAL单元的复制以及***,而仅进行向划分流缓冲器152的各个区域的编码流(信道)的分配。
例如,四个解码引擎120的每一个,具有能够对两个信道的HD的图像(1920×1088像素,60i)进行解码的处理能力,因此,图像解码装置100,能够同时对最大八个信道进行解码,即能够同时对八个HD的编码流进行解码。并且,在对最大信道数以下的信道(编码流)进行解码的情况下,能够试图降低解码引擎120的时钟频率来减少消耗电力。例如,在对四个信道进行解码的情况下,使第一解码引擎120和第二解码引擎120的每一个执行两个信道的解码,使剩下的第三解码引擎120和第四解码引擎120停止。或者,使用第一解码引擎120至第四解码引擎120,并将它们的时钟频率成为1/2。
如上所述,在本实施例的图像解码装置100中,按照模式信息,将解码处理在高分辨率解码、高速解码与多信道解码之间进行切换,因此,能够提高用户的利便性。而且,图像解码装置100中的高分辨率解码和高速解码的每一个是相同的处理,即将编码流划分为四个划分流,并对它们并行进行解码的处理。也就是说,高分辨率解码与高速解码,只有解码对象的编码流的分辨率/帧率(4k2k或HD)不同。因此,图像解码装置100,按照模式信息,将解码处理在高分辨率解码或高速解码与多信道解码之间进行切换,进一步,按照编码流的分辨率/帧率,将解码处理在高分辨率解码与高速解码之间进行切换。
(变形例1)
在此,在所述实施例中,由流划分部130的头部地址更新部133c,更新了复制片头中包含的MB地址信息,但也可以,不由流划分部130更新,而由解码引擎120更新。也就是说,在变形例1中,流划分部130,不变更复制片头中包含的MB地址信息,而输出该复制片头。而且,解码引擎120,在获得复制片头来进行处理之前,变更该复制片头中包含的MB地址信息。
图14是示出变形例1涉及的用于解码引擎120变更MB地址信息的虚拟代码的图。
在此,以图片中包含的第k个(k为0以上的整数)MB行由第(k%4)个解码引擎120解码为前提。而且,第零个解码引擎120为第一解码引擎120,第一个解码引擎120为第二解码引擎120,第二个解码引擎120为第三解码引擎120,第三个解码引擎120为第四解码引擎120。
首先,解码引擎120,通过执行“n=mode_core_number”,从而将自己的解码引擎120的号码代入到“n”。其次,解码引擎120,通过执行“pic_width_in_mbs=pic_width_in_mbs_minus1+1”,从而将图片中包含的水平方向的宏块的数量代入到“pic_width_in_mbs”。
而且,解码引擎120,通过执行“org_header_num=(first_mb_in_slice/pic_width_in_mbs)%4”,从而将应该对具有复制源的片头的MB行进行解码的解码引擎120的号码代入到“org_header_num”。也就是说,第“org_header_num”个解码引擎120,对具有复制源的片头的MB行进行解码。进而,解码引擎120,通过执行“org_mb_address=mbaff?(first_mb_in_slice*2):first_mb_in_slice”,若图片由MBAFF构成,则将复制源的片头的MB地址“org_mb_address”作为“first_mb_in_slice*2”来处理,若图片不由MBAFF构成,则将复制源的片头的MB地址“org_mb_address”作为“first_mb_in_slice”来处理。
在此,解码引擎120,若解码引擎120的号码“n”等于“org_header_num”,通过执行“mb_address=org_mb_address”,从而将复制片头中包含的MB地址信息“mb_address”更新为“org_mb_address”。另一方面,解码引擎120,若解码引擎120的号码“n”与“org_header_num”不同,首先,通过执行“d=(n-org_header_num+4)%4”,从而判断该复制片头为第几个复制片头。而且,解码引擎120,若图片由MBAFF构成,则将复制片头中包含的MB地址信息“mb_address”更新为“((first_mb_in_slice/pic_width_in-mbs)+d)*pic_width_in_mbs*2”,若图片不由MBAFF构成,则将复制片头的MB地址信息“mb_address”更新为“((first_mb_in_slice/pic_width_in_mbs)+d)*pic_width_in_mbs”。
如上所述,在变形例1中,由于流划分部130不更新MB地址信息,因此,能够减轻该流划分部130的处理负担,并且,能够使该结构简化。而且,在本发明中,对于MB地址信息的更新的定时,不仅限于由流划分部130划分编码流的时刻,即使在生成划分流后,只要是在由解码引擎120对复制片头进行处理之前,就可以是生成划分流后的任何时刻。
(变形例2)
在此,在所述实施例中,流划分部130,仅在需要复制片头的划分流***了该复制片头,但也可以,在除此以外的划分流***复制片头。变形例2涉及的流划分部,与是否需要复制片头无关,而在包含复制源的片头的划分流以外的所有的划分流***复制片头。
图15是示出本发明的变形例2涉及的图像解码装置的流划分部、划分流缓冲器以及四个解码引擎的方框图。
变形例2涉及的流划分部130c包括片头处理部133g、片数据处理部134c以及控制部160。而且,流划分部130c,除了包括这些构成要素以外,还包括启动代码检测部131、EPB除去部132a以及EPB***部132b,但是,在图15中,为了简化说明,而省略了启动代码检测部131等构成要素。
划分流缓冲器152具有用于蓄积从片头处理部133g以及片数据处理部134c输出的数据、且由该蓄积了的数据构成划分流的四个区域(第一区域df1至第四区域df4)。
片数据处理部134c,具有与所述实施例中的片数据处理部134a、134b相同的功能以及结构,将编码流中的各个图片划分为多个MB行,从开头一侧依次将这些MB行容纳到第一区域df1、第二区域df2、第三区域df3以及第四区域df4中的任一个。例如,片数据处理部134c,按每个MB行,按照第一区域df1、第二区域df2、第三区域df3、第四区域df4的顺序,对成为该MB行的容纳目的地的区域进行切换,将MB行容纳到切换到的区域。并且,片数据处理部134c,即使在编码流中的MB行的紧前存在片头,也仅将MB行容纳到划分流缓冲器152的区域,即使在MB行中存在片头,也仅将除去了该片头的MB行容纳到划分流缓冲器152的区域。
片头处理部133g,在从开头一侧依次获得编码流中包含的数据时,在获得的数据为片头的情况下,将该片头同时输出到划分流缓冲器152的第一区域df1至第四区域df4的每一个。其结果为,片头被复制为四个。也就是说,编码流中包含了的复制源的片头被容纳到第一区域df1至第四区域df4中的任一个区域,三个复制片头分别被容纳到剩下的三个区域。
例如,若片头处理部133g将片头同时输出到第一区域df1至第四区域df4的每一个,则复制源的片头被容纳到第一区域df1,三个复制片头分别被容纳到第二区域df2、第三区域df3以及第四区域df4的每一个,从而被***到MB行的开头。
通过所述的由片数据处理部134c以及片头处理部133g的处理,从划分流缓冲器152的各个区域,除了输出在MB行的开头具有零或一个片头的划分流以外,还输出在MB行的开头具有连续的多个片头(复制片头或复制源的片头)的划分流。
控制部160,管理如上所述的由片头处理部133g的处理,按划分流缓冲器152的每个区域,对连续被***在容纳到该区域的MB行的紧前的片头的数量(总头部数)进行计数。而且,控制部160,将该总头部数通知给对从该区域输出的划分流进行解码的解码引擎121(第一解码引擎121至第四解码引擎121的全部)。
第一解码引擎121至第四解码引擎121,分别对从流划分部130c输出的划分流进行解码。此时,第一解码引擎121至第四解码引擎121的每一个,若从控制部160接受总头部数的通知,则进行与该总头部数的数量相对应的处理。也就是说,解码引擎121,在总头部数为0的情况下,不对片头进行处理,在总头部数为1的情况下,对被***到MB行的开头的一个片头进行处理。并且,解码引擎121,在总头部数为2至3的情况下,跳过对连续被***到MB行的开头的二至三个片头中的最后的片头以外的片头的处理,而仅对该最后的片头进行处理。
图16是用于说明变形例2涉及的流划分部130c以及四个解码引擎121的工作的说明图。
例如,在编码流中包含的图片包含片A、片B、片C以及片D。在此,片A包含片头ha以及第一MB行,片B包含片头hb以及第二MB行,片C包含片头hc以及第三MB行,片D包含片头hd以及第四MB行。
流划分部130c的片头处理部133g,若获得编码流的片头ha,则同时将该片头ha输出到第一区域df1至第四区域df4的每一个。其结果为,片头ha被容纳到第一区域df1,以作为第一划分流的一部分,并且,与该片头ha相同的三个复制片头ha′的每一个被容纳到第二区域df2、第三区域df3、第四区域df4,以作为第二划分流、第三划分流、第四划分流的一部分。而且,片数据处理部134c,将第一MB行容纳到第一区域df1,以作为第一划分流的一部分。
其次,片头处理部133g,若获得编码流的片头hb,则同时将该片头hb输出到第一区域df1至第四区域df4的每一个。其结果为,该片头hb被容纳到第二区域df2,以作为第二划分流的一部分,并且与该片头hb相同的三个复制片头hb′的每一个被容纳到第一区域df2、第三区域df3、第四区域df4,以作为第一划分流、第三划分流、第四划分流的一部分。而且,片数据处理部134c,将第二MB行容纳到第二区域df2,以作为第二划分流的一部分。
流划分部130c,对片C以及片D也反复执行这些处理。
其结果为,从第一区域df1输出包含片头ha、第一MB行、复制片头hb′、复制片头hc′以及复制片头hd′的第一划分流。同样,从第二区域df2输出包含复制片头ha′、片头hb、第二MB行、复制片头hc′以及复制片头hd′的第二划分流。从第三区域df3输出包含复制片头ha′、复制片头hb′、复制片头hc′、第三MB行以及复制片头hd′的第三划分流。从第四区域df4输出包含复制片头ha′、复制片头hb′、复制片头hc′、片头hd以及第四MB行的第四划分流。
而且,在第一区域df1至第四区域df4的每一个,依次容纳后续于第四MB行的MB行,在图16示出的第一划分流至第四划分流的末端以后,也接着配置其它的MB行。具体而言,在编码流中,在第四MB行以后也后续属于片D的四个MB行以上的片数据,在图16示出的第一划分流至第四划分流的末端以后,不后续新的片头。
也就是说,在第一划分流中,片头ha被配置在第一MB行之前,由复制片头hb′、复制片头hc′以及复制片头hd′构成的三个片头,连续被配置在第一MB行之后。
并且,在第二划分流中,由复制片头ha′以及片头hb构成的两个片头,连续被配置在第二MB行之前,由片头hc′以及复制片头hd′构成的两个片头,连续被配置在第二MB行之后。
并且,在第三划分流中,由复制片头ha′、复制片头hb′以及片头hc构成的三个片头,连续被配置在第三MB行之前,复制片头hd′被配置在第三MB行之后。
并且,在第四划分流中,由复制片头ha′、复制片头hb′、复制片头hc′以及片头hd构成的四个片头,连续被配置在第四MB行之前。
第一解码引擎121,在对从第一区域df1输出的所述的第一划分流的第一MB行进行解码时,首先,从控制部160接受总头部数“1”的通知。其结果为,第一解码引擎121,不跳过对片头的处理,而对片头ha进行处理,对后续于该片头ha的第一MB行进行解码。其次,第一解码引擎121,从控制部160接受总头部数“3”的通知。其结果为,第一解码引擎121,对第一MB行进行解码后,跳过对(总头部数-1=2)个片头的处理。也就是说,第一解码引擎121,跳过对两个片头(复制片头hb′以及复制片头hc′)的处理,对复制片头hd′进行处理,对后续于该复制片头hd′的MB行进行解码。
并且,第二解码引擎121,在对从第二区域df2输出的所述的第二划分流的第二MB行进行解码时,首先,从控制部160接受总头部数“2”的通知。其结果为,第二解码引擎121,跳过对(总头部数-1=1)个片头的处理。也就是说,第二解码引擎121,跳过对复制片头ha′的处理,对片头hb进行处理,对后续于该片头hb的第二MB行进行解码。其次,第二解码引擎121,再次从控制部160接受总头部数“2”的通知。其结果为,第二解码引擎121,跳过对(总头部数-1=1)个片头的处理。也就是说,第二解码引擎121,跳过对复制片头hc′的处理,对复制片头hd′进行处理,对后续于该复制片头hd′的MB行进行解码。
并且,第三解码引擎121,在对从第三区域df3输出的所述的第三划分流的第三MB行进行解码时,首先,从控制部160接受总头部数“3”的通知。其结果为,第三解码引擎121,跳过对(总头部数-1=2)个片头的处理。也就是说,第三解码引擎121,跳过对复制片头ha′以及复制片头hb′的处理,对片头hc进行处理,对后续于该片头hc的第三MB行进行解码。其次,第三解码引擎121,再次从控制部160接受总头部数“1”的通知。其结果为,第三解码引擎121,不跳过对片头的处理,对复制片头hd′进行处理,对后续于该复制片头hd′的MB行进行解码。
并且,第四解码引擎121,在对从第四区域df4输出的所述的第四划分流的第四MB行进行解码时,首先,从控制部160接受总头部数“4”的通知。其结果为,第四解码引擎121,跳过对(总头部数-1=3)个片头的处理。也就是说,第四解码引擎121,跳过对复制片头ha′、复制片头hb′以及复制片头hc′的处理,对片头hd进行处理,对后续于该片头hd的第四MB行进行解码。
如此,在变形例2中,流划分部130c,与是否需要复制片头无关,而将复制片头***到划分流,因此,能够减轻在流划分部130c中的该复制片头的必要性的判断所需要的处理负担。进而,流划分部130c,若获得编码流中包含的片头,单纯地输出该片头即可,因此,不需要像所述实施例的流划分部130那样包括头部缓冲器133d。其结果为,能够使流划分部130c的结构简化。
(变形例3)
在此,在所述变形例2中,与是否需要复制片头无关,而将复制片头***到包含复制源的片头的划分流以外的所有的划分流,从而生成了包含连续地被配置的多个片头的划分流。在变形例3中,与所述变形例2相同,与是否需要复制片头无关,而将复制片头***到包含复制源的片头的划分流以外的所有的划分流,但是,在连续***片头的情况下,在已***的片头覆盖写新的片头。据此,防止在划分流中多个片头连续地被配置。
图17是示出变形例3涉及的图像解码装置的流划分部、划分流缓冲器以及四个解码引擎的方框图。
变形例3涉及的流划分部130d包括片头处理部133h、片数据处理部134d以及四个缓冲器(第一缓冲器141至第四缓冲器144)。而且,流划分部130d,除了包括这些构成要素以外,还包括启动代码检测部131、EPB除去部132a以及EPB***部132b,但是,在图17中,为了简化说明,而省略了启动代码检测部131等构成要素。
片数据处理部134d,具有与所述实施例中的片数据处理部134a、134b相同的功能以及结构,将编码流中的各个图片划分为多个MB行,从开头一侧开始依次将这些MB行输出到第一缓冲器141、第二缓冲器141、第三缓冲器141以及第四缓冲器141之中的任一个。例如,片数据处理部134d,按每个MB行,按照第一缓冲器141、第二缓冲器141、第三缓冲器141以及第四缓冲器141的顺序,对成为该MB行的输出目的地的缓冲器进行切换,将MB行输出到切换到的缓冲器。并且,片数据处理部134d,即使在编码流中的MB行的紧前存在片头,也仅将该MB行输出到缓冲器,即使在MB行中存在片头,也将除去了该片头的MB行输出到缓冲器。
片头处理部133h,在从开头一侧依次获得编码流中包含的数据时,在获得的数据为片头的情况下,同时将该片头输出到第一缓冲器141至第四缓冲器144的每一个。其结果为,片头被复制为四个。也就是说,编码流中包含的复制源的片头被容纳到第一缓冲器141至第四缓冲器144的任一个缓冲器,三个复制片头被容纳到剩下的三个复制片头。
例如,片头处理部133h,若同时将片头输出到第一缓冲器141至第四缓冲器144的每一个,则复制源的片头被容纳到第一缓冲器141,三个复制片头被容纳到第二缓冲器144、第三缓冲器144以及第四缓冲器144的每一个。
缓冲器(第一缓冲器141至第四缓冲器144),至少具有能够容纳一个片头的程度的容量,暂时蓄积从片头处理部133h以及片数据处理部134d输出的数据,并输出到与该缓冲器相对应的划分流缓冲器152的区域。而且,为了使说明简化,以缓冲器具有能够一个片头和一个宏块的容量为前提,以下,进行说明。
缓冲器,在从片头处理部133h获得了片头(复制源的片头以及复制片头)时暂时保持该片头,若在保持该片头的状态下获得下一个新的片头,在已保持的片头覆盖写该新的片头。
并且,缓冲器,若紧接获得并保持片头之后,从片数据处理部134d获得宏块来保持,则按照片头、宏块的顺序输出所保持的该数据。进而,缓冲器,在前面的宏块之后,从片数据处理部134d获得新的宏块时,依次消除已保持的片头以及宏块,来保持新的宏块,并输出该新的宏块。
也就是说,缓冲器,每当获得宏块时,立刻输出该宏块。另一方面,缓冲器,在获得了片头时,不将该片头立刻输出该片头而保持,在获得并输出宏块时,在宏块之前输出该片头。并且,缓冲器,在保持片头的情况下,在获得了新的片头时,在已保持的片头覆盖写该新的片头。
通过所述的由片数据处理部134d、片头处理部133h以及缓冲器的处理,在划分流缓冲器152的各个区域(第一区域df1至第四区域df4),蓄积不包含连续的片头的划分流。
解码引擎120,与所述实施例相同,从与该解码引擎120相对应的划分流缓冲器152的区域中读出划分流,并进行解码。
图18是示出缓冲器的指针的图。
缓冲器,在将片头从片头处理部133h获得来写入到存储区域时,将存储区域的写入指针WP返回到保护指针GP,从该保护指针GP写入片头。据此,已容纳的片头被覆盖写并消除。并且,缓冲器,通常,将写入到存储区域的数据从读入指针RP读出来输出,但是,该读入指针RP被设定,从而不超过保护指针GP。
而且,缓冲器,紧接将片头写入到存储区域之后,仅在将宏块写入到存储区域时,解除由该保护指针GP的读入指针RP的保护,读出并输出该写入的片头和宏块。新的片头或宏块被写入时,所述的输出的片头和宏块被覆盖写并消除。
图19是用于说明变形例3涉及的流划分部130d的工作的说明图。
例如,在编码流中包含的图片包含片A、片B、片C以及片D。在此,片A包含片头ha以及第一MB行,片B包含片头hb、第二MB行以及第三MB行的一部分,片C包含片头hc以及第三MB行的剩下的一部分,片D包含片头hd以及第四MB行。
流划分部130d的片头处理部133h,若获得编码流的片头ha,则同时将该片头ha输出到第一缓冲器141至第四缓冲器144的每一个。其结果为,该片头ha被输出到第一缓冲器141,以作为第一划分流的一部分,并且,与该片头ha相同的三个复制片头ha′的每一个被输出到第二缓冲器142、第三缓冲器143、第四缓冲器144,以作为第二划分流、第三划分流、第四划分流的一部分。其结果为,片头ha被写入到第一缓冲器141,复制片头ha′被写入到第二缓冲器142至第四缓冲器144的每一个。
而且,片数据处理部134d,从开头一侧依次,将第一MB行中包含的宏块输出到第一缓冲器141,以作为第一划分流的一部分。据此,在第一缓冲器141,宏块被写入到片头ha的紧后,该第一缓冲器141的读入指针RP的保护被解除。因此,第一缓冲器141,将片头ha和第一MB行的开头的宏块,输出到划分流缓冲器152的第一区域df1。在第一MB行的开头宏块被写入到第一缓冲器141后,后续于该开头宏块的第二个以后的宏块,依次被写入到第一缓冲器141时,已写入到该第一缓冲器141的片头ha和开头宏块,因第二个以后的宏块而被覆盖写并消除。而且,第一缓冲器141,每当获得第一MB行的第二个以后的宏块时,消除已写入的数据,并且,依次将该第二个以后的宏块输出到划分流缓冲器152的第一区域df1。
通过这些由流划分部130d的处理,片头ha以及第一MB行,经由第一缓冲器141,被容纳到划分流缓冲器152的第一区域df1。
其次,片头处理部133h,若获得编码流的片头hb,则同时将该片头hb输出到第一缓冲器141至第四缓冲器144的每一个。其结果为,该片头hb被输出到第二缓冲器142,以作为第二划分流的一部分,并且,与该片头hb相同的三个复制片头hb′的每一个被输出到第一缓冲器141、第三缓冲器143、第四缓冲器144,以作为第一划分流、第三划分流、第四划分流的一部分。
其结果为,片头hb被写入到第二缓冲器142,复制片头hb′被写入到第一缓冲器141、第三缓冲器143以及第四缓冲器144。也就是说,已写入到第二缓冲器142至第四缓冲器144的每一个的片头,被覆盖写为片头hb或复制片头hb′。
而且,片数据处理部134d,从开头一侧依次,将第二MB行中包含的宏块输出到第二缓冲器142,以作为第二划分流的一部分。据此,在第二缓冲器142,宏块被写入到片头hb的紧后,该第二缓冲器142的读入指针RP的保护被解除。因此,第二缓冲器142,将片头hb和第二MB行的开头的宏块,输出到划分流缓冲器152的第二区域df2。在第二MB行的开头宏块被写入到第二缓冲器142后,后续于该开头宏块的第二个以后的宏块,依次被写入到第二缓冲器142时,已写入到该第二缓冲器142的片头hb和开头宏块,因第二个以后的宏块而被覆盖写并消除。而且,第二缓冲器142,每当获得第二MB行的第二个以后的宏块时,消除已写入的数据,并且,依次将该第二个以后的宏块输出到划分流缓冲器152的第二区域df2。
通过这些由流划分部130d的处理,片头hb以及第二MB行,经由第二缓冲器142,被容纳到划分流缓冲器152的第二区域df2。
在此,片B包含所述的第二MB行和第三MB行中的三个宏块。因此,片数据处理部134d,输出第二MB行后,接着,从开头一侧依次,将第三MB行的三个宏块输出到第三缓冲器143,以作为第三划分流的一部分。
据此,在第三缓冲器143,宏块被写入到复制片头hb′的紧后,该第三缓冲器143的读入指针RP的保护被解除。因此,第三缓冲器143,将复制片头hb′和第三MB行的开头的宏块,输出到划分流缓冲器152的第三区域df3。在第三MB行的开头宏块被写入到第三缓冲器143后,后续于该开头宏块的第二个以后的宏块,依次被写入到第三缓冲器143时,已写入到该第三缓冲器143的复制片头hb′和开头宏块,因第二个以后的宏块而被覆盖写并消除。而且,第三缓冲器143,每当获得第三MB行的第二个以后的宏块时,消除已写入的数据,并且,依次将该第二个以后的宏块输出到划分流缓冲器152的第三区域df3。
通过这些由流划分部130d的处理,第三MB行中包含的片B的剩下的三个宏块,经由第三缓冲器143,被容纳到划分流缓冲器152的第三区域df3。
其次,片头处理部133h,若获得编码流的片头hc,则同时将该片头hc输出到第一缓冲器141至第四缓冲器144的每一个。其结果为,该片头hc被输出到第三缓冲器143,以作为第三划分流的一部分,并且,与该片头hc相同的三个复制片头hc′的每一个被输出到第一缓冲器141、第二缓冲器142、第四缓冲器144,以作为第一划分流、第二划分流、第四划分流的一部分。
其结果为,片头hc被写入到第三缓冲器143,复制片头hc′被写入到第一缓冲器141、第二缓冲器142以及第四缓冲器144。也就是说,已写入到第一缓冲器141以及第四缓冲器144的每一个的片头,被覆盖写为复制片头hc′。
而且,片数据处理部134d,从开头一侧依次,将第三MB行中包含的片C的宏块输出到第三缓冲器143,以作为第三划分流的一部分。据此,在第三缓冲器143,宏块被写入到片头hc的紧后,该第三缓冲器143的读入指针RP的保护被解除。因此,第三缓冲器143,将片头hc和片C的开头的宏块,输出到划分流缓冲器152的第三区域df3。在片C的开头宏块被写入到第三缓冲器143后,后续于该开头宏块的第二个以后的宏块,依次被写入到第三缓冲器143时,已写入到该第三缓冲器143的片头hc和开头宏块,因第二个以后的宏块而被覆盖写并消除。而且,第三缓冲器143,每当获得片C的第二个以后的宏块时,消除已写入的数据,并且,依次将该第二个以后的宏块输出到划分流缓冲器152的第三区域df3。
通过这些由流划分部130d的处理,片头hc以及片C的宏块,经由第三缓冲器143,被容纳到划分流缓冲器152的第三区域df3。
其次,片头处理部133h,若获得编码流的片头hd,则同时将该片头hd输出到第一缓冲器141至第四缓冲器144的每一个。其结果为,该片头hd被输出到第四缓冲器144,以作为第四划分流的一部分,并且,与该片头hd相同的三个复制片头hd′的每一个被输出到第一缓冲器141、第二缓冲器142、第三缓冲器143,以作为第一划分流、第二划分流、第三划分流的一部分。
其结果为,片头hd被写入到第四缓冲器144,复制片头hd′被写入到第一缓冲器141、第二缓冲器142以及第三缓冲器143。也就是说,已写入到第一缓冲器141、第二缓冲器142以及第四缓冲器144的每一个的片头,被覆盖写为片头hd或复制片头hd′。
而且,片数据处理部134d,从开头一侧依次,将第四MB行中包含的宏块输出到第四缓冲器144,以作为第四划分流的一部分。据此,在第四缓冲器144,宏块被写入到片头hd的紧后,该第四缓冲器144的读入指针RP的保护被解除。因此,第四缓冲器144,将片头hd和第四MB行的开头的宏块,输出到划分流缓冲器152的第四区域df4。在第四MB行的开头宏块被写入到第四缓冲器144后,后续于该开头宏块的第二个以后的宏块,依次被写入到第四缓冲器144时,已写入到该第四缓冲器144的片头hd和开头宏块,因第二个以后的宏块而被覆盖写并消除。而且,第四缓冲器144,每当获得第四MB行的第二个以后的宏块时,消除已写入的数据,并且,依次将该第二个以后的宏块输出到划分流缓冲器152的第四区域df4。
通过这些由流划分部130d的处理,片头hd以及第四MB行,经由第三缓冲器143,被容纳到划分流缓冲器152的第四区域df4。
如此,在变形例3中,片头处理部133h,与是否需要复制片头无关,而将复制片头输出,因此,能够减轻在片头处理部133h中的该复制片头的必要性的判断所需要的处理负担。进而,片头处理部133h,若获得编码流中包含的片头,单纯地输出该片头即可,因此,不需要像所述实施例的片头***部133那样包括头部缓冲器133d。其结果为,能够使片头处理部133h的结构简化。
进而,在变形例3中,在划分流中片头不会连续地被***,因此,与变形例2相比,能够减轻对连续的片头的处理负担。也就是说,能够省略用于将连续的片头的数量通知给解码引擎120的处理,或解码引擎120判别是否应该跳过片头的处理等。其结果为,能够使流划分部130d以及解码引擎120的功能构结构简化,能够将以往的解码引擎挪用于解码引擎120。
图20是示出所述实施例或其变形例涉及的图像解码装置的适用例的图。
例如,所述实施例或其变形例涉及的图像解码装置,包括在图20所示的再生装置101中,该再生装置101接收广播波来再生广播波中包含的编码流。再生装置101包括:天线101a,接收BS数字广播的广播波;以及装置本机101b,装置本机101b包括所述的图像解码装置。
装置本机101b包括的图像解码装置,例如,从由天线101a接收的广播波中提取4k2k的编码流。而且,该图像解码装置,如上所述,划分提取的编码流来生成N个划分流,对N个划分流并行进行解码。
以上,对于本发明涉及的图像解码装置以及图像解码方法,利用实施例以及其变形例进行了说明,但是,本发明不仅限于它们。
例如,在所述实施例以及其变形例中,图像解码装置100包括划分流缓冲器152等,但也可以,不包括它们。
图21是示出本发明的图像解码装置的最小结构的方框图。
图像解码装置10具有用于实现本发明的最小结构,图像解码装置10包括获得部11、流划分部12以及N个解码部13。
获得部11相当于流缓冲器151,或者,相当于将编码流从流缓冲器151提取到图像解码装置10的获得装置(或,单纯的获得口),获得对图像数据进行编码而得到的编码流。流划分部12相当于流划分部130、130c、130d。也就是说,流划分部12,按由获得部11获得的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将多个构成单位的每一个,分配到作为生成对象的N个(N为2以上的整数)划分流之中的任一个划分流的一部分,从而生成N个划分流。N个解码部13相当于解码引擎120、121,对由流划分部12生成的N个划分流的每一个并行进行解码。并且,流划分部12,在生成N个划分流的情况下,在编码图片中包含的片被划分为多个片部分而被分配到多个划分流时,按每个划分流,将片部分群重新构成为新的片,以使片部分群被N个解码部13之中的任一个识别为片,片部分群是由被分配到所述划分流的至少一个片部分构成的。
据此,例如,编码图片被划分为多个宏块行等的构成单位,多个宏块行的每一个被分配到N个解码部而被解码,以作为划分流的一部分,因此,能够使由N个解码部的解码处理的负担均等,能够适当地执行解码的并行处理。例如,在H.264/AVC的编码图片由一个片构成的情况下,也该编码图片被划分为多个宏块行,因此,不由一个解码部负担该一个片的解码,而能够由N个解码部均等负担。
在此,有时,若编码图片被划分为多个宏块行,则跨过多个宏块行的片被划分为多个片部分,这些片部分被分配到相互不同的划分流。也就是说,在一个划分流中,不包含编码图片的片整体,而包含集合作为该片的断片的片部分的一个以上而构成的片部分群。并且,有时,在这些片部分群中不包含示出其开头的头部、或示出其末端的末端信息。
于是,在本发明中,将该片部分群重新构成为新的片,因此,对包含该片部分群的划分流进行解码的解码部13,不需要识别并适当地解码该片部分群的特别的处理,而能够将片部分群简单地识别新的片,并适当地进行解码。也就是说,在本发明中,在N个解码部13的每一个,不需要设置进行特别的处理的功能或结构,因此,能够将以往的方式的解码电路挪用于对划分流进行解码的解码部,能够使图像解码装置整体的结构简化。
因此,图像解码装置10,不需要所述实施例以及其变形例中的划分流缓冲器152等,即使没有它们,也能够得到所述的本发明所特有的作用效果,能够实现所述目的。
图22是示出流划分部12的结构的方框图。
例如,流划分部12包括复制部12a、地址更新部12b以及***部12c。
复制部12a以及***部12c相当于片头***部133或片头处理部133g、133h。并且,复制部12a,将位于编码图片中包含的片的开头的、该片的解码所需要的辅助信息复制,从而生成复制辅助信息。例如,辅助信息相当于片头,复制辅助信息相当于复制片头。***部12c,将该复制辅助信息***到片部分群的开头,以作为辅助信息。地址更新部12b相当于头部地址更新部133c,将复制辅助信息中包含的地址信息,更新为示出片部分群中包含的开头的宏块的地址的地址信息。而且,地址信息为MB地址信息。
在此,地址更新部12b包括在流划分部12中,更新由复制部12a生成的复制辅助信息中包含的地址信息。而且,***部12c,将包含由地址更新部12b更新后的地址信息的复制辅助信息,***到片部分群的开头。
据此,示出片部分群的开头的宏块的地址的地址信息,包含在该片部分群的辅助信息中,因此,解码部13,不进行特别的处理,而读出该地址信息,从而能够适当地把握该片部分群的开头的宏块的地址。
而且,地址更新部12b也可以位于流划分部12的外部。
图23是示出本发明的图像解码装置的其它的最小结构的方框图。
图像解码装置20具有用于实现本发明的其它的最小结构,图像解码装置20包括获得部11、流划分部22、地址更新部12b以及N个解码部13。流划分部22仅包括复制部12a和***部12c,在流划分部22的外部包括地址更新部12b。在此情况下,地址更新部12b,更新由***部12c***到片部分群的开头的复制辅助信息中包含的地址信息。
并且,也可以是,地址更新部12b包括在N个解码部13的每一个中。在此情况下,解码部13具有对该解码部13作为处理对象的划分流进行地址信息的更新的功能。也就是说,所述实施例的变形例1相当于该情况。
图24是示出流划分部12的其它的结构的方框图。
流划分部12包括辅助信息处理部12d、划分输出部12e以及N个缓冲器12f。在此,在编码流中包含的片的开头,有该片的解码所需要的辅助信息。例如,辅助信息相当于片头。N个缓冲器12f的每一个相当于第一缓冲器141至第四缓冲器144,分别与N个解码部13相对应。划分输出部12e相当于片数据处理部134d,将编码图片划分为多个构成单位,将多个构成单位的每一个,输出到N个缓冲器12f之中的任一个。辅助信息处理部12d相当于片头处理部133h,依次获得编码图片中包含的数据,在该数据为辅助信息时,将该辅助信息输出到N个缓冲器12f。
N个缓冲器12f的每一个每当获得从划分输出部12e输出的构成单位中包含的数据时,输出该数据。并且,N个缓冲器12f的每一个,在获得从辅助信息处理部12d输出的辅助信息的情况下,保持该辅助信息,仅在紧接该辅助信息之后获得构成单位的数据时,将所保持的辅助信息输出到该数据之前,在紧接辅助信息之后获得新的辅助信息时,将辅助信息覆盖写为该新的辅助信息。N个解码部13的每一个,对由与该解码部13相对应的缓冲器输出的辅助信息以及构成单位的数据构成的划分流进行解码。
据此,若由辅助信息处理部12d将根据编码流获得的辅助信息单纯地输出到N个缓冲器12f,则能够仅将输出到N个缓冲器12f的辅助信息中的N个划分流所需要的辅助信息,以适当的定时,从该N个缓冲器输出。其结果为,以简单的结构,能够将辅助信息适当地***到不是编码图片的片的开头的片部分群的开头。
而且,在所述实施例以及其变形例中,***了复制片头,但也可以不***复制片头。例如,也可以,仅将复制源的片头中包含的具有该片头的片的解码所需要的辅助信息复制,并***由该复制生成的复制辅助信息。
并且,在所述实施例以及其变形例中,将一个MB行作为一个构成单位来处理,将图片划分为多个构成单位,但是,该构成单位,不仅限于一个MB行,而可以是两个MB行或三个MB行,也可以是在图片的垂直方向上排列成一列的多个宏块。例如,也可以是,在图片由MBAFF构成的情况下,将两个MB行作为构成单位来处理,在图片不由MBAFF构成的情况下,将一个MB行作为构成单位来处理。
并且,在所述实施例以及其变形例中,由流划分部将复制片头***到划分流,由解码引擎读出并解码***了复制片头的该划分流。但也可以,流划分部,不将复制片头***到划分流,而将复制片头直接输出到解码引擎。例如,流划分部,判别在被读入到解码引擎的划分流中的MB行的紧前是否应该存在复制片头,在判别为应该存在的情况下,在该MB行被读入到解码引擎的紧前,将该复制片头输出到解码引擎。在此,流划分部也可以,不将复制片头本身输出到解码引擎,而仅将复制片头中包含的一部分的信息输出到解码引擎。
而且,方框图(图1,图7,图9,图15以及图17等)的各个功能框,被实现为作为典型的集成电路的LSI大规模集成(Large ScaleIntegration:大规模集成电路)。而且,可以将它们分别单芯片化,也可以以包含一部分或全部的方式来单芯片化。例如,也可以将存储器以外的功能框单芯片化。
在此,设为LSI,但是,根据集成度的不同,有时被称为IC(IntegratedCircuit:集成电路)、***LSI、超LSI、特大LSI。
并且,对于集成电路化的方法,不仅限于LSI,也可以以专用电路或通用处理器来实现。也可以利用:FPGA(Field Programmable GateArray:现场可编程门阵列),制造LSI后能够编程;还可以可重构处理器,能够重新构成LSI内部的电路单元的连接或设定。
进而,当然,若因半导体技术的进步或导出的其它的技术而出现代替LSI的集成电路化的技术,则可以利用其技术对功能框进行集成化。存在生物技术的应用等的可能性。
本发明的图像解码装置,具有能够以简单的结构来适当地执行解码的并行处理的效果,例如,有用于对4k2k的编码流进行解码的再生装置等。
符号说明
100 图像解码装置
110 解码器
120 第一至第N解码引擎
130 流划分部
131 启动代码检测部
132a EPB除去部
132b EPB***部
133 片头***部
133a NAL类型判断部
133b 头部***计数器
133c 头部地址更新部
133d 头部缓冲器
134a,134b 片数据处理部
135a,135b 片数据层解码部
136a,136b 宏块层解码部
137a 跳运行划分部
138a,138b QP计算部
139a,139b 划分点检测部
150 存储器
151 流缓冲器
152 划分流缓冲器
153 帧存储器
权利要求书(按照条约第19条的修改)
1.一种图像解码装置,对编码图像数据而得到的编码流进行解码,所述图像解码装置包括:
获得部,获得所述编码流;
流划分部,按由所述获得部获得的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将多个所述构成单位的每一个分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流,其中,N为2以上的整数;以及
N个解码部,对由所述流划分部生成的N个划分流的每一个并行进行解码;
所述流划分部,
在生成所述N个划分流的情况下,在所述编码图片中包含的片被划分为多个片部分而被分配到多个所述划分流时,按每个所述划分流,将片部分群重新构成为新的片,以使所述片部分群被N个所述解码部之中的任一个识别为片,所述片部分群是由被分配到所述划分流的至少一个片部分构成的。
2.如权利要求1所述的图像解码装置,
所述流划分部,
在所述片部分群的开头不是所述编码图片中包含的片的开头的情况下,将所述片的解码所需要的辅助信息***到所述片部分群的开头,从而将所述片部分群重新构成为新的片。
3.如权利要求2所述的图像解码装置,
所述流划分部,将所述辅助信息作为头部来***到所述片部分群的开头。
4.如权利要求2所述的图像解码装置,
所述流划分部,包括:
复制部,将位于所述编码图片中包含的片的开头的、所述片的解码所需要的辅助信息复制,从而生成复制辅助信息;以及
***部,将所述复制辅助信息作为所述辅助信息来***到所述片部分群的开头;
所述图像解码装置,还包括:
地址更新部,将所述复制辅助信息中包含的地址信息,更新为示出所述片部分群中包含的开头的宏块的地址的地址信息。
5.如权利要求4所述的图像解码装置,
所述地址更新部包括在所述流划分部中,
所述地址更新部,更新由所述复制部生成的复制辅助信息中包含的地址信息,
所述***部,
将包含由所述地址更新部更新后的地址信息的所述复制辅助信息,***到所述片部分群的开头。
6.如权利要求4所述的图像解码装置,
所述地址更新部,
更新由所述***部***到所述片部分群的开头的所述复制辅助信息中包含的地址信息。
7.如权利要求2所述的图像解码装置,
在所述编码流中包含的片的开头,存在所述片的解码所需要的辅助信息,
所述流划分部,包括:
N个缓冲器,分别与所述N个解码部相对应;
划分输出部,将所述编码图片划分为多个构成单位,将多个所述构成单位的每一个,输出到所述N个缓冲器之中的任一个;以及
辅助信息处理部,依次获得所述编码图片中包含的数据,在所述数据为所述辅助信息时,将所述辅助信息输出到所述N个缓冲器;
所述N个缓冲器的每一个,
每当获得从所述划分输出部输出的所述构成单位中包含的数据时,输出所述数据,
在获得从所述辅助信息处理部输出的所述辅助信息的情况下,保持所述辅助信息,仅在紧接获得所述辅助信息之后获得所述构成单位的数据时,在所述数据之前输出所保持的辅助信息,在紧接获得所述辅助信息之后获得新的辅助信息时,将所述辅助信息覆盖写为所述新的辅助信息,
所述N个解码部的每一个,
对由与该解码部相对应的缓冲器输出的所述辅助信息以及所述构成单位的数据构成的所述划分流进行解码。
8.如权利要求1至7中的任一项所述的图像解码装置,
所述流划分部,
在所述片部分群的末端不是所述编码图片中包含的片的末端的情况下,将示出所述片部分群的末端的末端信息设定到该片部分群的末端,从而将所述片部分群重新构成为新的片。
9.如权利要求1至8中的任一项所述的图像解码装置,
所述流划分部,进一步,
获得示出是否应该划分的模式信息,在所述模式信息示出不应该划分的情况下,将由所述获得部获得的多个编码流的每一个输出到所述N个解码部之中的任一个,
所述N个解码部,进一步,
在获得从所述流划分部输出的多个编码流时,对所述多个编码流并行进行解码。
10.如权利要求1至9中的任一项所述的图像解码装置,
所述流划分部,将包含至少一个宏块行的单位作为所述构成单位来处理,将所述编码图片划分为多个所述构成单位,所述宏块行由在所述编码图片的水平方向上排列成一列的多个宏块构成。
11.(修改后)如权利要求1至9中的任一项所述的图像解码装置,
所述N个解码部包括第一解码部以及第二解码部,
在所述第一解码部对所述N个划分流中的分配到该第一解码部的划分流中包含的第一片部分进行解码,所述第二解码部对所述N个划分流中的分配到该第二解码部的划分流中包含的第二片部分进行解码的情况下,并且在所述编码图片内所述第一片部分和第二片部分相邻的情况下,
在开始由所述第二解码部的所述第二片部分的解码之前,所述第一解码部开始所述第一片部分的解码,
所述第二解码部,从所述第一解码部获得通过由所述第一解码部的所述第一片部分的解码而生成的相邻信息,利用所述相邻信息对第二片部分进行解码,或者,不利用所述相邻信息而对第二片部分进行解码。
12.(修改后)一种图像解码方法,对编码图像数据而得到的编码流进行解码,在所述图像解码方法中:
获得所述编码流;
按获得了的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将多个所述构成单位的每一个分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流,其中,N为2以上的整数;
对生成了的N个划分流的每一个并行进行解码;
在生成所述N个划分流的情况下,在所述编码图片中包含的片被划分为多个片部分而被分配到多个所述划分流时,按每个所述划分流,将片部分群重新构成为新的片,以使所述片部分群被N个所述解码部之中的任一个识别为片,所述片部分群是由被分配到所述划分流的至少一个片部分构成的。
13.(修改后)一种程序,用于对编码图像数据而得到的编码流进行解码,该程序使计算机执行以下的工作:
获得所述编码流;
按获得了的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将多个所述构成单位的每一个分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流,其中,N为2以上的整数;
对生成了的N个划分流的每一个并行进行解码;
在生成所述N个划分流的情况下,在所述编码图片中包含的片被划分为多个片部分而被分配到多个所述划分流时,按每个所述划分流,将片部分群重新构成为新的片,以使所述片部分群被N个所述解码部之中的任一个识别为片,所述片部分群是由被分配到所述划分流的至少一个片部分构成。
14.(追加)一种集成电路,用于对编码图像数据而得到的编码流进行解码,所述集成电路,包括:
获得部,获得所述编码流;
流划分部,按由所述获得部获得的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将多个所述构成单位的每一个分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流,其中,N为2以上的整数;以及
N个解码部,对由所述流划分部生成的N个划分流的每一个并行进行解码;
所述流划分部,
在生成所述N个划分流的情况下,在所述编码图片中包含的片被划分为多个片部分而被分配到多个所述划分流时,按每个所述划分流,将片部分群重新构成为新的片,以使所述片部分群被N个所述解码部之中的任一个识别为片,所述片部分群是由被分配到所述划分流的至少一个片部分构成的。

Claims (13)

1.一种图像解码装置,对编码图像数据而得到的编码流进行解码,所述图像解码装置包括:
获得部,获得所述编码流;
流划分部,按由所述获得部获得的编码流中包含的每个编码图片,将该编码图片划分为多个构成单位,将多个所述构成单位的每一个分配到作为生成对象的N个划分流之中的任一个划分流的一部分,从而生成N个划分流,其中,N为2以上的整数;以及
N个解码部,对由所述流划分部生成的N个划分流的每一个并行进行解码;
所述流划分部,
在生成所述N个划分流的情况下,在所述编码图片中包含的片被划分为多个片部分而被分配到多个所述划分流时,按每个所述划分流,将片部分群重新构成为新的片,以使所述片部分群被N个所述解码部之中的任一个识别为片,所述片部分群是由被分配到所述划分流的至少一个片部分构成的。
2.如权利要求1所述的图像解码装置,
所述流划分部,
在所述片部分群的开头不是所述编码图片中包含的片的开头的情况下,将所述片的解码所需要的辅助信息***到所述片部分群的开头,从而将所述片部分群重新构成为新的片。
3.如权利要求2所述的图像解码装置,
所述流划分部,将所述辅助信息作为头部来***到所述片部分群的开头。
4.如权利要求2所述的图像解码装置,
所述流划分部,包括:
复制部,将位于所述编码图片中包含的片的开头的、所述片的解码所需要的辅助信息复制,从而生成复制辅助信息;以及
***部,将所述复制辅助信息作为所述辅助信息来***到所述片部分群的开头;
所述图像解码装置,还包括:
地址更新部,将所述复制辅助信息中包含的地址信息,更新为示出所述片部分群中包含的开头的宏块的地址的地址信息。
5.如权利要求4所述的图像解码装置,
所述地址更新部包括在所述流划分部中,
所述地址更新部,更新由所述复制部生成的复制辅助信息中包含的地址信息,
所述***部,
将包含由所述地址更新部更新后的地址信息的所述复制辅助信息,***到所述片部分群的开头。
6.如权利要求4所述的图像解码装置,
所述地址更新部,
更新由所述***部***到所述片部分群的开头的所述复制辅助信息中包含的地址信息。
7.如权利要求2所述的图像解码装置,
在所述编码流中包含的片的开头,存在所述片的解码所需要的辅助信息,
所述流划分部,包括:
N个缓冲器,分别与所述N个解码部相对应;
划分输出部,将所述编码图片划分为多个构成单位,将多个所述构成单位的每一个,输出到所述N个缓冲器之中的任一个;以及
辅助信息处理部,依次获得所述编码图片中包含的数据,在所述数据为所述辅助信息时,将所述辅助信息输出到所述N个缓冲器;
所述N个缓冲器的每一个,
每当获得从所述划分输出部输出的所述构成单位中包含的数据时,输出所述数据,
在获得从所述辅助信息处理部输出的所述辅助信息的情况下,保持所述辅助信息,仅在紧接获得所述辅助信息之后获得所述构成单位的数据时,在所述数据之前输出所保持的辅助信息,在紧接获得所述辅助信息之后获得新的辅助信息时,将所述辅助信息覆盖写为所述新的辅助信息,
所述N个解码部的每一个,
对由与该解码部相对应的缓冲器输出的所述辅助信息以及所述构成单位的数据构成的所述划分流进行解码。
8.如权利要求1至7中的任一项所述的图像解码装置,
所述流划分部,
在所述片部分群的末端不是所述编码图片中包含的片的末端的情况下,将示出所述片部分群的末端的末端信息设定到该片部分群的末端,从而将所述片部分群重新构成为新的片。
9.如权利要求1至8中的任一项所述的图像解码装置,
所述流划分部,进一步,
获得示出是否应该划分的模式信息,在所述模式信息示出不应该划分的情况下,将由所述获得部获得的多个编码流的每一个输出到所述N个解码部之中的任一个,
所述N个解码部,进一步,
在获得从所述流划分部输出的多个编码流时,对所述多个编码流并行进行解码。
10.如权利要求1至9中的任一项所述的图像解码装置,
所述流划分部,将包含至少一个宏块行的单位作为所述构成单位来处理,将所述编码图片划分为多个所述构成单位,所述宏块行由在所述编码图片的水平方向上排列成一列的多个宏块构成。
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个所述解码部之中的任一个识别为片,所述片部分群是由被分配到所述划分流的至少一个片部分构成的。
CN200980101325.6A 2008-10-10 2009-10-09 图像解码装置以及图像解码方法 Expired - Fee Related CN101897189B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008264665 2008-10-10
JP2008-264665 2008-10-10
PCT/JP2009/005298 WO2010041472A1 (ja) 2008-10-10 2009-10-09 画像復号化装置および画像復号化方法

Publications (2)

Publication Number Publication Date
CN101897189A true CN101897189A (zh) 2010-11-24
CN101897189B CN101897189B (zh) 2016-07-06

Family

ID=42100432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980101325.6A Expired - Fee Related CN101897189B (zh) 2008-10-10 2009-10-09 图像解码装置以及图像解码方法

Country Status (5)

Country Link
US (1) US20100254620A1 (zh)
EP (1) EP2346255B1 (zh)
JP (1) JP5345149B2 (zh)
CN (1) CN101897189B (zh)
WO (1) WO2010041472A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104509116A (zh) * 2012-08-09 2015-04-08 松下电器(美国)知识产权公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编码解码装置
CN107172441A (zh) * 2012-06-29 2017-09-15 佳能株式会社 图像编码装置及方法、图像解码装置及方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9602821B2 (en) * 2008-10-01 2017-03-21 Nvidia Corporation Slice ordering for video encoding
JP5341104B2 (ja) * 2008-12-08 2013-11-13 パナソニック株式会社 画像復号化装置および画像復号化方法
EP2381685B1 (en) * 2010-04-13 2019-01-02 BlackBerry Limited Methods and devices for load balancing in parallel entropy coding and decoding
PL3267684T3 (pl) 2010-06-10 2022-01-31 Interdigital Vc Holdings, Inc. Sposób wyznaczania predyktorów parametrów kwantyzacji na podstawie wielu sąsiednich parametrów kwantyzacji
EP2600612A4 (en) * 2010-07-30 2015-06-03 Panasonic Ip Man Co Ltd IMAGE DECODING DEVICE, IMAGE DECODING METHOD, IMAGE ENCODING DEVICE, AND IMAGE ENCODING METHOD
US9185406B2 (en) 2010-09-16 2015-11-10 Panasonic Intellectual Property Management Co., Ltd. Image decoding device, image coding device, methods thereof, programs thereof, integrated circuits thereof, and transcoding device
JP5605188B2 (ja) * 2010-11-24 2014-10-15 富士通株式会社 動画像符号化装置
RU2710908C2 (ru) 2012-04-13 2020-01-14 ДжиИ Видео Компрешн, ЭлЭлСи Кодирование изображений с малой задержкой
CN115442631A (zh) 2012-06-29 2022-12-06 Ge视频压缩有限责任公司 视频数据流、编码器、编码视频内容的方法以及解码器
US9241163B2 (en) * 2013-03-15 2016-01-19 Intersil Americas LLC VC-2 decoding using parallel decoding paths
US9773536B1 (en) * 2013-07-09 2017-09-26 Ambarella, Inc. Context-adaptive binary arithmetic decoder with low latency
JP6242139B2 (ja) * 2013-10-02 2017-12-06 ルネサスエレクトロニクス株式会社 動画像復号処理装置およびその動作方法
GB2524726B (en) * 2014-03-25 2018-05-23 Canon Kk Image data encapsulation with tile support
US9854261B2 (en) * 2015-01-06 2017-12-26 Microsoft Technology Licensing, Llc. Detecting markers in an encoded video signal
GB2534409A (en) * 2015-01-23 2016-07-27 Sony Corp Data encoding and decoding
US9484954B1 (en) 2015-09-10 2016-11-01 Intel Corporation Methods and apparatus to parallelize data decompression
CN105263023B (zh) * 2015-10-26 2018-08-03 西安电子科技大学 基于高速解码平台的网络码流实时接收方法
US10958989B2 (en) * 2016-02-25 2021-03-23 Synamedia Limited Framework for embedding data in encoded video
US10484701B1 (en) * 2016-11-08 2019-11-19 Amazon Technologies, Inc. Rendition switch indicator

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0128244B1 (ko) * 1992-09-23 1998-04-02 배순훈 병렬 구조를 갖는 부호 화상 데이타의 복호 장치
KR950010337B1 (ko) * 1993-05-18 1995-09-14 엘지전자주식회사 디지탈 브이씨알의 배속영상 구현방법 및 그 장치
US5532744A (en) * 1994-08-22 1996-07-02 Philips Electronics North America Corporation Method and apparatus for decoding digital video using parallel processing
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
US5623311A (en) 1994-10-28 1997-04-22 Matsushita Electric Corporation Of America MPEG video decoder having a high bandwidth memory
EP0710033A3 (en) * 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG video decoder having a high bandwidth memory
US6301299B1 (en) * 1994-10-28 2001-10-09 Matsushita Electric Industrial Co., Ltd. Memory controller for an ATSC video decoder
US5903282A (en) * 1997-07-28 1999-05-11 Lsi Logic Corporation Video decoder dynamic memory allocation system and method with an efficient freeze mode
US8401084B2 (en) * 2002-04-01 2013-03-19 Broadcom Corporation System and method for multi-row decoding of video with dependent rows
US7305036B2 (en) * 2002-05-14 2007-12-04 Broadcom Corporation System and method for entropy code preprocessing
EP1363458A3 (en) * 2002-05-14 2004-12-15 Broadcom Corporation Video bitstream preprocessing method
US7627039B2 (en) * 2003-09-05 2009-12-01 Realnetworks, Inc. Parallel video decoding
JP4453518B2 (ja) * 2004-10-29 2010-04-21 ソニー株式会社 符号化及び復号装置並びに符号化及び復号方法
JP4246790B2 (ja) * 2006-06-05 2009-04-02 パナソニック株式会社 音声合成装置
JP5042568B2 (ja) * 2006-09-07 2012-10-03 富士通株式会社 Mpegデコーダ及びmpegエンコーダ
JP4793366B2 (ja) * 2006-10-13 2011-10-12 日本ビクター株式会社 多視点画像符号化装置、多視点画像符号化方法、多視点画像符号化プログラム、多視点画像復号装置、多視点画像復号方法、及び多視点画像復号プログラム
US20080170624A1 (en) * 2007-01-12 2008-07-17 Mitsubishi Electric Corporation Image encoding device and image encoding method
US8619874B2 (en) * 2007-04-13 2013-12-31 Apple Inc. Method and system for video encoding and decoding
US8582656B2 (en) * 2007-04-13 2013-11-12 Apple Inc. Method and system for video encoding and decoding
US7813538B2 (en) * 2007-04-17 2010-10-12 University Of Washington Shadowing pipe mosaicing algorithms with application to esophageal endoscopy
US8542748B2 (en) * 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107172441A (zh) * 2012-06-29 2017-09-15 佳能株式会社 图像编码装置及方法、图像解码装置及方法
CN107743241A (zh) * 2012-06-29 2018-02-27 佳能株式会社 图像编码装置及方法、图像解码装置及方法及存储介质
CN107172441B (zh) * 2012-06-29 2020-01-17 佳能株式会社 图像编码装置及方法、图像解码装置及方法
CN107743241B (zh) * 2012-06-29 2020-05-05 佳能株式会社 图像编码装置及方法、图像解码装置及方法及存储介质
CN104509116A (zh) * 2012-08-09 2015-04-08 松下电器(美国)知识产权公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编码解码装置
CN104509116B (zh) * 2012-08-09 2018-06-12 太阳专利托管公司 图像解码方法及图像解码装置

Also Published As

Publication number Publication date
CN101897189B (zh) 2016-07-06
JP5345149B2 (ja) 2013-11-20
EP2346255A4 (en) 2012-06-13
US20100254620A1 (en) 2010-10-07
WO2010041472A1 (ja) 2010-04-15
JPWO2010041472A1 (ja) 2012-03-08
EP2346255B1 (en) 2015-04-08
EP2346255A1 (en) 2011-07-20

Similar Documents

Publication Publication Date Title
CN101897189A (zh) 图像解码装置以及图像解码方法
CN102550029B (zh) 图像解码装置、图像解码方法、图像编码装置以及图像编码方法
CN101939994B (zh) 图像解码装置及图像解码方法
CN102957914A (zh) 图像解码装置、图像解码方法、图像编码装置、以及图像编码方法
KR101382101B1 (ko) 감소된 해상도의 파티셔닝을 위한 방법 및 장치
EP2290985B1 (en) Image decoding apparatus and image coding apparatus
JP5763210B2 (ja) 改良されたループ型フィルタリング処理のための方法と装置
JP2018082466A (ja) ブロック分割及びブロック統合をサポートする画像符号化
WO2006110863A1 (en) Generating edge masks for a deblocking filter
KR20060042732A (ko) 비디오 디코더에서의 인접 정보 처리 장치 및 방법과 그방법을 수행하기 위한 프로그램이 저장된 기록 매체
KR102665985B1 (ko) 픽쳐 경계 처리를 사용하여 픽쳐를 인코딩하고 디코딩하는 장치 및 방법
CN106358043A (zh) 混合视频解码装置和相关的混合视频解码方法
US8971401B2 (en) Image decoding device
CN115053527A (zh) 视频编码的二次转换视频方法与装置
CN109891892A (zh) 依赖于图像编译***中的帧内预测的图像解码方法和装置
TW202327365A (zh) 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法
CN108848388B (zh) 一种提高H264编码16x16预测模式DCT运算速度的硬件实现方法
TWI834910B (zh) 影像編碼裝置、影像編碼方法及程式、影像解碼裝置、影像解碼方法及程式
JP5576728B2 (ja) 動画像符号化装置
KR20050061136A (ko) 주변 매크로 블록간의 슬라이스 관계를 나타내기 위한테이블 생성 장치 및 그 방법

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160706

Termination date: 20191009