JP2005065239A - 動画像の復号化装置 - Google Patents

動画像の復号化装置 Download PDF

Info

Publication number
JP2005065239A
JP2005065239A JP2004206336A JP2004206336A JP2005065239A JP 2005065239 A JP2005065239 A JP 2005065239A JP 2004206336 A JP2004206336 A JP 2004206336A JP 2004206336 A JP2004206336 A JP 2004206336A JP 2005065239 A JP2005065239 A JP 2005065239A
Authority
JP
Japan
Prior art keywords
pixel
image
output
unit
decoding
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.)
Pending
Application number
JP2004206336A
Other languages
English (en)
Inventor
Yoshiyuki Wada
由之 和田
康介 ▲よし▼岡
Kosuke Yoshioka
Hideshi Nishida
英志 西田
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
Priority to JP2004206336A priority Critical patent/JP2005065239A/ja
Publication of JP2005065239A publication Critical patent/JP2005065239A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】 パディング処理の処理負荷を軽減する復号化装置を提供する。
【解決手段】 復号化装置は、復号された復号データをフレームメモリへ出力する際に、出力する復号データに境界画素が含まれるか否かを判断し、境界画素が含まれると判断する場合には、境界画素のデータを用いて、拡張領域へパディング処理を行うパディング部を備える。これにより、復号された1マクロブロックに含まれる画素の出力とともに、出力されるマクロブロックに境界画素が含まれる場合には、拡張領域へ境界画素の出力もされることとなり、境界画素をフレームメモリより再度読み込む必要が無くなるため、パディング時の処理負荷が軽減される。
【選択図】 図2

Description

本発明は、圧縮符号化されたディジタルビデオ信号を復号する技術に関する。
NTSC(National Television System Committee)やPAL(Phase Alternation by Line)等の地上波アナログ放送方式や衛星放送方式のディジタル化、家庭内におけるAV機器のディジタル化などに伴い、動画像がディジタル信号化されたディジタル情報として伝送されている。一般的に動画像をディジタル情報に変換すると情報量が多くなるため、ディジタル情報をそのまま伝送することは、効率が悪い。そこで、ディジタル情報を効率良く伝送するための手段として、動画像圧縮技術が用いられている。動画像圧縮技術の代表的なものとして、MPEG(Moving Pictures Experts Group)方式がある。この方式は、ISO/IECにて、国際標準化された方式であり、広く用いられている。
MPEG方式では、画面が持つ時間的な冗長度を削減するために画面間の相関を利用した動き補償符号化と、画面が持つ空間的な冗長度を削減するために画面内の相関を利用した離散余弦変換(Discrete Cosine Transform、以下、「DCT」という。)符号化とを行う。さらに、動き補償符号化された情報及びDCT符号化された情報に対して、可変長符号化を行うことにより情報量の圧縮を行っている。このような画像圧縮方式は、ハイブリッド符号化と呼ばれている。
ここで、動き補償符号化とは、符号化する画面を、異なる画面(以降、「参照フレーム」という。)から予測することによって情報量を圧縮する符号化であり、予測した値との差分と予測値の位置情報(以降、「動きベクトル」という。)を符号化するものである。この動き補償符号化は、動画像圧縮技術において、符号化効率を向上させる技術として広く普及している。
なお、DCT符号化及び可変長符号化については、公知であるため、ここでは説明を省略する。
近年、動き補償符号化において、参照フレームの外を参照する方式が採用されている。この方式では、符号化対象のマクロブロックが、参照フレームの外を参照する場合、画素値が存在しない領域外の画素には、その画素に最も近い参照フレーム内の画素(以降、「境界画素」という。)の値をコピーするパディングという処理が行われている。このようにパディング処理が行われた参照データを用いて動き補償符号化を行うことにより、フレームの境界付近のマクロブロックが参照する参照データのパターンが増えるため、符号化効率を向上することが可能となる。
ここで、参照データとは、動きベクトルの値により示されたマクロブロックのデータである。また、境界画素は、領域外の画素に最も近い参照フレーム内の画素であるため、参照フレームの枠の内縁に位置する画素となる。
また、動画像復号化においても、参照フレームの外を参照する方式が採用されている。この場合の動画像復号化装置及び動画像復号化方法が、特許文献1に開示されている。これによると、復号するマクロブロックのアクセスアドレスが、有効画像データの領域外であれば、有効画像データの領域を示すアドレスになるようアクセスアドレスを制御することにより、データを補うことで復号を行っている。
しかしながら、上記の動画像復号化方法では、以下のような問題がある。
動きベクトルが参照フレームの領域外を参照している場合には、動きベクトルの値を参照フレームの領域内となるように動きベクトルの値を変換し、参照データを取得し、取得した参照データへパディングを行っている。この方法では、領域外を示す2つの異なる動きベクトルの値に対して、同じ参照データへパディングを行う場合がある。そのため、処理量が増加し、符号データの復号中の処理負荷が大きくなるという問題である。
そこで、符号データ復号中の処理負荷を軽減するために、フレームメモリに書き込まれた復号画像を用いて、書き込まれた復号画像の領域外に対して、予めパディング処理を行う方法も考案されている。

国際公開番号 WO 00/36841
しかしながら、フレームメモリに書き込まれた復号画像の領域外に対して、予めパディング処理を行う方法では、フレームメモリより、復号された画像の各境界画素を読み込む必要があるため、フレームメモリとパディング処理を行う処理部とのアクセス回数が多くなり、パディング処理時の処理負荷が大きくなるという問題がある。
本発明では、パディング処理の処理負荷を軽減する復号化装置及び復号化方法及びプログラムを提供することを目的とする。
上記目的を達成するために、本発明は、動画像の復号化装置であって、動画像を構成する1のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段と、前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号手段と、前記ブロック画像を前記記憶手段の画像領域へ出力する出力手段とを備え、前記出力手段は、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行うことを特徴とする。
課題を解決するための手段に示した構成によると、復号化装置は、前記ブロック画像を記憶手段の画像領域へ出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素を出力しており、フレームの内縁に隣接する画素を記憶手段より再度読み込む必要が無い。そのため、拡張領域へ画素を出力する処理の処理負荷が軽減される。
ここで、前記出力手段は、前記ブロック画像を出力するときに、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接するか否かの判断と、前記画素が前記フレームの内縁に隣接すると判断する場合に前記拡張領域内の相応する位置へ前記画素の出力とを行うとしてもよい。
この構成によると、復号化装置の出力手段は、記憶手段に出力するブロック画像に含まれる画素が、フレームの内縁に隣接すると判断する場合には、その画素を拡張領域内の相応する位置へ出力することができる。
ここで、前記復号化装置は、さらに、前記フレーム画像及び前記拡張画像の生成が完了するまで、前記復号手段及び前記出力手段に対して、ブロック画像の生成、ブロック画像の出力、及び前記ブロック画像に含まれる画素が前記フレームの内縁に隣接する場合に前記拡張領域内の相応する位置へ前記画素の出力を繰り返すように制御する繰返手段を備えるとしてもよい。
この構成によると、繰返手段を用いて、1つのフレーム画像及び当該フレーム画像を囲む拡張画像の生成を行うことができる。これにより、例えば、画像サイズが176画素×144画素である場合には、フレームの内縁に隣接する画素は、636個存在しており、従来、拡張領域へ画素を出力する場合には、フレームの内縁に隣接する各画素を読み出す必要があるため、画素を読み出す処理を636回行う必要があった。本発明における復号化装置では、フレームの内縁に隣接する各画素を記憶手段より再度読み込む必要が無いため、この回数を削減することができ、処理負荷が軽減される。
ここで、前記出力手段は、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接すると判断する場合に、前記画素の出力先となる前記拡張領域内の水平方向アドレス、垂直方向アドレス又は、両方向のアドレスを算出し、算出したアドレスに基づいて、前記画素を前記拡張領域へ出力するとしてもよい。
この構成によると、出力手段は、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接すると判断する場合に、拡張領域内の水平方向アドレス、垂直方向アドレス又は、両方向のアドレスを算出することにより、算出したアドレスに基づいて、画素を拡張領域へ出力することが可能となる。
ここで、前記記憶手段は、さらに、前記フレーム画像とは異なるフレーム画像及び、前記拡張画像とは異なる拡張画像からなる参照フレーム画像を予め記憶しており、前記圧縮符号列は、前記参照フレーム画像の外又は内を示す動きベクトルと、符号化されたブロックと前記の参照フレーム画像内の参照ブロック画像との差分からなる差分ブロック画像とが符号化された情報を含み、前記復号手段は、前記圧縮符号列を受け付ける受付部と、前記圧縮符号列を復号して、前記動きベクトルと、前記差分ブロック画像とを取得する取得部と、前記動きベクトルが、前記参照フレーム画像の外を示しているか否かを判断する動きベクトル判断部と、前記参照フレーム画像の外を示すと判断される場合に、前記動きベクトルが示す位置から、前記参照フレーム画像内において最も近い位置を示すよう動きベクトルを変換し、前記参照フレーム画像より、変換後の動きベクトルにより示される参照データを取得する動きベクトル変換部と、前記参照データと、前記差分ブロック画像とを用いて、前記ブロック画像を生成するブロック画像生成部とを備えるとしてもよい。
この構成によると、取得部にて取得した動きベクトルが、参照フレーム画像の外である場合には、動きベクトル変換部により、参照フレーム画像の内となるように動きベクトルを変換し、変換された動きベクトルを用いて、参照フレーム画像より参照データを取得できる。また、取得した参照データと、取得部にて取得した差分ブロック画像を用いて、ブロック画像を生成することができる。
ここで、前記動きベクトル変換部は、前記動きベクトル判断部にて、前記動きベクトルが前記参照フレーム画像の内を参照していると判断される場合には、前記動きベクトルを用いて、前記参照フレーム画像より参照データを取得するとしてもよい。
この構成によると、取得部にて取得した動きベクトルが、参照フレーム画像の内である場合には、取得した動きベクトルを用いて、参照フレーム画像より参照データを取得することができる。
ここで、前記圧縮符号列は、符号化されたブロックからなる符号ブロック画像の情報を含み、前記復号手段は、前記圧縮符号列を受け付ける受付部と、前記圧縮符号列を復号して、前記符号ブロック画像を生成し、生成した符号ブロック画像をブロック画像とする生成部とを備えるとしてもよい。
この構成によると、復号化装置は、生成部にて生成した符号ブロック画像をブロック画像とすることができる。
ここで、前記記憶手段は、外部メモリ及び内部メモリの何れかからなるとしてもよい。
この構成によると、復号化装置は、記憶手段を外部メモリ及び内部メモリの何れかに備えることができる。
ここで、前記記憶手段及び出力手段は、外部メモリ及び内部メモリの何れかからなるとしてもよい。
この構成によると、復号化装置は、記憶手段及び出力手段を外部メモリ及び内部メモリの何れかに備えることができる。
ここで、前記出力手段は、前記ブロック画像を前記記憶手段の画像領域へ出力する第1出力部と、前記ブロック画像を出力するときに、前記ブロック画像に含まれる画素が、前記フレームの内縁に隣接するか否かを判断する判断部と、前記判断部にて前記画素が隣接すると判断される場合に、前記画素を前記拡張領域内の相応する位置へ出力する第2出力部とを備えるとしてもよい。
この構成によると、復号化装置の出力手段は、第1出力部、判断部及び第2出力部を用いて、ブロック画像を画像領域へ出力及び、出力するブロック画像に含まれる画素が、フレームの内縁に隣接すると判断する場合には、その画素を拡張領域内の相応する位置へ出力することができる。
1.第1の実施の形態
本発明に係る第1の実施の形態としての携帯電話機1について説明する。
携帯電話機1は、図1に示すように、インターネットを介して、符号化装置2により符号化された動画像の情報を受信し、受信した情報を復号し、動画像の再生を行う。
ここで、動画像の符号化について簡単に説明する。符号化装置2は、先ず、入力画像を受け取り、受け取った画像をA/D変換し、さらに、符号化で用いる画面サイズの空間解像度に変換する。なお、変換された画像を以降では、符号化対象画像と呼ぶ。また、符号化で用いる画像サイズの一例は、水平176画素×垂直144画素である。
次に、符号化装置2は、符号化対象画像の符号化を16画素×16画素からなるマクロブロック単位に、画面で左から右へ、また上から下の順番に、以下のようにして符号化を行う。
符号化を行うマクロブロックにおいて、動き補償によるフレーム間符号化を示す動き補償予測モードにて符号化を行うか若しくは、フレーム内符号化を示すイントラ符号化モードで符号化を行うかの決定がされる。
動き補償予測モードでは、符号化対象であるマクロブロックのデータと、参照画面から動き予測によって得られるマクロブロックのデータとの差分をとり予測誤差信号を取得し時間的な情報の圧縮が行われる。この予測誤差信号に対して、符号化対象であるマクロブロックをさらに分割した8画素×8画素からなるブロック単位でDCTが行われ、DCT係数が生成される。イントラ符号化モードでは、動き補償予測を行わないで、マクロブロックのデータに対して、DCTが行われ、DCT係数が生成される。
生成されたDCT係数は、量子化が行われ、量子化DCT係数が生成され、さらに、生成された量子化DCT係数は、可変長符号化される。また、符号化モードや動きベクトルを含むマクロブロック符号化情報も、可変長符号化される。
また、入力された画像は、次画面を符号化する際の参照画面として使用するため、量子化された情報を、逆量子化し、次に、逆DCT及び動き補償により局部復号が行われ、復号された画像は、符号化装置2が備えるフレームメモリ内に記憶される。
このように生成された各符号化情報を多重化し、さらには、多重化された各情報を用いて、ビットストリームであるエレメンタリストリーム(以下、「ES」という。)を生成する。さらに、生成されたESを用いて、トランスポートストリーム(以下、「TS」という。)を生成する。符号化装置2は、このようにして生成されたTSを出力する。
1.1 携帯電話機1の構成
ここでは、携帯電話機1の構成について説明する。
携帯電話機1は、図1に示すように、無線部20、ベースバンド信号処理部30、スピーカー40、マイク50、入力部60、表示部70、制御部80及び画像処理部10から構成されている。
携帯電話機1は、具体的には、マイクロプロセッサ、ROM、RAM、ディスプレイユニット、バスなどから構成されるコンピュータシステムである。前記ROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサは、前記コンピュータプログラムに従って動作することにより、携帯電話機1は、その機能を達成する。
1.1.1 無線部20
無線部20は、アンテナ21を備えており、無線信号の送受信を行う。
1.1.2 ベースバンド信号処理部30
ベースバンド信号処理部30は、無線部20より受け取った信号をスピーカー40へ出力するための信号処理や、マイク50より受け取った音声を無線部20へ出力するための信号処理を行う。
また、ベースバンド信号処理部30は、TSを無線部20を介して受け取ると、受け取ったTSを制御部80へ出力する。
1.1.3 スピーカー40
スピーカー40は、ベースバンド信号処理部30にて処理された信号を音声として出力する。
1.1.4 マイク50
マイク50は、使用者の音声を受け付け、受け付けた音声をベースバンド信号処理部30へ出力する。
1.1.5 入力部60
入力部60は、数字入力キーなどの入力機能を備えたキーボード等により構成されており、キーボードからのキー入力によるキー操作信号を使用者から入力指示として、制御部80へ出力する。
1.1.6 表示部70
表示部70は、制御部80から出力命令されたデータの表示の出力を行う。
1.1.7 制御部80
制御部80は、携帯電話機1全体の制御を行う。
制御部80は、ベースバンド信号処理部30よりTSを受け取ると、受け取ったTSを画像処理部10へ出力する。
また、画像処理部10より復号された画像を受け取り、受け取った画像を表示部70へ出力し、画像の再生を行う。
1.1.8 画像処理部10
画像処理部10は、図2に示すように、復号部100、入出力部200、メモリ制御部300及び外部メモリ400から構成されている。
(1) 外部メモリ400
外部メモリ400は、メモリ部401及びフレームメモリ402を有している。ここで、外部メモリ400は、DRAM(Dynamic Random Access Memory)である。
(A) メモリ部401
メモリ部401は、画像に係るデータからなる符号化データを蓄積している。
(B) フレームメモリ402
フレームメモリ402は、復号部100により復号された画像を蓄積している。蓄積している画像は、他の符号化された画像を復号する場合に、参照フレームとして用いられる。また、蓄積している画像は、再生された画像より、縦横1復号化ブロック分大きい領域(以下、「拡張領域」という。)を有している。拡張領域に、境界画素の値が出力される(コピーされる)ことにより、再生された画像を囲む画像が形成される。また、ここでは、拡張領域は、縦横16画素分の領域となる。
(2) 入出力部200
入出力部200は、制御部80よりTSを受け取り、受け取ったTSをESに分離して、分離した各ESから画像に係るデータを取得し、取得した各データを用いて、符号化データを生成し、生成した符号化データをメモリ制御部300を介してメモリ部401へ出力する。
また、画像の再生時には、メモリ制御部300を介して、フレームメモリ402より復号された画像を読み出し、読み出した画像を制御部80へ出力する。
(3) 復号部100
復号部100は、可変長復号部101、逆量子化部102、逆DCT部103、動き補償復号部104、パディング部105及び動きベクトル変換部106を有している。
復号部100は、16画素×16画素からなるマクロブロック単位で復号を行うことにより画像の再生を行う。
(A) 可変長復号部101
可変長復号部101は、メモリ部401の符号化データより予め決められた長さからなる符号化列を読み込む。読み込んだ符号化列を用いて、エントロピー復号を行い、符号化モード、参照するデータを示す参照アドレスを含む動きベクトル情報及び量子化DCT係数を取得する。
(B) 逆量子化部102
逆量子化部102は、可変長復号部101にて取得した量子化DCT係数に、逆量子化を施して、DCT係数を復元する。
(C) 逆DCT部103
逆DCT部103は、逆量子化部102にて復元されたDCT係数に、逆DCTを施して、画素空間データを復元する。
(D) 動き補償復号部104
動き補償復号部104は、可変長復号部101にて取得した符号化モードが、動き補償予測モードであるかイントラ符号モードであるかの判断を行う。
動き補償予測モードである場合には、可変長復号部101にて取得した動きベクトル情報を動きベクトル変換部106へ出力する。また、メモリ制御部300より参照データを受け取り、受け取った参照データを逆DCT部103にて復元された画素空間データに加算して、1マクロブロック分の画像の復元を行う。これにより、復元された1マクロブロック分の画像が得られることになる。
イントラ符号モードである場合には、逆DCT部103にて復元された画素空間データを復元された1マクロブロック分の画像とする。
なお、以降では、復元された1マクロブロック分の画像を復号データと呼ぶ。
動き補償復号部104は、復号データをパディング部105へ出力する。
(E) 動きベクトル変換部106
動きベクトル変換部106は、動き補償復号部104より動きベクトル情報を受け取り、受け取った動きベクトル情報に含まれる参照アドレスを用いて、動きベクトルが、参照フレームの領域外を参照しているか否かを判定し、領域外を参照している場合には、動きベクトルの参照アドレスを、拡張領域を含むフレームメモリ内にクリッピングすることにより、動きベクトルの参照アドレスを変換する。変換された参照アドレスをメモリ制御部300へ出力する。ここで、クリッピングにより変換された参照アドレスは、元の参照アドレスが示すマクロブロックの位置から、最も近い拡張領域を含むフレームメモリ内のマクロブロックの位置を示すアドレスとなる。
また、参照アドレスが、参照フレームの領域内を参照している場合には、その参照アドレスをメモリ制御部300へ出力する。
(F) パディング部105
パディング部105は、動き補償復号部104より復号データを受け取り、受け取った復号データを画素単位で、メモリ制御部300を介してフレームメモリ402へ出力する。このとき、パディング部105は、復号データより出力する画素のデータ(以下、「出力画素」若しくは「画素データ」という。)を取得し、取得した出力画素が境界画素のデータであるか否かを判断し、境界画素のデータである場合には、出力画素をフレームメモリ402へ出力して、再生時に表示される画像の領域に出力するとともに、出力画素を拡張領域内の相応する位置へ出力することによるパディングを行う。なお、本発明においては、出力画素を拡張領域内の相応する位置へ出力することを、パディングの概念に含める。
境界画素のデータでない場合には、従来と同様に、出力画素をフレームメモリ402へ出力して、再生時に表示される画像の領域に出力する。
以降では、「境界画素のデータ」を、単に「境界画素」とも呼ぶ。また、出力画素を再生時に表示される画像の領域に出力する方法は、従来と同様の方法であり、例えば、出力画素の出力先のアドレスを算出して、算出したアドレスに基づいて、出力画素をフレームメモリ402へ出力する。
なお、出力画素が境界画素であるか否かの判断は、出力画素の出力先のアドレスと復号される1画像の画像サイズとを用いて行う。また、パディング部105は、画素の出力を、予め決められた順序で行う。
ここで、拡張領域へのパディングの手順について、図3を用いて説明する。
図3は、フレームメモリ402に格納される画像の形式を示したものである。
再生時に表示される再生画像を格納する画像領域1000は、水平176画素×垂直144画素から構成されており、出力する画素が境界画素となる場合を以下のように分けることができる。ここで、境界画素は、再生画像における枠の内縁と接する画素となり、図3にて示す画素の中で、以下に挙げる画素が境界画素となる。画素(0,0)から水平方向へ向かって画素(0,175)までに位置する画素、画素(1,0)から垂直方向へ向かって画素(142、0)までに位置する画素、画素(0,175)から垂直方向へ向かって画素(142、175)までに位置する画素、及び画素(143,0)から水平方向へ向かって画素(143,175)までに位置する画素である。
さらに、境界画素となる出力画素は、8つのパターンに場合分けすることができ、それぞれの出力画素の名称を以下のように定義する。最初に、出力する画素が、画素(0、0)である場合であり、このときの出力画素を第1領域画素と呼ぶ。次に、出力する画素が、画素(0、175)である場合であり、このときの出力画素を第2領域画素と呼ぶ。次に、出力する画素が、画素(143、0)である場合であり、このときの出力画素を第3領域画素と呼ぶ。次に、出力する画素が、画素(143、175)である場合であり、このときの出力画素を第4領域画素と呼ぶ。次に、出力する画素が、画素(0、1)から画素(0、174)の何れかである場合であり、このときの出力画素を第1水平画素と呼ぶ。次に、出力する画素が、画素(143,1)から画素(143、174)の何れかである場合であり、このときの出力画素を第2水平画素と呼ぶ。次に、出力する画素が、画素(1、0)から画素(142、0)の何れかである場合であり、このときの出力画素を第1垂直画素と呼ぶ。最後に、出力する画素が、画素(1、175)から画素(142、175)の何れかである場合であり、このときの出力画素を第2垂直画素と呼ぶ。
出力画素が、第1領域画素である場合には、画素(0、0)に対して、垂直方向である画素(0a、0)から画素(0p、0)、水平方向である画素(0、0a)から画素(0、0p)及び部分拡張領域1110へ第1領域画素の出力を以下のようにして行う。先ず、画素(0、0)の直上である画素(0a、0)のアドレスを算出し、算出したアドレスに基づいて、第1領域画素を画素(0a、0)へ出力する。この動作を垂直方向に対して拡張領域である画素(0b、0)から画素(0p、0)についても同様に、アドレスを算出し、算出したアドレスに基づいて、第1領域画素を出力する。
さらに、画素(0、0)の左横にある画素(0、0a)のアドレスを算出して、算出したアドレスに基づいて、第1領域画素を画素(0、0a)へ出力し、さらに、垂直方向に対して、画素(0、0a)の直上である画素(0a、0a)のアドレスを算出し、算出したアドレスに基づいて、第1領域画素を画素(0a、0a)へ出力する。この動作を垂直方向に対して部分拡張領域1110内の画素(0b、0a)から画素(0p、0a)についても同様に、アドレスを算出し、算出したアドレスに基づいて、第1領域画素を出力する。この動作を繰り返すことにより、第1領域画素を出力水平方向に対して出力及び部分拡張領域1110へ出力が可能となる。
また、画素(0、175)に対して、垂直方向に位置する各画素へ第2領域画素の出力、水平方向に位置する画素へ第2領域画素の出力及び部分拡張領域1120へ第2領域画素の出力も同様の動作にて行う。このとき、水平方向に対しては、右方向へ第2領域画素の出力を行う。
また、画素(143、0)に対して、垂直方向に位置する各画素へ第3領域画素の出力、水平方向に位置する各画素へ第3領域画素の出力及び部分拡張領域1130へ第3領域画素の出力も同様の動作にて行う。このとき、垂直方向に対しては、下方向へ第3領域画素の出力を行う。
また、画素(143、175)に対して、垂直方向に位置する各画素へ第4領域画素の出力、水平方向に位置する各画素へ第4領域画素の出力及び部分拡張領域1140へ第4領域画素の出力も同様の動作にて行う。このとき、垂直方向に対しては、下方向へ出力を行い、水平方向に対しては、右方向へ出力を行う。
出力画素が第1水平画素である場合には、先ず、境界画素の直上にある画素に対するアドレスを算出し、算出したアドレスに基づいて、第1水平画素を出力する。この動作を垂直方向に対して、拡張領域となる16画素分行う。
出力画素が第2水平画素である場合も同様の動作である。このとき、垂直方向に対しては、下方向へ第2水平画素の出力を行う。
出力画素が第1垂直画素である場合には、先ず、境界画素の左横にある画素に対するアドレスを算出し、算出したアドレスに基づいて、第1垂直画素を出力する。この動作を水平方向に対して、拡張領域となる16画素分行う。
出力画素が第2垂直画素である場合も同様の動作である。このとき、水平方向に対しては、右方向へ第2垂直画素の出力を行う。
上記に示した方法にて、復元された画像をフレームメモリへ出力する際に、境界画素を拡張領域1001へ出力することが可能となる。
(4) メモリ制御部300
メモリ制御部300は、入出力部200より符号化データを受け取り、受け取った符号化データをメモリ部401へ出力する。
また、メモリ部401より受け取った符号化列を復号部100の可変長復号部101へ出力し、復号部100により復元された画像を画素単位にフレームメモリ402へ出力する。
さらに、動きベクトル変換部106より動きベクトルの参照アドレスを受け取ると、受け取った参照アドレスを用いて、参照フレームより参照データを取得する。取得した参照データを動き補償復号部104へ出力する。
メモリ制御部300は、フレームメモリ402より復号された画像を読み出し、読み出した画像を入出力部200へ出力する。
なお、メモリ制御部300は、メモリ部401とのデータの入出力及びフレームメモリ402とのデータの入出力は、DMA(Direct Memory Access)を発行して行う。
1.2 復号方法
ここでは、符号化データの復号を行う復号処理について説明する。
1.2.1 復号処理
図4に示す流れ図を用いて、復号処理について、説明する。
可変長復号部101は、メモリ部401より符号化列を取得し(ステップS5)、取得した符号化列に対して、エントロピー復号を行い、符号化モード、動きベクトルの情報及び量子化DCT係数を取得する(ステップS10)。次に、逆量子化部102により、ステップS10にて取得した量子化DCT係数を用いて、DCT係数を復元する(ステップS15)。逆DCT部103により、ステップS15にて復元されたDCT係数を用いて、画素空間データを復元する(ステップS20)。
次に、動き補償復号部104にて、ステップS10にて取得した符号化モードが、動き補償予測モードであるかイントラ符号モードであるかの判断を行う(ステップS25)。
動き補償予測モードであると判断する場合には(ステップS25における「NO」)、動き補償復号処理を行い(ステップS30)、動き補償復号処理にて復号された復号データを用いて、復号データ出力処理を行う(ステップS35)。
イントラ符号モードであると判断する場合には(ステップS25における「YES」)、ステップS20にて復元された画素空間データを復号データとして、復号データ出力処理を行う(ステップS35)。
なお、この処理を1画像に含まれるマクロブロック分行うことで、1画像の復号が完了することになる。画像サイズが、水平176画素×垂直144画素である場合には、16画素×16画素からなるマクロブロックは、99個存在しており、復号処理を99回繰り返すことにより、1画像の復号が完了する。
1.2.2 動き補償復号処理
ここでは、動き補償復号処理について、図5に示す流れ図を用いて説明する。
動きベクトル変換部106は、可変長復号部101にて復号された動きベクトルを取得する(ステップS100)。取得した動きベクトルの参照アドレスが参照フレームの領域内であるか否かを判断する(ステップS105)。
参照アドレスが、参照フレームの領域内であると判断する場合には(ステップS105における「YES」)、参照フレームより参照データを取得し(ステップS115)、取得した参照データと、復元された画素空間データとを用いて、復号データを生成する(ステップS120)。
参照アドレスが、参照フレームの領域外であると判断する場合には(ステップS105における「NO」)、参照アドレスが、領域内となるようにクリッピングを行い、参照アドレスの変換を行う(ステップS110)。変換された参照アドレスを用いて、ステップS115以降を行う。
1.2.3 復号データ出力処理
ここでは、復号データ出力処理について、図6に示す流れ図を用いて説明する。
パディング部105は、復号された復号データより画素データを取得する(ステップS150)。取得した画素データが境界画素であるか否かを判断する(ステップS155)。
境界画素であると判断する場合には(ステップS155における「YES」)、パディング処理を行う(ステップS160)。さらに、ステップS150にて取得した画素データが復号データの中で最終の画素データであるか否かを判断する(ステップS170)。最終の画素データでないと判断する場合には(ステップS170における「NO」)、ステップS150へ戻り、次画素データを取得し、処理を続行する。最終の画素データであると判断する場合には(ステップS170における「YES」)、処理を終了する。
境界画素でないと判断する場合には(ステップS155における「NO」)、取得した画素データをフレームメモリ402へ出力して、再生時に表示される画像の領域に出力し(ステップS165)、ステップS170を行う。
1.2.4 パディング処理
ここでは、パディング処理について、図7に示す流れ図を用いて説明する。
パディング部105は、復号データ出力処理にて取得した画素データをフレームメモリ402へ出力して、再生時に表示される画像の領域に出力し、出力した画素データを一時的に記憶する(ステップS200)。
次に、取得した画素データが、第1領域画素、第2領域画素、第3領域画素又は第4領域画素の何れかであるか否かを判断する(ステップS205)。
第1領域画素、第2領域画素、第3領域画素又は第4領域画素の何れかであると判断する場合には(ステップS205における「YES」)、垂直パディング処理を行い(ステップS210)、さらに、水平・垂直パディング処理を行う(ステップS215)。
第1領域画素、第2領域画素、第3領域画素又は第4領域画素のどれでもないと判断する場合には(ステップS205における「NO」)、第1水平画素又は第2水平画素の何れかであるか否かを判断する(ステップS220)。
第1水平画素又は第2水平画素の何れかであると判断する場合には(ステップS220における「YES」)、垂直パディング処理を行う(ステップS225)。
第1水平画素又は第2水平画素のどれでもないと判断する場合には(ステップS220における「NO」)、水平パディング処理を行う(ステップS230)。
1.2.5 垂直パディング処理
ここでは、垂直パディング処理について、図8に示す流れ図を用いて説明する。
パディング部105は、拡張領域1001に設定されている画素数をパディング回数として設定する(ステップS250)。本実施の形態では、パディング回数は、「16」となる。
次に、垂直方向へパディングを行うために、垂直方向のアドレスを算出する(ステップS255)。算出されたアドレスに基づいて、パディング処理のステップS200にて一時的に記憶されている画素データの出力を行う(ステップS260)。
次に、パディング部105は、パディング回数を「1」減算する(ステップS265)。減算されたパディング回数が「0」であるか否かを判断する(ステップS270)。
パディング回数が「0」でないと判断する場合には(ステップS270における「NO」)、次の垂直アドレスを算出し(ステップS255)、ステップS260以降を行う。
パディング回数が「0」であると判断する場合には(ステップS270における「YES」)、処理を終了する。
なお、ステップS255にてアドレスを算出する際に、境界画素が第1水平画素、第1領域画素又は、第2領域画素である場合には、垂直上方向のアドレスを算出し、境界画素が第2水平画素、第3領域画素又は、第4領域画素である場合には、垂直下方向のアドレスを算出する。
1.2.6 水平パディング処理
ここでは、水平パディング処理について、図9に示す流れ図を用いて説明する。
パディング部105は、拡張領域1001に設定されている画素数をパディング回数として設定する(ステップS300)。本実施の形態では、パディング回数は、「16」となる。
次に、水平方向へパディングを行うために、水平方向のアドレスを算出する(ステップS305)。算出されたアドレスに基づいて、パディング処理のステップS200にて一時的に記憶されている画素データの出力を行う(ステップS310)。
次に、パディング部105は、パディング回数を「1」減算する(ステップS315)。減算されたパディング回数が「0」であるか否かを判断する(ステップS320)。
パディング回数が「0」でないと判断する場合には(ステップS320における「NO」)、次の水平アドレスを算出し(ステップS305)、ステップS310以降を行う。
パディング回数が「0」であると判断する場合には(ステップS320における「YES」)、処理を終了する。
なお、ステップS305にてアドレスを算出する際に、境界画素が第1垂直画素である場合には、水平左方向のアドレスを算出し、境界画素が第2垂直画素である場合には、水平右方向のアドレスを算出する。
1.2.7 水平・垂直パディング処理
ここでは、水平・垂直パディング処理について、図10に示す流れ図を用いて説明する。
パディング部105は、拡張領域1001に設定されている画素数を水平パディング回数として設定する(ステップS350)。本実施の形態では、水平パディング回数は、「16」となる。
次に、水平方向へパディングを行うために、水平方向のアドレスを算出する(ステップS355)。算出されたアドレスに基づいて、パディング処理のステップS200にて一時的に記憶されている画素データの出力を行う(ステップS360)。
パディング部105は、拡張領域1001に設定されている画素数を垂直パディング回数として設定する(ステップS365)。本実施の形態では、垂直パディング回数は、「16」となる。
次に、垂直方向へパディングを行うために、垂直方向のアドレスを算出する(ステップS370)。算出されたアドレスに基づいて、パディング処理のステップS200にて一時的に記憶されている画素データの出力を行う(ステップS375)。
次に、パディング部105は、垂直パディング回数を「1」減算する(ステップS380)。減算された垂直パディング回数が「0」であるか否かを判断する(ステップS385)。
垂直パディング回数が「0」でないと判断する場合には(ステップS385における「NO」)、次の垂直アドレスを算出し(ステップS370)、ステップS375以降を行う。
垂直パディング回数が「0」であると判断する場合には(ステップS385における「YES」)、水平パディング回数を「1」減算する(ステップS390)。減算された水平パディング回数が「0」であるか否かを判断する(ステップS395)。
水平パディング回数が「0」でないと判断する場合には(ステップS395における「NO」)、次の水平アドレスを算出し(ステップS355)、ステップS360以降を行う。
水平パディング回数が「0」であると判断する場合には(ステップS395における「YES」)、処理を終了する。
なお、ステップS355にて水平アドレスを算出する際に、境界画素が第1領域画素又は第3領域画素である場合には、水平左方向のアドレスを算出し、境界画素が第2領域画素又は第4領域画素である場合には、水平右方向のアドレスを算出する。また、ステップS370にて垂直アドレスを算出する際に、境界画素が第1領域画素又は第2領域画素である場合には、垂直上方向のアドレスを算出し、境界画素が第3領域画素又は第4領域画素である場合には、垂直下方向のアドレスを算出する。
1.2.8 復号処理のまとめ
ここで、上記にて示した動画像の復号処理を図11に示すタイミング図を用いて、説明する。
復号部100は、メモリ部401より取得した符号化列より、可変長復号部101、逆量子化部102、逆DCT部103、動き補償復号部104及び動きベクトル変換部106を用いて、復号データの生成、又は、可変長復号部101、逆量子化部102、逆DCT部103及び動き補償復号部104を用いて、復号データの生成を行う(ステップS500)。
パディング部105は、復号データより、フレームメモリ402へ出力する1画素のデータを取得し、取得した画素データが境界画素であるか否かを判断する(ステップS505)。
次に、パディング部105は、取得した画素データが境界画素であると判断する場合には、取得した画素データをメモリ制御部300を介してフレームメモリ402へ出力するとともに、一時的に記憶する(ステップS510)。このとき、メモリ制御部300は、DMAを発行し、パディング部105とフレームメモリ402との間におけるデータの入出力の制御行う。次に、パディング部105は、拡張領域1001内の相応する位置に対して、一時的に記憶している画素データの出力を行う(ステップS515)。ステップS515を所定回数分繰り返すことにより、パディング処理が完了する。パディング処理完了後、次に出力する画素データを取得し、取得した画素データが境界画素であるか否かの判断を行い(ステップS520)、取得した画素データの出力以降の処理を行う。
また、ステップS505にて取得した画素データが境界画素でないと判断する場合には、ステップS510では、取得した画素データの出力を行い、次に出力する画素データを取得し、境界画素であるか否かの判断を行い(ステップS520)、取得した画素データの出力以降の処理を行う。
上記動作をマクロブロックが有する画素の数分繰り返すことにより、フレームメモリ402へ、復号データの出力及び、拡張領域1001内の相応する位置へ復号データが有する境界画素の出力が完了する。
さらに、これらの処理をマクロブロック単位に繰り返すことにより、1画像の復元を行うことができる。
このようにして、1マクロブロック分のデータを復号し、フレームメモリ402へ出力する度に、復号したマクロブロックのデータに境界画素が含まれている場合には、境界画素を拡張領域1001内の相応する位置へ出力することで、拡張領域へのパディング処理を行う。
なお、図11では、1つのマクロブロックに着目して、復号処理の処理の流れについて説明を行ったため、復号データに含まれる全ての画素を出力後、次のマクロブロックの復元を行っているよう記載になっている。しかしながら、通常は、復号データが生成されると、次の復号データを生成するための処理が開始されている。
1.3 第1の実施の形態のまとめ
以上説明したように第1の実施の形態によれば、1マクロブロック分の復号データをフレームメモリへ出力する際に、復号データに境界画素が存在する場合には、拡張領域へのパディング処理をも行っている。このため、境界画素をフレームメモリより読み出す必要がないため、画像の復号後、拡張領域へのパディング処理を行う場合よりも、フレームメモリへのアクセス回数は少なくなる。例えば、画像サイズが176画素×144画素である場合には、境界画素は、636個存在しており、従来、拡張領域へパディング処理を行う場合には、境界画素をフレームメモリより636回の読み出す必要があったが、本発明では、この回数を削減することができる。
さらに、参照フレームは予め拡張領域にパディングがされているため、画像を復号する場合に、動きベクトルが拡張領域を含む参照領域の外を参照しているときには、動きベクトルのクリッピング処理のみで、領域外を参照する動画像復号化を行うことが可能となり、動き補償復号に対する処理が軽減される。
また、復号データをフレームメモリへ出力する際に、拡張領域へのパディング処理を行うことにより、境界画素をフレームメモリより読み出す必要がないため、前記方法より、フレームメモリへのアクセス回数は少なくなる。これにより、画像復号に対する処理が軽減される。さらには、フレームメモリのメモリバンド幅を削減することもできる。
また、画像の復号中に、動き補償復号を行う場合には、動きベクトルの値に応じて、領域外画素の検出及び境界画素のコピーを行う方法を、ソフトウェア処理によって実現しようとする場合には、処理負荷が大きくなり、また、ハードウェアによって実現しようとする場合には、回路規模の増大を招くことになり、コストアップが生じていたが、本発明によると、動きベクトルが拡張領域を含む参照領域の外を参照しているときには、動きベクトルのクリッピング処理のみでよいため、動き補償復号の処理を容易なものにすることができ、処理負荷の軽減又は回路規模の増大の防止につながり、コストアップを防ぐことができる。
1.3.1 第1の実施の形態の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
(1)上記実施の形態において、復号された復号データをフレームメモリへ画素単位に出力する際に、出力する画素が境界画素であるか否かを判断して、画素の出力を行っているが、これに限定されない。画素の出力後、出力した画素が境界画素であるか否かを判断して、境界画素である場合には、出力した画素のデータを用いて、パディング処理を行い、パディング処理完了後又は、出力した画素が境界画素でない場合には、次の画素を復号データより取得して、同様の処理を繰り返すようにしてもよい。
このときの、処理の流れを、図6及び図7を用いて、説明する。
パディング部は、ステップS150にて、復号された復号データより、フレームメモリへ出力する画素を取得する。次に、ステップS155を行う前に、取得した画素をフレームメモリへ出力し、出力した画素を一時的に記憶する。ステップS155にて、一時的に記憶されている画素が境界画素であるか否かを判断する。
境界画素でないと判断する場合には、ステップS165を省略して、ステップS170以降の処理を行う。境界画素であると判断する場合には、ステップS160以降を行う。
また、パディング処理おいて、パディング部は、ステップS200を省略して、ステップS205以降を行う。
(2)上記実施の形態において、復号された復号データを画素単位にフレームメモリへ出力したが、これに限定されない。復号データをバースト転送によりフレームメモリへ出力してもよい。
この場合の実現方法を以下に示す。先ず、パディング部は、バースト転送により水平方向1行分のデータである16画素分のデータをフレームメモリへ出力し、出力したデータを一時的に記憶する。次に、パディング部は、記憶しているデータに、境界画素が含まれているか否かを判断し、境界画素が含まれている場合には、パディング処理を行う。パディング処理の終了又は、記憶しているデータに境界画素が含まれていない場合には、次の16画素分のデータをフレームメモリへ出力し、上記動作を行う。この動作を繰り返すことで、1マクロブロック分の復号データの出力及び出力された復号データに対応する拡張領域へのパディングが完了する。このとき、マクロブロックが16画素×16画素である場合には、上記動作を16回繰り返すことになる。
また、他の実現方法を以下に示す。先ず、パディング部は、バースト転送により水平方向1行分のデータである16画素分のデータを取得し、取得した16画素分のデータに、境界画素が含まれているか否かを判断する。
境界画素が含まれている場合には、取得したデータをフレームメモリ出力し、出力したデータを一時的に記憶する。次に、記憶しているデータを用いて、パディング処理を行い、パディング処理完了後、次の16画素分のデータを取得し、同様の処理を行う。境界画素が含まれていない場合には、取得したデータをフレームメモリへ出力し、次の16画素分のデータを取得し、同様の処理を行う。この動作を繰り返すことで、1マクロブロック分の復号データの出力及び出力された復号データに対応する拡張領域へのパディングが完了する。このとき、マクロブロックが16画素×16画素である場合には、上記動作を16回繰り返すことになる。
また、上記の2つの例では、バースト転送されるデータ単位を16画素としたが、他のデータ単位でもよい。
ここで、パディング処理は、出力したデータに含まれる境界画素単位に、第1の実施の形態で示した方法で実現してもよい。
または、境界画素単位に出力すべき領域の画素に対して出力画素のデータをバースト転送により出力することで、パディング処理を実現してもよい。この場合、出力される複数の画素のうち、基準となる画素のアドレスを算出し、算出したアドレスに基づいて、バースト転送を行う。このときの、パディング処理について、説明する。境界画素が第1水平画素である場合には、境界画素に対して、直上の画素のアドレスを算出し、算出したアドレスを基準として、垂直上方向に16画素分の出力画素をバースト転送し、第2水平画素である場合には、境界画素に対して、直下の画素のアドレスを算出し、算出したアドレスを基準として、垂直下向に16画素分の出力画素をバースト転送する。また、境界画素が、第1垂直画素である場合には、境界画素に対して、左隣にある画素のアドレスを算出し、算出したアドレスを基準として、水平左方向に16画素分の出力画素をバースト転送し、第2垂直画素である場合には、境界画素に対して、右隣にある画素のアドレスを算出し、算出したアドレスを基準として、水平右方向に16画素分の出力画素をバースト転送する。また、境界画素が、第1領域画素である場合には、先ず、境界画素に対して、直上の画素のアドレスを算出し、算出したアドレスを基準として、垂直上方向に16画素分の出力画素をバースト転送し、次に、左隣にある画素のアドレスを算出し、算出したアドレスを基準として、水平左方向に16画素分の出力画素をバースト転送する。さらに、水平左方向へ出力を行った際に、基準となった画素の直上の画素アドレスを算出し、算出したアドレスを基準として、水平左方向に位置する16画素に対して、出力画素をバースト転送し、さらに、前回バースト転送の際に基準となった画素の直上の画素アドレスを算出し、算出したアドレスを基準として、水平左方向に位置する16画素に対して、出力画素をバースト転送する。この動作を繰り返すことにより、第1領域画素である境界画素を拡張領域へ出力が可能となる。なお、境界画素が、第2領域画素である場合には、第1領域画素を出力する方法とは、出力する水平方向が異なるが、同様の動作で出力が可能であるため、説明は省略する。また、境界画素が、第3領域画素である場合には、第1領域画素を出力する方法とは、出力する垂直方向が異なるが、同様の動作で出力が可能であるため、説明は省略する。また、境界画素が、第4領域画素である場合には、第1領域画素を出力する方法とは、出力する垂直方向及び水平方向とも異なるが、同様の動作で出力が可能であるため、説明は省略する。
また、境界画素が、第1領域画素である場合には、出力対象となる全ての画素に対して、バースト転送することにより、出力画素を出力してもよい。境界画素が、他の領域画素である場合も同様である。
(3)上記実施の形態において、パディング部を復号部に備えたが、これに限定されない。パディング部を外部メモリ内に備えてもよい。
この場合、外部メモリ内に備えられたパディング部は、動き補償復号部にて、復号されたデータからフレームメモリへ出力する画素の情報及び出力先のアドレスをメモリ制御部を介して受け取り、受け取った情報を用いて、図6に示した復号データ出力処理を行う。
これにより、拡張領域へ出力される画素のデータは、メモリ制御部を介する必要がないため、メモリ制御部における入出力の負荷が軽減される。
(4)上記実施の形態において、パディング部は、復号データ毎に、出力画素を出力及びパディング処理を行ったが、これに限定されない。
パディング部は、復号データを少なくとも2個以上一時的に記憶し、記憶している複数の復号データを用いて、出力画素を出力及び、パディング処理を行ってもよい。
または、パディング部は、復号データ及び、拡張領域へ出力する画素データを記憶するバッファを有してもよい。このとき、パディング部は、復号データをバッファに記憶する。パディング部は、記憶した復号データに境界画素が含まれるか否かを判断し、境界画素が含まれると判断する場合には、拡張領域へ出力する画素を生成し、生成した画素をバッファに記憶する。パディング部は、バッファに記憶している画素データを画素単位に、メモリ制御部を介してフレームメモリへ出力する。
または、パディング部は、フレームメモリにて記憶している画像と同様に形式からなるバッファを有してもよい。
このとき、パディング部は、復号データをバッファ内に記憶する。パディング部は、記憶した復号データに境界画素が含まれるか否かを判断し、境界画素が含まれると判断する場合には、境界画素をバッファ内の拡張領域へ記憶する。パディング部は、この動作を1画像分の復号が完了するまで行い、1画像分の復号が完了すると、バッファに記憶しているデータ、つまり1画像分のデータ及び拡張領域のデータを画素単位にメモリ制御部を介してフレームメモリへ出力する。
(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
2.第2の実施の形態
第2の実施の形態における携帯電話機1Aは、画像処理部10Aの構成が、第1の実施の形態と異なる。以下、第2の実施の形態における画像処理部10Aについて説明する。
2.1 画像処理部10A
画像処理部10Aは、図12に示すように、復号部100A、入出力部200A、メモリ制御部300A及び外部メモリ400Aから構成されている。
(1) 外部メモリ400A
外部メモリ400Aは、メモリ部401A、フレームメモリ402A及び書込部403Aを有している。ここで、外部メモリ400Aは、DRAMである。
メモリ部401A及びフレームメモリ402Aは、第1の実施の形態と同様であるため、説明は省略する。
(A) 書込部403A
書込部403Aは、復号部100Aからメモリ制御部300Aを介して、復号した画像の出力画素と、当該出力画素の出力先のアドレスと、当該出力画素に係る情報とを受け取る。ここで、出力先のアドレスとは、再生時に表示される画像の領域において、出力画素が出力される位置を示すアドレスである。
また、出力画素に係る情報とは、以下に挙げる情報の何れかである。受け取る出力画素が、第1領域画素である場合には、出力画素に係る情報は、出力画素が第1領域画素であることを示す第1領域画素情報であり、第2領域画素である場合には、出力画素が第2領域画素であることを示す第2領域画素情報であり、第3領域画素である場合には、出力画素が第3領域画素であることを示す第3領域画素情報であり、第4領域画素である場合には、出力画素が第4領域画素であることを示す第4領域画素情報である。受け取った出力画素が、第1水平画素である場合には、出力画素に係る情報は、出力画素が第1水平画素であることを示す第1水平画素情報であり、第2水平画素である場合には、出力画素が第2水平画素であることを示す第2水平画素情報であり、第1垂直画素である場合には、出力画素が第1垂直画素であることを示す第1垂直画素情報であり、第2垂直画素である場合には、出力画素が第2垂直画素であることを示す第2垂直画素情報である。受け取った出力画素が、境界画素でない場合には、出力画素に係る情報は、出力画素が境界画素でないことを示す非境界画素情報である。
書込部403Aは、受け取ったアドレスに基づいて、出力画素をフレームメモリ402Aへ書き込む。
書込部403Aは、受け取った情報が、非境界画素情報であるか否かを判断し、非境界画素情報であると判断する場合には、動作を終了する。
書込部403Aは、受け取った情報が非境界画素情報でないと判断する場合には、受け取った情報が、第1領域画素情報、第2領域画素情報、第3領域画素情報又は第4領域画素情報の何れかであるか否かを判断する。判断結果が肯定的である場合には、書込部403Aは、受け取った情報に基づいて、出力画素(ここでは、出力画素は、第1、第2、第3及び第4領域画素の何れかとなる)を拡張領域内の相応する位置へ出力する。第1、第2、第3及び第4領域画素を拡張領域内の相応する位置へ出力する方法については、第1の実施の形態と同様であるため、説明は省略する。
書込部403Aは、判断結果が否定的である場合には、受け取った情報が、第1水平画素情報又は第2水平画素情報の何れかであるか否かを判断する。判断結果が肯定的である場合には、書込部403Aは、出力画素(ここでは、出力画素は、第1及び第2水平画素の何れかとなる)を拡張領域内の相応する位置へ出力する。第1及び第2水平画素を拡張領域内の相応する位置へ出力する方法については、第1の実施の形態と同様であるため、説明は省略する。書込部403Aは、判断結果が否定的である場合には、出力画素(ここでは、出力画素は、第1及び第2垂直画素の何れかとなる)を拡張領域内の相応する位置へ出力する。第1及び第2垂直画素を拡張領域内の相応する位置へ出力する方法については、第1の実施の形態と同様であるため、説明は省略する。
これにより、書込部403Aは、復号部100Aにて復元された画像をフレームメモリ402Aへ出力する際に、拡張領域へ出力する(コピーする)ことが可能となる。
(2) 入出力部200A
入出力部200Aは、第1の実施の形態と同様であるため、説明は省略する。
(3) 復号部100A
復号部100Aは、可変長復号部101A、逆量子化部102A、逆DCT部103A、動き補償復号部104A、動きベクトル変換部106A及びパディング判定部107Aを有している。
復号部100Aは、16画素×16画素からなるマクロブロック単位で復号を行うことにより画像の再生を行う。
可変長復号部101A、逆量子化部102A、逆DCT部103A、動き補償復号部104A及び動きベクトル変換部106Aは、それぞれ第1の実施の形態にて示す可変長復号部101、逆量子化部102、逆DCT部103、動き補償復号部104及び動きベクトル変換部106と同様であるため、説明は省略する。
以下、パディング判定部107Aについて、説明する。
パディング判定部107Aは、動き補償復号部104Aより復号データを受け取り、受け取った復号データを画素単位で、メモリ制御部300Aを介して書込部403Aへ出力する。
パディング判定部107Aは、復号データより出力画素を取得し、取得した出力画素が境界画素であるか否かを判断し、境界画素であると判断する場合には、さらに、出力画素が第1、第2、第3及び第4領域画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、領域画素に対応する情報を生成する。例えば、出力画素が第1領域画素である場合には、第1領域画素情報を生成し、第2領域画素である場合には、第2領域画素情報を生成し、第3領域画素である場合には、第3領域画素情報を生成する。パディング判定部107Aは、出力画素と、当該出力画素の出力先のアドレスと、生成した情報とをメモリ制御部300Aを介して、書込部403Aへ出力する。
パディング判定部107Aは、判断結果が否定的である場合には、さらに、出力画素が第1及び第2水平画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、水平画素に対応する情報を生成する。例えば、出力画素が第1水平画素である場合には、第1水平画素情報を生成し、第2水平画素である場合には、第2水平画素情報を生成する。パディング判定部107Aは、出力画素と、当該出力画素の出力先のアドレスと、生成した情報とをメモリ制御部300Aを介して、書込部403Aへ出力する。パディング判定部107Aは、判断結果が否定的である場合には、垂直画素に対応する情報を生成する。例えば、出力画素が第1垂直画素である場合には、第1垂直画素情報を生成し、第2垂直画素である場合には、第2垂直画素情報を生成する。パディング判定部107Aは、出力画素と、当該出力画素の出力先のアドレスと、生成した情報とをメモリ制御部300Aを介して、書込部403Aへ出力する。
パディング判定部107Aは、出力画素が、境界画素でないと判断する場合には、非境界画素情報を生成し、出力画素と、当該出力画素の出力先のアドレスと、生成した非境界画素情報とをメモリ制御部300Aを介して、書込部403Aへ出力する。
パディング判定部107Aは、上記の動作を復号データに含まれる画素数分繰り返すことにより、復号データを書込部403Aへ出力することができる。
(4) メモリ制御部300A
メモリ制御部300Aは、入出力部200Aより符号化データを受け取り、受け取った符号化データをメモリ部401Aへ出力する。
また、メモリ部401Aより受け取った符号化列を復号部100Aの可変長復号部101Aへ出力する。
メモリ制御部300Aは、出力画素と、出力先のアドレスと、当該出力画素に係る情報とをパディング判定部107Aから受け取り、受け取った各情報を書込部403Aへ出力する。
さらに、メモリ制御部300Aは、動きベクトル変換部106Aより動きベクトルの参照アドレスを受け取ると、受け取った参照アドレスを用いて、参照フレームより参照データを取得する。取得した参照データを動き補償復号部104Aへ出力する。
メモリ制御部300Aは、フレームメモリ402Aより復号された画像を読み出し、読み出した画像を入出力部200Aへ出力する。
なお、メモリ制御部300Aは、メモリ部401Aとのデータの入出力及びフレームメモリ402Aとのデータの入出力は、DMAを発行して行う。
2.2 復号方法
ここでは、符号化データの復号を行う復号処理について説明する。
なお、復号処理は、第1の実施の形態と同様であるため、説明は省略する。
また、復号処理にて行われる動き補償復号処理についても、第1の実施の形態と同様であるため、説明は省略する。
ここでは、復号処理にて行われる復号データ出力処理及び、書込部403Aにて行う書込処理について、説明する。
2.2.1 復号データ出力処理
ここでは、復号データ出力処理について、図13に示す流れ図を用いて説明する。
パディング判定部107Aは、復号された復号データより画素データを取得し(ステップS600)、取得した画素データが境界画素であるか否かを判断する(ステップS605)。
境界画素であると判断する場合には(ステップS605における「YES」)、出力画素が第1、第2、第3及び第4領域画素の何れかであるか否かを判断する(ステップS610)。判断結果が肯定的である場合には(ステップS610における「YES」)、領域画素に対応する情報を生成し、生成した情報と画素データとアドレスとを、メモリ制御部300Aを介して書込部403Aへ出力し(ステップS615)、取得した画素データが最終の画素データであるか否かを判断し(ステップS640)、最終の画素データであると判断する場合には(ステップS640における「YES」)、処理を終了し、最終の画素データでないと判断する場合には(ステップS640における「NO」)、ステップS600へ戻り、次画素データを取得し、処理を続行する。
判断結果が否定的である場合には(ステップS610における「NO」)、出力画素が第1及び第2水平画素の何れかであるか否かを判断する(ステップS620)。判断結果が肯定的である場合には(ステップS620における「YES」)、水平画素に対応する情報を生成し、生成した情報と画素データとアドレスとを、メモリ制御部300Aを介して書込部403Aへ出力し(ステップS625)、ステップS640を実行する。
パディング判定部107Aは、判断結果が否定的である場合には(ステップS620における「NO」)、垂直画素に対応する情報を生成し、生成した情報と画素データとアドレスとを、メモリ制御部300Aを介して書込部403Aへ出力し(ステップS630)、ステップS640を実行する。
パディング判定部107Aは、出力画素が、境界画素でないと判断する場合には(ステップS605における「NO」)、非境界画素情報を生成し、生成した非境界画素情報と画素データとアドレスとを、メモリ制御部300Aを介して書込部403Aへ出力し(ステップS635)、ステップS640を実行する。
2.2.2 書込処理
ここでは、書込部403Aが行う書込処理について、図14に示す流れ図を用いて説明する。
書込部403Aは、復号部100Aからメモリ制御部300Aを介して、復号した画像の画素データと、当該画素データの出力先のアドレスと、当該画素データに係る情報とを受け取る(ステップS700)。
書込部403Aは、受け取ったアドレスに基づいて、画素データをフレームメモリ402Aへ書き込む(ステップS705)。
書込部403Aは、受け取った情報が、非境界画素情報であるか否かを判断し(ステップS710)、非境界画素情報であると判断する場合には(ステップS710における「YES」)、動作を終了する。
書込部403Aは、受け取った情報が非境界画素情報でないと判断する場合には(ステップS710における「NO」)、受け取った情報が、第1領域画素情報、第2領域画素情報、第3領域画素情報又は第4領域画素情報の何れかであるか否かを判断する(ステップS715)。判断結果が肯定的である場合には(ステップS715における「YES」)、書込部403は、受け取った画素データ(ここでは、第1、第2、第3及び第4領域画素の何れかとなる)を用いて、受け取った情報に基づいて、垂直パディング処理を行い(ステップS720)、さらに、水平・垂直パディング処理を行う(ステップS725)。
書込部403Aは、判断結果が否定的である場合には(ステップS715における「NO」)、受け取った情報が、第1水平画素情報又は第2水平画素情報の何れかであるか否かを判断する(ステップS730)。判断結果が肯定的である場合には(ステップS730における「YES」)、書込部403は、受け取った画素データ(ここでは、第1及び第2水平画素の何れかとなる)を用いて、垂直パディング処理を行う(ステップS735)。書込部403Aは、判断結果が否定的である場合には(ステップS730における「NO」)、書込部403は、受け取った画素データ(ここでは、第1及び第2垂直画素の何れかとなる)を用いて、水平パディング処理を行う(ステップS740)。
なお、書込処理にて行われる垂直パディング処理、水平パディング処理、水平・垂直パディング処理は、第1の実施の形態と同様の処理の流れであるため、説明は省略する。
2.3 第2の実施の形態のまとめ
以上説明したように第2の実施の形態によれば、1マクロブロック分の復号データをフレームメモリへ出力する際に、復号データに境界画素が存在する場合には、拡張領域へのパディング処理をも行っている。このため、境界画素をフレームメモリより読み出す必要がないため、画像の復号後、拡張領域へのパディング処理を行う場合よりも、フレームメモリへのアクセス回数は少なくなる。
さらに、参照フレームは予め拡張領域にパディングがされているため、画像を復号する場合に、動きベクトルが拡張領域を含む参照領域の外を参照しているときには、動きベクトルのクリッピング処理のみで、領域外を参照する動画像復号化を行うことが可能となり、動き補償復号に対する処理が軽減される。
また、拡張領域へのパディング処理を外部メモリ400Aの書込部403Aにて行っているため、復号部100Aは、画素データを拡張領域へ出力する度に、画素データを外部メモリ400Aへ出力する必要がないため、外部メモリ400Aと復号部100Aとの間におけるトラフィックを軽減することができる。
2.3.1 第2の実施の形態の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
(1)パディング処理を行う際に、書込部403Aにて、画素データを拡張領域へ出力(コピー)するアドレス(以下、「コピー先のアドレス」という。)を算出したが、これに限定されない。
パディング判定部107Aにて、画素データが境界画素である場合には、コピー先のアドレスを全て算出して、画素データ、画素データの出力先のアドレス及び算出したコピー先の全てのアドレスを書込部403Aへ出力する。書込部403Aは、画素データの出力先のアドレス及びコピー先の全てのアドレスに基づいて、画素データをフレームメモリ402Aへ書き込む。
このときの復号データ出力処理について、図13を用いて変更点のみを説明する。
パディング判定部107Aは、ステップS605を実行後、画素データが境界画素でないと判断する場合には、ステップS635を行う代わりに、画素データと画素データの出力先のアドレスとを書込部403Aへ出力する。
また、パディング判定部107Aは、ステップS610を実行後、画素データが領域画素であると判断する場合には、ステップS615を行う代わりに、画素データのコピー先を全て算出し、画素データと画素データの出力先のアドレスと算出した全てのアドレスとを書込部403Aへ出力する。
また、パディング判定部107Aは、ステップS620を実行後、画素データが水平画素であると判断する場合には、ステップS625を行う代わりに、画素データのコピー先を全て算出し、画素データと画素データの出力先のアドレスと算出した全てのアドレスとを書込部403Aへ出力する。
また、パディング判定部107Aは、ステップS620を実行後、画素データが垂直画素であると判断する場合には、ステップS630を行う代わりに、画素データのコピー先を全て算出し、画素データと画素データの出力先のアドレスと算出した全てのアドレスとを書込部403Aへ出力する。
さらに、書込処理について、図14を用いて変更点のみを説明する。
書込部403Aは、ステップS700にて、画素データ及び1個以上のアドレスをパディング判定部107Aより受け取る。書込部403Aは、ステップS705にて、受け取った1個以上のアドレスに基づいて、受け取った画素データをフレームメモリ402Aへ書き込む。
(2)上記実施の形態において、復号された復号データを画素単位にフレームメモリへ出力したが、これに限定されない。復号データをバースト転送によりフレームメモリへ出力してもよい。
なお、バースト転送による実現方法は、第1の実施の形態の変形例(2)にて示した方法と同様の方法で実現できるため説明は省略する。
(3)書込部403Aを外部メモリ400Aに設けたが、これに限定されない。書込部403Aをメモリ制御部300Aに設けてもよい。
(4)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
3.第3の実施の形態
第3の実施の形態における携帯電話機1Bは、画像処理部10Bの構成が、第1及び第2の実施の形態と異なる。以下、第3の実施の形態における画像処理部10Bについて説明する。
3.1 画像処理部10B
画像処理部10Bは、図15に示すように、復号部100B、入出力部200B、メモリ制御部300B及び外部メモリ400Bから構成されている。
(1) 外部メモリ400B
外部メモリ400Bは、メモリ部401B、フレームメモリ402B及びパディング部404Bを有している。ここで、外部メモリ400Bは、DRAMである。
メモリ部401B及びフレームメモリ402Bは、第1の実施の形態と同様であるため、説明は省略する。
(A) パディング部404B
パディング部404Bは、復号部100Bからメモリ制御部300Bを介して、復号した画像の出力画素と、当該出力画素の出力先のアドレスとを受け取る。ここで、出力先のアドレスとは、再生時に表示される画像の領域において、出力画素が出力される位置を示すアドレスである。
パディング部404Bは、受け取った出力画素が境界画素であるか否かを判断する。
パディング部404Bは、受け取った出力画素が境界画素でないと判断する場合には、受け取った出力画素を、受け取ったアドレスに基づいて、フレームメモリ402Bへ書き込む。
パディング部404Bは、受け取った出力画素が境界画素であると判断する場合には、先ず、受け取った出力画素を、受け取ったアドレスに基づいて、フレームメモリ402Bへ書き込み、以下の動作を行う。
パディング部404Bは、受け取った出力画素が、第1領域画素、第2領域画素、第3領域画素又は第4領域画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、パディング部404Bは、出力画素を用いて、拡張領域へのパディングを行う。第1、第2、第3及び第4領域画素を用いたパディングの方法については、第1の実施の形態と同様であるため、説明は省略する。
パディング部404Bは、判断結果が否定的である場合には、受け取った出力画素が、第1水平画素又は第2水平画素の何れかであるか否かを判断する。判断結果が肯定的である場合には、パディング部404Bは、出力画素を用いて、拡張領域へのパディングを行う。第1及び第2水平画素を用いたパディングの方法については、第1の実施の形態と同様であるため、説明は省略する。パディング部404Bは、判断結果が否定的である場合には、出力画素(ここでは、出力画素は、第1及び第2垂直画素の何れかとなる)を用いて、拡張領域へのパディングを行う。第1及び第2垂直画素を用いたパディングの方法については、第1の実施の形態と同様であるため、説明は省略する。
これにより、パディング部404Bは、復号部100Bにて復元された画像をフレームメモリ402Bへ出力する際に、境界画素を拡張領域へ出力する(コピーする)ことが可能となる。
(2) 入出力部200B
入出力部200Aは、第1の実施の形態と同様であるため、説明は省略する。
(3) 復号部100B
復号部100Bは、可変長復号部101B、逆量子化部102B、逆DCT部103B、動き補償復号部104B、動きベクトル変換部106B及びデータ出力部108Bを有している。
復号部100Bは、16画素×16画素からなるマクロブロック単位で復号を行うことにより画像の再生を行う。
可変長復号部101B、逆量子化部102B、逆DCT部103B、動き補償復号部104B及び動きベクトル変換部106Bは、それぞれ第1の実施の形態にて示す可変長復号部101、逆量子化部102、逆DCT部103、動き補償復号部104及び動きベクトル変換部106と同様であるため、説明は省略する。
以下、データ出力部108Bについて、説明する。
データ出力部108Bは、動き補償復号部104Bより復号データを受け取り、受け取った復号データを画素単位で、メモリ制御部300Bを介してパディング部404Bへ出力する。
データ出力部108Bは、復号データより出力画素を取得し、取得した出力画素と、出力画素の出力先のアドレスとをメモリ制御部300Bを介してパディング部404Bへ出力する。データ出力部108Bは、上記の動作を復号データに含まれる画素数分繰り返すことにより、復号データをパディング部404Bへ出力することができる。
(4) メモリ制御部300B
メモリ制御部300Bは、入出力部200Bより符号化データを受け取り、受け取った符号化データをメモリ部401Bへ出力する。
また、メモリ部401Bより受け取った符号化列を復号部100Bの可変長復号部101Bへ出力する。
メモリ制御部300Bは、出力画素と、出力先のアドレスとをデータ出力部108Bから受け取り、受け取った各情報をパディング部404Bへ出力する。
さらに、メモリ制御部300Bは、動きベクトル変換部106Bより動きベクトルの参照アドレスを受け取ると、受け取った参照アドレスを用いて、参照フレームより参照データを取得する。取得した参照データを動き補償復号部104Bへ出力する。
メモリ制御部300Bは、フレームメモリ402Bより復号された画像を読み出し、読み出した画像を入出力部200Bへ出力する。
なお、メモリ制御部300Bは、メモリ部401Bとのデータの入出力及びフレームメモリ402Bとのデータの入出力は、DMAを発行して行う。
3.2 復号方法
ここでは、符号化データの復号を行う復号処理について説明する。
なお、復号処理は、第1の実施の形態と同様であるため、説明は省略する。
また、復号処理にて行われる動き補償復号処理についても、第1の実施の形態と同様であるため、説明は省略する。
ここでは、復号処理にて行われる復号データ出力処理及びパディング部404Bにて行う書込処理について、説明する。
3.2.1 復号データ出力処理
ここでは、データ出力部108Bが行う復号データ出力処理について、図16に示す流れ図を用いて説明する。
データ出力部108Bは、復号データより画素データを取得し(ステップS800)、取得した画素データと、画素データの出力先のアドレスとをメモリ制御部300Bを介してパディング部404Bへ出力する(ステップS805)。
データ出力部108Bは、取得した画素データが、最終の画素データであるか否かを判断し(ステップS810)、最終の画素データであると判断する場合には(ステップS810における「YES」)、処理を終了する。最終の画素データでないと判断する場合には(ステップS810における「NO」)、ステップS800へ戻り、次画素データを取得し、処理を続行する。
3.2.2 書込処理
ここでは、パディング部404Bが行う書込処理について、図17に示す流れ図を用いて説明する。
パディング部404Bは、復号部100Bからメモリ制御部300Bを介して、復号した画像の画素データと、当該画素データの出力先のアドレスと受け取る(ステップS850)。
パディング部404Bは、受け取った画素データが境界画素であるか否かを判断する(ステップS855)。
境界画素であると判断する場合には(ステップS855における「YES」)、パディング処理を行う(ステップS860)。
境界画素でないと判断する場合には(ステップS855における「NO」)、パディング部404Bは、受け取ったアドレスに基づいて、画素データをフレームメモリ402Bへ書き込む(ステップS865)。
なお、書込処理にて行われるパディング処理は、第1の実施の形態と同様の処理の流れであるため、説明は省略する。また、パディング処理にて行われる垂直パディング処理、水平パディング処理及び水平・垂直パディング処理は、第1の実施の形態と同様の処理の流れであるため、説明は省略する。
3.3 第3の実施の形態のまとめ
以上説明したように第3の実施の形態によれば、1マクロブロック分の復号データをフレームメモリへ出力する際に、復号データに境界画素が存在する場合には、拡張領域へのパディング処理をも行っている。このため、境界画素をフレームメモリより読み出す必要がないため、画像の復号後、拡張領域へのパディング処理を行う場合よりも、フレームメモリへのアクセス回数は少なくなる。
さらに、参照フレームは予め拡張領域にパディングがされているため、画像を復号する場合に、動きベクトルが拡張領域を含む参照領域の外を参照しているときには、動きベクトルのクリッピング処理のみで、領域外を参照する動画像復号化を行うことが可能となり、動き補償復号に対する処理が軽減される。
また、拡張領域へのパディング処理を外部メモリ400Bのパディング部404Bにて行っているため、復号部100Bは、画素データを拡張領域へ出力する度に画素データを外部メモリ400Bへ出力する必要がないため、外部メモリ400Bと復号部100Bとの間におけるトラフィックを軽減することができる。
3.3.1 第3の実施の形態の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
(1)上記実施の形態において、復号された復号データを画素単位にフレームメモリへ出力したが、これに限定されない。復号データをバースト転送によりフレームメモリへ出力してもよい。
なお、バースト転送による実現方法は、第1の実施の形態の変形例(2)にて示した方法と同様の方法で実現できるため説明は省略する。
(2)パディング部404Bを外部メモリ400Bに設けたが、これに限定されない。パディング部404Bをメモリ制御部300Bに設けてもよい。
(3)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
4.その他の変形例
なお、本発明を第1、第2及び第3の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下の場合も本発明に含まれる。
(1)本発明において、携帯電話機が受信する情報として、TSを用いたが、これに限定されない。動画像がディジタル信号化されたディジタル情報であるビットストリームであればよい。ビットストリームは、TSの他に、例えば、プログラムストリームである。画像処理部の入出力部は、ビットストリームを受け取り、受け取ったビットストリームより、画像に係るデータを取得し、取得したデータから符号化データを生成して、生成した符号化データをメモリ部へ出力する。復号部にて行う動作は、第1の実施の形態と同様であるため、説明は省略する。
(2)本発明において、画像サイズは、176画素×144画素としたが、これに限定されない。他の画像サイズであってもよい。例えば、水平352画素×垂直288画素である。
(3)本発明において、マクロブロックのサイズを16画素×16画素としたが、これに限定されない。他のブロックサイズであってもよい。
例えば、8画素×8画素である。これにより、8画素×8画素単位に動きベクトルを設定することが可能となる。
(4)本発明において、拡張領域の縦横の幅を、1マクロブロック単位である16画素分としたが、これに限定されない。拡張領域は、縦横とも1画素以上の幅であればよい。
または、復号するブロックサイズと一致する幅としてもよい。例えば、復号するブロックサイズが8画素×8画素である場合には、拡張領域の縦横の幅を、それぞれ8画素分とすればよい。
(5)本発明において、動画像復号化装置を携帯電話機としたが、これに限定されない。符号化された動画像を復号し再生する装置であればよい。例えば、セットトップBox、DVD装置、モバイル通信装置、放送受信機及び、ブロードバンドネットワークにより配信される動画像を再生する装置である。
(6)本発明において、外部メモリをDRAMとしたが、これに限定されない。外部メモリは、他のタイプのものであってよい。例えば、SDRAM(Synchronous DRAM)である。
また、本発明において、外部メモリとして、揮発性メモリを用いたが、これに限定されない。外部メモリとして、不揮発性メモリを用いてもよい。
また、本発明において、外部メモリを用いたが、これに限定されない。復号部に備えられた内部メモリを用いてもよい。
(7)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(8)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明における復号化装置及び復号化方法は、参照画面の拡張領域を参照して、画面の復号を行う技術に利用されうる。
携帯電話機1の構成を示すブロック図である。 画像処理部10の構成を示すブロック図である。 フレームメモリ402に格納される画像データのデータ形式を示した模式図である。 符号化データの復号を行う動作を示す流れ図である。 動き補償復号を行う動作を示す流れ図である。 復号されたデータをフレームメモリへ出力する動作を示す流れ図である。 拡張領域へパディングを行う動作を示す流れ図である。 垂直パディング処理を示す流れ図である。 水平パディング処理を示す流れ図である。 水平・垂直パディング処理を示す流れ図である。 復号処理を示すタイミング図である。 画像処理部10Aの構成を示すブロック図である。 パディング判定部107Aにて行われる復号データ出力処理の動作を示す流れ図である。 書込部403Aにて行われる書込処理の動作を示す流れ図である。 画像処理部10Bの構成を示すブロック図である。 データ出力部108Bにて行われる復号データ出力処理の動作を示す流れ図である。 パディング部404Bにて行われる書込処理の動作を示す流れ図である。
符号の説明
1 携帯電話機
2 符号化装置
10 画像処理部
20 無線部
21 アンテナ
30 ベースバンド信号処理部
40 スピーカー
50 マイク
60 入力部
70 表示部
80 制御部
100 復号部
101 可変長復号部
102 逆量子化部
103 逆DCT部
104 補償復号部
105 パディング部
106 ベクトル変換部
200 入出力部
300 メモリ制御部
400 外部メモリ
401 メモリ部
402 フレームメモリ

Claims (14)

  1. 動画像の復号化装置であって、
    動画像を構成する1のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段と、
    前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号手段、
    前記ブロック画像を前記記憶手段の画像領域へ出力する出力手段とを備え、
    前記出力手段は、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行う
    ことを特徴とする復号化装置。
  2. 前記出力手段は、前記ブロック画像を出力するときに、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接するか否かの判断と、前記画素が前記フレームの内縁に隣接すると判断する場合に前記拡張領域内の相応する位置へ前記画素の出力とを行う
    ことを特徴とする請求項1に記載の復号化装置。
  3. 前記復号化装置は、さらに、
    前記フレーム画像及び前記拡張画像の生成が完了するまで、前記復号手段及び前記出力手段に対して、ブロック画像の生成、ブロック画像の出力、及び前記ブロック画像に含まれる画素が前記フレームの内縁に隣接する場合に前記拡張領域内の相応する位置へ前記画素の出力を繰り返すように制御する繰返手段を
    備えることを特徴とする請求項2に記載の復号化装置。
  4. 前記出力手段は、前記ブロック画像に含まれる画素が前記フレームの内縁に隣接すると判断する場合に、前記画素の出力先となる前記拡張領域内の水平方向アドレス、垂直方向アドレス又は、両方向のアドレスを算出し、算出したアドレスに基づいて、前記画素を前記拡張領域へ出力する
    ことを特徴とする請求項2に記載の復号化装置。
  5. 前記記憶手段は、さらに、前記フレーム画像とは異なるフレーム画像及び、前記拡張画像とは異なる拡張画像からなる参照フレーム画像を予め記憶しており、
    前記圧縮符号列は、前記参照フレーム画像の外又は内を示す動きベクトルと、符号化されたブロックと前記の参照フレーム画像内の参照ブロック画像との差分からなる差分ブロック画像とが符号化された情報を含み、
    前記復号手段は、
    前記圧縮符号列を受け付ける受付部と、
    前記圧縮符号列を復号して、前記動きベクトルと、前記差分ブロック画像とを取得する取得部と、
    前記動きベクトルが、前記参照フレーム画像の外を示しているか否かを判断する動きベクトル判断部と、
    前記参照フレーム画像の外を示すと判断される場合に、前記動きベクトルが示す位置から、前記参照フレーム画像内において最も近い位置を示すよう動きベクトルを変換し、前記参照フレーム画像より、変換後の動きベクトルにより示される参照データを取得する動きベクトル変換部と、
    前記参照データと、前記差分ブロック画像とを用いて、前記ブロック画像を生成するブロック画像生成部と
    を備えることを特徴とする請求項4に記載の復号化装置。
  6. 前記動きベクトル変換部は、前記動きベクトル判断部にて、前記動きベクトルが前記参照フレーム画像の内を参照していると判断される場合には、前記動きベクトルを用いて、前記参照フレーム画像より参照データを取得する
    ことを特徴とする請求項5に記載の復号化装置。
  7. 前記圧縮符号列は、符号化されたブロックからなる符号ブロック画像の情報を含み、
    前記復号手段は、
    前記圧縮符号列を受け付ける受付部と、
    前記圧縮符号列を復号して、前記符号ブロック画像を生成し、生成した符号ブロック画像をブロック画像とする生成部と
    を備えることを特徴とする請求項4に記載の復号化装置。
  8. 前記記憶手段は、外部メモリ及び内部メモリの何れかからなる
    ことを特徴とする請求項2に記載の復号化装置。
  9. 前記記憶手段及び出力手段は、外部メモリ及び内部メモリの何れかからなる
    ことを特徴とする請求項2に記載の復号化装置。
  10. 前記出力手段は、
    前記ブロック画像を前記記憶手段の画像領域へ出力する第1出力部と、
    前記ブロック画像を出力するときに、前記ブロック画像に含まれる画素が、前記フレームの内縁に隣接するか否かを判断する判断部と、
    前記判断部にて前記画素が隣接すると判断される場合に、前記画素を前記拡張領域内の相応する位置へ出力する第2出力部と
    を備えることを特徴とする請求項2に記載の復号化装置。
  11. 動画像を再生する携帯型端末装置であって、
    請求項1に記載の復号化装置を含む
    ことを特徴とする携帯型端末装置。
  12. 動画像の復号化装置に用いられる復号化方法であって、
    前記復号化装置は、
    動画像を構成する1のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段を備え、
    前記復号化方法は、
    前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号ステップと、
    前記ブロック画像を前記記憶手段の画像領域へ出力する出力ステップとを含み、
    前記出力ステップは、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行う
    ことを特徴とする復号化方法。
  13. 動画像の復号化装置に用いられる復号化プログラムであって、
    前記復号化装置は、
    動画像を構成する1のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段を備え、
    前記復号化プログラムは、
    前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号ステップと、
    前記ブロック画像を前記記憶手段の画像領域へ出力する出力ステップとを含み、
    前記出力ステップは、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行う
    ことを特徴とする復号化プログラム。
  14. 動画像の復号化装置に用いられる復号化プログラムを記録しているコンピュータ読み取り可能な記録媒体であって、
    前記復号化装置は、
    動画像を構成する1のフレーム画像を格納するための画像領域と、前記フレーム画像を囲む拡張画像を格納するための拡張領域とを備える記憶手段を備え、
    前記復号化プログラムは、
    前記フレーム画像が所定の画素数からなるブロック単位に符号化された圧縮符号列を受け付け、受け付けた圧縮符号列を復号化して、所定数の画素からなるブロック画像を生成する復号ステップと、
    前記ブロック画像を前記記憶手段の画像領域へ出力する出力ステップとを含み、
    前記出力ステップは、前記ブロック画像を出力するときに、前記拡張領域内の相応する位置へ、前記ブロック画像に含まれ、且つ前記フレームの内縁に隣接する画素の出力を行う
    ことを特徴とする記録媒体。
JP2004206336A 2003-07-28 2004-07-13 動画像の復号化装置 Pending JP2005065239A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004206336A JP2005065239A (ja) 2003-07-28 2004-07-13 動画像の復号化装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003281097 2003-07-28
JP2004206336A JP2005065239A (ja) 2003-07-28 2004-07-13 動画像の復号化装置

Publications (1)

Publication Number Publication Date
JP2005065239A true JP2005065239A (ja) 2005-03-10

Family

ID=34380137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004206336A Pending JP2005065239A (ja) 2003-07-28 2004-07-13 動画像の復号化装置

Country Status (1)

Country Link
JP (1) JP2005065239A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008078871A (ja) * 2006-09-20 2008-04-03 Toshiba Corp 画像復号装置及び画像復号方法
US8189675B2 (en) 2006-05-10 2012-05-29 Samsung Electonics Co., Ltd. Method, medium and system storing image data for fast memory access
JP2014511641A (ja) * 2011-03-09 2014-05-15 シーメンス アクチエンゲゼルシヤフト デジタル画像のシーケンスを符号化する方法
JP2014531873A (ja) * 2011-10-04 2014-11-27 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオコーディングのための動きベクトル予測子候補クリッピング削除
JPWO2015011752A1 (ja) * 2013-07-22 2017-03-02 ルネサスエレクトロニクス株式会社 動画像符号化装置およびその動作方法
WO2017095195A1 (ko) * 2015-12-02 2017-06-08 삼성전자주식회사 시스템 리소스 관리를 위한 방법 및 장치

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8189675B2 (en) 2006-05-10 2012-05-29 Samsung Electonics Co., Ltd. Method, medium and system storing image data for fast memory access
JP2008078871A (ja) * 2006-09-20 2008-04-03 Toshiba Corp 画像復号装置及び画像復号方法
US8155204B2 (en) 2006-09-20 2012-04-10 Kabushiki Kaisha Toshiba Image decoding apparatus and image decoding method
JP2014511641A (ja) * 2011-03-09 2014-05-15 シーメンス アクチエンゲゼルシヤフト デジタル画像のシーケンスを符号化する方法
US9872017B2 (en) 2011-03-09 2018-01-16 Siemens Aktiengesellschaft Method for coding a sequence of digitized images
JP2014531873A (ja) * 2011-10-04 2014-11-27 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオコーディングのための動きベクトル予測子候補クリッピング削除
US9083983B2 (en) 2011-10-04 2015-07-14 Qualcomm Incorporated Motion vector predictor candidate clipping removal for video coding
JPWO2015011752A1 (ja) * 2013-07-22 2017-03-02 ルネサスエレクトロニクス株式会社 動画像符号化装置およびその動作方法
WO2017095195A1 (ko) * 2015-12-02 2017-06-08 삼성전자주식회사 시스템 리소스 관리를 위한 방법 및 장치
US10474574B2 (en) 2015-12-02 2019-11-12 Samsung Electronics Co., Ltd. Method and apparatus for system resource management

Similar Documents

Publication Publication Date Title
EP1503597A2 (en) Video decoding apparatus
US8982964B2 (en) Image decoding device, image coding device, methods thereof, programs thereof, integrated circuits thereof, and transcoding device
US8208549B2 (en) Decoder, encoder, decoding method and encoding method
TWI723849B (zh) 圖像解碼裝置、方法及電腦可讀取記錄媒體
US8953692B2 (en) Image coding method and image decoding method
JP4682410B2 (ja) 画像処理装置及び画像処理方法
US10033997B2 (en) Image decoding apparatus, image decoding method, integrated circuit, and program
EP0831658A2 (en) Encoder/decoder for coding/decoding gray scale shape data and method thereof
US8223842B2 (en) Dynamic image decoding device
JPWO2005107267A1 (ja) 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
JPWO2007148619A1 (ja) 動画像復号装置、復号画像記録装置、それらの方法及びプログラム
US8155186B2 (en) Bit stream recording medium, video encoder, and video decoder
JP2005065239A (ja) 動画像の復号化装置
JP2007019995A (ja) 画像処理装置、画像処理方法およびそのプログラム
US20140064370A1 (en) Image processing apparatus and image processing method
JP2005223631A (ja) データ処理装置およびその方法と符号化装置および復号装置
JP4165752B2 (ja) 画像データへの秘匿データ挿入方式および秘匿データ検出方式
JP2010010917A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法、及び動画像復号方法
JP2000175199A (ja) 画像処理装置及び方法、並びに提供媒体
JP4320509B2 (ja) 映像再符号化装置および方法
JP4655791B2 (ja) 符号化装置、符号化方法およびそのプログラム
JP4909592B2 (ja) 動画像再生方法及び装置並びにプログラム
JP5038400B2 (ja) 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体
JP2883592B2 (ja) 動画像復号化装置及び動画像復号化方法
JP4529295B2 (ja) 動きベクトル変換方法及び変換装置