JP2011193453A - 復号化装置及び復号化方法 - Google Patents

復号化装置及び復号化方法 Download PDF

Info

Publication number
JP2011193453A
JP2011193453A JP2011036469A JP2011036469A JP2011193453A JP 2011193453 A JP2011193453 A JP 2011193453A JP 2011036469 A JP2011036469 A JP 2011036469A JP 2011036469 A JP2011036469 A JP 2011036469A JP 2011193453 A JP2011193453 A JP 2011193453A
Authority
JP
Japan
Prior art keywords
data
cache
decoding
reference image
storage medium
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
JP2011036469A
Other languages
English (en)
Other versions
JP5020391B2 (ja
Inventor
Takuma Chiba
琢麻 千葉
Tatsuro Shigesato
達郎 重里
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 Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2011036469A priority Critical patent/JP5020391B2/ja
Publication of JP2011193453A publication Critical patent/JP2011193453A/ja
Application granted granted Critical
Publication of JP5020391B2 publication Critical patent/JP5020391B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • 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/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

【課題】消費電力の少なさと、段数の少なさとが両立できること。
【解決手段】算術復号化処理する際に、符号化条件を生成するCABAC処理部と、算術復号化された後の符号化データを蓄積する第1蓄積媒体と、キャッシュデータを蓄積する第2蓄積媒体たるキャッシュと、キャッシュデータに基づいて、算術復号化処理された後の符号化データを処理するデコーダと、前記処理よりも前に、符号化条件に基づいて、キャッシュデータの格納方法を設定する設定部とを備える復号化装置が用いられる。
【選択図】図10

Description

本発明は、動画像の復号化装置及び方法に関する。
現在、画像データのデジタル化が進むのに伴い、膨大なデータ量を必要とする動画データに対して画像符号化を行って、そのデータ量を低減して、記録、伝送されるようになってきている。
ここで、画像符号化方式としては、MPEG2(MPEG : Moving Picture Experts Group)やMPEG4 AVC/H.264(以下、H.264と略す:AVC「Advanced Video Coding」)等のような、高い効率の画像圧縮符号化方式がよく用いられる。これらの方式では、マクロブロックと呼ばれる矩形単位(通常、水平16画素、垂直16画素で構成される)毎に符号化する。また、圧縮効率を高めるために、前記マクロブロックの符号化の際に、当該マクロブロックの絵柄と類似する絵柄を、それ以前に符号化した、他のフィールドまたはフレームから探し出して、取り出す。そして、取り出した絵柄の画素値と、符号化を行う当該マクロブロックの画素値との差分値を符号化する。ここで、このような処理を、動き補償と呼ぶ。そして、画像符号化時には、どの位置の画素値を取り出したかを、動きベクトルとして、同時に符号化する。
次に、動き補償を用いて符号化されたデータの画像復号化装置の例を図6を用いて説明する。
図6は、従来の画像復号化装置600を示す図である。
図6の601は符号化データ入力部、603は可変長復号化部、604は画素値復号化部、605は動きベクトル抽出部、606は動き補償部、607は画像出力部、608はメモリである。
図6の符号化データ入力部601から入力された、画像符号化されたデータは、マクロブロック単位で、可変長復号化部603で可変長復号化される。可変長復号化されたデータの中から、動きベクトル抽出部605では、このマクロブロックに対する動きベクトル情報(そのマクロブロックの復号化で用いられる動きベクトル情報)を抽出する。そして、この動きベクトル情報を用いて、メモリ608に記憶されている、既に(過去に)復号化された、複数の画素値の中から、動き補償に必要な画素値を読み出して、動き補償部606で、動き補償画素を生成する。
一方、画素値復号化部604では、可変長復号化部603で復号化されたデータを用いて、上記マクロブロックに対する動き補償差分データを生成する。そして、生成された動き補償差分データを、動き補償部606で得られる、読み出された過去の画素値(上述)から生成された動き補償値と加算して、画素データを復号化する。この、復号化された画素データは、一旦メモリ608に記憶されてから、TV等の再生タイミングに合わせて、画像出力部607から出力される。また、メモリ608に記憶された、復号化された画素データは、他のマクロブロックの動き補償にも利用される。
さて、図6のような構成によって、画像符号化されたデータを、動画データに復号化することが可能になる。そして、上記動き補償においては、マクロブロック毎、または、その分割された単位毎に、過去に復号化された、任意の位置の画素を参照することができる。このため、動き補償を実行するために、マクロブロック毎に、ランダムな位置の画素値を、メモリ608から読み出す必要が生じる。
一般に、画像復号化された画像データは、非常に大きなデータ量を有するため、上記メモリ608は、外付けのDRAM(Dynamic Random Access Memory)で構成される。一方、DRAMでは、マクロブロックのような小さな矩形単位で、ランダムに読み出すと、大きなオーバーヘッドが発生し、高速な読み出しが困難である。このため、ハイビジョン画像のような、高速、大容量の画像を復号化するためには、高価な高速DRAMを多数並列に利用する必要が発生し、大きな回路コストと消費電力がかかってしまう。
このような課題を改善する例として、従来の画像復号化装置が、特許文献1(特開2005−102144号公報)及び、特許文献2(特開2006−31480号公報)に開示されている。これらの特許文献で示される例の技術は、H.264符号化されたデータを復号化する際の、外部DRAMへのメモリアクセスを削減する技術である。
図7は、従来の画像復号化装置700を示す図である。
特許文献1及び特許文献2で示される画像復号化装置の例を図7を用いて説明する。図7で示される画像復号化装置700は、図6で示される画像復号化装置600から、さらに参照画像キャッシュ702を備える。図7で示される画像復号化装置700を構成する要素のうち、図6で示される画像復号化装置600を構成する要素と同じ機能を持つものは、同じ番号が付されており、それらの詳しい説明は省略する。
動きベクトル抽出部705は、可変長復号化部603で可変長復号化されたデータの中から、このマクロブロックに対する動きベクトル情報を抽出する。そして、この動きベクトル情報を用いて、動き補償に必要な画素の読み出しアクセスを、参照画像キャッシュ702に対して行う。参照画像キャッシュ702では、読み出しアクセスを受信して、当該参照画像キャッシュ702の内部に、必要な画素があれば、その画素を、動き補償部706に渡す。一方、必要な画素がない場合には、動き補償部706は、キャッシュミスと判断して、メモリ608に対して、読み出しアクセスを行う。メモリ608は、画素の読み出しアクセスを受信すると、その読み出しアクセスで要求された画素データを取得して、動き補償部706に送信する。また、このとき、メモリ608から、動き補償部706へと送信された上記画素データは、参照画像キャッシュ702にも渡され、参照画像キャッシュ702の内部にも格納される。
動き補償部706では、参照画像キャッシュ702又はメモリ608から、当該動き補償部706に入力された、参照画像の画素値を用いて、動き補償画素を生成する。そして、生成した動き補償画素を、画素値復号化部604に出力する。
なお、画素値復号化部604以降の、動画データ復号化のプロセスは、図6で示される画像復号化装置600の場合と同様であるので、詳しい説明を省略する。
以上で説明したように、画像復号化装置に参照画像キャッシュ702を備えた場合、動き補償を行う際に必要となる、参照画像の画素値について、次の通りである。つまり、必要となる画素値が、参照画像キャッシュ702の内部に格納されている場合、メモリ608にアクセスする必要がなくなり、メモリ608にかかるアクセス量を削減することが可能となる。
特開2005−102144号公報 特開2006−31480号公報
上述の背景技術で示した通り、特許文献1及び特許文献2で開示された技術では、マクロブロックの動き補償を行うために、外部メモリ(メモリ608)から読み出した参照画像データを、参照画像キャッシュ702に蓄える。そして、次以降のマクロブロックの動き補償を行うときに、必要となる参照画像が、参照画像キャッシュ702に蓄えられている上記参照画像データの画像である場合には、参照画像キャッシュ702から、蓄えられている、その参照画像の上記参照画像データを読み出す。このことで、外部メモリ(メモリ608)へのアクセスを削減している。
一方、キャッシュの構成は、一般的に、図8及び図9で示されるような構成である。
図8は、ダイレクトマッピング方式のキャッシュ(キャッシュ800)を示すブロック図である。
ダイレクトマッピング方式のキャッシュ800は、キャッシュメモリアレイ804と、比較器807とで構成されており、メモリアドレス801を入力として、データを読み出すシステムである。メモリアドレス801は、タグ部802とインデクス部803とで構成されており、インデクス部803を、キャッシュメモリアレイ804のアドレスとして、キャッシュメモリアレイ804から、データを読み出す。キャッシュメモリアレイ804には、キャッシュタグ805と、データ806との組が複数組格納されている。そして、キャッシュメモリアレイ804への読み出しアクセスが行われると、キャッシュタグ805と、データ806とを一つずつキャッシュメモリアレイ804が出力する。キャッシュメモリアレイ804から読み出されたキャッシュタグ805と、タグ部802とは、比較器807で比較され、一致する場合には、キャッシュヒットとして、データ806(データ806I)とともに、キャッシュヒットを示す信号(信号807I)を出力する。一致しない場合には、キャッシュミスを示す信号を比較器807が出力する。
図9は、セットアソシアティブ方式のキャッシュ(キャッシュ900)を示すブロック図であり、特にウェイ数が2の場合の例である。
セットアソシアティブ方式のキャッシュ900は、キャッシュメモリアレイ904と、ウェイ0比較器909と、ウェイ1比較器910と、論理和(論理和演算部)911と、データ選択部912と、で構成されている。このシステム、メモリアドレス801を入力として、データを読み出すシステムである。なお、メモリアドレス801は、図8のメモリアドレス801と同じ構成であるので、同じ記号を付け、詳しい説明は省略する。
キャッシュメモリアレイ904には、ウェイ0キャッシュタグ905と、ウェイ1キャッシュタグ906と、ウェイ0データ907と、ウェイ1データ908との組が複数組格納されている。キャッシュメモリアレイ904は、インデクス部803を入力として、読み出しアクセスが行われると、ウェイ0キャッシュタグ905と、ウェイ1キャッシュタグ906と、ウェイ0データ907と、ウェイ1データ908とが、それぞれ1つずつ出力される。読み出されたウェイ0キャッシュタグ905は、メモリアドレス801のタグ部802と、ウェイ0比較器909で比較され、一致した場合には、ウェイ0ヒット信号をウェイ0比較器909が有効にする。また、ウェイ1キャッシュタグ906は、タグ部802と、ウェイ1比較器910で比較され、一致した場合には、ウェイ1ヒット信号を、ウェイ1比較器910が有効にする。
ウェイ0ヒット信号と、ウェイ1ヒット信号とについては、論理和911で、それらの論理和がとられ、キャッシュヒット(キャッシュヒットか否かを示す信号911I)が、論理和911により出力される。
ウェイ0ヒット信号と、ウェイ1ヒット信号の両方が有効でなかった場合には、キャッシュミスが論理和911により出力される。
データ選択部912には、ウェイ0ヒット信号と、ウェイ1ヒット信号と、キャッシュメモリアレイ904から読み出された、ウェイ0データ907とウェイ1データ908とが入力される。
そして、データ選択部912は、ウェイ0ヒット信号が有効である場合には、ウェイ0データを選択し、ウェイ1ヒット信号が有効である場合には、ウェイ1データを選択して、選択されたデータ(データ912I)が、出力のデータとしてデータ選択部912により出力される。
以上で述べたように、キャッシュの構成には、ダイレクトマッピング方式及びセットアソシアティブ方式などの、種々の方式の構成がある。そして、さらに、キャッシュアレイに格納するタグとデータとの組の数であるエントリ数や、セットアソシアティブ方式におけるウェイ数などの点でも、多種多様な構成をとることができる。また、一般に、キャッシュを用いてシステムを作る場合には、そのシステムに最も適したキャッシュの構成を一意に決めて、実装することが多い。これは、キャッシュの特性上、キャッシュの構成(記憶されるキャッシュデータの格納方法)を変更する場合には、キャッシュの中身をクリアする必要があり、システム動作中に、動的にキャッシュの構成を変えられないためである。
一方、画像復号化装置に備えられるキャッシュにおいても、上述のように、構成を一意に決めて実装されていた。
ただ、画像復号化を行う上では、キャッシュの構成は、復号化される画像毎に、その画像に適した形の構成に変更されるのが望ましい。しかしながら、過去の画像復号化装置には、それらを変更する仕組みを有するものはなかった。
これは、復号化される画像に最も適したキャッシュの構成は、画像の復号化を実施するまでは明らかにならないという理由によるものである。つまり、復号化される画像によっては、その画像に対して、一意に決められた構成が適さず、不適切な構成で復号化がされてしまうことがある。
本発明は、キャッシュを備えた復号化装置において、キャッシュの構成を変更し、復号化する画像に適した構成を持つキャッシュで、復号化を実施して、キャッシュミスによって発生する、外部メモリへのアクセスのアクセス量を削減する目的を持つ。
なお、本発明の他の目的は、この削減のために用いられる情報(図10の符号化条件23aを参照)が生成されるにも関わらず、行われる処理の段数が、比較的少ない段数(図1、図10等で示される2段など)に維持できる復号化装置を提供することを含む。
なお、本発明の他の目的の少なくとも一部は、H.264のハイプロファイルでの復号化がされるのに際して比較的適切な動作ができる復号化装置(図10などの復号化装置100等を参照)を提供することを含む。
上記の課題を解決するために、本復号化装置は、少なくとも算術符号化処理を含む符号化処理によって得られる符号化データを復号化する復号化装置であって、前記符号化データを取得する取得部と、前記取得した符号化データを算術復号化処理し、当該符号化データに用いられた符号化条件および算術復号化された符号化データを生成する第1復号化部と、第1容量を有し、第1速度で、蓄積される情報の読出しが可能な蓄積媒体であって、前記符号化条件および前記算術復号化された符号化データを蓄積する第1蓄積媒体と、前記第1容量よりも小さい第2容量を有し、前記第1速度よりも早い第2速度で、蓄積される情報の読出しが可能な蓄積媒体であって、前記第1蓄積媒体に蓄積される既に復号化済みの画像データのうち一部の画像データであるキャッシュデータを蓄積する第2蓄積媒体と、前記第1蓄積媒体に蓄積される、復号化済みの前記画像データまたは前記第2蓄積媒体に蓄積される前記キャッシュデータに基づいて、前記算術復号化処理された符号化データを復号化処理する第2復号化部と、前記第2復号化部における現在の復号化対象の符号化データよりも前の符号化データを生成した際に得られた符号化条件に基づいて、前記第2蓄積媒体における前記キャッシュデータの格納方法を設定する格納方法設定部とを備える復号化装置である。
そして、例えば、前記第2復号化部における現在の復号化対象の符号化データ(例えば、第1の時刻の復号化対象である第1の符号化データ)よりも前の符号化データ(第1の時刻とは異なる第2の時刻の復号化対象の第2の符号化データ)を生成した際に得られた符号化条件に基づいて、前記第2蓄積媒体における前記キャッシュデータ(第2の符号化データが復号化対象である際のキャッシュデータ)の格納方法が設定されてもよい。
なお、例えば、前記第2復号化部における復号化処理(例えば、第2の符号化データの復号化処理)よりも前に、前記第2復号化部における復号化対象となる符号化データ(第2の符号化データ)の算術復号化処理に際して生成された前記符号化条件に基づいて、前記第2蓄積媒体における前記キャッシュデータ(第2の復号化データが復号化対象である際のキャッシュデータ)の格納方法を設定してもよい。
つまり、例えば、第2復号化部における復号化処理(第2の符号化データの復号化処理)よりも前に、その復号化処理での格納方法が設定されると共に、その設定よりも更に前に行われる算術復号化処理(第2の符号化データが生成される算術復号化処理)に際して、上述の符号化条件(第2の符号化データの符号化条件)が生成されてもよい。
つまり、この復号化装置は、例えば、算術符号化を利用して符号化された符号化ストリームを算術復号化して、算術復号化データを生成する算術復号化部と、生成された前記算術復号化データを二値データ復号化し、係数データ、参照画像情報及び画像多値データを生成する二値データ復号化部と、過去に復号化した画素値で構成される参照画像を蓄積する蓄積部と、前記蓄積部に蓄積される前記参照画像の画素データ及び、動きベクトル情報を用いて、動き補償信号を生成する動き補償部と、前記係数データ及び、前記動き補償信号を基に、復号化した画素値を生成する画素値復号化部と、前記動き補償部で利用した前記参照画像の画素データを蓄積する参照画素データキャッシュと、前記算術復号化データを基に、前記動き補償部が使用する参照画像と、当該参照画像の画素値とに関する前記参照画像情報を取得する参照画像情報取得部と、取得された前記参照画像情報を基に、前記参照画像データキャッシュの構成を作成する作成部とを備える復号化装置などでもよい。
なお、作成部は、具体的には、例えば、参照画素データキャッシュに設定される構成を特定するキャッシュ構成情報(ウェイ数など)を、参照画素データキャッシュなどの他の処理部に出力してもよい。そして、出力されたキャッシュ構成情報により特定される構成に、参照画素データキャッシュの構成が、当該他の処理部により変更されてもよい。こうして、作成部は、キャッシュ構成情報を出力して、出力された他の処理部に、変更の処理をさせることにより、当該構成を作成してもよい。
なお、参照画像データキャッシュは、例えば、実施の形態で詳しく説明されるように、蓄積されるデータのそれぞれの部分を、当該参照画像データキャッシュの保存領域が分割された1以上の分割領域における、その部分に対応する分割領域により蓄積してもよい。そして、参照画像データキャッシュの構成を作成するとは、具体的には、例えば、分割領域の個数を指定し、指定された個数だけの分割領域による蓄積をさせることであってもよい。
なお、入力される動画像を、画面間予測によって符号化する符号化装置において、入力された動画像を符号化して、符号化データと、画面間予測時に使用される参照画像とを出力する画像符号化部と、前記参照画像の蓄積を行う蓄積部と、前記参照画像が有する全体の領域よりも小さい管理領域毎に、当該参照画像の蓄積及び解放の制御を行う蓄積制御部と、前記動画像を構成する1枚の符号化対象画像を部分領域に分割し、前記部分領域毎に、部分領域動きベクトルを算出する領域動きベクトル算出部と、を備え、前記蓄積制御部は、複数の前記領域動きベクトルを基に、前記管理領域のうち、前記符号化対象画像を符号化する際に使用しないと判断した管理領域を解放して、符号化を行ってもよい。また、さらには、前記蓄積制御部は、複数の前記領域動きベクトルを基に、前記動画像信号を符号化する際に使用する前記管理領域毎の使用回数を計数し、当該計数結果を基に当該動画像信号を符号化する際に使用しない管理領域を判断して、管理領域を解放して、符号化を行ってもよい。このような符号化装置が、上記の復号化装置と組み合わせられてもよい。
本発明によれば、動画像を、算術符号化及び画面間予測符号化を利用して符号化した符号化ストリームを復号化して、前記動画像を生成する画像復号化装置において、動き補償を行う際に、参照画像の画素値を、メモリから読み出すことに起因するメモリアクセスの量を低減することが可能となる効果を奏する。
ひいては、例えば、メモリアクセスで消費される電力が小さくされて、消費電力が小さくできる。
処理の段数(行われる処理のパスの回数)が、比較的少ない段数(例えば、図1、図10等で示される2段)に維持できる。
これにより、消費電力の少なさと、段数の少なさとが両立できる。
H.264のハイプロファイルでの復号化を行うのに際して、比較的適切な動作ができる復号化装置(図1、図10の復号化装置100など)が提供できる。
比較的早い時刻に必要な情報(符号化条件)が生成され、早い時刻から適切な処理がされて、例えば、比較的大幅に、消費電力が少なくできる。
図1は、実施の形態1の復号化装置の構成を示す図である。 図2は、実施の形態1の復号化装置の動作のフローを示す図である。 図3は、参照画像キャッシュの構成を決定する第4の方法における、復号化する画像と参照画像の関係を示す図である。 図4は、参照画像キャッシュの構成を決定する第5の方法における、参照画像キャッシュ構成決定部の構成を示す図である。 図5は、参照画像キャッシュの構成を決定する第5の方法における、参照画像キャッシュ構成決定部の動作のフローを示す図である。 図6は、動き補償を用いて符号化されたデータを復号化する画像復号化装置の例を示す図である。 図7は、参照画像キャッシュを備えた、動き補償を用いて符号化されたデータを復号化する画像復号化装置の例を示す図である。 図8は、ダイレクトマッピング方式のキャッシュの例を示す図である。 図9は、セットアソシアティブ方式のキャッシュの例を示す図である。 図10は、復号化装置の構成を示す図である。 図11は、蓄積されるキャッシュデータなどを示す図である。 図12は、蓄積されるキャッシュデータなどを示す図である。 図13は、対応関係のデータなどを示す図である。 図14は、複数のアドレスなどを示す図である。
以下、図面を参照して、発明を実施するための形態を説明する。
実施の形態の復号化装置は、少なくとも算術符号化処理を含む符号化処理によって得られる符号化データ(図10の符号化データ21b)を復号化する復号化装置100であって、上述の符号化データ21bを取得する入力部21と、取得した符号化データ21bを算術復号化処理し、当該符号化データ21bの符号化に用いられた符号化条件23aおよび算術復号化された後の符号化データ24dを生成するCABAC処理部22と、第1容量を有し、第1速度で、その蓄積媒体に蓄積される情報の読出しが可能な蓄積媒体(第1蓄積媒体24)であって、上述された符号化条件23aおよび算術復号化された後の符号化データ24dを蓄積する第1蓄積媒体(DRAM)24と、第1蓄積媒体24の第1容量よりも小さい第2容量を有し、第1蓄積媒体24の第1速度よりも早い第2速度で、その蓄積媒体に蓄積される情報の読出しが可能な蓄積媒体であって、第1蓄積媒体24に蓄積される既に復号化済みの画像データ24eのうち一部の画像データ24ePのコピーであるキャッシュデータ25dを蓄積する第2蓄積媒体(キャッシュ)25と、第1蓄積媒体24に蓄積される、復号化済みの画像データ24eまたは第2蓄積媒体25に蓄積されるキャッシュデータ25dに基づいて、算術復号化処理された後の符号化データ24dを復号化処理する第2復号化部(デコーダ)26と、(第2復号化部26における現在の復号化対象の符号化データ(第1の符号化データ)よりも前の)符号化データを生成した際に得られた符号化条件(符号化条件23aなど)に基づいて、第2蓄積媒体25におけるキャッシュデータ25dの格納方法を設定する設定部(格納方法設定部)23と、を備える復号化装置(画像復号化装置)100である。
つまり、例えば、符号化データ(第2の時刻における、第2復号化部26の復号化対象の第2の符号化データ:符号化データ24d参照)をCABAC処理部22が生成した際に得られた符号化条件23aに基づいて、第2蓄積媒体25における、当該符号化データ(第2の符号化データ)が第2復号化部26により復号化される際のキャッシュデータ25dの格納方法を設定してもよい。
なお、例えば、第2の符号化データは、第2復号化部26における現在の復号化対象の符号化データ(上述の第2の時刻とは別の第1の時刻の復号化対象である第1の符号化データ)よりも前の(第1の符号化データとは別の)符号化データなどである。
つまり、復号化装置100において、例えば、第1蓄積媒体24に蓄積される、複合化済みの画像データ24eまたは第2蓄積媒体25に蓄積されるキャッシュデータ25dに基づいて、算術復号化処理された符号化データ24d(上述の第2の符号化データなど)を復号化処理するデコーダ26と、第2復号化部26における符号化データ(第1の符号化データ)の復号化処理よりも前に、第2復号化部26における復号化対象となる符号化データ(第2の符号化データ)の算術復号化処理に際して生成された符号化条件23aに基づいて、第2蓄積媒体24におけるキャッシュデータ25d(第2の符号化データのキャッシュデータ)の格納方法を設定してもよい。
また、例えば、これにより、設定された、適切な格納方法で、キャッシュデータ25dの蓄積がされて、キャッシュミスが少なくできる。これにより、ひいては、第2蓄積媒体25へのアクセスが少なくされて、アクセスで消費される電力が小さくされ、消費電力が小さくできる。
しかも、復号化装置100における処理の段数(行われる処理のパスの回数)が、少ない段数(例えば、図1、図10で示される2段など)に維持できる。
こうして、消費電力の小ささと、段数の少なさとが両立できる。
なお、上述のようにして、段数が少なくされることにより、ひいては、例えば、処理が比較的簡単にされて、消費電力が、より大幅に少なくできる。
なお、上述の通り、第1段目の処理は、算術復号化処理である。
つまり、例えば、本復号化装置は、H.264のハイプロファイルでの復号化を行う復号化装置などである。これにより、H.264のハイプロファイルでの復号化をするのに際して、比較的適切な動作ができる復号化装置が提供される。
この復号化装置は、例えば、算術符号化を利用して符号化された符号化ストリームを算術復号化して、算術復号化データを生成する算術復号化部(算術符号復号化部102)と、生成された前記算術復号化データを二値データ復号化し、係数データ、参照画像情報及び画像多値データを生成する二値データ復号化部(二値データ復号化部106)と、過去に復号化した画素値で構成される参照画像を蓄積する蓄積部(外部DRAM111)と、前記蓄積部に蓄積される前記参照画像の画素データ及び、動きベクトル情報を用いて、動き補償信号を生成する動き補償部(動き補償部109)と、前記係数データ及び、前記動き補償信号を基に、復号化した画素値を生成する画素値復号化部(画素値復号化部108)と、前記動き補償部で利用した前記参照画像の画素データを蓄積する参照画素データキャッシュ(参照画像キャッシュ110)と、前記算術復号化データを基に、前記動き補償部が使用する参照画像と、当該参照画像の画素値とに関する前記参照画像情報を取得する参照画像情報取得部(参照画像情報取得部103)と、取得された前記参照画像情報を基に、前記参照画像データキャッシュの構成を作成する作成部(参照画像キャッシュ構成決定部104等)とを備える復号化装置(画像復号化装置)でもよい。
なお、動き補償部により使用される参照画像と、当該参照画像の画素値とに関する参照画像情報は、具体的には、例えば、複数の画像から、動き補償部により使用される参照画像を特定するとともに、特定される参照画像の画素値を特定してもよい。
また、構成を作成する際には、具体的には、例えば、構成を作成することにより、参照画像データキャッシュに対して、複数の処理のうちで、作成する構成に対応する処理をさせてもよい。ここで、それら複数の処理のそれぞれは、例えば、その処理がされる際に適する、動き補償部により利用される参照画像の数が、他の何れの処理での適切な数とも、異なってもよい。
なお、第2復号化部26における現在の復号化対象の符号化データ(第1の符号化データ)よりも前の符号化データ(第1の符号化データとは別の第2の符号化データ)を生成した際に得られた符号化条件(第2の符号化データの符号化条件)に基づいて、第2蓄積媒体25におけるキャッシュデータ(第1の符号化データが復号化対象である際のキャッシュデータ)の格納方法が設定部により設定されてもよい。
こうして、格納方法の設定に必要である情報(符号化条件)が、CABAC処理部22での算術復号化に際して生成される。このため、第1段目(CABAC処理部22)と、第2段目(デコーダ26)以外の処理がされて、段数が増やされる必要がなく、少ない段数(例えば2段)が維持できる。しかも、第1段目の処理で生成され、比較的早い時刻に生成され、早い時刻から、符号化条件を用いた適切な処理がされ、十分に適切な処理ができる。
以下、詳しく説明される。
図1は、本実施の形態で示される復号化装置の実施例を示す図である。
画像復号化装置(復号化装置)は、算術符号化を利用して符号化された符号化ストリームを復号化して、前記符号化ストリームが復号化された画像データを出力する装置である。
そして、画像復号化装置は、入力部101、算術符号復号化部102、参照画像情報取得部103、参照画像キャッシュ構成決定部104、メモリ105、二値データ復号化部106、参照画像情報抽出部107、画素値復号化部108、動き補償部109、参照画像キャッシュ110、外部DRAM111、出力部112で構成されている。
符号化ストリームは、入力部101により当該画像復号化装置に入力される。入力された符号化ストリームは、算術符号復号化部102により算術復号化され、符号化ストリームが算術復号化された算術復号化データが生成される。生成された算術復号化データは、メモリ105に一旦格納される。
ここで、H.264符号化の場合には、算術復号化データは、2値化データとも呼ばれる。通常、算術符号の復号化処理では、その処理時間に大きなムラが発生する。このため、マクロブロック単位で処理する、画素値の復号化処理と同期して処理することができない。このため、復号化処理がされた後の算術復号化データについては、十分なマクロブロック数分のデータを、一旦メモリ(図1ではメモリ105)に記憶して、その後、マクロブロック単位の復号化処理に同期して、記憶されたデータが読み出されて、処理される。
次に、算術復号化された算術復号化データは、メモリ105に記憶されるのと並行して、参照画像情報取得部103に入力されて、入力された算術復号化データから参照画像情報が取得される。ここで、参照画像情報とは、後に動き補償部109で使用される、参照画像及び参照画像の画素値に関する情報である。
参照画像キャッシュ構成決定部104は、この参照画像情報を入力として、参照画像キャッシュ110の構成を決定するキャッシュ構成情報を出力する。
なお、ここで、H.264符号化を使用した場合、画素データの復号化は、画像単位もしくは、画像を分割して得られるスライス単位で行われることが多い。そこで、参照画像キャッシュ構成決定部104で、キャッシュ構成情報を出力することにより決定される、参照画像キャッシュ110の構成は、画像単位もしくはスライス単位で決定される。すなわち、参照画像キャッシュ構成決定部104は、画像単位もしくはスライス単位で、キャッシュ構成情報を出力する。
キャッシュ構成情報は、参照画像キャッシュ110に渡され、キャッシュ構成情報に対応する画像の画素データを復号化する際に、参照画像キャッシュ110を設定する。
つまり、キャッシュ構成情報が渡されることにより、渡されたキャッシュ構成情報に対応する画像の復号化に際して、そのキャッシュ構成情報の構成での処理が、参照画像キャッシュ110により行われる。
次に、メモリ105に記憶された、先述の算術復号化データは、二値データ復号化部106に、マクロブロック単位で読み出されて、二値データ復号化部106により、係数データ及び、参照画像情報及び、画像多値データの復号化が実施される。
ここで、復号化されたデータに対して、参照画像情報抽出部107では、このマクロブロックに対する動きベクトル、参照画像番号(refIdx)を検出する処理がされる。そして、検出されたこれら動きベクトル等を利用して、参照画像キャッシュ110から、動き補償に用いる参照画素(外部DRAM111に記憶された参照画素のコピーの参照画素)を読み出す。
ここで、参照画像キャッシュ110に、動き補償に用いる参照画素(コピー)が格納されていない場合がある。なお、この場合とは、いわゆるキャッシュミスした場合である。この場合には、外部DRAM111から、動き補償に用いる参照画素を読み出す。そして同時に、外部DRAM111から読み出された参照画素を、参照画像キャッシュ110に格納する。
動き補償部109では、参照画像キャッシュ110もしくは外部DRAM111から読み出された参照画素から、動き補償に用いる補間画素(図1のデータ109b参照)を生成する。
画素値復号化部108では、二値データ復号化部106で復号化された係数データに、逆量子化、及び逆直交変換をして、復号化された係数データを、差分画素値に変換する。そして、変換された差分画素値を、動き補償部109で生成される、動き補償の補間画素と加算して、画素値を復号化し、復号化された画素値を、外部DRAM111に書き込む。
外部DRAM111に記憶された、復号化された画素値は、TV出力される等、接続される機器に同期して、出力部112から出力される。
図2は、上で説明した復号化装置(画像復号化装置)の動作のフロー(S1〜S18)を示した図である。
図2に示されるように、S1では、符号化データを画像復号化装置に入力部101が入力する。S2では、入力された符号化データを、算術符号復号化部102が算術符号復号化する。S3では、算術復号化された算術復号化データから、参照画像情報を、参照画像情報取得部103が取得する。S4では、算術復号化された算術復号化データを、メモリ105に格納する。
そして、S5では、S3で取得された参照画像情報から、参照画像キャッシュの構成を、参照画像キャッシュ構成決定部104が決定する。S6では、決定した構成を、参照画像キャッシュ110に設定する。
S7では、メモリ105に格納された算術復号化データを、メモリ105から読み出し、読み出された算術復号化データを、二値データ復号化部106が二値データ復号化する。S8では、参照画像情報を抽出する。S9では、S8で抽出された参照画像情報を基に、参照画素を特定する。
S10では、参照画像キャッシュ110に、特定された参照画素(コピー)があるか否かを判定する。S11では、S10で、あると判定された場合に(S10:YES)、参照画像キャッシュ110から、参照画素(コピー)を読み出す。S17では、S10で、ないと判定された場合に(S10:NO)、外部DRAM111から、参照画素を読み出す。S18では、S17で読み出した参照画素を、参照画像キャッシュ110に書き込む。
S12では、動き補償部109にて、読み出された参照画素から、動き補償の補間画素を作成する。S13では、係数データに対して、逆量子化、及び逆直交変換をして、差分画素値を、画素値復号化部108が作成する。S14では、動き補償の補間画素と、S13で作成された差分画素値とを加算して、画素値を画素値復号化部108が復号化する。S15では、S14で復号化した画素値を、外部DRAM111に格納する。S16では、復号化した画素値を、外部DRAM111から読み出し、読み出された画素値を、画像復号化装置から出力する。
次に、参照画像キャッシュ構成決定部104において、参照画像情報から、参照画像キャッシュの構成を決定する方法の詳細について示す。
参照画像キャッシュの構成を決定する第1の方法では、参照画像情報から、画像を復号化する際に必要となる参照画像の数を取得する。そして、取得された、その参照画像の数を、キャッシュのウェイ数(先述の説明参照)とする。第1の方法は、このような方式による方法である。なお、この場合、参照画像キャッシュは、セットアソシアティブ方式のキャッシュとなる。
そして、参照画像キャッシュの構成を決定する第2の方法でも、参照画像情報から、画像を復号化する際に必要となる参照画像の数を取得する。そして、取得された、その参照画像の数だけ、別々のキャッシュを作成する。第2の方法は、このような方式の方法である。
例えば、参照画像の数が、「4」であった場合、参照画像キャッシュの保存領域を4分割し、それぞれを1つのダイレクトマップ方式のキャッシュとして作成する。つまり、例えば、保存領域が、それぞれの分割領域が、1つのダイレクトマップ方式のキャッシュである4つの分割領域(4つの部分)に分割される。そして、参照画像毎に、アクセスするキャッシュ(分割領域)を指定して、キャッシュに格納する参照画像のデータも、指定されたキャッシュ(分割領域)を使用する。
そして、参照画像キャッシュの構成を決定する第3の方法でも、参照画像情報から、画像を復号化する際に必要となる参照画像の数を取得する。そして、参照画像の数だけ、キャッシュを作成する。また、それとともに、その参照画像情報から、それぞれの参照画像の参照回数を取得し、それぞれの参照回数(の大きさ)によって、その参照回数が取得された参照画像のキャッシュのエントリ数を決定する。
例えば、参照画像が、参照画像Aと参照画像Bであり、参照画像Aと参照画像Bとを参照する回数の間の比が、(参照画像Aの参照回数):(参照画像Bの参照回数)=3:1であった場合が考えられる。この場合には、参照画像キャッシュ110の保存領域を2分割する。そして、分割された2つの分割領域に、参照画像キャッシュAと参照画像キャッシュBという名前をつけるとする。このとき、参照画像キャッシュAには、全体の4分の3のエントリ数を割り当てて、参照画像Aのデータを格納する。そして、参照画像キャッシュBには、全体の4分の1のエントリ数を割り当てて、参照画像Bのデータを格納する。なお、こうして、例えば、参照回数が比較的多い参照画像(参照画像A)の分割領域(参照画像キャッシュA)は、比較的大きく、比較的少ない参照画像の分割領域は、比較的小さくてもよい。これにより、分割領域の大きさが、その分割領域での参照回数に対応する大きさにされて、適切な大きさにできる。
参照画像キャッシュの構成を決定する第4の方法でも、参照画像情報から、画像を復号化する際に必要となる参照画像の数を取得する。そして、これとともに、それぞれの参照画像の動きベクトルのばらつきを計測する。そして、取得した、参照画像の数だけ、キャッシュを作成する。そして、計測された、それぞれの、参照画像毎の動きベクトルのばらつきの大きさによって、その大きさのばらつきが計測された参照画像のキャッシュのエントリ数を決定する。これにより、作成されるキャッシュの大きさが、ばらつきに対応する大きさにされて、適切な大きさにできる。
図3は、参照画像A、参照画像B、及び復号化対象画像を示す図である。 具体的には、例えば、図3で示すように、画像を復号化する際に必要となる参照画像が2つで、その2つの参照画像が、参照画像Aと参照画像Bであるとする。
そして、参照画像Aの垂直動きベクトルrefPicA_mv_yの値の範囲が、−9≦refPicA_mv_y≦10であり、参照画像Bの垂直動きベクトルrefPicB_mv_yの値の範囲が、−29≦refPicB_mv_y≦30であるとする。このとき、参照画像キャッシュの保存領域を2分割する。そして、参照画像キャッシュAと、参照画像キャッシュBという名前をつけるとする。このとき、上述された、refPicA_mv_yの値の範囲(−9≦refPicA_mv_y≦10)の大きさが20(={10−(−9)}+1)で、また、refPicB_mv_yの値の範囲(−29≦refPicB_mv_y≦30)の大きさ60(={30−(−29)}+1)であることから、次の動作が行われる。つまり、その動作では、参照画像キャッシュAには、全体の4分の1のエントリ数を割り当てて、参照画像Aのデータを格納する。そして、参照画像キャッシュBには、全体の4分の3のエントリ数を割り当てて、参照画像Bのデータを格納する。
図4は、参照画像キャッシュ構成決定部104を示す図である。
参照画像キャッシュの構成を決定する第5の方法は、図4に示される参照画像キャッシュ構成決定部104で説明される。
図4で示す参照画像キャッシュ構成決定部104は、参照回数閾値設定部401と、参照回数比較部402と、キャッシュ構成情報作成部403から成る。そして、参照画像情報を入力として、キャッシュ構成情報を出力する。この参照画像キャッシュ構成決定部104の動作は、図5のフロー図で説明される。
図5は、参照画像キャッシュの構成を決定する第5の方法における、参照画像キャッシュ構成決定部104の動作のフローを示す図である。
処理の開始後、最初に、参照回数閾値設定部401に閾値を設定する(S501)。次に、参照画像毎に、参照画像単位のループ(S502)を処理する。このとき、参照画像がない場合には、参照画像単位のループの処理は行わずに次の処理に移動する。
参照画像単位のループの処理では、参照回数比較部402において、参照回数閾値設定部401に設定された、参照回数の閾値と、参照画像の参照回数とを比較(S503)する。そして、参照回数の方が大きい場合には(S503:YES)、ループの処理対象となっている参照画像の参照画像キャッシュの作成を、キャッシュ構成情報作成部403に指示する(S504)。他方、参照回数の閾値よりも、参照回数の方が小さい場合には(S503:NO)、ループの処理対象となっている参照画像の参照画像キャッシュを作成しないように、キャッシュ構成情報作成部403に指示する(S505)。
上記のループの処理を、全ての参照画像に対してそれぞれ行った後、キャッシュ構成情報作成部403は、参照回数比較部402から受け取った情報、及び、参照画像情報を基に、キャッシュ構成情報を作成し、出力する(S506)。
このようにして、画像復号化装置において、例えば、次の処理が行われてもよい。
つまり、動き補償部109が、画像を復号化する際に必要となる、1以上の参照画像を利用する。そして、利用される1以上の参照画像に含まれる参照画像の数(個数)は、参照画像情報により示される。なお、具体的には、動き補償部109が、補償信号を生成するのに際して、それらの1以上の参照画像を利用した処理を行ってもよい。
外部DRAM111が、動き補償部109により利用される1以上の参照画像を記憶する。
キャッシュ部(参照画像キャッシュ110)が、利用される1以上の参照画像の少なくとも一部のコピーを記憶する。そして、キャッシュ部が、当該1以上の参照画像のうちの当該少なくとも一部が、動き補償部109により利用される際に、記憶されたコピーを、動き補償部109に利用させる。
参照画像情報取得部103が、上述された、利用される参照画像の数を示す参照画像情報を取得する。
参照画像キャッシュ構成決定部104が、複数の構成のうちから、取得された参照画像情報により示される数に対応する構成を特定する。
すなわち、参照画像キャッシュ構成決定部104が、参照画像情報により第1の数が示されるときに第1の構成(例えば、第1の数のウェイ数の構成)を特定する。
ここで、特定される第1の構成は、利用される1以上の参照画像の数が、第1の数であるときに、当該1以上の参照画像のコピーが記憶されるのに適する構成である。他方、参照画像キャッシュ構成決定部104が、参照画像情報により、第1の構成が適さない第2の数が示されるときに、第2の数に適する第2の構成(第2の数のウェイ数の構成)を特定する。
そして、参照画像キャッシュ構成決定部104が、上述された1以上の参照画像が動き補償部109により利用される際に、特定された構成での記憶をキャッシュ部に行わせる。
なお、例えば、具体的には、参照画像キャッシュ構成決定部104が、特定された構成(ウェイ数など)を示すキャッシュ構成情報を生成することにより、生成されたキャッシュ構成情報により示される構成での記憶をさせて、その構成での記憶をさせてもよい。
これにより、第1の構成が利用されるのは、利用される1以上の参照画像に含まれる参照画像の数が、第1の数のときのみで、第2の数のときには、第2の構成が利用されて、利用される構成が変更される。これにより、確実に適切な構成が利用できる。そして、ひいては、第2の数が示されるときに、第1の構成でなく、第2の構成が利用されることで、キャッシュミスの回数が少なくされ、キャッシュミスが減らされる。そして、さらには、キャッシュミスから生じる、外部DRAM111へのアクセスが低減され、そのアクセスの回数が少なくできる。
なお、参照画像情報により、参照画像の数として、所定の基準数(例えば4)より多い数が示される場合には、次の動作が行われてもよい。つまり、何れの数が示されるときでも、同じ構成(例えば、ウェイ数4の構成)で記憶がされてもよい。こうすれば、ウェイ数5以上での記憶などがされないなどにより、構成が簡単にできる。
なお、具体的には、例えば、参照画像キャッシュ構成決定部104が、次の期間が終了することを検知してもよい。つまり、その期間とは、利用される1以上の参照画像のコピー以外の他のデータのコピーが、参照画像キャッシュ110により記憶され、記憶された他のデータが、動き補償部109により利用される期間である。つまり、当該期間が終了して、1以上の参照画像のコピーが記憶され、当該コピーが利用される期間が開始することが検知されてもよい。そして、参照画像キャッシュ構成決定部104等が、この検知がされるまでの間、先述された、生成されたキャッシュ構成情報を記憶してもよい。そして、参照画像キャッシュ構成決定部104が、この検知がされるまでは、記憶されたキャッシュ構成情報の構成以外の他の構成での記憶をさせる一方で、この検知がされた後には、記憶されたキャッシュ構成情報の構成での記憶をさせてもよい。
なお、キャッシュ部(参照画像キャッシュ110)の保存領域は、1以上の部分(分割領域)に分割されてもよい。例えば、参照画像キャッシュ構成決定部104により、参照画像情報により示される、参照画像の数と同じ数だけの1以上の部分に分割されてもよい。ここで、分割されたそれぞれの部分は、その部分に対応する1つの参照画像が記憶される部分である。
具体的には、例えば、それぞれの部分は、ウェイ1データ〜ウェイNデータのN個のデータのうちの、その部分に対応するデータが記憶される領域でもよい。つまり、キャッシュ部は、セットアソシアティブ方式のキャッシュでもよい。このとき、設定されるそれぞれの構成は、その構成における上述のN、つまり、その構成におけるウェイ数が、何れの他の構成でのウェイ数とも異なる構成であってもよい。
また、例えば、それぞれの部分は、1つのダイレクトマップ方式のキャッシュであってもよい。
すなわち、例えば、参照画像キャッシュ構成決定部104が、キャッシュ部(参照画像キャッシュ110)の保存領域を、1以上の部分(分割領域)に分割してもよい。つまり、それぞれの部分が、ダイレクトマップ方式の1つのキャッシュであり、それぞれの部分に、当該部分に対応する1つの参照画像が記憶されてもよい。ここで、保存領域が分割された1以上の部分における、当該部分の個数は、参照画像情報により示される数と同じ数の個数である。つまり、参照画像キャッシュ構成決定部104が、この分割により、キャッシュを作成してもよい。つまり、参照画像毎に、当該参照画像に対応する分割領域により構成され、当該参照画像が記憶されるキャッシュ(当該参照画像のキャッシュ)が作成されてもよい。
なお、参照画像情報取得部103が、二値データ復号化部106により二値データ復号化がされる前の算術復号化データから、参照画像情報(例えば、H.264/AVCで規定されるrefIdx及びmv)を取得してもよい。そして、取得される参照画像情報に基づいて算出される数が、利用される1以上の参照画像に含まれる参照画像の数として特定されてもよい。
なお、キャッシュ部が、次の動作をしてもよい。つまり、例えば、その動作は、外部DRAM111に記憶された1以上の参照画像のうちの、動き補償部109により利用される部分が、当該動き補償部109等により外部DRAM111から読み出される際に行われる。そして、例えば、その動作では、読み出された当該部分を取得して、その読み出しより後には、上述のコピーとして、取得された当該部分を含んだコピーが記憶されてもよい。
なお、次の画像復号化装置が構築されてもよい。
この画像復号化装置においては、動きベクトルを用いて、2つのピクチャーの間での差分値を符号化する画像符号化がされる際における、復号化を行う。そして、外部DRAMとのメモリバンド幅が小さく、メモリコスト、電力を大幅に低減できる。
つまり、この画像復号化装置においては、符号化されたストリームを、可変長復号し、この可変長復号の結果得られた参照画像情報、動きベクトル情報を基に、参照画素データを、外部DRAMから読み出す。そして、読み出した参照画素データで、動き補償を行い、画素値を復号化する。そして、外部DRAMから読み出した参照画素データは、参照画像キャッシュに格納される。そして、次の参照画素データの読み出し時には、参照画像キャッシュにアクセスする。そして、読み出したい参照画素データが、参照画像キャッシュ内に存在すれば、参照画像キャッシュから、存在する、その参照画素データを読み出して、読み出された参照画素データを使用する。そして、参照画像キャッシュ内に存在しない場合には、外部DRAMにアクセスする。こうすることで、外部DRAMへのアクセスが削減される。
しかしながら、もしも、仮に、キャッシュの構成が固定されているならば、復号するストリームによっては、キャッシュミスが多発し、外部DRAMへのアクセスが多くなってしまう。
そこで、この画像復号化装置においては、例えば、算術符号復号部において、参照枚数特定部が、参照枚数(と動きベクトル値)を特定する。そして、求められた参照枚数(と動きベクトル値)を入力として、参照画像キャッシュ構成決定部が、参照画像キャッシュの構成を決定する。
次に、画素値復号化部において、画素値を復号化する際に、参照画像キャッシュ構成決定部で決定された構成で、参照画像キャッシュを構築する。そして、構築された、決定された構成の参照画像キャッシュにより、動き補償に使用した参照画素データを格納する。そして、画素値復号化部では、参照画素データを取得する際に、まず、参照画像キャッシュにアクセスする。そして、キャッシュヒットした場合には、参照画像キャッシュから読み出した値を、動き補償に使用し、キャッシュミスした場合には、外部DRAMにアクセスして、参照画素データを取得する。
上記の方法によって、算術符号復号時において、参照画像キャッシュの構成を決定する。このことにより、復号するストリームに適した参照画像キャッシュを構成することが可能となり、固定されたキャッシュ構成の参照画像キャッシュが用いられる場合と比較して、キャッシュミスをより少なくして、削減したり、キャッシュ容量を削減することが可能となる。また、これにより、同じ参照画素を外部DRAMから何度も読み出すことを防ぎ、外部メモリへのアクセス量を小さくすることができる。さらには、メモリバンド幅低減、符号化処理の高速化、回路規模の削減が可能になる。
なお、参照枚数が1枚のときに、利用される方式を、ダイレクトマップ(WAY数=1)の方式として、参照画像キャッシュを構成してもよい。
そして、参照枚数が2枚のときに、利用される方式を、WAY数=2での、セットアソシアティブ方式として、参照画像キャッシュを構成してもよい。
そして、参照枚数が多数(≧5枚)の場合には、参照回数が多い画像を、2〜4枚選択して、セットアソシアティブ方式で、参照画像キャッシュを構成してもよい。
そして、参照枚数が2枚で、一方の参照画像の動きベクトルのばらつきが大きく、他方の参照画像のばらつきが小さい場合には、ばらつきが大きい方の参照画像に、より多くのキャッシュ領域を割り当ててもよい。
こうして、例えばある局面などで、次の動作が行われてもよい。
つまり、復号化装置100(図10参照)が、少なくとも算術符号化処理を含む符号化処理によって得られる符号化データ21b(図1の102a参照)を、復号化後のデータ26cへと復号化してもよい。
入力部21が、符号化データ21bを取得してもよい。
なお、入力部21は、例えば、図1の入力部101でもよいし、入力部101の少なくとも一部などでもよい。
なお、説明の便宜上、以下では、このような、図10で示される要素(入力部21など)と、図1での要素(入力部101)との間の対応関係について、適宜、詳しい説明が省略される。
CABAC(Context-based Adaptive Binary Arithmetic Coding)処理部(第1復号化部)22が、取得した符号化データ21bを算術復号化処理し、当該符号化データ21bに用いられた符号化条件23a(103b)および算術復号化された符号化データ24d(102b)を生成してもよい。
第1蓄積媒体24が、第1容量を有し、第1速度で、蓄積される情報の読出しが可能な蓄積媒体でもよい。そして、この第1蓄積媒体24が、符号化条件23aおよび算術復号化された符号化データ24dを蓄積してもよい。
つまり、第1蓄積媒体24は、例えば、復号化装置100に設けられたDRAM(Dynamic Random Access Memory)などでもよい。そして、この第1蓄積媒体24は、例えば、復号化装置100に設けられた、上述のCABAC処理部22などを備える集積回路100Lの外部に設けられてもよい。
第2蓄積媒体25が、上述の第1容量よりも小さい第2容量を有し、上述の第1速度よりも早い第2速度で、蓄積される情報の読出しが可能な蓄積媒体でもよい。
そして、第2蓄積媒体25が、第2蓄積媒体25に蓄積される既に復号化済みの画像データ24eのうち一部の画像データ24eP(がコピーされたデータ)であるキャッシュデータ25d(110d)を蓄積してもよい。
つまり、第2蓄積媒体25は、例えば、上述された、一部の画像データ24eP(111d)のコピーであるキャッシュデータ25dを蓄積するキャッシュなどでもよい。
デコーダ(第2復号化部)26が、第1蓄積媒体24に蓄積される、復号化済みの前記画像データ24eまたは第2蓄積媒体25に蓄積されるキャッシュデータ25d(データ25b参照)に基づいて、先述された、算術復号化処理された符号化データ24dを復号化処理してもよい。
つまり、このデコーダ26、および、デコーダ26が用いるキャッシュデータ25dを蓄積する第2蓄積媒体25は、例えば、何れも、上述された集積回路100Lに設けられてもよい。
設定部(格納方法設定部)23が、デコーダ26における復号化処理よりも前に、次の動作をしてもよい。
つまり、その動作とは、デコーダ26における復号化対象となる符号化データ2d(例えば、算術復号化がされた後の符号化データ24d(と、される前の符号化データ21bとの一方または両方))から生成された符号化条件23aに基づいて、第2蓄積媒体25におけるキャッシュデータ25dの格納方法を設定する動作である。
つまり、例えば、算術復号化(算術復号化処理)がされるのに際して、上述の符号化条件23aの情報が生成され、符号化条件23aが特定されてもよい。
なお、この特定は、例えば、上述の設定部23により行われてもよいし、その他の構成により行われてもよい。
これにより、キャッシュデータ25dが蓄積され、蓄積されたキャッシュデータ25dを用いた処理で、符号化された符号化データ21bが、復号化された後のデータ26cへと復号化される(先述の特許文献1、2などを参照)。
なお、復号化装置100は、例えば、ブルーレイディスクに記録された符号化データ21bを復号化するブルーレイレコーダの少なくとも一部などでもよい。また、例えば、復号化装置100は、テレビでもよいし、カメラでもよいし、復号化の処理をする携帯電話などでもよい。
しかしながら、キャッシュデータ25dへとコピーされる、一部の画像データ24ePを含む画像データ24eの少なくとも一部は、そのキャッシュデータ25dが蓄積されて行われる復号化での、参照がされる参照画像(図3の参照画像100M、100Nなどを参照)などである。
つまり、この画像データ24eのデータ量は、比較的大きいデータ量である。
このため、キャッシュデータ25dが蓄積される際に、キャッシュミスが生じて、例えば、キャッシュ25と第1蓄積媒体24との間での、データの転送での転送量などの、データの転送量が、大きな転送量になってしまう恐れがある。
そして、ひいては、大きな転送量の転送がされるために、転送の処理で、大きな消費電力が消費され、消費電力が大きくなってしまう恐れがある。
そこで、キャッシュデータ25dが蓄積される際の格納方法に着目される。
つまり、格納方法としては、比較的適切でない第1の格納方法(例えば、後述の図11での格納方法)と共に、比較的適切である第2の格納方法(後述の図12での格納方法)もある。
つまり、適切でない第1の格納方法は、その格納方法での蓄積がされた場合には、(比較的多くの)キャッシュミスが生じて、消費電力が大きくなる格納方法などである。
そして、適切である第2の格納方法は、(多くの)キャッシュミスが生じず、消費電力が小さい格納方法などである。
そこで、これら、第1の格納方法と、第2の格納方法とをそれぞれ特定する情報(符号化条件23a)が生成されてもよい。
そして、生成された情報により特定される、適切でない第1の格納方法(図11)での蓄積はされず、特定される適切な第2の格納方法(図12)での蓄積がされてもよい。
これにより、消費電力がより小さくできる。
しかしながら、復号化装置100における、符号化データ21bが、復号化後のデータ26cへと復号化される処理は、より簡単な処理であることなどが望まれる。
一方で、近年においては、H.264のハイプロファイルでの規格での復号化がされることがある。
つまり、例えば、復号化装置100により行われる、符号化データ21bから、復号化後のデータ26cへの復号化は、H.264のハイプロファイルでの復号化などでもよい。
つまり、符号化データ21bから、復号化後のデータ26cへの復号化では、1回目のパスの処理(1段目の処理、図10のCABAC処理部22を参照)がされた後に、2回目のパスの処理(2段目の処理、デコーダ26参照)が行われてもよい。
しかも、例えば、2回目のパスの処理で用いられるデータが、上述された参照画像を含み、かなり大きなデータである。
そこで、生成される情報(符号化条件23a)に基づいた格納方法(適切な第2の格納方法)で蓄積がされるキャッシュデータ25dが、2回目のパスの処理(デコーダ26での処理)でのみ用いられ、1回目のパスの処理(CABAC処理部22の処理)では用いられなくてもよい。
そして、1回目のパスの処理(CABAC処理部22の処理)で、上述された情報(符号化条件23a)が特定されてもよい。
そして、1回目のパスでの処理(CABAC処理部22)が終了した後に、2回目のパスでの処理(デコーダ26)がされる際に、次の通りでもよい。
つまり、2回目のパスの処理の際に、キャッシュデータ25dが、特定された情報により示される不適切な第1の格納方法(図11)で蓄積されず、適切な第2の格納方法(図12)でされてもよい。
これにより、パスの回数(処理の段数)が増えるのが回避されて、少ない回数(段数)に維持され、段数が少なくできる。
これにより、処理がより簡単にできる。
こうして、消費電力の少なさと共に、段数の少なさが両立できる。
なお、上述のように処理が簡単であるために、構成が比較的簡単にできる。
また、処理が簡単であるために、消費電力が更に小さくされて、消費電力が比較的大幅に小さくできる。
そして、例えば、設定部23は、第1蓄積媒体24における、キャッシュデータ25dのアドレス情報(図13に示される、第1蓄積媒体24におけるアドレス24Aを参照)の一部の情報(アドレス24Aの一部24Am)と、当該キャッシュデータ25dを第2蓄積媒体25に蓄積する際のアドレス情報(第2蓄積媒体25におけるアドレス25A)と、の対応関係(対応関係のデータ25tを参照)を、上述された符号化条件23aに基づいて設定してもよい。
つまり、例えば、上述された一部の画像データ24ePの少なくとも一部であるデータが蓄積される、第1蓄積媒体24におけるアドレス24Aの一部24Amに対して、設定された対応関係が対応付ける、第2蓄積媒体25におけるアドレス25Aがある。
そして、蓄積される上述のデータがコピーされたデータ(キャッシュデータ25dの少なくとも一部)が、第2蓄積媒体25における、そのデータの上述された一部24Amに対応付けられたアドレス25Aへと蓄積されてもよい。
そして、適切でない第1の対応関係(例えば、図13の第1のデータ25t1の対応関係)が設定された場合に、上述された不適切な第1の格納方法での蓄積(上述の説明を参照)がされてもよい。
そして、適切である第2の対応関係(第2のデータ25t2での対応関係)が設定された場合に、適切な第2の格納方法での蓄積がされてもよい。
そして、先述の情報(符号化条件23a)により、適切でない第1の対応関係(第1のデータ25t1)と、適切である第2の対応関係(第1のデータ25t2)が特定されてもよい。
そして、当該情報により特定される、適切でない第1の対応関係が設定されず、第1の格納方法での蓄積をさせない制御がされてもよい。
つまり、特定される、適切である第2の対応関係が設定されて、適切な第2の格納方法での蓄積をさせる制御がされてもよい。
これにより、単に、上述の対応関係の設定がされるだけで済み、行われる処理が、より簡単にできる。
なお、例えば、上述された、設定された対応関係により対応付けられる、第2蓄積媒体125のアドレス15Aへの蓄積をさせる制御をする蓄積制御部25j(図13)が設けられてもよい。
この蓄積制御部25jは、例えば、上述された設定部23(図10)の一部などでもよいし、キャッシュ25の一部などでもよい。
なお、例えば、対応関係が設定されるとは、その対応関係を特定するデータ25tが、例えば、この蓄積制御部25jに設けられた記録領域などの予め定められた領域に記憶させて、記憶されたデータ25tの対応関係での制御を行わせることなどでもよい。
また、例えば、設定部23は、デコーダ26で利用する参照画像(図3の参照画像100M、100Nなどを参照)が複数枚ある場合、参照画像の枚数(図3では2枚)に応じて、第2蓄積媒体25における、上述された第2容量(の領域)を、(その枚数の数の分割領域などの適切な2以上の分割領域へと、)論理的に分割してもよい。
なお、例えば、上述された、復号化済みの画像データ24e(図10)の枚数は、1枚または複数毎でもよい。そして、上述された1枚または複数毎の参照画像(参照画像100Mなど)のうちのそれぞれは、それらの1または複数の画像データ24eのうちの1つの画像データの画像でもよい。
そして、先述の情報(符号化条件24a)により、参照画像の枚数が特定されてもよい。
そして、当該情報により特定される枚数の数と同じ数だけの分割領域への分割が行われてもよい。
これにより、参照される参照画像の枚数が1枚の場合には、2以上の分割領域への分割がされず、分割がされる前の広い領域で、その参照画像の蓄積ができる。
しかも、複数毎の場合には、2以上の分割領域への分割がされ、一方の参照画像が一方の分割領域へと蓄積された後に、他方の参照画像が、異なる他方の分割領域に蓄積される。これにより、同じ分割領域に蓄積がされて、蓄積されるデータの書換え(後述の図11に示される書換え25wを参照)が行われて、キャッシュミスが生じてしまうことが回避され、消費電力がより少なくできる。
なお、先述された、保存領域の分割の処理の説明も、適宜参照されたい。
また、例えば、設定部23は、符号化条件23aから得られる、復号化済みの画像データ24e(図10)のうち、デコーダ26で利用されるデータ(例えば、後述の図11における第2のデータ24d2)に関する情報(例えば、画像データ24eの画像における、上述の第2のデータ24d2の画像の位置を示す情報)に基づいて、第2蓄積媒体25に蓄積されるキャッシュデータ25dの書換え(書換え25wを参照)がデコーダ26の復号化処理過程において、より少なくなるように、格納方法を設定してもよい。
この処理は、具体的には、適切な複数の形態のうちの何れの形態を有してもよい。
例えば、ある形態では、次の動作が行われてもよい。
つまり、第2蓄積媒体25での書換え(図11の書換え25w)は、例えば、次の場合に生じる。
デコーダ26により利用される第1のデータ(図11の第1のデータ24d1)が、符号化条件23aによって、第2蓄積媒体25のアドレス000(蓄積領域25r1)に格納されるよう割り当てられており、一方、デコーダ26により利用される第2のデータ(図11の第2のデータ24d2など)もまた、符号化条件23aによって、アドレス000(蓄積領域25r1)に格納されるように割り当てられている場合である。
すでに、第1のデータが、第2蓄積媒体25のアドレス000に格納されているときに、第2のデータを、第2蓄積媒体25に格納しようとしたとき、第2蓄積媒体25での書換えが発生する。
そして、設定部23は、上述された情報である符号化条件23aに基づいて、次の動作をしてもよい。
つまり、その動作では、符号化条件23aから特定される第2のデータ24d2(上述)が蓄積される第2蓄積媒体25の領域が、上述の第1の領域25r1と同じである第1の格納方法(図11での格納方法)での蓄積をさせなくてもよい。
そして、その動作は、例えば、第2のデータ24d2が蓄積される第2蓄積媒体25における領域が、第2の領域25r2となる、第2の格納方法(図12での格納方法)である。
なお、図11では、第2蓄積媒体25の図の第1列の「000」等は3桁であったのに対し、図12では「00」等の2桁である点を参照されたい。
これにより、第2のデータ(第2のデータ24d2)の、同じ領域への書き込み(図11の書換え25w)がされて、その書き込みの後に、第1のデータ(データ24d1)が利用される際にキャッシュミスが生じるのが回避される。
これにより、(比較的多くの)キャッシュミスが生じるのが回避されて、消費電力が小さくできる。
また、例えば、符号化条件23aは、動きベクトル(図略)を含んでもよい。
そして、この動きベクトルは、この動きベクトルにより示される動きをした後の位置のデータ(例えば、上述された第2のデータ24d2)を、デコーダ26により利用されるデータと特定してもよい。
そして、設定部23は、生成された上述の情報(符号化条件23a)に含まれる動きベクトルの位置(上述)のデータ(第2のデータ24r2)が利用される際に適さない第1の格納方法(図11の格納方法)での蓄積をさせなくてもよい。
つまり、含まれる動きベクトルの位置のデータ(第2のデータ24r2)が利用される際に適する第2の格納方法(図12の格納方法)での蓄積をさせてもよい。
なお、次の第1のケース、および、第2のケースが考えられる。
つまり、第1のケースでは、第2のデータ24d2が利用される復号化での参照画像の少なくとも一部(1以上の参照画像のうちの1つ)が、第1のデータ24d1の復号化での参照画像と同じである一方で、第2のケースでは違うことが考えられる。
このため、上述された第1のケースでのみ、第2のデータの領域(他方の領域)が、第1のデータの第1の領域25r1(一方の領域)と同じである場合にキャッシュミスが生じ、第2のケースでは同じ場合でも、キャッシュミスが生じないことが考えられる。
そこで、例えば、この第1のケースでのみ、先述の動作が行われ、第2のケースでは行われなくてもよい。
これにより、キャッシュミスが生じず、キャッシュミスが回避されないにも関わらず(第2のケースであるにも関わらず)、先述の動作がされるのが回避されて、無駄な動作がされず、より十分に消費電力が少なくできる。
なお、このように、第2蓄積媒体25において、第1のデータ24d1が格納される一方の領域と、第2のデータ24d2が格納される他方の領域とがあり、他方の領域は、一方の領域と同じ領域であるか、又は、異なる領域であるかの何れかでもよい。
そして、キャッシュミスが生じる、上述された第1のケースにおいて、少なくとも一部の場合においては、例えば、第1のデータ24d1の映像に表われる被写体等(例えば車など)が、第2のデータ24d2の映像の被写体等と同じでもよい。
そして、第1のデータ24d1の第1の映像が含まれる第1の参照画像(例えば図3の参照画像100M)における、その第1の映像の第1の位置100P1(図3参照)が考えられる。
また、第2のデータ24d2の第2の映像が有する、第2の参照画像(例えば図3の参照画像100N)における第2の位置100P2も考えられる。
そして、例えば、上述の被写体等が、静止したものなどでもよい。
そこで、例えば、第2の位置100P2は、第1の位置100P1と同じ位置(または近傍の位置)などでもよい。
なお、この第2の位置100P2は、具体的には、例えば、上述された動きベクトルにより示される動きをした位置などでもよい。
なお、図14により、第1蓄積媒体24における2つのアドレス24A(左側、右側の2つ)と、左側のアドレス24Aのうちの一部24Am1と、右側のアドレス24Aのうちの一部24Am2などが示される。適宜、この図14も参照されたい。
なお、第1蓄積媒体24は、例えば、符号化条件23aおよび符号化データ24dのうち、符号化データ24dのみを蓄積してもよい。
なお、例えば、第1のケースでは、第1のデータ24d1を用いて復号化される復号化対象画像100X(図3)が、第2のデータ24d2を用いて復号化される復号化対象画像100Xと同じで、第2のケースでは異なってもよい。そして、第1のケースでのみ、第1のデータ24d1が蓄積される領域を、第2のデータ24d2が蓄積される領域と異ならせる制御がされてもよい。これにより、無駄な処理がされず、高い性能を維持しつつも、処理が少なくできる。
なお、例えば、計測された、動きベクトルのばらつきが閾値よりも大きい場合には、より多くの箇所の参照がされ、キャッシュミスが生じ易いことが考えられる。そこで、閾値よりも大きい場合には、参照画素データキャッシュのエントリ数が、より多くされてもよい。
なお、図1に示される外部DRAM111は、具体的には、例えば、第1記録媒体14のうちの、復号化後の画像データ24eを記憶する部分などでもよい。
そして、例えば、図1に示されるメモリ105は、図10に示される第1記録媒体14のうちの、符号化データ24dを蓄積する部分などでもよい。
なお、デコーダ26の少なくとも一部は、例えば、図1における画素値復号化部108でもよい。そして、例えば、デコーダ26は、この画素値復号化部108を含むと共に、さらに、図1の2二値データ復号化部106、および、動き補償部109、参照画像情報抽出部107のうちの一部または全部などを含んでもよい。
なお、図1に示されるように、画像復号化装置100は、第1段目の処理(1回目のパスでの処理)を行う部分100pと、第2段目の処理(2回目のパスでの処理)を行う部分100qとを含んでもよい。
なお、メモリ105のうちで、二値データ復号化部106へとデータを送信する部分などの一部分は、第2段目の部分100qに含まれてもよい。
なお、先述のように、第1の格納方法は、第2の格納方法でのウェイ数と異なるウェイ数の格納方法でもよいし、同じウェイ数の格納方法などでもよい。
なお、例えば、さらに具体的には、次の通りでもよい。
つまり、先述のように、本復号化装置100では、H.264のハイプロファイルでの復号化が行われてもよい。つまり、1回目のパスでの処理(1段目の処理)の少なくとも一部は、上述のように、算術復号化の処理であり、他の不適切な処理ではない。
ここで、他の不適切な処理とは、その処理では、上述された情報が生成不能であったり、比較的適切である情報が生成不能である処理等である。
ここで、適切な情報とは、例えば、その情報に基づく格納方法での蓄積がされれば、キャッシュミスの回数が所定の閾値よりも少なく、比較的大幅に少なくなる格納方法などである。
これにより、例えば、上述の情報が特定可能にできて、上述の動作が可能にできる。また、例えば、比較的適切な情報が特定できて、上述の動作が、より適切な動作にされ、例えば、キャッシュミスの回数が、大幅に少なくできる。
こうして、本技術では、複数の構成(CABAC処理部22、設定部23など)が組み合わせられて、組み合わせからの相乗効果が生じる。これに対して、知られる先行例では、これら複数の構成のうちの一部または全部を欠き、相乗効果は生じない。
この点で、本技術は、先行例に対して相違する。
こうして、要するに、算術符号化及び画面間予測を用いて符号化された、動画像に関わる符号化ストリームを復号化する際、参照画像キャッシュが有効に働くことができずに、参照画像を外部メモリから取得する際のアクセス量が増大してしまう場合がある問題が解決される。つまり、画像復号化装置100は、参照画像を蓄積する外部DRAM111と、前記参照画像を用いる動き補償部109と、前記参照画像を蓄積する参照画像キャッシュ110と、前記参照画像の参照画像情報を取得する参照画像情報取得部と、前記参照画像情報を基に、前記参照画像データキャッシュの構成を作成するのに用いるキャッシュ構成情報を生成する参照画像キャッシュ構成決定部104とを備える。
なお、このように、当該符号化データAへと算術復号化がされる符号化データAと、設定された格納方法で、当該符号化データBのキャッシュデータが格納される符号化データBとがある。
符号化データBは、符号化データAと同じ符号化データでもよい。
また、符号化データBは、別の符号化データでもよい。
これにより、符号化データBの符号化条件が生成不能である場合などでも、符号化データBのキャッシュデータの格納が、(比較的)適切にされ、比較的確実に、適切な格納ができる。
本発明を、上記実施の形態に基づいて説明してきたが、本発明は、上記実施の形態に限定されるものではなく、本発明の主旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、当業者が思いつく各種変形を上記の実施の形態に施したものや、異なる箇所で説明された複数の変形例の構成要素を組み合わせて構築される形態なども、本発明の範囲に含まれる。
なお、上記の機能の一部又は全部をコンピュータに実現するためのコンピュータプログラムが構築されてもよい。また、そのコンピュータプログラムが記憶された記憶媒体が構築されてもよい。また、上記の機能の一部等が実現された集積回路が構築されてもよい。
本発明は、算術符号化及び画面間予測を用いて符号化された、動画像に関わる符号化ストリームを復号化する際に行われる、参照画像の取得にかかる、外部メモリのアクセスを削減することが可能である。また、本発明は、特に、H.264/AVCで符号化されたデータを扱う場合に有効に作用する。
消費電力の少なさと、処理の段数の少なさとが両立できる。
21 入力部
21b、24d 符号化データ
22 CABAC処理部
23 設定部
23a 符号化条件
23b 符号化条件
24 第1蓄積媒体
24e 復号化後の画像データ
24eP 一部の画像データ
24d1、24d2 データ
25r1、25r2 領域
25 第2蓄積媒体
25d キャッシュデータ
26 デコーダ
26c データ
100 画像復号化装置
100M、100N 参照画像
100Ma、100Na 参照画像が有する性質
100P1、100P2 位置
100PX 復号化がされる位置
101 入力部
102 算術符号復号化部
103 参照画像情報取得部
104 参照画像キャッシュ構成決定部
105 メモリ
106 二値データ復号化部
107 参照画像情報抽出部
108 画素値復号化部
109 動き補償部
110 参照画像キャッシュ
111 外部DRAM
112 出力部

Claims (10)

  1. 少なくとも算術符号化処理を含む符号化処理によって得られる符号化データを復号化する復号化装置であって、
    前記符号化データを取得する取得部と、
    前記取得した符号化データを算術復号化処理し、当該符号化データに用いられた符号化条件および算術復号化された符号化データを生成する第1復号化部と、
    第1容量を有し、第1速度で、蓄積される情報の読出しが可能な蓄積媒体であって、前記符号化条件および前記算術復号化された符号化データを蓄積する第1蓄積媒体と、
    前記第1容量よりも小さい第2容量を有し、前記第1速度よりも早い第2速度で、蓄積される情報の読出しが可能な蓄積媒体であって、前記第1蓄積媒体に蓄積される既に復号化済みの画像データのうち一部の画像データであるキャッシュデータを蓄積する第2蓄積媒体と、
    前記第1蓄積媒体に蓄積される、復号化済みの前記画像データまたは前記第2蓄積媒体に蓄積される前記キャッシュデータに基づいて、前記算術復号化処理された符号化データを復号化処理する第2復号化部と、
    前記第2復号化部における現在の復号化対象の符号化データよりも前の符号化データを生成した際に得られた符号化条件に基づいて、前記第2蓄積媒体における前記キャッシュデータの格納方法を設定する格納方法設定部と、を備える、
    復号化装置。
  2. 前記格納方法設定部は、前記第1蓄積媒体における、前記キャッシュデータのアドレス情報の一部の情報と、当該キャッシュデータを前記第2蓄積媒体に蓄積する際のアドレス情報と、の対応関係を前記符号化条件に基づいて設定する請求項1に記載の復号化装置。
  3. 前記格納方法設定部は、前記第2復号化部で利用する参照画像が複数枚ある場合、前記参照画像の枚数に応じて前記第2容量を論理的に分割する請求項1に記載の復号化装置。
  4. 前記格納方法設定部は、前記符号化条件から得られる、復号化済みの前記画像データのうち、前記第2復号化部で利用されるデータに関する情報に基づいて、前記第2蓄積媒体に蓄積されるキャッシュデータの書換えが前記第2復号化部の復号化処理過程において少なくなるように、前記格納方法を設定する請求項1に記載の復号化装置。
  5. 前記第2蓄積媒体での書換えは、
    前記符号化条件から特定される、前記第2復号化部により利用される第2のデータが蓄積される、前記第2蓄積媒体の第2の領域が、第1の前記データが蓄積される第1の領域と同じである場合に生じ、
    前記格納方法設定部は、
    前記符号化条件に基づいて、当該符号化条件から特定される第2の前記データが蓄積される前記第2の領域が、前記第1の領域と同じである第1の前記格納方法での蓄積をさせず、
    前記第1の領域とは異なる第2の前記格納方法での蓄積をさせる請求項1に記載の復号化装置。
  6. 前記符号化条件は、動きベクトルを含み、
    当該動きベクトルは、
    当該動きベクトルにより示される動きをした後の位置のデータを、前記第2復号化部により利用されるデータと特定し、
    前記格納方法設定部は、
    前記符号化条件に基づいて、当該符号化条件に含まれる前記動きベクトルの前記位置の前記データが利用される際に適さない第1の格納方法での蓄積をさせず、
    その際に適する第2の格納方法での蓄積をさせる請求項1に記載の復号化装置。
  7. 前記格納方法設定部において、復号化する画像が参照する参照画像毎に、当該参照画像が参照される参照回数をカウントし、カウントされた前記参照回数の大きさによって、当該参照回数の前記参照画像の参照画素データキャッシュであって、前記第2蓄積媒体の少なくとも一部からなる参照画素データキャッシュのエントリ数を決める請求項1に記載の復号化装置。
  8. 前記格納方法設定部において、復号化する画像が参照する参照画像毎に、動きベクトルのばらつきを計測し、計測されたばらつきの大きさによって、その大きさが計測がされた前記参照画像の参照画素データキャッシュであって、前記第2蓄積媒体の少なくとも一部からなる参照画素データキャッシュのエントリ数を決める請求項1に記載の復号化装置。
  9. 参照回数閾値設定部を備え、
    前記格納方法設定部において、復号化する画像が参照する参照画像毎に、当該参照画像の参照回数をカウントし、カウントされた前記参照回数が、前記参照回数閾値設定部に設定された値より小さい場合には、当該参照回数の前記参照画像の参照画素データキャッシュであって、前記第2蓄積媒体の少なくとも一部からなる参照画素データキャッシュを作成せず、当該参照画像の画素データを前記第2蓄積媒体に蓄積させない請求項1に記載の復号化装置。
  10. 少なくとも算術符号化処理を含む符号化処理によって得られる符号化データを復号化する復号化方法であって、
    前記符号化データを取得する取得ステップと、
    前記取得した符号化データを算術復号化処理し、当該符号化データに用いられた符号化条件および算術復号化された符号化データを生成する第1復号化ステップと、
    第1容量を有し、第1速度で、蓄積される情報の読出しが可能な第1蓄積媒体が、前記符号化条件および前記算術復号化された符号化データを蓄積する第1蓄積ステップと、
    前記第1容量よりも小さい第2容量を有し、前記第1速度よりも早い第2速度で、蓄積される情報の読出しが可能な第2蓄積媒体が、前記第1蓄積媒体に蓄積される既に復号化済みの画像データのうち一部の画像データであるキャッシュデータを蓄積する第2蓄積ステップと、
    前記第1蓄積ステップで蓄積される、復号化済みの前記画像データまたは前記第2蓄積ステップで蓄積される前記キャッシュデータに基づいて、前記算術復号化処理された符号化データを復号化処理する第2復号化ステップと、
    前記第2復号化ステップにおける現在の復号化対象の符号化データよりも前の符号化データを生成した際に得られた符号化条件に基づいて、前記第2蓄積ステップにおける前記キャッシュデータの蓄積における格納方法を設定する格納方法設定ステップと、を備える、
    復号化方法。
JP2011036469A 2010-02-22 2011-02-22 復号化装置及び復号化方法 Expired - Fee Related JP5020391B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011036469A JP5020391B2 (ja) 2010-02-22 2011-02-22 復号化装置及び復号化方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010036507 2010-02-22
JP2010036507 2010-02-22
JP2011036469A JP5020391B2 (ja) 2010-02-22 2011-02-22 復号化装置及び復号化方法

Publications (2)

Publication Number Publication Date
JP2011193453A true JP2011193453A (ja) 2011-09-29
JP5020391B2 JP5020391B2 (ja) 2012-09-05

Family

ID=44505917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011036469A Expired - Fee Related JP5020391B2 (ja) 2010-02-22 2011-02-22 復号化装置及び復号化方法

Country Status (2)

Country Link
US (1) US20110213932A1 (ja)
JP (1) JP5020391B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143940A (ja) * 2015-01-30 2016-08-08 ルネサスエレクトロニクス株式会社 画像処理装置および半導体装置
WO2016143336A1 (ja) * 2015-03-10 2016-09-15 日本電気株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化プログラムを記憶する記録媒体

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729449B (zh) * 2013-12-31 2017-02-15 上海富瀚微电子股份有限公司 一种参考数据访问管理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000175199A (ja) * 1998-12-04 2000-06-23 Sony Corp 画像処理装置及び方法、並びに提供媒体
WO2004017640A1 (ja) * 2002-08-13 2004-02-26 Renesas Technology Corp. 信号処理装置およびシステム
JP2005102144A (ja) * 2003-08-27 2005-04-14 Renesas Technology Corp Mpegのデータ処理装置
JP2006031480A (ja) * 2004-07-16 2006-02-02 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータプログラム
WO2008129855A1 (ja) * 2007-04-11 2008-10-30 Panasonic Corporation 画像データ復号化装置、画像データ復号化方法
JP2010212817A (ja) * 2009-03-06 2010-09-24 Panasonic Corp 画像復号化装置および画像復号化方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5937203A (en) * 1996-09-16 1999-08-10 Advanced Micro Devices, Inc. Port for fine tuning a central processing unit
US20020073238A1 (en) * 2000-11-28 2002-06-13 Eli Doron System and method for media stream adaptation
JP3851865B2 (ja) * 2001-12-19 2006-11-29 株式会社東芝 半導体集積回路
JP2003299103A (ja) * 2002-03-29 2003-10-17 Toshiba Corp 動画像符号化方法と装置及び動画像復号化方法と装置
SG111087A1 (en) * 2002-10-03 2005-05-30 St Microelectronics Asia Cache memory system
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
MXPA06002495A (es) * 2003-09-07 2006-06-20 Microsoft Corp Capa de porcion en codificador/descodificador (codec) de video.
US7092576B2 (en) * 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7516274B2 (en) * 2005-11-15 2009-04-07 Sun Microsystems, Inc. Power conservation via DRAM access reduction
US8907964B2 (en) * 2007-04-10 2014-12-09 Vivante Corporation System and method for dynamically reconfiguring a vertex cache
US20080285652A1 (en) * 2007-05-14 2008-11-20 Horizon Semiconductors Ltd. Apparatus and methods for optimization of image and motion picture memory access
US8149711B2 (en) * 2007-07-25 2012-04-03 Silicon Image, Inc. Data stream control for network devices
US8316184B2 (en) * 2008-06-30 2012-11-20 Intel Corporation Domain-based cache management, including domain event based priority demotion

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000175199A (ja) * 1998-12-04 2000-06-23 Sony Corp 画像処理装置及び方法、並びに提供媒体
WO2004017640A1 (ja) * 2002-08-13 2004-02-26 Renesas Technology Corp. 信号処理装置およびシステム
JP2005102144A (ja) * 2003-08-27 2005-04-14 Renesas Technology Corp Mpegのデータ処理装置
JP2006031480A (ja) * 2004-07-16 2006-02-02 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータプログラム
WO2008129855A1 (ja) * 2007-04-11 2008-10-30 Panasonic Corporation 画像データ復号化装置、画像データ復号化方法
JP2010212817A (ja) * 2009-03-06 2010-09-24 Panasonic Corp 画像復号化装置および画像復号化方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143940A (ja) * 2015-01-30 2016-08-08 ルネサスエレクトロニクス株式会社 画像処理装置および半導体装置
WO2016143336A1 (ja) * 2015-03-10 2016-09-15 日本電気株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化プログラムを記憶する記録媒体

Also Published As

Publication number Publication date
US20110213932A1 (en) 2011-09-01
JP5020391B2 (ja) 2012-09-05

Similar Documents

Publication Publication Date Title
JP5508534B2 (ja) シーン切替検出
US8311106B2 (en) Method of encoding and decoding motion picture frames
US8400460B2 (en) Image data processing method, program for image data processing method, recording medium with recorded program for image data processing method and image date processing device
KR101177666B1 (ko) 디코딩된 픽처의 지능적 버퍼링
JP4764807B2 (ja) 動きベクトル検出装置および動きベクトル検出方法
US9560379B2 (en) Inter-prediction method and video encoding/decoding method using the inter-prediction method
KR20110061551A (ko) 상황-기반의 적응형 이진 산술 코딩(cabac)비디오 스트림 준수
JP2008061133A (ja) 画像符号化装置及び画像符号化方法
CN101185339B (zh) 图像解码设备和图像数据解码方法、图像编码设备及方法
JP2006270683A (ja) 符号化装置と方法
JP5020391B2 (ja) 復号化装置及び復号化方法
US9137541B2 (en) Video data cache
JP4675383B2 (ja) 画像復号化装置および方法、画像符号化装置
US8406306B2 (en) Image decoding apparatus and image decoding method
GB2408871A (en) Data and digital video data compression
US8655088B2 (en) Image encoder, image decoder and method for encoding original image data
JP7324065B2 (ja) 動きベクトル検出装置、撮像装置、動きベクトル検出方法、及びプログラム
JP5182285B2 (ja) デコード方法及びデコード装置
US20180288418A1 (en) Semiconductor device
KR101602871B1 (ko) 데이터 부호화 방법 및 장치와 데이터 복호화 방법 및 장치
JP2000032474A (ja) 動画像符号化装置
JP2011061320A (ja) 動き補償装置、符号化装置、復号装置、これらにおける処理方法およびプログラム
US11973985B2 (en) Video encoder with motion compensated temporal filtering
JP6942504B2 (ja) 符号化装置、撮像装置、符号化方法、及びプログラム
JP2018019195A (ja) 動画生成方法、動画生成装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120605

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120612

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees