画像符号化装置
【課題】イントラマクロブロックが出現する時間および空間を分散させつつ、画質の劣化の少ない画像符号化技術を提供することを課題とする。
【解決手段】ブロック数決定部12は、各フレームに割り当てるイントラマクロブロックの数を決定する。位置決定部13は、各フレームにおいてイントラマクロブロックをランダムな位置に配置する。符号化部11は、ブロック数決定部12において決定されたイントラマクロブロックの時間方向の割り当て数と、位置決定部13において決定されたイントラマクロブロックの空間方向の配置に基づいて、符号化処理を実行し、圧縮画像データ22を出力する。
【解決手段】ブロック数決定部12は、各フレームに割り当てるイントラマクロブロックの数を決定する。位置決定部13は、各フレームにおいてイントラマクロブロックをランダムな位置に配置する。符号化部11は、ブロック数決定部12において決定されたイントラマクロブロックの時間方向の割り当て数と、位置決定部13において決定されたイントラマクロブロックの空間方向の配置に基づいて、符号化処理を実行し、圧縮画像データ22を出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像を符号化し、圧縮画像を生成する装置に関する。詳しくは、イントラ符号化処理とインター符号化処理とを用いて画像を符号化する装置に関する。
【背景技術】
【0002】
MPEG2やH.264などの画像符号化技術においては、イントラ符号化処理とインター符号化処理とが用いられる。イントラ符号化処理は、参照フレームを利用せずに、符号化対象のフレーム内で符号化処理が完結する。インター符号化処理は、参照フレームを利用することで符号化対象のフレームに対する符号化が行われる。
【0003】
Iピクチャに含まれる全てのマクロブロックは、イントラ符号化処理により符号化される。PピクチャおよびBピクチャに含まれるマクロブロックは、インター符号化処理により符号化される。Iピクチャの発生符号量は、全てのマクロブロックがイントラ符号化されるため、PピクチャあるいはBピクチャの発生符号量よりも大きい。H.264においては、イントラ予測技術が利用されるが、やはり、PピクチャあるいはBピクチャと比較すると発生符号量が大きい。
【0004】
低遅延の再生あるいは伝送が求められるシステムにおいては、Iピクチャにおける発生符号量の上昇が問題となる。また、Iピクチャの出現周期で発生符号量が振動するという問題がある。発生符号量が振動すると、一時的にバッファのサイズが多く必要となり、非効率である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−215252号公報
【非特許文献1】パイオニア株式会社、技術解説(MPEG技術解説)、平成21年12月10日検索、インターネット<URL:http://pioneer.jp/crdl/tech/mpeg/3-2.html>
【非特許文献2】特許庁、資料室、平成21年12月10日検索、インターネット<URL:http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/nle/nle-7-1.html>
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述したように、フレーム内の全てのマクロブロックがイントラ符号化処理されるIピクチャが存在する場合、Iピクチャの処理で遅延が発生する可能性があり、低遅延なシステムには向かない。そこで、非特許文献1に示すような、符号化方法が提案されている。
【0007】
非特許文献1において、フレーム内の全てのマクロブロックがイントラ符号化されるIピクチャは利用されない。非特許文献1では、イントラマクロブロックがスライス単位で配置される。フレーム内のあるスライス内の全てのマクロブロックを、予測を用いずに直接DCTを行うイントラマクロブロックとして符号化する。このようなスライスをイントラスライスと呼ぶ。イントラスライスを適用する場所をフレームごとにずらしていくと、一定周期で画面全体をイントラスライスが巡回していき、画面がリフレッシュされることになる。Iピクチャに比べ、イントラスライスに要する発生符号量は少ないため、バッファサイズを減少させ、遅延を減らすことができる。
【0008】
非特許文献2においても、同様に、イントラスライスを利用する技術が開示されている。
【0009】
非特許文献1および非特許文献2で示すように、イントラスライスを用いることで、イントラブロックをGOP内に分散させることができる。
【0010】
しかし、スライス内の全てのマクロブロックをイントラ符号化処理し、かつ、フレームごとにイントラスライスの位置を1列ずつずらしていく方法であるので、画質劣化の原因となっていた。具体的には、画像を連続再生したときイントラスライスが走査線のように見えてしまうという問題があった。
【0011】
上記特許文献1では、イントラマクロブロックをマクロブロック単位で分散させるようにしている。しかし、特許文献1の技術を利用した場合であっても、イントラマクロブロックが、一定の間隔で移動するため、イントラマクロブロックの位置が目立つという問題がある。
【0012】
本発明の目的は、イントラマクロブロックが出現する時間および空間を分散させつつ、画質の劣化の少ない画像符号化技術を提供することである。
【課題を解決するための手段】
【0013】
上記の課題を解決するため、本発明の画像符号化装置は、各フレームに含めるイントラマクロブロックの数を決定するブロック数決定部と、各フレームに含めるイントラマクロブロックのフレーム内の空間位置を決定する位置決定部と、前記ブロック数決定部で決定された数のイントラマクロブロックを前記位置決定部で決定された位置に基づいて各フレーム内に配置し、符号化を行う符号化部と、を備え、前記位置決定部は、各フレームに含めるイントラマクロブロックを、フレーム内のランダムな位置に配置する。
【0014】
1フレームは、M個のマクロブロックで構成されており、Nフレームに1回の割合で各マクロブロックがイントラ符号化され、前記ブロック数決定部は、M個のイントラマクロブロックがNフレームの間に均等に出現するように各フレームにイントラマクロブロックの数を割り当てる。
【0015】
前記ブロック数決定部は、各フレームに出現するイントラマクロブロックの数の差が高々1個となるように各フレームにイントラマクロブロックの数を割り当てる。
【0016】
前記ブロック数決定部は、MがNの整数倍であるとき、MをNで除算した値をSとすれば、各フレームにS個ずつイントラマクロブロックを割り当て、MがNの整数倍でないとき、MをNで除算した値をS、余りをR、とすれば、(N−R)枚のフレームにS個ずつイントラマクロブロックを割り当てるとともに、R枚のフレームに(S+1)個ずつイントラマクロブロックを割り当てる。
【0017】
前記ブロック数決定部は、NがRの整数倍であるとき、NをRで除算した値をDとすれば、Dフレームに1枚の割合で(S+1)個のイントラマクロブロックを含むフレームを配置し、NがRの整数倍でないとき、NをRで除算した値をD、余りをQとすれば、(R−Q)枚のフレームについては、Dフレーム間隔で(S+1)個のイントラマクロブロックを含むフレームを割り当て、Q枚のフレームについては、(D+1)フレーム間隔で(S+1)個のイントラマクロブロックを含むフレームを割り当てる。
【0018】
前記ブロック数決定部は、(S+1)個のイントラマクロブロックを含むR枚のフレームのうち、(D+1)フレーム間隔で割り当てられるフレームをAフレームとし、Dフレーム間隔で割り当てられるフレームをBフレームとすると、Aフレームのフレーム間隔の分散が小さくなるようにAフレームとBフレームとを混在させて配置する。
【0019】
前記ブロック数決定部は、イントラマクロブロックの比率がGOP内の前半で高くなるように配置する。
【0020】
本発明の別の画像符号化装置は、各フレームに含めるイントラマクロブロックのフレーム内の空間位置を決定する位置決定部と、前記位置決定部で決定された位置に基づいてイントラマクロブロックを各フレーム内に配置し、符号化を行う符号化部と、を備え、前記位置決定部は、偶数フレームと奇数フレームとで、イントラマクロブロックの時間方向の動きが異なるように配置する。
【発明の効果】
【0021】
本発明の画像符号化装置を用いることにより、イントラマクロブロックが時間方向に分散される。低遅延のシステムに対応することができる。また、バッファサイズを小さくすることができる。
【0022】
本発明の画像符号化装置を用いることにより、イントラマクロブロックを空間方向にランダムに配置することができる。イントラマクロブロックの境界が目立たなくなり、画質の向上を図ることができる。
【図面の簡単な説明】
【0023】
【図1】画像符号化装置のブロック図である。
【図2】M0〜M23のマクロブロックで構成されたフレーム画像を示す図である。
【図3】マクロブロックの時間方向の割り当て数のパターンを示す図である。
【図4】マクロブロックの番号列L1とシャッフル後のマクロブロックの番号列L2とを示す図である。
【図5】各フレームにおいてイントラ符号化されるマクロブロックのブロック番号を示す図である。
【図6】各フレームにおけるイントラマクロブロックの空間配置を示す図である。
【図7】各マクロブロックがイントラ符号化されるフレームのフレーム番号を示す図である。
【図8】各フレームにおいてイントラ符号化されるマクロブロックの割り当て数を示す図である。
【図9A】関数を用いてイントラマクロブロックを配置した例を示す図である。
【図9B】関数を用いてイントラマクロブロックを配置した例を示す図である。
【図9C】関数を用いてイントラマクロブロックを配置した例を示す図である。
【図9D】関数を用いてイントラマクロブロックを配置した例を示す図である。
【図9E】関数を用いてイントラマクロブロックを配置した例を示す図である。
【発明を実施するための形態】
【0024】
以下、添付の図面を参照しつつ、本実施の形態の画像符号化装置について説明する。
【0025】
{第1の実施の形態}
<画像符号化装置の構成>
図1は、第1の実施の形態に係る画像符号化装置1のブロック図である。画像符号化装置1は、符号化部11、ブロック数決定部12および位置決定部13を備えている。
【0026】
符号化部11は、非圧縮画像データ21を入力する。符号化部11は、入力した非圧縮画像データ21に画像符号化処理を行い、圧縮画像データ22を出力する。符号化部11は、たとえば、MPEG2やH.264などの符号化方式で画像符号化処理を実行する。
【0027】
ブロック数決定部12は、各フレームに割り当てるイントラマクロブロックの数を決定する。本実施の形態の画像符号化装置1は、全てのマクロブロックがイントラ符号化されるIピクチャを用いない。本実施の形態の画像符号化装置1は、イントラマクロブロックを時間方向に分散して配置する。ブロック数決定部12は、イントラマクロブロックの時間方向の割り当てを決定する。ブロック数決定部12は、リフレッシュ周期内において、フレーム内の全てのマクロブロックが1回イントラ符号化されるように、イントラマクロブロックを配置する。1リフレッシュ周期内の画像の集合が1GOP(Group Of Pictures)に対応する。
【0028】
位置決定部13は、各フレームにおいて、イントラマクロブロックの空間方向の位置を決定する。位置決定部13は、リフレッシュ周期内に、1フレーム内の全てのマクロブロックが1回イントラ符号化されるようにイントラマクロブロックを各フレーム内に配置する。
【0029】
<ブロック数決定部の処理内容>
ブロック数決定部12の処理内容について詳しく説明する。上述したように、ブロック数決定部12は、各フレームに割り当てるイントラマクロブロックの数を決定する。ここでは、図2に示すように、1フレームが、24個のマクロブロックM0〜M23で構成されている場合を例に説明する。1フレームは、横6個×縦4個のマクロブロックで構成されている。また、リフレッシュ周期が10フレームである場合を例に説明する。つまり、10フレームが経過する間に、全てのマクロブロックM0〜M23が1回、イントラ符号化される必要がある。
【0030】
ブロック数決定部12は、24個のマクロブロックがイントラ符号化されるタイミングをできるだけ10フレームに均等に分散するように割り当てる。まず、ブロック数決定部12は、数1式に示すように、1フレーム内のマクロブロック数Mを、リフレッシュ周期のフレーム数Nで除算する。
【0031】
M÷N=S・・・R (数1)
【0032】
数1式において、Sは、MをNで除算したときの商、Rは、その余りである。なお、M、N、SおよびRは、全て正の整数である。Rは、Nより小さい整数である。ここで説明している例では、数1式は、数2式で表わされる。
【0033】
24÷10=2・・・4 (数2)
【0034】
数2式の演算を行うことにより、ブロック数決定部12は、まず、全てのフレームに2個ずつイントラマクロブロックを割り当てることを決定する。ブロック数決定部12は、さらに、残りの4個のイントラマクロブロックをリフレッシュ周期内に均等に割り当てる。
【0035】
一般的には、数1式の演算を行うことにより、ブロック数決定部12は、まず、全てのフレームにS個ずつイントラマクロブロックを割り当てることを決定する。ブロック数決定部12は、さらに、残りのR個のイントラマクロブロックをリフレッシュ周期内に均等に割り当てる。余りR=0のときには、全てのフレームにS個ずつイントラマクロブロックを割り当てることで完了する。
【0036】
次に、ブロック数決定部12は、数2式に示すように、リフレッシュ周期のフレーム数Nを、余りRで除算する。
【0037】
N÷R=D・・・Q (数3)
【0038】
数3式において、Dは、NをRで除算したときの商、Qは、その余りである。なお、Dは正の整数であり、Qは、Rより小さい正の整数である。ここで説明している例では、数3式は、数4式で表わされる。
【0039】
10÷4=2・・・2 (数4)
【0040】
数4式の演算を行うことにより、ブロック数決定部12は、4個の余っているイントラマクロブロックを、2フレーム間隔で2回、および、3フレーム間隔で2回、分散して配置することを決定する。
【0041】
一般的には、数3式の演算を行うことにより、ブロック数決定部12は、R個の余っているイントラマクロブロックを、Dフレーム間隔で(R−Q)回、および、(D+1)フレーム間隔でQ回、分散して配置する。余りQ=0のときには、R個のイントラマクロブロックをDフレーム間隔で配置することで完了する。
【0042】
以上の演算を行うことにより、ブロック数決定部12は、以下のような基準に基づいて決定を行う。
(基準1)R=0のとき、全フレームにS個ずつイントラマクロブロックを割り当てる。
(基準2)R≠0かつQ=0のとき、全フレームにS個ずつイントラマクロブロックを割り当てた上で、さらに、余りのR個のイントラマクロブロックをDフレーム間隔で1個ずつ分散して配置する。つまり、(N−R)枚のフレームには、S個ずつイントラマクロブロックが配置され、分散されたR枚のフレームには、(S+1)個ずつイントラマクロブロックが配置される。
(基準3)R≠0かつQ≠0のとき、まず、全フレームにS個ずつイントラマクロブロックを割り当てられる。さらに、余りのR個のイントラマクロブロックのうち(R−Q)個のイントラマクロブロックをDフレーム間隔で分散して配置し、余りのR個のイントラマクロブロックのうちQ個のイントラマクロブロックを(D+1)フレーム間隔で分散して配置する。言い換えると、ブロック数決定部12は、R≠0かつQ≠0のとき、Dフレーム間隔で配置される(R−Q)枚のフレームと、(D+1)フレーム間隔で配置されるQ枚のフレームには、(S+1)個ずつイントラマクロブロックが配置され、残りの(N−R)枚のフレームにS個ずつイントラマクロブロックが割り当てられる。
【0043】
このように、本実施の形態において、ブロック数決定部12は、時間方向に分散してマクロブロックを配置するが、各フレームに配置されるイントラマクロブロックの数は、S個あるいは(S+1)個であり、高々1個の違いである。また、(S+1)個のイントラマクロブロックが含まれるフレームのフレーム間隔は、Dフレーム間隔あるいは(D+1)フレーム間隔であり、高々1フレーム間隔の違いである。
【0044】
図3は、イントラマクロブロックの配置パターンを示す。図3は、フレームF0〜F9の10枚のフレームにそれぞれ配置されるイントラマクロブロックの数を示している。図3において、ケース1、ケース2およびケース4は、上記の(基準3)に反している。上述したように、(S+1)個のイントラマクロブロックが含まれるフレームのフレーム間隔は、Dフレーム間隔あるいは(D+1)フレーム間隔であり、高々1フレーム間隔の違いである。ケース1およびケース2では、この条件から大きくずれている。ケース4は、図を見る限りは3個のイントラマクロブロックを含むフレームが均等に配置されているように見える。しかし、フレームF9の後、フレームF0が続くため、連続して3個のイントラマクロブロックを含むフレームが出現し、ケース1とケース2と同様の理由で条件に合致しない。
【0045】
ケース3、ケース5およびケース6は、上記の(基準3)を満たしている。しかし、ケース3は、3個のイントラマクロブロックを含むフレームがフレームF0〜フレームF4に集中している。ブロック数決定部12は、次に示すアルゴリズムにより、ケース5あるいはケース6をイントラマクロブロックの割り当てパターンとして決定する。
【0046】
上述したように、(S+1)個のイントラマクロブロックを含むフレームは、Dフレーム間隔で配置される場合と、(D+1)フレーム間隔で配置される場合とがある。ブロック数決定部12は、(D+1)フレーム間隔が、時間方向でなるべく均等となるように分散して配置する。(S+1)個のイントラマクロブロックを含むフレームのうち、(D+1)フレーム間隔をおいて配置されるフレームをAフレームとする。(S+1)個のイントラマクロブロックを含むフレームのうち、Dフレーム間隔をおいて配置されるフレームをBフレームとする。図3において、ケース3、ケース5およびケース6には、フレームAあるいはフレームBの区別を表示している。ブロック数決定部12は、AフレームとAフレームとの間の距離の分散がなるべく小さくなるようにAフレームを配置する。ケース3においては、Aフレームの間隔のばらつきが大きく、このアルゴリズムによって排除される。ケース5あるいはケース6は、いずれが選択されてもよい。たとえば、ブロック数決定部12は、Dフレーム間隔を先に配置するルールとすればよい。この場合であれば、ケース6が選択される。
【0047】
<位置決定部の処理内容>
次に、位置決定部13の処理内容について説明する。上述したように、位置決定部13は、フレーム内における空間方向のイントラマクロブロックの位置を決定する。位置決定部13は、まず、マクロブロックの番号列を乱数を用いてシャッフルし、新たなマクロブロックの番号列を生成する。マクロブロックは、図2に示したように、フレームの左上から右下に向かって、M0〜M23の番号が付与されている。位置決定部13は、M0〜M23の順に整列されたマクロブロックの番号列L1を乱数を用いて入れ替え、図4に示すように、新しいマクロブロックの番号列L2を生成する。
【0048】
次に、位置決定部13は、ブロック数決定部12で決定された各フレームのイントラマクロブロック数に従い、図5に示すように、各フレームにおいてイントラ符号化するマクロブロックを決定する。
【0049】
上述した例では、図3においてブロック数決定部12は、ケース6を選択した。つまり、フレーム番号F0、F1、F2・・・の順に、イントラマクロブロックの数は、3、2、3、2、2、3、2、3、2、2と決定された。位置決定部13は、番号列L2の先頭から3つのマクロブロックを、フレームF0においてイントラ符号化するマクロブロックとして決定する。続いて、位置決定部13は、番号列L2の4番目と5番目のマクロブロックを、フレームF1においてイントラ符号化されるマクロブロックとして決定する。続いて、位置決定部13は、番号列L2の6番目と7番目のマクロブロックを、フレームF2に含めるイントラ符号化されるマクロブロックとして決定する。このようにして、全てのフレームにおいて、イントラ符号化されるマクロブロックの位置が決定される。
【0050】
図6は、各フレームにおいて、イントラ符号化されるマクロブロックの位置を示している。図において、ハッチングが掛けられているマクロブロックがイントラ符号化されるマクロブロックである。各フレームにおいて、イントラマクロブロックが不規則に配列されていることが分かる。また、時間方向に関しては、イントラマクロブロックの数がバランスよく配置されていることが分かる。
【0051】
図7は、1フレーム内の各マクロブロックが、いずれのフレームにおいてイントラ符号化されるかを示す図である。図7のマトリクスは、図2のマトリクスに対応している。つまり、図2で示すマクロブロックM0は、図7で示すように、第F2フレームでイントラ符号化されることを示している。図2で示すマクロブロックM8は、図7で示すように、第F7フレームでイントラ符号化されることを示している。
【0052】
<符号化処理>
再び図1を参照する。符号化部11は、ブロック数決定部12において決定されたマクロブロックの時間方向の割り当て、位置決定部13において決定されたマクロブロックの空間方向の配置に基づいて、非圧縮画像データ21を符号化する。符号化部11は、符号化後の圧縮画像データ22を出力する。
【0053】
本実施の形態の画像符号化装置1により生成された圧縮画像データ22は、上記のように、イントラマクロブロックが各フレーム内においてランダムに配置されている。イントラマクロブロックの空間方向の配置に規則性がないため、イントラマクロブロックとインターマクロブロックとの境界が目立つことがない。イントラスライスを用いたときのように、画質の違いが明確となり、画質劣化を招くことがない。また、イントラマクロブロックの空間位置が規則的に移動して、目立つという問題も解消される。
【0054】
また、本実施の形態の画像符号化装置1により生成された圧縮画像データ22は、リフレッシュ周期の中で、マクロブロックの数が均等に割り当てられている。したがって、符号量が均等に分散される。Iピクチャを用いる場合のように、符号量が振動することがない。これにより、バッファサイズを小さくできるとともに、低遅延のシステムにおいても利用可能となる。
【0055】
上記の例では、リフレッシュ周期が10フレームである場合を例に説明した。図8は、リフレッシュ周期が15フレームの場合、つまり、N=15の例を示す。図8において、空白のフレームは、S個のイントラマクロブロックが含まれるフレームである。ハッチングが掛けられているフレームは、(S+1)個のイントラマクロブロックが含まれるフレームである。Rが1から14までの値をとった場合、(S+1)個のイントラマクロブロックを含むフレームがどのように配置されるかを示す図である。
【0056】
図8に示すように、(S+1)個のイントラマクロブロックを含むフレームが均等に配置されていることが分かる。ハッチングが掛けられているフレームの中でAと記されているフレームは、上述したフレームAである。ハッチングが掛けられているフレームの中でBと記されているフレームは、上述したフレームBである。ハッチングが掛けられているフレームが均等に配置されるとともに、フレームAも均等に配置されていることが分かる。
【0057】
{変形例}
第1の実施の形態において、図3に示すケース1〜6の中からケース5あるいはケース6が選択された。これは、Iマクロブロックをできるだけ空間方向に均等に配置し、発生符号量を均一化するという目的に沿った選択である。
【0058】
この変形例では、画質上重要なIマクロブロックをなるべくリフレッシュ周期の前半部に配置するという方法を用いる。これは、GOP単位で符号量制御を行っている場合に有効な選択方法である。GOP単位で符号量制御を行っている場合、画質上重要なIマクロブロックをなるべくリフレッシュ周期の前半部に配置することで、リフレッシュ周期の後半でIマクロブロックに割り当てるビット量が不足するという問題を解消する。Iマクロブロックに割り当てるビット量の不足は画質の劣化を招くからである。
【0059】
この変形例の方法を採用した場合、ブロック数決定部12は、ケース2を選択する。あるいは、上記の(基準3)と、Iマクロブロックをなるべく前半に配置するという考え方を総合判断して、ケース3を選択してもよい。
【0060】
また、第1の実施の形態において、ケース5およびケース6が選択された後、最終的にケース6を選択した。この選択は、Iマクロブロックをなるべく前半に配置するというこの変形例の考え方と合致している。
【0061】
{第2の実施の形態}
第2の実施の形態は、関数を用いてイントラマクロブロックの配置を決定する。現在のフレーム番号をY1、ライン方向のマクロブロック数をY2とする。数5式に示すように、Y1をY2で除算したときの商をY3、その余りをY4とする。
【0062】
Y1÷Y2=Y3・・・Y4 (数5)
【0063】
Y4が偶数の場合には、数6式に示すように、Y4の半分をY5として決定する。
【0064】
Y5=Y4/2 (数6)
【0065】
Y4が奇数の場合には、数7式に示すようにしてY5を決定する。ただし、Y4/2の少数部分は切り捨てる。
【0066】
Y5=(Y2−1)−Y4/2 (数7)
【0067】
次に、数8式に示すように、Y5に処理対象のマクロブロックのy座標mb_y(=0、1、2・・・)の定数n倍を加えた値を、Y2で割った商をY6、余りをY7とする。ただし、nは正の整数である。
【0068】
(Y5+n×mb_y)/Y2=Y6・・・Y7 (数8)
【0069】
以上の演算をした上で、処理対象のマクロブロックのx座標mb_x(=0、1、2・・・)とY7が一致すれば、処理対処のマクロブロックをイントラマクロブロックとして決定する。
【0070】
この実施の形態においては、関数を利用することで、各マクロブロックをイントラ符号化するか否かを判定することができる。フレーム内でイントラマクロブロックが分散して配置されるので、画質の劣化を招くことがない。
【0071】
第2の実施の形態の画像符号化装置1は、図1で示したブロック数決定部12を備えていない。位置決定部13は、イントラマクロブロックを配置するフレームとフレーム内の位置とを合わせて決定する。
【0072】
図9A〜図9Eは、第2の実施の形態によって配置されたイントラマクロブロックを示す図である。図9A〜図9Eは、0番〜4番のフレームである。図中、ハッチングのかけられているマクロブロックがイントラマクロブロックである。第2の実施の形態においては、イントラマクロブロックの位置がランダムではなく、上述した関数により決定される。
【0073】
第2の実施の形態によれば、偶数番号のフレームと奇数番号のフレームとでは、イントラマクロブロックの移動方向を異ならせることができる。時間方向に全てのフレームでイントラマクロブロックが同じ動きをした場合、イントラマクロブロックが目立ち、画質が劣化する。第2の実施の形態によれば、イントラマクロブロックの動きに不規則性を加えることができ、画質が向上する。
【符号の説明】
【0074】
1 画像符号化装置
11 符号化部
12 ブロック決定部
13 位置決定部
【技術分野】
【0001】
本発明は、画像を符号化し、圧縮画像を生成する装置に関する。詳しくは、イントラ符号化処理とインター符号化処理とを用いて画像を符号化する装置に関する。
【背景技術】
【0002】
MPEG2やH.264などの画像符号化技術においては、イントラ符号化処理とインター符号化処理とが用いられる。イントラ符号化処理は、参照フレームを利用せずに、符号化対象のフレーム内で符号化処理が完結する。インター符号化処理は、参照フレームを利用することで符号化対象のフレームに対する符号化が行われる。
【0003】
Iピクチャに含まれる全てのマクロブロックは、イントラ符号化処理により符号化される。PピクチャおよびBピクチャに含まれるマクロブロックは、インター符号化処理により符号化される。Iピクチャの発生符号量は、全てのマクロブロックがイントラ符号化されるため、PピクチャあるいはBピクチャの発生符号量よりも大きい。H.264においては、イントラ予測技術が利用されるが、やはり、PピクチャあるいはBピクチャと比較すると発生符号量が大きい。
【0004】
低遅延の再生あるいは伝送が求められるシステムにおいては、Iピクチャにおける発生符号量の上昇が問題となる。また、Iピクチャの出現周期で発生符号量が振動するという問題がある。発生符号量が振動すると、一時的にバッファのサイズが多く必要となり、非効率である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−215252号公報
【非特許文献1】パイオニア株式会社、技術解説(MPEG技術解説)、平成21年12月10日検索、インターネット<URL:http://pioneer.jp/crdl/tech/mpeg/3-2.html>
【非特許文献2】特許庁、資料室、平成21年12月10日検索、インターネット<URL:http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/nle/nle-7-1.html>
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述したように、フレーム内の全てのマクロブロックがイントラ符号化処理されるIピクチャが存在する場合、Iピクチャの処理で遅延が発生する可能性があり、低遅延なシステムには向かない。そこで、非特許文献1に示すような、符号化方法が提案されている。
【0007】
非特許文献1において、フレーム内の全てのマクロブロックがイントラ符号化されるIピクチャは利用されない。非特許文献1では、イントラマクロブロックがスライス単位で配置される。フレーム内のあるスライス内の全てのマクロブロックを、予測を用いずに直接DCTを行うイントラマクロブロックとして符号化する。このようなスライスをイントラスライスと呼ぶ。イントラスライスを適用する場所をフレームごとにずらしていくと、一定周期で画面全体をイントラスライスが巡回していき、画面がリフレッシュされることになる。Iピクチャに比べ、イントラスライスに要する発生符号量は少ないため、バッファサイズを減少させ、遅延を減らすことができる。
【0008】
非特許文献2においても、同様に、イントラスライスを利用する技術が開示されている。
【0009】
非特許文献1および非特許文献2で示すように、イントラスライスを用いることで、イントラブロックをGOP内に分散させることができる。
【0010】
しかし、スライス内の全てのマクロブロックをイントラ符号化処理し、かつ、フレームごとにイントラスライスの位置を1列ずつずらしていく方法であるので、画質劣化の原因となっていた。具体的には、画像を連続再生したときイントラスライスが走査線のように見えてしまうという問題があった。
【0011】
上記特許文献1では、イントラマクロブロックをマクロブロック単位で分散させるようにしている。しかし、特許文献1の技術を利用した場合であっても、イントラマクロブロックが、一定の間隔で移動するため、イントラマクロブロックの位置が目立つという問題がある。
【0012】
本発明の目的は、イントラマクロブロックが出現する時間および空間を分散させつつ、画質の劣化の少ない画像符号化技術を提供することである。
【課題を解決するための手段】
【0013】
上記の課題を解決するため、本発明の画像符号化装置は、各フレームに含めるイントラマクロブロックの数を決定するブロック数決定部と、各フレームに含めるイントラマクロブロックのフレーム内の空間位置を決定する位置決定部と、前記ブロック数決定部で決定された数のイントラマクロブロックを前記位置決定部で決定された位置に基づいて各フレーム内に配置し、符号化を行う符号化部と、を備え、前記位置決定部は、各フレームに含めるイントラマクロブロックを、フレーム内のランダムな位置に配置する。
【0014】
1フレームは、M個のマクロブロックで構成されており、Nフレームに1回の割合で各マクロブロックがイントラ符号化され、前記ブロック数決定部は、M個のイントラマクロブロックがNフレームの間に均等に出現するように各フレームにイントラマクロブロックの数を割り当てる。
【0015】
前記ブロック数決定部は、各フレームに出現するイントラマクロブロックの数の差が高々1個となるように各フレームにイントラマクロブロックの数を割り当てる。
【0016】
前記ブロック数決定部は、MがNの整数倍であるとき、MをNで除算した値をSとすれば、各フレームにS個ずつイントラマクロブロックを割り当て、MがNの整数倍でないとき、MをNで除算した値をS、余りをR、とすれば、(N−R)枚のフレームにS個ずつイントラマクロブロックを割り当てるとともに、R枚のフレームに(S+1)個ずつイントラマクロブロックを割り当てる。
【0017】
前記ブロック数決定部は、NがRの整数倍であるとき、NをRで除算した値をDとすれば、Dフレームに1枚の割合で(S+1)個のイントラマクロブロックを含むフレームを配置し、NがRの整数倍でないとき、NをRで除算した値をD、余りをQとすれば、(R−Q)枚のフレームについては、Dフレーム間隔で(S+1)個のイントラマクロブロックを含むフレームを割り当て、Q枚のフレームについては、(D+1)フレーム間隔で(S+1)個のイントラマクロブロックを含むフレームを割り当てる。
【0018】
前記ブロック数決定部は、(S+1)個のイントラマクロブロックを含むR枚のフレームのうち、(D+1)フレーム間隔で割り当てられるフレームをAフレームとし、Dフレーム間隔で割り当てられるフレームをBフレームとすると、Aフレームのフレーム間隔の分散が小さくなるようにAフレームとBフレームとを混在させて配置する。
【0019】
前記ブロック数決定部は、イントラマクロブロックの比率がGOP内の前半で高くなるように配置する。
【0020】
本発明の別の画像符号化装置は、各フレームに含めるイントラマクロブロックのフレーム内の空間位置を決定する位置決定部と、前記位置決定部で決定された位置に基づいてイントラマクロブロックを各フレーム内に配置し、符号化を行う符号化部と、を備え、前記位置決定部は、偶数フレームと奇数フレームとで、イントラマクロブロックの時間方向の動きが異なるように配置する。
【発明の効果】
【0021】
本発明の画像符号化装置を用いることにより、イントラマクロブロックが時間方向に分散される。低遅延のシステムに対応することができる。また、バッファサイズを小さくすることができる。
【0022】
本発明の画像符号化装置を用いることにより、イントラマクロブロックを空間方向にランダムに配置することができる。イントラマクロブロックの境界が目立たなくなり、画質の向上を図ることができる。
【図面の簡単な説明】
【0023】
【図1】画像符号化装置のブロック図である。
【図2】M0〜M23のマクロブロックで構成されたフレーム画像を示す図である。
【図3】マクロブロックの時間方向の割り当て数のパターンを示す図である。
【図4】マクロブロックの番号列L1とシャッフル後のマクロブロックの番号列L2とを示す図である。
【図5】各フレームにおいてイントラ符号化されるマクロブロックのブロック番号を示す図である。
【図6】各フレームにおけるイントラマクロブロックの空間配置を示す図である。
【図7】各マクロブロックがイントラ符号化されるフレームのフレーム番号を示す図である。
【図8】各フレームにおいてイントラ符号化されるマクロブロックの割り当て数を示す図である。
【図9A】関数を用いてイントラマクロブロックを配置した例を示す図である。
【図9B】関数を用いてイントラマクロブロックを配置した例を示す図である。
【図9C】関数を用いてイントラマクロブロックを配置した例を示す図である。
【図9D】関数を用いてイントラマクロブロックを配置した例を示す図である。
【図9E】関数を用いてイントラマクロブロックを配置した例を示す図である。
【発明を実施するための形態】
【0024】
以下、添付の図面を参照しつつ、本実施の形態の画像符号化装置について説明する。
【0025】
{第1の実施の形態}
<画像符号化装置の構成>
図1は、第1の実施の形態に係る画像符号化装置1のブロック図である。画像符号化装置1は、符号化部11、ブロック数決定部12および位置決定部13を備えている。
【0026】
符号化部11は、非圧縮画像データ21を入力する。符号化部11は、入力した非圧縮画像データ21に画像符号化処理を行い、圧縮画像データ22を出力する。符号化部11は、たとえば、MPEG2やH.264などの符号化方式で画像符号化処理を実行する。
【0027】
ブロック数決定部12は、各フレームに割り当てるイントラマクロブロックの数を決定する。本実施の形態の画像符号化装置1は、全てのマクロブロックがイントラ符号化されるIピクチャを用いない。本実施の形態の画像符号化装置1は、イントラマクロブロックを時間方向に分散して配置する。ブロック数決定部12は、イントラマクロブロックの時間方向の割り当てを決定する。ブロック数決定部12は、リフレッシュ周期内において、フレーム内の全てのマクロブロックが1回イントラ符号化されるように、イントラマクロブロックを配置する。1リフレッシュ周期内の画像の集合が1GOP(Group Of Pictures)に対応する。
【0028】
位置決定部13は、各フレームにおいて、イントラマクロブロックの空間方向の位置を決定する。位置決定部13は、リフレッシュ周期内に、1フレーム内の全てのマクロブロックが1回イントラ符号化されるようにイントラマクロブロックを各フレーム内に配置する。
【0029】
<ブロック数決定部の処理内容>
ブロック数決定部12の処理内容について詳しく説明する。上述したように、ブロック数決定部12は、各フレームに割り当てるイントラマクロブロックの数を決定する。ここでは、図2に示すように、1フレームが、24個のマクロブロックM0〜M23で構成されている場合を例に説明する。1フレームは、横6個×縦4個のマクロブロックで構成されている。また、リフレッシュ周期が10フレームである場合を例に説明する。つまり、10フレームが経過する間に、全てのマクロブロックM0〜M23が1回、イントラ符号化される必要がある。
【0030】
ブロック数決定部12は、24個のマクロブロックがイントラ符号化されるタイミングをできるだけ10フレームに均等に分散するように割り当てる。まず、ブロック数決定部12は、数1式に示すように、1フレーム内のマクロブロック数Mを、リフレッシュ周期のフレーム数Nで除算する。
【0031】
M÷N=S・・・R (数1)
【0032】
数1式において、Sは、MをNで除算したときの商、Rは、その余りである。なお、M、N、SおよびRは、全て正の整数である。Rは、Nより小さい整数である。ここで説明している例では、数1式は、数2式で表わされる。
【0033】
24÷10=2・・・4 (数2)
【0034】
数2式の演算を行うことにより、ブロック数決定部12は、まず、全てのフレームに2個ずつイントラマクロブロックを割り当てることを決定する。ブロック数決定部12は、さらに、残りの4個のイントラマクロブロックをリフレッシュ周期内に均等に割り当てる。
【0035】
一般的には、数1式の演算を行うことにより、ブロック数決定部12は、まず、全てのフレームにS個ずつイントラマクロブロックを割り当てることを決定する。ブロック数決定部12は、さらに、残りのR個のイントラマクロブロックをリフレッシュ周期内に均等に割り当てる。余りR=0のときには、全てのフレームにS個ずつイントラマクロブロックを割り当てることで完了する。
【0036】
次に、ブロック数決定部12は、数2式に示すように、リフレッシュ周期のフレーム数Nを、余りRで除算する。
【0037】
N÷R=D・・・Q (数3)
【0038】
数3式において、Dは、NをRで除算したときの商、Qは、その余りである。なお、Dは正の整数であり、Qは、Rより小さい正の整数である。ここで説明している例では、数3式は、数4式で表わされる。
【0039】
10÷4=2・・・2 (数4)
【0040】
数4式の演算を行うことにより、ブロック数決定部12は、4個の余っているイントラマクロブロックを、2フレーム間隔で2回、および、3フレーム間隔で2回、分散して配置することを決定する。
【0041】
一般的には、数3式の演算を行うことにより、ブロック数決定部12は、R個の余っているイントラマクロブロックを、Dフレーム間隔で(R−Q)回、および、(D+1)フレーム間隔でQ回、分散して配置する。余りQ=0のときには、R個のイントラマクロブロックをDフレーム間隔で配置することで完了する。
【0042】
以上の演算を行うことにより、ブロック数決定部12は、以下のような基準に基づいて決定を行う。
(基準1)R=0のとき、全フレームにS個ずつイントラマクロブロックを割り当てる。
(基準2)R≠0かつQ=0のとき、全フレームにS個ずつイントラマクロブロックを割り当てた上で、さらに、余りのR個のイントラマクロブロックをDフレーム間隔で1個ずつ分散して配置する。つまり、(N−R)枚のフレームには、S個ずつイントラマクロブロックが配置され、分散されたR枚のフレームには、(S+1)個ずつイントラマクロブロックが配置される。
(基準3)R≠0かつQ≠0のとき、まず、全フレームにS個ずつイントラマクロブロックを割り当てられる。さらに、余りのR個のイントラマクロブロックのうち(R−Q)個のイントラマクロブロックをDフレーム間隔で分散して配置し、余りのR個のイントラマクロブロックのうちQ個のイントラマクロブロックを(D+1)フレーム間隔で分散して配置する。言い換えると、ブロック数決定部12は、R≠0かつQ≠0のとき、Dフレーム間隔で配置される(R−Q)枚のフレームと、(D+1)フレーム間隔で配置されるQ枚のフレームには、(S+1)個ずつイントラマクロブロックが配置され、残りの(N−R)枚のフレームにS個ずつイントラマクロブロックが割り当てられる。
【0043】
このように、本実施の形態において、ブロック数決定部12は、時間方向に分散してマクロブロックを配置するが、各フレームに配置されるイントラマクロブロックの数は、S個あるいは(S+1)個であり、高々1個の違いである。また、(S+1)個のイントラマクロブロックが含まれるフレームのフレーム間隔は、Dフレーム間隔あるいは(D+1)フレーム間隔であり、高々1フレーム間隔の違いである。
【0044】
図3は、イントラマクロブロックの配置パターンを示す。図3は、フレームF0〜F9の10枚のフレームにそれぞれ配置されるイントラマクロブロックの数を示している。図3において、ケース1、ケース2およびケース4は、上記の(基準3)に反している。上述したように、(S+1)個のイントラマクロブロックが含まれるフレームのフレーム間隔は、Dフレーム間隔あるいは(D+1)フレーム間隔であり、高々1フレーム間隔の違いである。ケース1およびケース2では、この条件から大きくずれている。ケース4は、図を見る限りは3個のイントラマクロブロックを含むフレームが均等に配置されているように見える。しかし、フレームF9の後、フレームF0が続くため、連続して3個のイントラマクロブロックを含むフレームが出現し、ケース1とケース2と同様の理由で条件に合致しない。
【0045】
ケース3、ケース5およびケース6は、上記の(基準3)を満たしている。しかし、ケース3は、3個のイントラマクロブロックを含むフレームがフレームF0〜フレームF4に集中している。ブロック数決定部12は、次に示すアルゴリズムにより、ケース5あるいはケース6をイントラマクロブロックの割り当てパターンとして決定する。
【0046】
上述したように、(S+1)個のイントラマクロブロックを含むフレームは、Dフレーム間隔で配置される場合と、(D+1)フレーム間隔で配置される場合とがある。ブロック数決定部12は、(D+1)フレーム間隔が、時間方向でなるべく均等となるように分散して配置する。(S+1)個のイントラマクロブロックを含むフレームのうち、(D+1)フレーム間隔をおいて配置されるフレームをAフレームとする。(S+1)個のイントラマクロブロックを含むフレームのうち、Dフレーム間隔をおいて配置されるフレームをBフレームとする。図3において、ケース3、ケース5およびケース6には、フレームAあるいはフレームBの区別を表示している。ブロック数決定部12は、AフレームとAフレームとの間の距離の分散がなるべく小さくなるようにAフレームを配置する。ケース3においては、Aフレームの間隔のばらつきが大きく、このアルゴリズムによって排除される。ケース5あるいはケース6は、いずれが選択されてもよい。たとえば、ブロック数決定部12は、Dフレーム間隔を先に配置するルールとすればよい。この場合であれば、ケース6が選択される。
【0047】
<位置決定部の処理内容>
次に、位置決定部13の処理内容について説明する。上述したように、位置決定部13は、フレーム内における空間方向のイントラマクロブロックの位置を決定する。位置決定部13は、まず、マクロブロックの番号列を乱数を用いてシャッフルし、新たなマクロブロックの番号列を生成する。マクロブロックは、図2に示したように、フレームの左上から右下に向かって、M0〜M23の番号が付与されている。位置決定部13は、M0〜M23の順に整列されたマクロブロックの番号列L1を乱数を用いて入れ替え、図4に示すように、新しいマクロブロックの番号列L2を生成する。
【0048】
次に、位置決定部13は、ブロック数決定部12で決定された各フレームのイントラマクロブロック数に従い、図5に示すように、各フレームにおいてイントラ符号化するマクロブロックを決定する。
【0049】
上述した例では、図3においてブロック数決定部12は、ケース6を選択した。つまり、フレーム番号F0、F1、F2・・・の順に、イントラマクロブロックの数は、3、2、3、2、2、3、2、3、2、2と決定された。位置決定部13は、番号列L2の先頭から3つのマクロブロックを、フレームF0においてイントラ符号化するマクロブロックとして決定する。続いて、位置決定部13は、番号列L2の4番目と5番目のマクロブロックを、フレームF1においてイントラ符号化されるマクロブロックとして決定する。続いて、位置決定部13は、番号列L2の6番目と7番目のマクロブロックを、フレームF2に含めるイントラ符号化されるマクロブロックとして決定する。このようにして、全てのフレームにおいて、イントラ符号化されるマクロブロックの位置が決定される。
【0050】
図6は、各フレームにおいて、イントラ符号化されるマクロブロックの位置を示している。図において、ハッチングが掛けられているマクロブロックがイントラ符号化されるマクロブロックである。各フレームにおいて、イントラマクロブロックが不規則に配列されていることが分かる。また、時間方向に関しては、イントラマクロブロックの数がバランスよく配置されていることが分かる。
【0051】
図7は、1フレーム内の各マクロブロックが、いずれのフレームにおいてイントラ符号化されるかを示す図である。図7のマトリクスは、図2のマトリクスに対応している。つまり、図2で示すマクロブロックM0は、図7で示すように、第F2フレームでイントラ符号化されることを示している。図2で示すマクロブロックM8は、図7で示すように、第F7フレームでイントラ符号化されることを示している。
【0052】
<符号化処理>
再び図1を参照する。符号化部11は、ブロック数決定部12において決定されたマクロブロックの時間方向の割り当て、位置決定部13において決定されたマクロブロックの空間方向の配置に基づいて、非圧縮画像データ21を符号化する。符号化部11は、符号化後の圧縮画像データ22を出力する。
【0053】
本実施の形態の画像符号化装置1により生成された圧縮画像データ22は、上記のように、イントラマクロブロックが各フレーム内においてランダムに配置されている。イントラマクロブロックの空間方向の配置に規則性がないため、イントラマクロブロックとインターマクロブロックとの境界が目立つことがない。イントラスライスを用いたときのように、画質の違いが明確となり、画質劣化を招くことがない。また、イントラマクロブロックの空間位置が規則的に移動して、目立つという問題も解消される。
【0054】
また、本実施の形態の画像符号化装置1により生成された圧縮画像データ22は、リフレッシュ周期の中で、マクロブロックの数が均等に割り当てられている。したがって、符号量が均等に分散される。Iピクチャを用いる場合のように、符号量が振動することがない。これにより、バッファサイズを小さくできるとともに、低遅延のシステムにおいても利用可能となる。
【0055】
上記の例では、リフレッシュ周期が10フレームである場合を例に説明した。図8は、リフレッシュ周期が15フレームの場合、つまり、N=15の例を示す。図8において、空白のフレームは、S個のイントラマクロブロックが含まれるフレームである。ハッチングが掛けられているフレームは、(S+1)個のイントラマクロブロックが含まれるフレームである。Rが1から14までの値をとった場合、(S+1)個のイントラマクロブロックを含むフレームがどのように配置されるかを示す図である。
【0056】
図8に示すように、(S+1)個のイントラマクロブロックを含むフレームが均等に配置されていることが分かる。ハッチングが掛けられているフレームの中でAと記されているフレームは、上述したフレームAである。ハッチングが掛けられているフレームの中でBと記されているフレームは、上述したフレームBである。ハッチングが掛けられているフレームが均等に配置されるとともに、フレームAも均等に配置されていることが分かる。
【0057】
{変形例}
第1の実施の形態において、図3に示すケース1〜6の中からケース5あるいはケース6が選択された。これは、Iマクロブロックをできるだけ空間方向に均等に配置し、発生符号量を均一化するという目的に沿った選択である。
【0058】
この変形例では、画質上重要なIマクロブロックをなるべくリフレッシュ周期の前半部に配置するという方法を用いる。これは、GOP単位で符号量制御を行っている場合に有効な選択方法である。GOP単位で符号量制御を行っている場合、画質上重要なIマクロブロックをなるべくリフレッシュ周期の前半部に配置することで、リフレッシュ周期の後半でIマクロブロックに割り当てるビット量が不足するという問題を解消する。Iマクロブロックに割り当てるビット量の不足は画質の劣化を招くからである。
【0059】
この変形例の方法を採用した場合、ブロック数決定部12は、ケース2を選択する。あるいは、上記の(基準3)と、Iマクロブロックをなるべく前半に配置するという考え方を総合判断して、ケース3を選択してもよい。
【0060】
また、第1の実施の形態において、ケース5およびケース6が選択された後、最終的にケース6を選択した。この選択は、Iマクロブロックをなるべく前半に配置するというこの変形例の考え方と合致している。
【0061】
{第2の実施の形態}
第2の実施の形態は、関数を用いてイントラマクロブロックの配置を決定する。現在のフレーム番号をY1、ライン方向のマクロブロック数をY2とする。数5式に示すように、Y1をY2で除算したときの商をY3、その余りをY4とする。
【0062】
Y1÷Y2=Y3・・・Y4 (数5)
【0063】
Y4が偶数の場合には、数6式に示すように、Y4の半分をY5として決定する。
【0064】
Y5=Y4/2 (数6)
【0065】
Y4が奇数の場合には、数7式に示すようにしてY5を決定する。ただし、Y4/2の少数部分は切り捨てる。
【0066】
Y5=(Y2−1)−Y4/2 (数7)
【0067】
次に、数8式に示すように、Y5に処理対象のマクロブロックのy座標mb_y(=0、1、2・・・)の定数n倍を加えた値を、Y2で割った商をY6、余りをY7とする。ただし、nは正の整数である。
【0068】
(Y5+n×mb_y)/Y2=Y6・・・Y7 (数8)
【0069】
以上の演算をした上で、処理対象のマクロブロックのx座標mb_x(=0、1、2・・・)とY7が一致すれば、処理対処のマクロブロックをイントラマクロブロックとして決定する。
【0070】
この実施の形態においては、関数を利用することで、各マクロブロックをイントラ符号化するか否かを判定することができる。フレーム内でイントラマクロブロックが分散して配置されるので、画質の劣化を招くことがない。
【0071】
第2の実施の形態の画像符号化装置1は、図1で示したブロック数決定部12を備えていない。位置決定部13は、イントラマクロブロックを配置するフレームとフレーム内の位置とを合わせて決定する。
【0072】
図9A〜図9Eは、第2の実施の形態によって配置されたイントラマクロブロックを示す図である。図9A〜図9Eは、0番〜4番のフレームである。図中、ハッチングのかけられているマクロブロックがイントラマクロブロックである。第2の実施の形態においては、イントラマクロブロックの位置がランダムではなく、上述した関数により決定される。
【0073】
第2の実施の形態によれば、偶数番号のフレームと奇数番号のフレームとでは、イントラマクロブロックの移動方向を異ならせることができる。時間方向に全てのフレームでイントラマクロブロックが同じ動きをした場合、イントラマクロブロックが目立ち、画質が劣化する。第2の実施の形態によれば、イントラマクロブロックの動きに不規則性を加えることができ、画質が向上する。
【符号の説明】
【0074】
1 画像符号化装置
11 符号化部
12 ブロック決定部
13 位置決定部
【特許請求の範囲】
【請求項1】
各フレームに含めるイントラマクロブロックの数を決定するブロック数決定部と、
各フレームに含めるイントラマクロブロックのフレーム内の空間位置を決定する位置決定部と、
前記ブロック数決定部で決定された数のイントラマクロブロックを前記位置決定部で決定された位置に基づいて各フレーム内に配置し、符号化を行う符号化部と、
を備え、
前記位置決定部は、各フレームに含めるイントラマクロブロックを、フレーム内のランダムな位置に配置する画像符号化装置。
【請求項2】
請求項1に記載の画像符号化装置であって、
1フレームは、M個のマクロブロックで構成されており、Nフレームに1回の割合で各マクロブロックがイントラ符号化され、
前記ブロック数決定部は、M個のイントラマクロブロックがNフレームの間に均等に出現するように各フレームにイントラマクロブロックの数を割り当てる画像符号化装置。
【請求項3】
請求項2に記載の画像符号化装置であって、
前記ブロック数決定部は、各フレームに出現するイントラマクロブロックの数の差が高々1個となるように各フレームにイントラマクロブロックの数を割り当てる画像符号化装置。
【請求項4】
請求項2または請求項3のいずれかに記載の画像符号化装置であって、
前記ブロック数決定部は、MがNの整数倍であるとき、MをNで除算した値をSとすれば、各フレームにS個ずつイントラマクロブロックを割り当て、MがNの整数倍でないとき、MをNで除算した値をS、余りをR、とすれば、(N−R)枚のフレームにS個ずつイントラマクロブロックを割り当てるとともに、R枚のフレームに(S+1)個ずつイントラマクロブロックを割り当てる画像符号化装置。
【請求項5】
請求項4に記載の画像符号化装置であって、
前記ブロック数決定部は、NがRの整数倍であるとき、NをRで除算した値をDとすれば、Dフレームに1枚の割合で(S+1)個のイントラマクロブロックを含むフレームを配置し、NがRの整数倍でないとき、NをRで除算した値をD、余りをQとすれば、(R−Q)枚のフレームについては、Dフレーム間隔で(S+1)個のイントラマクロブロックを含むフレームを割り当て、Q枚のフレームについては、(D+1)フレーム間隔で(S+1)個のイントラマクロブロックを含むフレームを割り当てる画像符号化装置。
【請求項6】
請求項5に記載の画像符号化装置であって、
前記ブロック数決定部は、(S+1)個のイントラマクロブロックを含むR枚のフレームのうち、(D+1)フレーム間隔で割り当てられるフレームをAフレームとし、Dフレーム間隔で割り当てられるフレームをBフレームとすると、Aフレームのフレーム間隔の分散が小さくなるようにAフレームとBフレームとを混在させて配置する画像符号化装置。
【請求項7】
請求項4ないし請求項6のいずれかに記載の画像符号化装置であって、
前記ブロック数決定部は、イントラマクロブロックの比率がGOP内の前半で高くなるように配置する画像符号化装置。
【請求項8】
各フレームに含めるイントラマクロブロックのフレーム内の空間位置を決定する位置決定部と、
前記位置決定部で決定された位置に基づいてイントラマクロブロックを各フレーム内に配置し、符号化を行う符号化部と、
を備え、
前記位置決定部は、偶数フレームと奇数フレームとで、イントラマクロブロックの時間方向の動きが異なるように配置する画像符号化装置。
【請求項1】
各フレームに含めるイントラマクロブロックの数を決定するブロック数決定部と、
各フレームに含めるイントラマクロブロックのフレーム内の空間位置を決定する位置決定部と、
前記ブロック数決定部で決定された数のイントラマクロブロックを前記位置決定部で決定された位置に基づいて各フレーム内に配置し、符号化を行う符号化部と、
を備え、
前記位置決定部は、各フレームに含めるイントラマクロブロックを、フレーム内のランダムな位置に配置する画像符号化装置。
【請求項2】
請求項1に記載の画像符号化装置であって、
1フレームは、M個のマクロブロックで構成されており、Nフレームに1回の割合で各マクロブロックがイントラ符号化され、
前記ブロック数決定部は、M個のイントラマクロブロックがNフレームの間に均等に出現するように各フレームにイントラマクロブロックの数を割り当てる画像符号化装置。
【請求項3】
請求項2に記載の画像符号化装置であって、
前記ブロック数決定部は、各フレームに出現するイントラマクロブロックの数の差が高々1個となるように各フレームにイントラマクロブロックの数を割り当てる画像符号化装置。
【請求項4】
請求項2または請求項3のいずれかに記載の画像符号化装置であって、
前記ブロック数決定部は、MがNの整数倍であるとき、MをNで除算した値をSとすれば、各フレームにS個ずつイントラマクロブロックを割り当て、MがNの整数倍でないとき、MをNで除算した値をS、余りをR、とすれば、(N−R)枚のフレームにS個ずつイントラマクロブロックを割り当てるとともに、R枚のフレームに(S+1)個ずつイントラマクロブロックを割り当てる画像符号化装置。
【請求項5】
請求項4に記載の画像符号化装置であって、
前記ブロック数決定部は、NがRの整数倍であるとき、NをRで除算した値をDとすれば、Dフレームに1枚の割合で(S+1)個のイントラマクロブロックを含むフレームを配置し、NがRの整数倍でないとき、NをRで除算した値をD、余りをQとすれば、(R−Q)枚のフレームについては、Dフレーム間隔で(S+1)個のイントラマクロブロックを含むフレームを割り当て、Q枚のフレームについては、(D+1)フレーム間隔で(S+1)個のイントラマクロブロックを含むフレームを割り当てる画像符号化装置。
【請求項6】
請求項5に記載の画像符号化装置であって、
前記ブロック数決定部は、(S+1)個のイントラマクロブロックを含むR枚のフレームのうち、(D+1)フレーム間隔で割り当てられるフレームをAフレームとし、Dフレーム間隔で割り当てられるフレームをBフレームとすると、Aフレームのフレーム間隔の分散が小さくなるようにAフレームとBフレームとを混在させて配置する画像符号化装置。
【請求項7】
請求項4ないし請求項6のいずれかに記載の画像符号化装置であって、
前記ブロック数決定部は、イントラマクロブロックの比率がGOP内の前半で高くなるように配置する画像符号化装置。
【請求項8】
各フレームに含めるイントラマクロブロックのフレーム内の空間位置を決定する位置決定部と、
前記位置決定部で決定された位置に基づいてイントラマクロブロックを各フレーム内に配置し、符号化を行う符号化部と、
を備え、
前記位置決定部は、偶数フレームと奇数フレームとで、イントラマクロブロックの時間方向の動きが異なるように配置する画像符号化装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9A】
【図9B】
【図9C】
【図9D】
【図9E】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9A】
【図9B】
【図9C】
【図9D】
【図9E】
【公開番号】特開2011−155543(P2011−155543A)
【公開日】平成23年8月11日(2011.8.11)
【国際特許分類】
【出願番号】特願2010−16241(P2010−16241)
【出願日】平成22年1月28日(2010.1.28)
【出願人】(591128453)株式会社メガチップス (322)
【Fターム(参考)】
【公開日】平成23年8月11日(2011.8.11)
【国際特許分類】
【出願日】平成22年1月28日(2010.1.28)
【出願人】(591128453)株式会社メガチップス (322)
【Fターム(参考)】
[ Back to top ]