(58)【調査した分野】(Int.Cl.,DB名)
映像を構成する各フレームを複数の処理領域に分割し、前記処理領域毎に予測符号化を行う際に、高解像度予測残差をダウンサンプリングして低解像度予測残差を生成する映像符号化方法であって、
前記高解像度予測残差のうち一部の画素のみをサンプリングするサブサンプリング処理によってサブサンプリング予測残差を生成するサブサンプリングステップと
前記サブサンプリング予測残差を前記低解像度予測残差とする残差ダウンサンプリングステップと、
前記サブサンプリングステップでは、前記サンプリングする画素を適応的に決定することを特徴とする映像符号化方法。
前記残差ダウンサンプリングステップでは、前記低解像度予測残差の予め定められた位置に前記サブサンプリング予測残差を当てはめ、それ以外の位置において前記補間予測残差を当てはめることで前記低解像度予測残差を生成することを特徴とする請求項27に記載の映像符号化方法。
前記残差ダウンサンプリングステップでは、前記映像と相関を持つ補助情報を参照して、前記サブサンプリング予測残差と前記補間予測残差とから前記低解像度予測残差を生成することを特徴とする請求項27に記載の映像符号化方法。
前記補助情報を符号化した補助情報符号データを生成する補助情報符号化ステップと、 前記補助情報符号データを映像符号データと多重化し符号データを生成する多重化ステップと
をさらに有することを特徴とする請求項28に記載の映像符号化方法。
映像を構成する各フレームを複数の処理領域に分割し、前記処理領域毎に予測符号化を行う際に、高解像度予測残差をダウンサンプリングして低解像度予測残差を生成する映像符号化装置であって、
前記高解像度予測残差のうち一部の画素のみをサンプリングするサブサンプリング処理によってサブサンプリング予測残差を生成するサブサンプリング手段と、
前記サブサンプリング予測残差を前記低解像度予測残差とする残差ダウンサンプリング手段とを備え、
前記サブサンプリング手段は、前記サンプリングする画素を適応的に決定することを特徴とする映像符号化装置。
【発明の概要】
【発明が解決しようとする課題】
【0009】
従来のRRUは、ブロック外からのいずれかの情報も利用することなく、各ブロックの予測残差を処理する。低解像度予測残差は高解像度予測残差からサンプルの相対的位置に基づくダウンサンプリング補間(二次元バイリニア補間など)を利用して計算される。復号化されたブロックを取得するためには、当該低解像度予測残差が符号化、再構成、アップサンプリング補間によって高解像度予測残差として復元され、予測画像に加えられる。
【0010】
図15A,15Bは、従来のRRUについての高解像度予測残差サンプルに対する低解像度予測残差サンプルの空間配置と、アップサンプリング補間を行うための計算例を示す図である。
これら各図において、白丸は高解像度予測残差サンプルの配置を示し、斜線付きの丸は、低解像度予測残差サンプルの配置を示す。また、各丸内の文字a〜e、A〜Dは画素値の例であり、高解像度予測残差サンプルの画素値a〜eの各々が、周囲の低解像度予測残差サンプルの画素値A〜Dからどのように算出されるかを図内に示している。
2つ以上の残差値が互いに大きく異なるサンプルを含むブロックにおいては、このアップサンプリングに伴う補間によって再構成された残差の精度が落ち、復号画像の品質を低下させる。また、一般にブロック境界部のアップサンプリングにはブロック内のサンプルのみを利用し、異なるブロックのサンプルは参照しない。このため、補間精度によってはブロック境界部にブロック歪(ブロック境界付近に特有の歪)が発生することがある。
【0011】
こうした品質低下や歪みを回避するためには、残差のアップサンプリング補間に用いる補間フィルタを改善するという方法が考えられるが、ダウンサンプリング補間によって損失した残差情報を完全に復元することは一般的には困難であるという問題ある。
【0012】
本発明は、このような事情に鑑みてなされたもので、RRUにおける予測残差アップサンプリングによる復号画像の品質低下やブロック歪みを回避し、最終的に得られる復号画像を全解像度かつよい品質で再構成することができる映像符号化方法、映像復号方法、映像符号化装置、映像復号装置、映像符号化プログラム及び映像復号プログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明は、映像の符号データを復号する際に、前記映像を構成する各フレームを複数の処理領域に分割し、前記処理領域毎に予測復号を行う映像復号方法であって、低解像度予測残差から仮に画像を復号した仮復号画像を生成する仮復号ステップと、前記仮復号画像の復号値を更新することによって最終復号画像を生成する復号画像生成ステップとを有する映像復号方法を提供する。
【0014】
好適例では、前記低解像度予測残差を有する(当該残差が設定された)画素を補間サンプリングする補間処理によって補間予測残差を生成する補間サンプリングステップをさらに有し、前記仮復号ステップでは、前記補間予測残差に基づいて前記仮復号画像を生成することを特徴とする。
【0015】
この場合、前記補間サンプリングステップでは、前記映像と相関を持つ補助情報をさらに参照して前記補間処理を行うようにしても良い。
【0016】
また、前記復号画像生成ステップでは、前記映像と相関を持つ補助情報をさらに参照して前記最終復号画像を生成するようにしても良い。
【0017】
別の好適例では、前記低解像度予測残差を有する各画素と対応する前記仮復号画像の各画素の対応位置関係を決定する残差対応画素決定ステップをさらに有し、前記仮復号ステップでは、前記対応位置関係に基づき、前記仮復号画像の画素のうち前記低解像度予測残差に対応する画素があるものを復号することにより前記仮復号画像を生成し、前記復号画像生成ステップでは、前記低解像度予測残差の各画素と対応する前記仮復号画像の各画素の復号値を参照して、その他の画素の復号値を更新することにより前記最終復号画像を生成することを特徴とする。
【0018】
この場合、前記残差対応画素決定ステップでは、前記対応位置関係を予め定められたものとしても良い。
【0019】
また、前記残差対応画素決定ステップでは、前記対応位置関係を適応的に決定するようにしても良い。
【0020】
この場合、前記残差対応画素決定ステップでは、前記映像と相関を持つ補助情報を参照して前記対応位置関係を適応的に決定するようにしても良い。
【0021】
また、前記復号画像生成ステップでは、前記映像と相関を持つ補助情報をさらに参照して前記最終復号画像を生成するようにしても良い。
【0022】
また、前記低解像度予測残差を有する画素を補間サンプリングする補間処理によって補間予測残差を生成する補間サンプリングステップをさらに有し、前記仮復号ステップでは、前記対応位置関係に基づき、前記仮復号画像の画素のうち前記低解像度予測残差に対応する画素があるものを復号し、対応する画素がないものについて前記補間予測残差に基づいて復号することにより前記仮復号画像を生成し、前記復号画像生成ステップでは、前記低解像度予測残差の各画素と対応する前記仮復号画像の各画素の復号値を参照して、その他の画素の復号値を更新することにより前記最終復号画像を生成するようにしても良い。
【0023】
この場合、前記残差対応画素決定ステップでは、前記対応位置関係を予め定められたものとしても良い。
【0024】
また、前記残差対応画素決定ステップでは、前記対応位置関係を適応的に決定するようにしても良い。
【0025】
この場合、前記残差対応画素決定ステップでは、前記映像と相関を持つ補助情報を参照して前記対応位置関係を適応的に決定するようにしても良い。
【0026】
また、前記復号画像生成ステップでは、前記映像と相関を持つ補助情報をさらに参照して前記最終復号画像を生成するようにしても良い。
【0027】
典型例として、前記補助情報は、前記映像の予測画像である。
【0028】
別の典型例として、前記補助情報は、前記映像が複数の成分から成る信号である場合の一部の成分である。
【0029】
別の典型例として、前記補助情報は、前記映像と相関をもつ補助映像であることを特徴とする。
【0030】
この場合、前記補助映像は、前記映像と同一のシーンを対象とした別の映像であっても良い。
【0031】
また、前記補助映像は、前記映像が多視点映像のうちの一つの視点映像である場合における他の視点映像であっても良い。
【0032】
また、前記補助映像は、前記映像に対応するデプスマップであっても良い。
【0033】
また、前記補助映像は、前記映像がデプスマップである場合における対応するテクスチャであっても良い。
【0034】
別の典型例として、前記補助情報は、前記映像と相関をもつ補助映像から前記映像の予測情報に基づいて生成される補助映像予測画像であり、前記補助映像から前記映像の予測情報に基づいて前記補助映像予測画像を生成する補助映像予測画像生成ステップをさらに有するようにしても良い。
【0035】
この場合、前記補助情報は、前記補助映像と前記補助映像予測画像から生成される補助映像予測残差であり、前記補助映像と前記補助映像予測画像から前記補助映像予測残差を生成する補助映像予測残差生成ステップをさらに有するようにしても良い。
【0036】
別の典型例として、前記符号データを逆多重化し補助情報符号データと映像符号データとに分離する逆多重化ステップと、前記補助情報符号データを復号し前記補助情報を生成する補助情報復号ステップとをさらに有するようにしても良い。
【0037】
本発明はまた、映像を構成する各フレームを複数の処理領域に分割し、前記処理領域毎に予測符号化を行う際に、高解像度予測残差をダウンサンプリングして低解像度予測残差を生成する映像符号化方法であって、前記高解像度予測残差のうち一部の画素のみをサンプリングするサブサンプリング処理によってサブサンプリング予測残差を生成するサブサンプリングステップと前記サブサンプリング予測残差を前記低解像度予測残差とする残差ダウンサンプリングステップとを有する映像符号化方法も提供する。
【0038】
好適例では、前記サブサンプリングステップでは、前記サンプリングする画素を予め定められた位置の画素とすることを特徴とする。
【0039】
別の好適例では、前記サブサンプリングステップでは、前記サンプリングする画素を適応的に決定することを特徴とする。
【0040】
この場合、前記サブサンプリングステップでは、前記映像と相関を持つ補助情報を参照して前記サンプリングする画素を適応的に決定するようにしても良い。
【0041】
別の好適例では、前記高解像度予測残差の画素を補間サンプリングする補間処理によって補間予測残差を生成する補間サンプリングステップをさらに有し、前記残差ダウンサンプリングステップでは、前記サブサンプリング予測残差と前記補間予測残差とから前記低解像度予測残差を生成することを特徴とする。
【0042】
この場合、前記残差ダウンサンプリングステップでは、前記低解像度予測残差の予め定められた位置に前記サブサンプリング予測残差を当てはめ、それ以外の位置において前記補間予測残差を当てはめることで前記低解像度予測残差を生成するようにしても良い。
【0043】
また、前記残差ダウンサンプリングステップでは、前記映像と相関を持つ補助情報を参照して、前記サブサンプリング予測残差と前記補間予測残差とから前記低解像度予測残差を生成するようにしても良い。
【0044】
典型例として、前記補助情報は、前記映像の予測画像である。
【0045】
別の典型例として、前記補助情報は、前記映像が複数の成分から成る信号である場合の一部の成分である。
【0046】
別の典型例として、前記補助情報は、前記映像と相関をもつ補助映像である。
【0047】
この場合、前記補助映像は、前記映像と同一のシーンを対象とした別の映像であっても良い。
【0048】
また、前記補助映像は、前記映像が多視点映像のうちの一つの視点映像である場合における他の視点映像であっても良い。
【0049】
また、前記補助映像は、前記映像に対応するデプスマップであっても良い。
【0050】
また、前記補助映像は、前記映像がデプスマップである場合における対応するテクスチャであっても良い。
【0051】
別の典型例として、前記補助情報は、前記映像と相関をもつ補助映像から前記映像の予測情報に基づいて生成される補助映像予測画像であり、前記補助映像から前記映像の予測情報に基づいて前記補助映像予測画像を生成する補助映像予測画像生成ステップをさらに有するようにしても良い。
【0052】
この場合、前記補助情報は、前記補助映像と前記補助映像予測画像から生成される補助映像予測残差であり、前記補助映像と前記補助映像予測画像から前記補助映像予測残差を生成する補助映像予測残差生成ステップをさらに有するようにしても良い。
【0053】
別の典型例として、前記補助情報を符号化した補助情報符号データを生成する補助情報符号化ステップと、前記補助情報符号データを映像符号データと多重化し符号データを生成する多重化ステップとをさらに有するようにしても良い。
【0054】
本発明はまた、映像の符号データを復号する際に、前記映像を構成する各フレームを複数の処理領域に分割し、前記処理領域毎に予測復号を行う映像復号装置であって、低解像度予測残差から仮に画像を復号した仮復号画像を生成する仮復号手段と、前記仮復号画像の復号値を更新することによって最終復号画像を生成する復号画像生成手段とを備える映像復号装置も提供する。
【0055】
本発明はまた、映像を構成する各フレームを複数の処理領域に分割し、前記処理領域毎に予測符号化を行う際に、高解像度予測残差をダウンサンプリングして低解像度予測残差を生成する映像符号化装置であって、前記高解像度予測残差のうち一部の画素のみをサンプリングするサブサンプリング処理によってサブサンプリング予測残差を生成するサブサンプリング手段と、前記サブサンプリング予測残差を前記低解像度予測残差とする残差ダウンサンプリング手段とを備える映像符号化装置も提供する。
【0056】
本発明は、コンピュータに、前記映像復号方法を実行させるための映像復号プログラムも提供する。
【0057】
本発明は、コンピュータに、前記映像符号化方法を実行させるための映像符号化プログラムも提供する。
【0058】
本発明は、前記映像復号プログラムを記録したコンピュータ読み取り可能な記録媒体も提供する。
【0059】
本発明は、前記映像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体も提供する。
【発明の効果】
【0060】
本発明によれば、RRUにおける予測残差アップサンプリングによる復号画像の品質低下やブロック歪みを回避し、最終復号画像を全解像度かつよい品質で再構成することができるという効果が得られる。
【発明を実施するための形態】
【0062】
<第1実施形態>
以下、図面を参照して、本発明の第1実施形態による映像符号化装置及び映像復号装置を説明する。
始めに映像符号化装置について説明する。
図1は同実施形態による映像符号化装置の構成を示すブロック図である。
映像符号化装置100は、
図1に示すように、符号化対象映像入力部101、入力フレームメモリ102、予測部103、減算部104、残差ダウンサンプル部105、変換・量子化部106、逆量子化・逆変換部107、仮復号部108、アップデート部109、ループフィルタ部110、参照フレームメモリ111及びエントロピー符号化部112を備えている。
【0063】
符号化対象映像入力部101は、符号化対象となる映像を映像符号化装置100に入力する。以下では、この符号化対象となる映像のことを符号化対象映像と呼び、特に処理を行うフレームを符号化対象フレームまたは符号化対象画像と呼ぶ。
入力フレームメモリ102は、入力した符号化対象映像を記憶する。
予測部103は、入力フレームメモリ102に記憶された符号化対象画像に対して予測処理を行い、高解像度予測画像を生成する。
減算部104は、入力フレームメモリ102に記憶された符号化対象画像と予測部103が生成した高解像度予測画像の差分値をとり、高解像度予測残差を生成する。
残差ダウンサンプル部105は、生成した高解像度予測残差をダウンサンプリングし低解像度予測残差を生成する。
変換・量子化部106は、生成された低解像度予測残差を変換・量子化し、量子化データを生成する。
逆量子化・逆変換部107は、生成された量子化データを逆量子化・逆変換し、復号低解像度予測残差を生成する。
【0064】
仮復号部108は、予測部103が出力した高解像度予測画像と、逆量子化・逆変換部107が出力した復号低解像度予測残差とから、仮復号画像を生成する。
アップデート部109は、仮復号画像をアップデートし、高解像度復号画像を生成する。
ループフィルタ部110は、生成された高解像度復号画像(復号フレーム)にループフィルタをかけ、参照フレームを生成する。
参照フレームメモリ111は、ループフィルタ部110が生成した参照フレームを記憶する。
エントロピー符号化部112は、量子化データと予測情報をエントロピー符号化し、符号データ(または符号化データ)を生成して出力する。
【0065】
次に、
図2を参照して、
図1に示す映像符号化装置100の動作を説明する。
図2は、
図1に示す映像符号化装置100の動作を示すフローチャートである。
ここでは符号化対象映像中のある1フレームを符号化する処理について説明する。当該処理をフレームごとに繰り返すことで、映像(動画像)を符号化することができる。
【0066】
まず、符号化対象映像入力部101は符号化対象フレームを映像符号化装置100に入力し、入力フレームメモリ102に記憶する(ステップS1)。なお、符号化対象映像中の幾つかのフレームは既に符号化されているものとし、その復号フレームが参照フレームメモリ111に記憶されているものとする。
映像入力の後、符号化対象フレームを符号化対象ブロックに分割し、ブロック毎に符号化対象フレームの映像信号を符号化するルーチンを行なう(ステップS2)。すなわち、以下のステップS3〜S10までの処理を、フレーム内の全てのブロックが順次処理されるまで、繰り返し実行する。
【0067】
符号化対象ブロックごとに繰り返される処理では、まず、予測部103が、符号化対象フレーム及び参照フレームを用いて何れかの予測処理を行い、予測画像を生成する(ステップS3)。以下では、この予測画像のことを区別のために高解像度予測画像と呼ぶ。
予測方法は、復号側で予測情報などを使用して正しく高解像度予測画像を生成できるのであれば、どのような方法でも構わない。一般的な映像符号化では、画面内予測や動き補償などの予測方法を用いる。また、一般にはこのとき用いる予測情報を符号化し映像符号データと多重化するが、特に予測情報を用いずに予測が行えるのであれば当該多重化は行わなくても構わない。
【0068】
次に、減算部104は、高解像度予測画像と符号化対象画像との差分を取り、予測残差を生成する(ステップS4)。以下では、この予測残差のことを区別のために高解像度予測残差と呼ぶ。
高解像度予測残差の生成が終了したら、残差ダウンサンプル部105は、高解像度予測残差のダウンサンプリングを実行し、低解像度予測残差を生成する(ステップS5)。このときのダウンサンプリング方法は、どのような方法を用いても構わない。
【0069】
ここで、従来のRRUの抱える問題の1つである、残差値の平均化による損失を回避するダウンサンプリング方法と、対応する復号画像アップデートの方法について説明する。
簡単のため、縦横1/nずつにダウンサンプリングする場合、高解像度残差のn×nの画素の組に対し何らかの処理を行なって低解像度残差の画素を1つ求めることとする。
一般のRRUでは、組の残差の平均をとるなど、何らかのダウンサンプリング補間による補間値を低解像度残差の値として持ち、復号時にはこの補間値をn×nにアップサンプリング補間し、それぞれの画素の残差値とすることで高解像度残差を生成し、予測画像と足し合わせることで復号画像を得る。
この場合、全体的に予測の当たっている組では残差の分散が少なく、補間値を用いることによる影響は少ない。
【0070】
一方、一部予測が外れている組では残差の分散が大きく、補間値を用いることにより全体的に誤差が生じることになる。
これに対して、例えば高解像度予測残差の特定の位置の残差を残すサブサンプル処理によって低解像度予測残差を生成することで、後述する仮復号の時点で特定の位置では正しい復号画像を得ることができる。この方法では、この特定の位置の正しい復号画素値を参照し、周辺の復号画素の復号値のアップデートを行うことが出来る。詳しいアップデート方法は後述する。
【0071】
サブサンプル位置(予測残差が残される位置)は、予め定められた位置でも構わないし、復号時に特定可能であれば適応的に決定しても構わない。
例えば、n×n内の左上や右下など決まった位置の画素をサブサンプルする場合も考えられるし、n×nの組ごとに違う位置の画素をサブサンプルする場合も考えられる。
あるいは、n×nの組ごとに最も予測の外れている画素、つまり残差最大の画素のみをサブサンプルする方法なども適用できる。この場合、復号側で残差最大になりうる位置を推定しても構わないし、後述の方法と組み合わせてサブサンプル位置を決定してもかまわない。
【0072】
また、高解像度予測画像やその他の情報を参照してサブサンプル位置を決定しても構わない。
具体的には、高解像度予測画像を参照して処理領域内の残差が集中する領域を推定し、その領域中心にサブサンプル位置を決定する方法などが適用できる。この場合、予測画像における輪郭部に残差が集中すると仮定して、予測画像の輪郭周辺をサブサンプルしてもよいし、他の推定方法でも構わない。
【0073】
または、残差の分散の大きい領域ではサブサンプル位置が疎である場合に損失が大きくなる可能性があるとして、残差の分散の大きい領域を推定し、その領域において密にサブサンプルされるようにサブサンプル位置を決定するという方法も適用できる。
この場合例えば、前述の例のように予測画像の特徴によって領域を推定しても構わないし、あるいは処理領域毎に予め定められた数だけは予め定められた位置でサブサンプルを行い、そののちにそのサブサンプルされた残差値の分散を取り、分散が大きいと見られる領域においてさらに密にサブサンプルされるように追加のサブサンプル位置を決定するという方法も適用できる。
【0074】
また、上記の方法を組み合わせても構わない。
例えば、予測画像の輪郭部周辺で予め定められた数だけサブサンプルを行い、そののちにそのサブサンプルされた残差値の分散を取り、分散が大きいと見られる領域においてさらに密にサブサンプルされるように追加のサブサンプル位置を決定するという方法も適用できる。
【0075】
また、サブサンプル位置を符号化して符号データに含めても構わないし、処理領域ごとのサブサンプル位置パターンを予め定めても構わないし、そのパターンの識別情報を符号化して符号データに含めても構わない。
また別の方法として、生成される低解像度予測残差の一部の位置の画素については高解像度予測残差の残差値をサブサンプルすることで生成し、別の位置の画素については高解像度予測残差の複数の残差値(残差値の組)から補間により生成する方法などが適用できる。
ここで、組内の画素の残差値が全てある閾値以下である場合には、組内の画素の残差値を補間して低解像度予測残差とするなどの方法が適用できる。この場合、復号側で低解像度予測残差の残差値が閾値以下である場合には、組内のすべての画素にこの閾値の残差を対応付けるといった復号方法などが可能である。
このときの仮復号と復号画像アップデートはどのような方法を用いても構わない。詳しい仮復号方法とアップデート方法は後述する。
【0076】
次に、変換・量子化部106は、低解像度予測残差を変換・量子化し、量子化データを生成する(ステップS6)。この変換・量子化は、復号側で正しく逆量子化・逆変換できるものであればどのような方法を用いても構わない。
続いて、変換・量子化が終了したら、逆量子化・逆変換部107は、量子化データを逆量子化・逆変換し、復号低解像度予測残差を生成する(ステップS7)。
【0077】
次に、仮復号部108は、上記ステップS3で生成された高解像度予測画像と、上記ステップS7で生成された復号低解像度予測残差とから、仮復号画像を生成する(ステップS8)。
仮復号画像の生成は、どのような方法を用いても構わない。
例えば、復号低解像度予測残差の各画素と、それに対応する高解像度予測画像の画素とを足しあわせることで生成する方法が適用できる。この場合の対応関係は1対1でも構わないし、1対多でも構わない。
例えば、高解像度予測残差のサブサンプルによって生成された残差値は、サブサンプル位置の画素と一対一対応するとしてもよいし、同じ組の他の画素にも対応するとしてもよい。あるいは、高解像度予測残差の補間によって生成された残差値は、補間に用いた画素全てに対応するとしても良い。他にどのような対応関係でも構わない。
また、二種類以上の対応関係の種類が混在する場合も適用できる。
例えば、前述のように低解像度予測残差の画素のうち一部の画素についてはサブサンプル処理によって残差値を決定し、また別の画素については補間によって残差値を決定する場合などが考えられる。
【0078】
また、この対応関係を、予め定められた対応関係として決定しても構わないし、前述のように高解像度予測画像やその他の情報を参照して決定しても構わない。あるいは、符号化された対応関係を示す情報に基づいて決定しても構わない。
また、生成される仮復号画像において、対応する低解像度予測残差の画素を持たない仮復号画素の仮復号値は、予測値を使用しても構わないし、あるいは低解像度予測残差と対応する画素の仮復号値を補間して生成しても構わないし、特に仮復号値を設けなくても構わない。
あるいは、低解像度予測残差からアップサンプル補間によって高解像度予測残差を生成し、高解像度予測画像と足し合わせることで仮復号画像を生成しても構わない。
また、仮復号においては低解像度予測残差の一部の画素のみを使用して仮復号を行っても構わない。例えばサブサンプル残差値の対応する画素についてのみ復号を行い、復号画像アップデートにおいては補間される残差値を参照しながら、残り全ての画素についてアップデートを行なうといった方法が適用できる。
【0079】
次に、仮復号が終了したら、アップデート部109は、仮復号画像の仮復号値のアップデート(更新)を行い、高解像度復号画像を生成する。また、ループフィルタ部110は、ループフィルタをかけた後に、参照フレームのブロックとして参照フレームメモリ111に記憶する(ステップS9)。アップデート方法はどのような方法を用いても構わない。
【0080】
ここでは、ダウンサンプルにおいて予測残差値をサブサンプルして符号化した場合の、仮復号において一部の画素については正しい復号値がえられる場合のアップデート方法を説明する。また、この仮復号において正しい復号値が得られている画素のことを既復号画素と呼び、この画素については更新を行わないものとする。またこのとき、既復号画素以外の画素を仮復号画素と呼ぶ。
【0081】
最も単純な方法では、単に既復号画素の補間によって仮復号画素の復号値を決める方法が適用できる。
また例えば、この既復号画素の補間値を第1の仮復号値とし、既復号画素の残差値(復号低解像度予測残差)の補間値を仮復号画素の予測値と足しあわせたものを第2の仮復号値とし、両者を比較して尤もらしいものを選択するといった方法も適用できる。
選択はどのように行なっても構わない。例えば残差の平均化による損失としてよく見られるノイズが発生する部分においては第1仮復号値を選択する等の方法が適用できる。
【0082】
また、選択に際して、高解像度予測画像やその他の情報を使用しても構わない。
高解像度予測画像を参照しながら、仮復号画素の尤もらしい復号値を決定するような方法は、様々なものが適用できる。
例えば、隣接する既復号画素同士の残差値の差分が大きく、残差補間や復号値補間によって復号値を決定しては平均化に伴う損失が顕著であるような場合に、仮復号画素と周囲の隣接既復号画素との予測値距離(予測値の差)を比較し、近い方(差が少ない方)の隣接既復号画素の残差や復号値に基づいて仮復号画素の復号値を決定するという方法も適用できる。
あるいは、予測値距離に応じた重み付けによって復号値を決定しても構わない。あるいは、隣接よりもさらに広い範囲で推測を行なっても構わない。
【0083】
また、ダウンサンプルにおいてサブサンプル位置を高解像度予測画像を参照して適応的に決定している場合で、高解像度予測画像の輪郭部分などにおいてサンプリング密度を高くとっている場合、上記の方法やその他の方法で周辺の既復号画素を参照してアップデートを行い、サンプリング密度が低い部分では代表の既復号画素を参照してアップデートを行うなどの方法が適用できる。代表画素は予め定められた位置の画素でも構わないし、適応的に決定しても構わない。
例えば、アップデート対象の仮復号画素と最も距離の近い既復号画素を参照しても構わないし、仮復号画素の値から参照すべき既復号画素を決定しても構わない。その他にも、サブサンプル位置の決定方法に応じて様々なアップデート方法が適用できる。
【0084】
さらに、ダウンサンプルにおいて一部の予測残差値をサブサンプルし、一部の予測残差値を補間して符号化した場合などには、例えばアップデート対象の仮復号画素の仮復号値が補間残差に基づいて与えられ、サブサンプル残差に基づいて既復号画素が与えられるとき、仮復号値と周辺の既復号画素から上記の方法やその他の方法で求められる値とを比較して尤もらしい方を選択する方法なども適用できる。
その他にも、サブサンプルと補間の組み合わせ方などに応じて様々なアップデート方法が適用できる。
【0085】
上記の例では、予測値や残差値や仮復号値等を用いて推定を行なっているが、他に映像符号データに含まれる何れの参照可能な値を用いても構わない。
例えば、動き補償や視差補償により予測を行なっている場合に、動きベクトルや視差ベクトルを用いる場合などが考えられる。あるいはYCbCrの輝度成分に対しRRUを施す場合に、色差成分を参照して復号を行っても構わないし、逆でも構わない。
【0086】
以上は復号画像アップデート方法の例であるが、何れも上記の例に限定されるものではなく、ほかに任意の方法を用いることができる。
ループフィルタは必要がなければ特にかけなくてもかまわないが、通常の映像符号化では、デブロッキングフィルタやその他のフィルタを使用して符号化ノイズを除去する。もしくは、RRUによる劣化を除去するためのフィルタを使用してもよい。また、このループフィルタを、復号画像アップデートと同様に、又は同時に適応的に生成してもよい。
【0087】
次に、エントロピー符号化部112は、量子化データをエントロピー符号化し符号データを生成する(ステップS10)。必要であれば、予測情報やその他の付加情報も符号化し符号データに含めても構わない。
全てのブロックについて処理が終了したら(ステップS11)、符号データを出力する。
【0088】
次に、映像復号装置について説明する。
図3は、本発明の第1実施形態による映像復号装置の構成を示すブロック図である。
映像復号装置200は、
図3に示すように、符号データ入力部201、符号データメモリ202、エントロピー復号部203、逆量子化・逆変換部204、予測部205、仮復号部206、アップデート部207、ループフィルタ部208及び参照フレームメモリ209を備えている。
【0089】
符号データ入力部201は、復号対象となる映像符号データを映像復号装置200に入力する。この復号対象となる映像符号データのことを復号対象映像符号データと呼び、特に処理を行うフレームを復号対象フレームまたは復号対象画像と呼ぶ。
符号データメモリ202は、入力した復号対象映像符号データを記憶する。
エントロピー復号部203は、復号対象フレームの符号データをエントロピー復号し、量子化データを生成する。
逆量子化・逆変換部204は、当該量子化データに逆量子化/逆変換を施して復号低解像度予測残差を生成する。
【0090】
予測部205は、復号対象画像に対して予測処理を行い、高解像度予測画像を生成する。
仮復号部206は、逆量子化・逆変換部204で生成された復号低解像度予測残差と、予測部205で生成された高解像度予測画像とを足しあわせ、仮復号画像を生成する。
このとき、上記のように適応的にサブサンプル位置を決定している場合には、ここでも同様の方法を用いて低解像度予測残差の高解像度における対応位置を決定して構わない。
アップデート部207は、予測部205が出力する高解像度予測画像から(手法によっては復号低解像度予測残差も使用)、仮復号画像の未復号画素をアップデートし、高解像度復号画像を生成する。
ループフィルタ部208は、生成された復号フレーム(高解像度復号画像)にループフィルタをかけ、参照フレームを生成する。
参照フレームメモリ209は、生成された参照フレームを記憶する。
【0091】
次に、
図4を参照して、
図3に示す映像復号装置200の動作を説明する。
図4は、
図3に示す映像復号装置200の動作を示すフローチャートである。
ここでは符号データ中のある1フレームを復号する処理について説明する。説明する処理をフレームごとに繰り返すことで、映像の復号が実現できる。
【0092】
まず、符号データ入力部201は符号データを入力し、符号データメモリ202に記憶する(ステップS21)。なお、復号対象映像中の幾つかのフレームは既に復号されているものとし、参照フレームメモリ209に記憶されているものとする。
【0093】
次に、復号対象フレームを対象ブロックに分割し、ブロック毎に復号対象フレームの映像信号を復号するルーチンを行なう(ステップS22)。すなわち、以下のステップS23〜S27までの処理を、フレーム内の全てのブロックが順次処理されるまで、繰り返し実行する。
復号対象ブロックごとに繰り返される処理では、まず、エントロピー復号部203は符号データをエントロピー復号し、逆量子化・逆変換部204はで逆量子化・逆変換を行い、復号低解像度予測残差を生成する(ステップS23)。
予測情報やその他の付加情報が符号データに含まれる場合は、それらも復号し、適宜必要な情報を生成しても構わない。
【0094】
次に、予測部205は、復号対象ブロック及び参照ブロック(あるいは参照フレーム)を用いて予測処理を行い、高解像度予測画像を生成する(ステップS24)。
一般的な映像符号化では、画面内予測や動き補償などの予測方法を用い、このとき用いる予測情報が映像符号データと多重化されているが、特に予測情報を用いずに予測が行えるのであれば、係る予測情報は無くても構わない。
【0095】
次に、仮復号部206は、上記ステップS24で生成された高解像度予測画像に、上記ステップS23で生成された復号低解像度予測残差の対応する画素を足し合わせ、仮復号画像を生成する(ステップS25)。
復号対象の符号データがサブサンプル位置の適応的な決定を実施しているものの場合には、ここでもサブサンプル位置の適応的な決定を実施しても構わない。
【0096】
次に、仮復号が終了したら、アップデート部207は、仮復号画像と、高解像度予測画像(手法によっては復号低解像度予測残差も)を用いて仮復号画像の仮復号画素のアップデートを行い、高解像度復号画像を生成する。そして、ループフィルタ部208は、生成された高解像度復号画像にループフィルタをかけ、その出力を参照ブロックとして参照フレームメモリ209に記憶する(ステップS26)。
仮復号方法とアップデート方法はどのような方法を用いても構わない。
ただし、この方法と映像符号化装置で使用したダウンサンプリングの方法とを互いに対応させることにより、より高い復号性能を得ることが可能である。
ダウンサンプリング方法と対応する復号画像アップデート方法は、前述のとおりである。
ループフィルタは必要がなければ特にかけなくてもかまわないが、通常の映像符号化では、デブロッキングフィルタやその他のフィルタを使用して符号化ノイズを除去する。もしくは、RRUによる劣化を除去するためのフィルタを使用してもよい。また、このループフィルタを、復号画像アップデートと同様に、又は同時に適応的に生成してもよい。
最後に、全てのブロックについて処理が終了したら(ステップS27)、復号フレームとして出力する。
【0097】
なお、
図2、
図4に示す処理動作は、その順序が前後しても構わない。
【0098】
<第2実施形態>
次に、本発明の第2実施形態による映像符号化装置及び映像復号装置を説明する。
図5は、本発明の第2実施形態による映像符号化装置100aの構成を示すブロック図である。この図において、
図1に示す装置と同一の部分には同一の符号を付し、その説明を省略する。
この図に示す装置が
図1に示す装置と異なる点は、
図5に示すように、補助映像入力部113と、補助フレームメモリ114を新たに備えている点である。
補助映像入力部113は、復号画像アップデートに用いる参照用の映像を映像符号化装置100aに入力する。以下では、この参照用の映像のことを補助映像と呼び、特に処理に用いるフレームを補助フレームまたは補助画像と呼ぶ。
補助フレームメモリ114は、入力された補助映像を記憶する。
【0099】
次に、
図6を参照して、図
5に示す映像符号化装置100aの動作を説明する。
図6は、
図5に示す映像符号化装置100aの動作を示すフローチャートである。
図6は、外部から符号化対象映像と相関を持つ補助映像を入力し、復号映像アップデートに利用する場合の処理を示している。
図6において、
図2に示す処理と同一の部分には同一の符号を付し、その説明を省略する。
【0100】
まず、符号化対象映像入力部101は符号化対象映像のフレームを映像符号化装置100aに入力し、入力したフレームメモリ102に記憶する。これと並行して、補助映像入力部113は補助映像フレームを映像符号化装置100aに入力し、補助フレームメモリ114に記憶する(ステップS1a)。
なお、符号化対象映像中の幾つかのフレームは既に符号化されているものとし、その復号フレームが参照フレームメモリ111に、対応する補助映像が補助フレームメモリ114に記憶されているものとする。
また、ここでは入力された符号化対象フレームが順次符号化されるものとしているが、入力順と符号化順は必ずしも一致している必要はない。入力順と符号化順が異なる場合には、次に符号化するフレームが入力されるまで、入力されたフレームは入力フレームメモリ102に記憶される。
入力フレームメモリ102に記憶された符号化対象フレームは、以下で説明する符号化処理によって符号化されたら、入力フレームメモリ102から削除しても構わない。しかし、補助フレームメモリ114に記憶された補助映像フレームは、対応する符号化対象フレームの復号フレームが参照フレームメモリ111から削除されるまで記憶しておいても構わない。
【0101】
なお、ステップS1aにおいて入力される補助映像は、符号化対象映像と相関を持っているものであればどのようなものであっても構わない。
例えば、符号化対象映像が多視点映像のうちの一つの視点映像である場合、別視点の映像を補助映像として用いることができる。
または、符号化対象映像に対応するデプスマップが存在する場合にデプスマップを補助映像としてもよいし、符号化対象映像がデプスマップ(形式の情報)である場合には、対応するテクスチャを補助映像としても構わない。
また、ステップS1aにおいて入力される補助映像は復号側で得られる補助映像とは異なるものであっても構わないが、復号側で得られる補助映像と同じ物を利用することによって復号品質を高めることも可能である。
例えば、補助映像を符号化し映像と共に符号データとするような場合には、補助映像は符号化・復号を経たものを用いることで、補助映像の符号化ノイズによる復号エラーを回避することができる。
他に復号側で得られる補助映像の例としては、例えば符号化対象フレームとは異なるフレームに対応した符号化済みの別視点の映像を復号したものから、符号化対象フレームと同じフレームの映像を動き補償予測などによって合成したものなどがある。
あるいは、別視点の映像に対応する符号化済みデプスマップを復号したものから符号化対象映像に対応するデプスマップを仮想視点合成などによって合成したものや、別視点映像の符号化済み画像群を復号したものからステレオマッチングなどによって推定したデプスマップなどがある。
【0102】
以下、ステップS2からS4までは、
図2に示す処理動作と同様に実行する。
高解像度予測残差の生成が終了したら、残差ダウンサンプル部105は、高解像度予測残差のダウンサンプリングを実行し、低解像度予測残差を生成する(ステップS5a)。このときのダウンサンプリング方法は、どのような方法を用いても構わないし、第1実施形態で示したものと同様の方法でも構わない。
例えば、予め定められた位置の画素をサブサンプリングするなどである。ただし、補助映像を参照して適応的にダウンサンプリングを行うことにより、より高い復号性能を得ることも可能である。
例えば、各画像単位・ブロック単位・画素単位などで対応する補助映像を参照して、サブサンプリング位置を決定する方法などが適用できる。
また、補助映像に二値化やエッジ抽出や領域セグメンテーション等の画像処理を施し、被写体の境界部やその他の残差の集中すると思われる領域を推定し、高解像度予測残差の各画素のうち、対応する補助映像で推定した領域にあたる画素をサブサンプルすることで、従来のRRUが抱える問題の1つである残差値の平均化による損失を回避するといった方法がある。
この推定には画像処理の一般的な方法を用いても構わないし、単に隣接画素値を比較するだけでも構わないし、他にどのような方法を用いても構わない。
【0103】
また、例えば二値化に使用するパラメータなどの情報を符号化して符号データに含めても構わない。このとき、最も復元効率が高くなるようパラメータの最適化を実施しても構わない。また、このときさらに予測画像を用いて残差集中領域を推定しても構わない。
例えば、補助映像と予測画像の両方から推定した領域を合わせて残差集中領域としても構わないし、他にどのような方法を用いても構わない。
また、このときの復号画像アップデートの方法はどのようなものでも構わない。後述する補助映像を参照する方法を用いても構わないし、単に線形補間を行うなど、補助映像を使用しない方法を用いても構わない。
ここで示した方法は一例であり、他にどのような方法を用いても構わない。
【0104】
次に、変換・量子化部106は、低解像度予測残差を変換・量子化し、量子化データを生成する(ステップS6)。この変換・量子化は、復号側で正しく逆量子化・逆変換できるものであればどのような方法を用いても構わない。
変換・量子化が終了したら、逆量子化・逆変換部107は、量子化データを逆量子化・逆変換し復号低解像度予測残差を生成する(ステップS7)。
【0105】
次に、仮復号部108は、高解像度予測画像に復号低解像度予測残差の対応する画素を足し合わせ、仮復号画像を生成する(ステップS8a)。
上記のように補助映像を利用してサブサンプル位置の決定を実施している場合には、ここでも補助映像を参照して低解像度残差の高解像度における対応位置を決定して構わない。
【0106】
次に、仮復号が終了したら、アップデート部109は、仮復号画像と、補助映像を用いて仮復号画像の未復号画素のアップデートを行い、高解像度復号画像を生成する。そして、ループフィルタ部110はループフィルタをかけ、参照フレームとして参照フレームメモリ111に記憶する(ステップS9a)。
【0107】
ここでは、ダウンサンプルにおいて予測残差値をサブサンプルして符号化した場合の、仮復号において一部の画素については正しい復号値がえられる場合のアップデート方法を説明する。また、この仮復号において正しい復号値が得られている画素のことを既復号画素と呼び、この画素については更新を行わないものとする。またこのとき、既復号画素以外の画素を仮復号画素と呼ぶ。
特に第2実施形態では、補助映像の対応する画素や領域を参照してアップデートを行う方法を説明する。あるいはさらに、第1実施形態のように当該画素を含めた周辺画素の予測値と、当該画素を含む組や周辺の組の復号済み画素の残差値・復号値を参照することもできる。
【0108】
アップデートの方法として、例えば第1実施形態で示したような方法を、補助映像を使用して実施しても構わない。
あるいは他の方法として、補助映像において何らかの領域分割を行い、各領域に対応する復号画像の領域毎に残差値あるいは復号値の補間を行うことで、残差の平均化による輪郭などの損失を回避する方法などが適用できる。
例えば、特に符号化対象映像がデプスマップ形式の情報で、対応するテクスチャが補助映像である場合や、あるいはその逆などの場合は、両者の輪郭が一致する場合が多いために、補助映像の輪郭部分にそって残差値や復号値を埋めることで復号性能を向上できるとも考えられる。
【0109】
あるいは、予測画像を用いて前述の処理を実施してもよいし、両方法を組み合わせても構わない。
例えば、補助映像を用いて分割した領域をさらに予測画像を用いて分割するなどの方法が適用できる。またあるいは、先述の補助映像を参照したダウンサンプリング方法と組み合わせることによって、さらに復元性能を向上することも可能である。
ループフィルタは必要がなければ特にかけなくてもかまわないが、通常の映像符号化では、デブロッキングフィルタやその他のフィルタを使用して符号化ノイズを除去する。もしくは、RRUによる劣化を除去するためのフィルタを使用してもよい。また、このループフィルタを、復号画像アップデートと同様に、又は同時に適応的に生成してもよい。
【0110】
次に、エントロピー符号化部112は、量子化データをエントロピー符号化し符号データを生成する(ステップS10)。必要であれば、予測情報やその他の付加情報も符号化し符号データに含めても構わない。
全てのブロックについて処理が終了したら(ステップS11)、符号データを出力する。
【0111】
次に、映像復号装置について説明する。
図7は、本発明の第2実施形態による映像復号装置200aの構成を示すブロック図である。この図において、
図3に示す装置と同一の部分には同一の符号を付し、その説明を省略する。
この図に示す装置が
図3に示す装置と異なる点は、
図7に示すように、補助映像入力部210と、補助フレームメモリ211を新たに備えている点である。
補助映像入力部210は、復号画像アップデートに用いる参照用の映像を映像復号装置200aに入力する。補助フレームメモリ211は、入力された補助映像を記憶する。
【0112】
次に、
図8を参照して、
図7に示す映像復号装置200aの動作を説明する。
図8は、
図7に示す映像復号装置200aの動作を示すフローチャートである。
図8は、外部から符号化対象映像と相関を持つ補助映像を入力し、復号映像アップデートに利用する場合の処理を示している。
図8において、
図4に示す処理と同一の部分には同一の符号を付し、その説明を省略する。
【0113】
まず、符号データ入力部201は符号データを入力し、符号データメモリ202に記憶する。これと並行して、補助映像入力部210は、補助映像フレームを入力し、補助フレームメモリ211に記憶する(ステップS21a)。
なお、復号対象映像中の幾つかのフレームは既に復号されているものとし、参照フレームメモリ209に記憶されているものとする。
【0114】
以下、ステップS22からS24までは、
図4に示す処理動作と同様に実行する。
次に、仮復号部206は、高解像度予測画像に復号低解像度予測残差の対応する画素を足し合わせ、仮復号画像を生成する(ステップS25a)。
復号対象の符号データが補助映像を利用してサブサンプル位置の決定を実施しているものの場合には、ここでも補助映像を参照して低解像度残差の高解像度における対応位置を決定して構わない。
【0115】
次に、仮復号が終了したら、アップデート部207は、仮復号画像と、補助映像やその他の情報を用いて仮復号画像の未復号画素のアップデートを行い、高解像度復号画像を生成する。そして、ループフィルタ部208は生成された高解像度復号画像にループフィルタをかけ、その出力を参照ブロックとして参照フレームメモリ209に記憶する(ステップS26a)。
【0116】
アップデート方法はどのような方法を用いても構わない。ただし、この方法と映像符号化装置で使用したダウンサンプリングの方法とを互いに対応させることにより、より高い復号性能を得ることが可能である。ダウンサンプリング方法と対応する復号画像アップデート方法の例は前述のとおりである。
ループフィルタは必要がなければ特にかけなくてもかまわないが、通常の映像符号化では、デブロッキングフィルタやその他のフィルタを使用して符号化ノイズを除去する。もしくは、RRUによる劣化を除去するためのフィルタを使用してもよい。また、このループフィルタを、復号画像アップデートと同様に、又は同時に適応的に生成してもよい。
最後に、全てのブロックについて処理が終了したら(ステップS27)、復号フレームとして出力する。
【0117】
なお、
図6、
図8に示す処理動作は、その順序が前後しても構わない。
【0118】
<第3実施形態>
次に、本発明の第3実施形態による映像符号化装置及び映像復号装置を説明する。
図9は、本発明の第3実施形態による映像符号化装置100bの構成を示すブロック図である。この図において、
図5に示す装置と同一の部分には同一の符号を付し、その説明を省略する。
この図に示す装置が
図5に示す装置と異なる点は、
図9に示すように、補助映像予測画像・残差生成部115を新たに備えている点である。
補助映像予測画像・残差生成部115は、復号画像アップデートに用いる参照用の補助映像の予測画像と残差を生成する。以下では、この参照用の補助映像の予測画像および残差のことを、それぞれ補助予測画像・補助予測残差と呼ぶ。
【0119】
次に、
図10を参照して、
図9に示す映像符号化装置100bの動作を説明する。
図10は、
図9に示す映像符号化装置100bの動作を示すフローチャートである。
図10は、外部から符号化対象映像と相関を持つ補助映像を入力し、その予測画像と残差を生成し復号映像アップデートに利用する場合の処理を示している。
図10において、
図6に示す処理と同一の部分には同一の符号を付し、その説明を省略する。
【0120】
まず、ステップS1aとS2は第2実施形態と同様に実行する。
なお、ステップS1aにおいて入力される補助映像は、符号化対象映像と相関を持っているもので、かつ符号化対象映像の予測に用いる予測情報や、そこから推測できる予測情報によって予測画像を生成できるものであればどのようなものであっても構わない。
例えば、符号化対象映像が多視点映像のうちの一つの視点映像である場合、別視点の映像を補助映像として用いることができる。この場合、視点移動などの変換を考慮して、符号化対象映像で使用した予測ベクトルの変換などを行い、補助情報の予測ベクトルにするなど、任意の変換を行なって構わない。
【0121】
あるいは、符号化対象映像に対応するデプスマップが存在する場合にデプスマップを補助映像としてもよいし、符号化対象映像がデプスマップ(形式の情報)である場合には、対応するテクスチャを補助映像としても構わない。
この場合には、符号化対象映像の予測情報と同じ予測情報を用いて補助情報の予測画像を生成しても構わない。
【0122】
以下のステップS3〜S10までの処理はフレーム内の全てのブロックが順次処理されるまで、繰り返し実行する。
さらにステップS3とS4は、第2実施形態と同様に実行する。
符号化対象映像に対する予測画像と予測残差を生成したら、次に、補助映像予測画像・残差生成部115は、補助映像に対する予測画像と予測残差である補助予測画像と補助予測残差を生成する(ステップ4b)。
補助予測画像生成に使用する予測情報は、符号化対象映像と同じものを用いても構わないし、前述のように変換を施したものでも構わない。
【0123】
次に、残差ダウンサンプル部105は、高解像度予測残差のダウンサンプリングを実行し低解像度予測残差を生成する(ステップS5b)。
このときのダウンサンプリングに際して、補助予測画像と補助予測残差を参照しても構わない。例えば、補助予測残差の強度が強い画素から順にサンプリングするといった方法などが適用できる。あるいは、予め定められたサブサンプル位置のパターンの中から、補助予測残差の強度の強い画素をなるべく多くサンプリングするようなパターンを選択するといった方法も適用できる。
【0124】
次に、変換・量子化部106は低解像度予測残差を変換・量子化し、量子化データを生成する(ステップS6)。この変換・量子化は、復号側で正しく逆量子化・逆変換できるものであればどのような方法を用いても構わない。
変換・量子化が終了したら、逆量子化・逆変換部107は、量子化データを逆量子化・逆変換し復号低解像度予測残差を生成する(ステップS7)。
【0125】
次に、仮復号部108は、高解像度予測画像に復号低解像度予測残差の対応する画素を足し合わせ、仮復号画像を生成する(ステップS8b)。
前述のように補助予測画像や補助予測残差を利用してサブサンプル位置の決定を実施している場合には、ここでも同様の方法によって低解像度残差の高解像度における対応位置を決定して構わない。
【0126】
次に、仮復号が終了したら、アップデート部109は、仮復号画像と、補助予測画像、補助予測残差を用いて仮復号画像のアップデートを行い、高解像度復号画像を生成する。
そして、ループフィルタ部110はループフィルタをかけ、参照フレームのブロックとして参照フレームメモリ111に記憶する(ステップS9b)。
ここでは、ダウンサンプルにおいて予測残差値をサブサンプルして符号化した場合の、仮復号において一部の画素については正しい復号値がえられる場合のアップデート方法を説明する。また、この仮復号において正しい復号値が得られている画素のことを既復号画素と呼び、この画素については更新を行わないものとする。またこのとき、既復号画素以外の画素を仮復号画素と呼ぶ。
【0127】
アップデートの方法として、例えば第1、第2実施形態で示したような方法を、補助予測画像や補助予測残差を使用して実施しても構わないし、いかなる形で組み合わせても構わない。
例えば、補助映像と補助予測画像の両方で輪郭抽出や領域抽出を実施し、残差の集中する領域を推定するなどの方法が適用できる。
あるいは別の方法として、復号対象画像の予測残差は局所的には補助予測残差の強度に対応する強度分布を持つと仮定し、既知の残差値から復号画像の残差値の強度分布を推定し、この分布に応じて仮復号画素における予測残差を決定し、これを高解像度予測画像に足し合わせることによって復号値を決定する方法なども適用できる。
【0128】
また別の方法としては、映像と同様の方法で補助予測残差をダウンサンプリングして低解像度補助予測残差を生成し、同様に仮復号を行って補助仮復号画像を生成し、これを最もよく復号するような復号画像アップデートの方法やそのパラメータを決定し、決定した方法で映像の復号画像アップデートを行うといった方法も適用できる。
復号画像アップデートの方法は前述のいかなる方法から選択しても構わないし、また別の方法でも構わない。
またあるいは、先述の補助予測画像や補助予測残差を参照したダウンサンプリング方法と組み合わせることによって、さらに復元性能を向上することも可能である。
【0129】
次に、映像復号装置について説明する。
図11は、本発明の第3実施形態による映像復号装置200bの構成を示すブロック図である。この図において、
図7に示す装置と同一の部分には同一の符号を付し、その説明を省略する。
この図に示す装置が
図7に示す装置と異なる点は、
図11に示すように、補助映像予測画像・残差生成部212を新たに備えている点である。
補助映像予測画像・残差生成部212は、復号画像アップデートに用いる参照用の補助映像の予測画像と残差を生成する。以下では、この参照用の補助映像の予測画像および残差のことを、それぞれ補助予測画像・補助予測残差と呼ぶ。
【0130】
次に、
図12を参照して、
図11に示す映像復号装置200bの動作を説明する。
図12は、
図11に示す映像復号装置200bの動作を示すフローチャートである。
図12は、外部から符号化対象映像と相関を持つ補助映像を入力し、その予測画像と残差を生成し復号映像アップデートに利用する場合の処理を示している。
図12において、
図8に示す処理と同一の部分には同一の符号を付し、その説明を省略する。
【0131】
まず、符号データ入力部201は符号データが入力し、符号データメモリ202に記憶する。これと並行して、補助映像入力部210は補助映像フレームを入力し、補助フレームメモリ211に記憶する(ステップS21a)。
なお、復号対象映像中の幾つかのフレームは既に復号されているものとし、参照フレームメモリ209に記憶されているものとする。
【0132】
以下、ステップS22からS24までは、
図8に示す処理動作と同様に実行する。
復号対象映像に対する予測画像を生成したら、次に、補助映像予測画像・残差生成部212は、補助映像に対する予測画像と予測残差である補助予測画像と補助予測残差を生成する(ステップ24b)。
補助予測画像生成に使用する予測情報は、復号対象映像と同じものを用いても構わないし、前述のように変換を施したものでも構わない。
【0133】
次に、仮復号部108は、高解像度予測画像に復号低解像度予測残差の対応する画素を足し合わせ、仮復号画像を生成する(ステップS25b)。
前述のように補助予測画像や補助予測残差を利用してサブサンプル位置の決定を実施している場合には、ここでも同様の方法によって低解像度残差の高解像度における対応位置を決定して構わない。
【0134】
次に、仮復号が終了したら、アップデート部207は、仮復号画像と、補助予測画像や補助予測残差やその他の情報を用いて仮復号画像のアップデートを行い、高解像度復号画像を生成する。そして、ループフィルタ部208は生成された高解像度復号画像にループフィルタをかけ、その出力を参照ブロックとして参照フレームメモリ209に記憶する(ステップS26b)。
【0135】
アップデート方法はどのような方法を用いても構わない。ただし、この方法と映像符号化装置で使用したダウンサンプリングの方法とを互いに対応させることにより、より高い復号性能を得ることが可能である。ダウンサンプリング方法と対応する復号画像アップデート方法の例は先述のとおりである。
ループフィルタは必要がなければ特にかけなくてもかまわないが、通常の映像符号化では、デブロッキングフィルタやその他のフィルタを使用して符号化ノイズを除去する。もしくは、RRUによる劣化を除去するためのフィルタを使用してもよい。また、このループフィルタを、復号画像アップデートと同様に、又は同時に適応的に生成してもよい。
最後に、全てのブロックについて処理が終了したら(ステップS27)、復号フレームとして出力する。
【0136】
なお、
図10、
図12に示す処理動作は、その順序が前後しても構わない。
【0137】
前述の第1から第3の実施形態では、符号化対象フレームの全ブロックについてRRUを適用する例を説明したが、一部のブロックにのみ適用してもよい。また、ブロックによってダウンサンプル率を可変にしても構わない。
そのような場合には、RRU適用可否やダウンサンプル率を示す情報を符号化し付加情報に含めてもよいし、復号側に適用可否やダウンサンプル率を判別する機能を付け加えてもよい。例えば、RRU適用可否やダウンサンプル率を、予測画像を参照して決定しても構わない。
あるいは、他に参照する映像や画像やその他の付加情報がある場合には、それらを参照して決定しても構わない。それらが符号化されあるいは伝送される場合には、符号化ノイズや伝送エラーによって復号不能になることを防ぐための回避機能や訂正機能を付け加えるとよい。
【0138】
また、前述の第1から第3の実施形態では、全てのブロックで復号画素を適応的に更新(仮復号画像の仮復号値を更新)しているが、演算量の低減のため、更新を実施せず十分な性能が得られるブロックについては更新を実施しなくても構わない。
また、更新処理の代わりに既定の補間フィルタで補間するなどで十分な性能が得られるブロックについてはそうしたフィルタを使用してもよい。その場合、既定のフィルタを使用するか復号画像アップデートを行うかを、映像や補助情報を参照して切り替えてもよい。
【0139】
また、前述の第1から第3の実施形態では、符号化装置・復号装置共に復号画像アップデートはループの内部でブロック毎に実行しているが、可能ならば外部で実行しても構わない。
また、ブロック毎に行う場合でも、ブロックの1行目や1列目においては既に復号済みの左上・上・左ブロックの画素を参照し、復号に用いてもかまわない。
【0140】
また、前述の第1から第3の実施形態では、復号時に、符号データを逆量子化・逆変換した復号信号を参照して復号画像アップデートを行なっているが、逆量子化前の量子化データや逆変換前の変換データを参照して復号画像アップデートを行なっても構わない。また、符号化対象映像の予測残差に変換・量子化を施し量子化データとした上でエントロピー符号化を行い符号データを生成しているが、変換・量子化を行わずに符号化しても構わない。
【0141】
また、前述の第1から第3の実施形態では、符号化対象映像信号中の輝度信号や色差信号を特に区別していないが、区別しても構わない。
例えば色差信号にのみダウンサンプリング・アップサンプリングを実行し、輝度信号は高解像度のまま符号化するなどしても構わないし、逆でも構わない。
あるいは、それぞれの復号画像アップデートを同時に行なっても構わないし、別々に行なっても構わない。その場合に、例えば輝度信号の復号画像や、復号画像アップデートによって得られるその他の情報を参照して、色差信号の復号画像アップデートを行うなどしても構わないし、逆でも構わない。
【0142】
また他の例としては、仮復号値を初期値とし、予測値や上記例に挙げたような様々な補助情報に基づく変数や、及びそれらの差分値や平均値等によって定義した確率密度関数によって最終復号値を推定する復号画像アップデートの方法などが適用できる。
確率密度関数の例としては、画像の各画素の生起確率がその周辺画素の値に依存して決まるようなモデル、例えばガウスマルコフ確率場(GMRF)を応用したもの等が適用できる。求めるべき最終復号値をx
u、変数の集合をN
uとすると、この生起確率は(1)式のように定義される。
【数1】
【0143】
画像全体、あるいはブロック毎や隣接画素セット毎の求めるべき最終復号値の集合をx={x
u}とすると、その擬似尤度PLは以下のように表され、この擬似尤度PLが最大になるように、(2)式により各x
uを決定する。
【数2】
【0144】
上記式(1)において、μは復号値の平均値とするが、これは画像全体での平均値でも構わないし、ブロック全体での平均値でも構わないし、隣接画素の平均値でも構わない。また、この平均値は、サブサンプルされた画素のみを用いて映像復号装置側で求めても構わないし、映像符号化装置側で高解像度画像を用いて画像全体で求めたもの等を符号化して付加情報として符号データに含めても構わない。
【0145】
β
iは制御パラメータであり、一般的には、画像全体、あるいはブロック毎や隣接画素セット毎の、原画像あるいはいずれかの方法で符号化し復号した画像の画素値の集合をx={x
u}として、擬似尤度PLが最大になるように決定する。
これは画像全体で同じ値を使用しても構わないし、ブロック毎に変えても構わないし、組ごとに変えても構わない。また、予め適当に定められたものを使用しても構わないし、符号化時に決定し、その値やあるいは識別するための付加情報を符号化して符号データに含めても構わない。またこの値は、画像毎に推定しても構わないし、予め学習データを用いて適当なものを推定しておいても構わない。
【0146】
各x
uの決定にあたっては、何れかの方法を用いて最適化問題を解いても構わない。また、単純に擬似尤度PLの最大化を図る場合x
u=μとなるため、別に制約条件を加えても構わない。例えば、画像の全体の濃度ヒストグラムを初期状態から変化させない等といった条件が考えられる。
【0147】
あるいは、予め定められた値のセットの中から生起確率の高いものを選択するとして、その組み合わせを最適化しても構わない。
セットに含まれる値としては、例えば隣接するサブサンプル画素の復号値の平均値や、同じ組のサブサンプル画素の復号値などが考えられるが、他にどのような値を定めても構わない。
あるいは、画素を全て独立に更新するとして、それぞれ生起確率の最も高いものに決定する等しても構わない。
または、画素に優先順位をつけ、順に決定していくようにしてもよい。
【0148】
また、確率密度関数は予め定義しておいても構わないし、復号値更新にともなって周辺の画素の確率密度関数を局所的に更新するようにしてもよい。
前述の例ではガウスマルコフ確率場(GMRF)を使った復号の方法を説明したが、確率密度関数はいかなるものを使っても構わないし、予め学習データを用いて適当なものを推定しておいても構わない。
関数に含まれる各パラメータも、予め定められたものを使用しても構わないし、学習により推定したものを使用しても構わない。また、この関数による確率値もしくは求める復号値を予め求めておき、参照しても構わない。
【0149】
また、符号データを逆多重化し補助情報符号データと映像符号データとに分離し、補助情報符号データを復号することにより補助情報を生成するようにしてもよい。
【0150】
以上説明したように、ダウンサンプリングされた予測残差を用いて画像を仮に復号し、その仮復号画像と、符号化対象映像と相関を持つ何らかの情報を参照しながら、各処理ブロックで適応的に最終の復号画像を生成することによって、RRUにおける予測残差アップサンプリングによる品質低下やブロック歪みを回避し、最終復号画像を全解像度かつよい品質で再構成することができる。
これにより、RRUモードを利用し符号化効率を向上し、一方で主観品質を充分保つことができる。
【0151】
なお、以上説明した映像符号化装置及び映像復号装置の処理は、コンピュータとソフトウェアプログラムとによっても実現することができ、そのプログラムをコンピュータで読み取り可能な記録媒体に記録して提供することも、ネットワークを通して提供することも可能である。
図13は、映像符号化装置をコンピュータとソフトウェアプログラムとによって構成する場合のハードウェア図である。
本システムは:
・プログラムを実行するCPU30
・CPU30がアクセスするプログラムやデータが格納されるRAM等のメモリ31
・カメラ等からの符号化対象の映像信号を映像符号化装置内に入力する符号化対象映像入力部32(ディスク装置などによる、映像信号を記憶する記憶部でもよい)
・
図2、
図6、
図10に示す処理動作をCPU30に実行させるソフトウェアプログラムである映像符号化プログラム351が格納されたプログラム記憶装置35
・CPU30がメモリ31にロードされた映像符号化プログラムを実行することにより生成された符号データを、例えばネットワークを介して出力する符号データ出力部36(ディスク装置などによる、符号データを記憶する記憶部でもよい)
とが、バスで接続された構成になっている。
この他に、第2、3実施形態で説明したような符号化を実現する場合に必要であれば、例えばネットワークを介して補助情報を入力する補助情報入力部33(ディスク装置などによる、補助情報信号を記憶する記憶部でもよい)をさらに接続する。
また、図示は省略するが、他に、符号データ記憶部、参照フレーム記憶部などのハードウェアが設けられ、本手法の実施に利用される。また、映像信号符号データ記憶部、予測情報符号データ記憶部などが用いられることもある。
【0152】
図14は、映像復号装置をコンピュータとソフトウェアプログラムとによって構成する場合のハードウェア図である。
本システムは:
・プログラムを実行するCPU40
・CPU40がアクセスするプログラムやデータが格納されるRAM等のメモリ41
・映像符号化装置が本発明による手法により符号化した符号データを映像復号装置内に入力する符号データ入力部42(ディスク装置などによる、符号データを記憶する記憶部でもよい)
・
図4、
図8、
図12に示す処理動作をCPU40に実行させるソフトウェアプログラムである映像復号プログラム451が格納されたプログラム記憶装置45
・CPU40がメモリ41にロードされた映像復号プログラムを実行することにより生成された復号映像を、再生装置などに出力する復号映像出力部46
とが、バスで接続された構成になっている。
この他に、第2、3実施形態で説明したような復号を実現する場合に必要であれば、例えばネットワークを介して補助情報を入力する補助情報入力部43(ディスク装置などによる、補助情報信号を記憶する記憶部でもよい)をさらに接続する。
また、図示は省略するが、他に、参照フレーム記憶部などのハードウェアが設けられ、本手法の実施に利用される。また、映像信号符号データ記憶部、予測情報符号データ記憶部などが用いられることもある。
【0153】
なお、
図1、5、9に示す映像符号化装置、及び、
図3、7、11に示す映像復号装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより映像符号化処理及び映像復号処理を行ってもよい。
ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0154】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0155】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行っても良い。