符号化装置、符号化プログラム、復号化装置、復号化プログラム及び配信システム
【課題】 動画像の画面において不可視化する領域が、画面ごとに移動してもそれぞれの画面に係るデータの符号化及び復号化をする。
【解決手段】 本発明は、動画像を画面のブロック単位で符号化する符号化装置を搭載した動画像提供装置と、動画像を画面のブロック単位で復号化する復号化装置を搭載した動画像受信装置とを備える配信システムに関する。符号化装置は、画面ごとの不可視領域に属するブロックの識別情報を保持する手段と、通常領域ブロックは不可視領域ブロックに係るデータを参照せずに符号化し、不可視領域ブロックは鍵情報を用いなければ元の画像を正常に表示させることができないように符号化する手段とを有する。また、復号化装置は、不可視領域に属するブロックの識別情報を保持する手段と、鍵情報を用いて不可視領域ブロックに係る画像を正常に表示させるように復号化する手段とを有することを特徴とする。
【解決手段】 本発明は、動画像を画面のブロック単位で符号化する符号化装置を搭載した動画像提供装置と、動画像を画面のブロック単位で復号化する復号化装置を搭載した動画像受信装置とを備える配信システムに関する。符号化装置は、画面ごとの不可視領域に属するブロックの識別情報を保持する手段と、通常領域ブロックは不可視領域ブロックに係るデータを参照せずに符号化し、不可視領域ブロックは鍵情報を用いなければ元の画像を正常に表示させることができないように符号化する手段とを有する。また、復号化装置は、不可視領域に属するブロックの識別情報を保持する手段と、鍵情報を用いて不可視領域ブロックに係る画像を正常に表示させるように復号化する手段とを有することを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化装置、符号化プログラム、復号化装置、復号化プログラム及び配信システムに関し、例えば、配信対象のコンテンツ自体に著作権や肖像権保護の為に何らかの保護機能を与えて配信するシステムに適用し得る。
【背景技術】
【0002】
インターネットを通し符号化圧縮されたデジタルフォーマットの動画像を簡単に入手できるようになってきたが、これらは画質を落とさず容易にコピー可能で、通常はハードウェアによる使用制限もしていないため、著作権や肖像権保護の為にコンテンツ自体に何らかの保護機能を与える必要がある。
【0003】
従来、この種のコンテンツ保護の方法には、可視透かしと呼ばれる方法があった。可視透かしを適用したものには、単純には以下の第1及び第2の方法が考えられる。また、特許文献1に記載されている、以下の第3の方法があった。
【0004】
従来の第1の方法は、画面の一部を復号化装置で不可視化する方法で、キーを持ったユーザのみが正常にデコードされたコンテンツを視聴できるようにする方法である。
【0005】
従来の第2の方法は、動画像の符号化前に不可視化してしまう方法で、画面の一部に特殊なマスクをかける。キーを待ったユーザのみがこのマスクを解除する事ができる。キーを持っていないユーザでも、特殊な復号化装置無しで可視透かしが無い部分のみなら視聴する事が可能である。
【0006】
従来の第3の方法は、特許文献1に記載の方法であり、符号化過程で中間データとして生成される変換係数に可逆変換をかける方法である。キーを持っているユーザの復号化中に逆変換を行う事ができ、正常なコンテンツの視聴が可能となる。
【特許文献1】特開2004−336529号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、従来の第1〜第3の方法では、不可視化する部分が必ず同じ位置で同じ形である必要があるため、不可視化する部分が移動した場合における符号化及び復号化ができないという問題点があった。
【0008】
そのため、動画像の画面において不可視化する領域が、画面ごとに移動しても、それぞれの画面に係るデータの符号化及び復号化をすることができる符号化装置、符号化プログラム、復号化装置、復号化プログラム及び配信システムが望まれている。
【課題を解決するための手段】
【0009】
第1の本発明の符号化装置は、(1)動画像を構成するそれぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化する符号化装置において、(2)鍵情報を用いなければ元の画像を可視化させることができないように符号化する、画面内符号化された不可視領域ブロックを含む画面で異なる不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、(3)それぞれの画面についてブロック単位で符号化するものであって、不可視領域ブロックについては、上記鍵情報を用いなければ元の画像を可視化させることができないように符号化し、不可視領域に属さない通常領域ブロックについては、不可視領域ブロックに係るデータを参照せずに符号化する符号化手段とを有することを特徴とする。
【0010】
第2の本発明の復号化装置は、(1)それぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化された動画像を復号化する復号化装置において、(2)鍵情報を用いなければ元の画像を可視化させることができないように符号化されている、画面内符号化された不可視領域ブロックを含む画面で異なる不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、(3)それぞれの画面について、ブロック単位に符号化されたデータを復号化するものであって、上記不可視領域情報保持手段が保持している情報と上記鍵情報とを用いて、それぞれの画面における不可視領域ブロックに係る画像を正常に表示させるように復号化する復号化手段とを有することを特徴とする。
【0011】
第3の本発明の配信システムは、(1)動画像を構成するそれぞれの画面に係るデータを符号化して、符号化済動画像データを提供する動画像提供装置と、上記動画像提供装置から、符号化済動画像データを受信して復号化する動画像受信装置とを備える配信システムにおいて、(2)上記動画像提供装置は、請求項1に記載の符号化装置を用いて、動画像を構成するそれぞれの画面に係るデータを符号化し、(3)上記動画像受信装置は、請求項6に記載の復号化装置を用いて、符号化済動画像データを復号化することを特徴とする。
【0012】
第4の本発明の符号化プログラムは、(1)動画像を構成するそれぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化する符号化装置に搭載されたコンピュータを、(2)画面内符号化された不可視領域ブロックを含む画面について、鍵情報を用いなければ元の画像を正常に表示させることができないように符号化する不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、(3)それぞれの画面についてブロック単位で符号化するものであって、不可視領域ブロックについては、上記鍵情報を用いなければ元の画像を正常に表示させることができないように符号化し、不可視領域に属さない通常領域ブロックについては、不可視領域ブロックに係るデータを参照せずに符号化する符号化手段として機能させることを特徴とする。
【0013】
第5の本発明の復号化プログラムは、(1)それぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化された動画像を復号化する復号化装置に搭載されたコンピュータを、(2)鍵情報を用いなければ元の画像を可視化させることができないように符号化されている、画面内符号化された不可視領域ブロックを含む画面で異なる不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、(3)それぞれの画面について、ブロック単位に符号化されたデータを復号化するものであって、上記不可視領域情報保持手段が保持している情報と上記鍵情報とを用いて、それぞれの画面における不可視領域ブロックに係る画像を正常に表示させるように復号化する復号化手段として機能させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、動画像の画面において不可視化する領域が、画面ごとに移動しても、不可視領域の位置情報を該当する画面内符号化されたブロックだけに入れる事で不可視領域を許可されていない者に対して視聴不可にする事が可能である。
【発明を実施するための最良の形態】
【0015】
(A)主たる実施形態
以下、本発明による符号化装置、符号化プログラム、復号化装置、復号化プログラム及び配信システムの一実施形態を、図面を参照しながら詳述する。
【0016】
(A−1)実施形態の構成
図1は、この実施形態に係る配信システム100の全体構成を示した説明図である。
【0017】
配信システム100は、動画像提供装置1及び動画像受信装置2を有している。
【0018】
動画像提供装置1は、動画像を構成する各画面に係るデータを符号化して、動画像受信装置2にその符号化したデータを提供するものである。動画像提供装置1は、符号化装置10を有しており、符号化装置10を用いて各画面に係るデータを符号化して、動画像受信装置2に提供する。なお、動画像提供装置1と動画像受信装置2との間は、他の装置やネットワークなどを中継して接続するようにしても良く、その接続方法は限定されないものである。また、図1においては、配信システム100において、動画像提供装置1及び動画像受信装置2は、それぞれ一つの構成となっているがその数は限定されないものである。
【0019】
動画像受信装置2は、動画像提供装置1から、符号化されたデータを受信すると、それを復号化して動画像を出力するものである。動画像受信装置2は、復号化装置20を有しており、復号化装置20を用いて受信したデータを復号化する。
【0020】
次に、符号化装置10の詳細構成について説明する。
【0021】
符号化装置10は、画面ごとに設定された領域を正常な状態には見えなくする符号化を行い、復号化装置20において、キーを適用して復号化した場合のみ正常な状態に見えるようにするものである。なお、以降の説明において、各画面において、正常な状態にはみえなくすることを「不可視化」と表すものとし、不可視化された画面を正常な状態にみえるようにすることを「可視化」と表すものとする。
【0022】
符号化装置10は、例えば、CPU、ROM、RAM、EEPROM、ハードディスクなどのプログラムの実行構成に、実施形態の符号化プログラム等をインストールすることにより構築しても良く、その場合でも機能的には図1により示すことができる。
【0023】
符号化装置10における動画像の符号化方式としては、この実施形態においては、符号化装置10における動画像の符号化形式は、例として、MPEG(MPEG4 Advanced Video Coding;MPEG−4 AVC)として説明するが、MPEGに限定されず、他の形式のものであっても良い。
【0024】
符号化装置10は、入力バッファ11、ブロック分割部12、符号化方式決定部13、画面内符号化部14、画面間符号化部15、出力バッファ16、不可視化制御部17、不可視化情報リスト18を有している。
【0025】
入力バッファ11は、動画像提供装置1においてキャプチャされた動画像の各画面(動画像を構成する画像1枚づつ)に係るデータが与えられるとそれを蓄積し、蓄積した各画面に係るデータを、ブロック分割部12に与える。入力バッファ11は、動画像などの入力データを、記録媒体や装置内蔵の記憶装置から動画像などのデータを取り込んだり、外部装置から取り込んだりしてもよく、その入力方法は限定されないものである。
【0026】
ブロック分割部12は、入力バッファ11から各画面にかかるデータが与えられると、その画面に係るデータをブロックに分けて一つずつ取り出し、画面内符号化部14若しくは画面間符号化部15、又は、画面内符号化部14及び画面間符号化部15の両方に与える。画面内符号化(例えば、画面内の画素の局所的類似性を使いブロック単位で圧縮する)の時は画面内符号化部14のみに、画面間符号化の時は方式よって両方にもしくは画面間符号化部15のみにブロックに係るデータを与えるようにしても良い。又、不可視化制御部17の制御に応じて、画面内符号化部14のみに送るようにしても良い。
【0027】
画面内符号化部14は、ブロック分割部12から渡されたブロックに係るデータについて、そのブロックが属する画面内のブロックのみを参照して符号化(以下、「画面内符号化」という)する。基本的にはいくつかの予測モードを用いて比較し、最適な符号化方法を決定するようにしても良いが、不可視化制御部17の制御を受け、周辺ブロックに対して独立な符号化モードのみで符号化するようにする場合がある。これは周辺ブロックが不可視領域にある場合である。また、不可視化制御部17の制御を受け、例えば、変換係数を可逆変換、もしくは、暗号化してランダムな値におきかえたデータを符号化データとして出力するようにする場合がある。これは不可視領域にあるブロックに対する処理で、次に処理する画面の不可視領域のブロックにこれらを参照させる事で正しい復号が出来なくなる様にする為である。
【0028】
図2は、画面間における動きベクトルの例を示した説明図である。
【0029】
画面間符号化部15は、図2に示すような各ブロックが画面間でどれだけ動いたかを示す動きベクトルを求めて符号化する。すなわち、画面間符号化部15は、符号化の対象となっているブロックのデータを符号化する際に、そのブロックが属する画面以外の画面のブロックを参照して符号化(以下、「画面間符号化」という)する。この実施形態においては、例として、画面間符号化部15は、画面間符号化を行う際には、符号化対象となっているブロックが属する画面の一つ前の画面のブロックのデータを参照して符号化するものとして説明する。
【0030】
画面間符号化部15は、不可視化制御部17の制御を受け、特定領域にあるブロックが参照する参照画面中の領域が特定領域に限定されるようにし、特定領域以外のブロックが参照する参照画面中の領域が特定領域以外に限定されるよう制御する。
【0031】
不可視化制御部17は、外部から毎画面、不可視領域に係る情報(以下、「入力不可視領域情報」という)の入力を受ける。不可視化制御部17は、記録媒体や装置内蔵の記憶装置から不可視領域に係る情報を取り込んだり、外部装置から取り込んだりしてもよく、入力方法は限定されないものである。不可視化制御部17において、入力不可視領域情報は、各領域の識別番号(以下、「領域番号」という)とブロックの識別番号(以下、「ブロック番号」という)の集合(以下、「ブロック集合」という)の対で表される。
【0032】
入力不可視領域情報は、例えば、以下の(1)式のような形式で表記しても良い。なお、block1,block2,…はブロック番号を表している。
【0033】
(領域番号、(block1,block2,…,blockN)) …(1)
(1)式において、ブロック番号で指定されるブロックは、キーがない限りは可視化できない部分である。ブロック番号の集合で指定される領域は互いに重なり合わないように設定するのが望ましい。例えば、領域番号Iのブロックの集合と領域番号Jのブロックの集合があった場合、IとJは共通集合を持たないということである。また、この場合、IとJに属するブロック同士は接していないことが望ましい。すなわち、領域番号Iのブロック集合に属するブロックと領域番号Jのブロック集合に属するブロックとでは隣あっていないことが望ましい。
【0034】
入力不可視領域情報については、予めユーザにより作成されたデータを用いても良いし、符号化装置10に入力される動画像の各画面において所定のパターンについてパターンマッチングを行い、該当するパターンの画像が見つかった場合に、そのパターンの領域を不可視領域とみなして、入力不可視領域情報を生成するようにしても良く、その生成方法や入力方法は限定されないものである。また、ユーザがタッチパネルやスタイラスペンなどを用いて、符号化対象の画面を見ながら、不可視領域を指定し、不可視化制御部17に入力不可視領域情報が入力される手段を有しても良い。
【0035】
不可視化情報リスト18は、上述の入力不可視領域情報に基づいた情報(以下、「登録不可視領域情報」という)を登録して、その情報を不可視化制御部17に提供する記憶手段である。また、不可視化情報リスト18に登録されている情報は、不可視化制御部17により更新される。
【0036】
不可視化情報リスト18では、登録不可視領域情報は、例えば、以下の(2)に示すような形式で記録しても良い。(2)式において、Rnumは領域番号を示している。NewBlocksは、最新の入力不可視領域情報に係るブロック集合である。OldBlocksは、前のブロック集合、すなわち、前画面における入力不可視領域情報に係るブロック集合である。flagは、当該登録不可視領域情報の更新状況を示すフラグ情報であり、後述するこの実施形態の動作の説明において詳細を説明する。
【0037】
(領域番号、新しいブロック集合,前のブロック集合、更新フラグ)=
(Rnum,NewBlocks,OldBlocks,flag)=
(Rnum,(block1,block2,…,blockN),
(block1,block2.…,blockM),flag) …(2)
不可視領域情報は不可視化情報リスト18で以下の様に管理される。各フレームの処理が始まる前に入力された各不可視領域情報に対し、領域番号が不可視化情報リスト18に登録されていない場合、新たな不可視領域情報としてこの対が登録される。また、入力された不可視領域情報の領域番号が、不可視化情報リスト18に既に登録されている場合はNewBlocksの内容を、OldBlocksに移し、NewBlocksの内容を入力された新しいブロック集合に更新する。さらに、不可視化情報リスト18に既に登録されている不可視領域情報中、入力された不可視領域情報の領域番号と同一のものがない場合、この不可視領域情報は不可視領域情報のリストから削除される。不可視化制御部17は、この不可視化情報リスト18の登録情報に基づき、ブロック分割部12、符号化方式決定部13、画面内符号化部14、画面間符号化部15を制御し、該当ブロックを不可視化する符号化をさせる。
【0038】
符号化方式決定部13は、画面内符号化部14と画面間符号化部15の符号化結果を比較し、符号化効率の良い方を選択して出力バッファ16に与える。また、画面内符号化を行うか画面間符号化部を行うかをその都度判定する必要がない場合には、符号化装置10において符号化方式決定部13を省略しても良い。例えば、周期的に画面内符号化が行われその他の画面は画面間符号化になり、画面間符号化を行う画面のブロックでは画面内符号化が行われない場合には、画面内符号化を行うか画面間符号化部を行うかをその都度判定する必要がないため、符号化方式決定部13を省略するようにしても良い。
【0039】
また、符号化方式決定部13から、出力バッファ16に与えられるデータは、例えば、「動画像の符号化データ(既存の符号化装置から出力されるものと同様のもの)」+「不可視領域ブロックの位置」(+「暗号化されたブロックの符号化情報」)となる。
【0040】
「不可視領域のブロックの位置」は、各画面の入力不可視領域情報に相当する情報である。符号化方式決定部13は、符号化方式として画面内符号化を行うと判定された画面、及び、最初に不可視領域が現れた画面などについては、「不可視領域のブロックの位置」を出力するものとする。また、画面内符号化を適用したブロックと、画面間符号化を適用したブロックが混在する画面についても、「不可視領域のブロックの位置」を出力するようにしても良い。その際、画面内符号化を行ったブロックについてだけ不可視領域のブロックの位置として出力するようにする。
【0041】
また、「暗号化されたブロックの符号化情報」は正常なブロックを符号化して得られるデータを暗号化したものである。これは、例えば、ブロックを不可視化する際に、正常に変換された変換係数を符号化したものを暗号化し、代わりにランダムな値を符号化した情報を暗号化したデータと一緒に出力する方式をとった際に出力されるものである。出力される周期は「不可視領域のブロックの位置」と同じである。また、例えば、上述のような方式をとらずキーに従属した可逆変換(キーがない限り正しい逆変換が不可能な変換)を用いた場合には、「暗号化されたブロックの符号化情報」は省略しても良い。
【0042】
出力バッファ16は、符号化方式決定部13からの出力されたデータを蓄積して出力し、動画像提供装置1は、出力バッファ16から出力されたデータを、動画像受信装置2(復号化装置20)に与える。なお、出力バッファ16では、出力データを、ディスク装置等の記憶装置に記憶させたり、上述のように他の装置(例えば、動画像受信装置2)に与えるようにしても良く、その出力方法は限定されないものである。
【0043】
次に、復号化装置20の構成の詳細について説明する。
【0044】
復号化装置に関しては、単に不可視領域を見えないままにして視聴する分には上述の追加されたデータ(「不可視領域ブロックの位置」(+暗号化されたブロックの符号化情報))を動画像の符号化データのユーザ領域にいれておけば、ユーザ領域の内容を無視すればよいだけなので既存の復号化装置の構成でも、復号化処理を行うことはできる。この実施形態では、復号化装置20は、例えば、入力したキーが正しいと判定されたときのみ不可視領域のないコンテンツの視聴ができるようにするための構成を有しているものとする。また、「動画像の符号化データ」で、書き換えがなされた部分は画面内符号化されたブロックに限られる場合でも、ユーザデータに記載された位置情報とキーを元に、元の状態に戻すようにする構成を有する必要がある。
【0045】
復号化装置20は、動画像符号化解析部21、ユーザデータ解析部22、エントロピー復号化部23、キー解析部24、動画像構成部25を有している。復号化装置20は、例えば、CPU、ROM、RAM、EEPROM、ハードディスクなどのプログラムの実行構成に、実施形態の復号化プログラム等をインストールすることにより構築しても良く、その場合でも機能的には図1により示すことができる。
【0046】
動画像符号化解析部21は、入力されたデータを、ユーザデータと動画像の符号化データに切り分け、ユーザデータはユーザデータ解析部22に与え、動画像の符号化データはエントロピー復号化部23に与える。なお、ユーザデータには、上述の不可視領域ブロックの位置、及び、暗号化されたブロックの符号化情報が含まれているものとする。
【0047】
ユーザデータ解析部22は、動画像符号化解析部21から与えられたユーザデータを解析して、上述の不可視領域ブロックの位置、及び、暗号化されたブロックの符号化情報を切り出して登録し、その登録した情報を、エントロピー復号化部23に提供するものである。
【0048】
キー解析部24は、キーに係る情報を読込んで、読込んだキーに係る情報を、エントロピー復号化部23に与えるものである。キー解析部24は、キーに係る情報を読込む処理において、キーボードから入力された情報を取り込んだり、記録媒体や装置内蔵の記憶装置から情報を取り込んだり、外部装置からダウンロードによって情報を取り込んだりしても良く、キーを読込む処理の方法は限定されないものである。
【0049】
また、キー解析部24は、キーに係る情報が正しいか否かを判定し、正しい場合のみエントロピー復号化部23に、キーに係る情報を与えるようにしても良い。キーが正しいか否かは、例えば、配信システム100が別途認証サーバを備えてその認証サーバにより正しいか否か認証するようにしても良いし、復号化装置20内に設定されたキーと比較して判定するようにしても良く、キーの内容が正しいか否か判定する方法は限定されないものである。
【0050】
エントロピー復号化部23は、動画像符号を復号し変換係数、動きベクトル等を取り出すものである。また、エントロピー復号化部23は、ユーザデータ解析部22に登録されている情報や、キー解析部24から与えられたキーに係る情報などに基づいて、不可視領域に属するブロックの復号化を行う。
【0051】
動画像構成部25は、エントロピー復号化部23にから、復号化されたデータが与えられると、与えられたデータにおける復号化された変換係数、動きベクトルから、元の動画像の画面に係るデータ(信号)を構成して出力するものである。動画像構成部25は、出力データを、ディスク装置等の記憶装置に記憶させたり、ディスプレイなどの表示装置に与えて出力するようにしても良く、その出力方法は限定されないものである。
【0052】
(A−2)の実施形態の動作
次に、以上のような構成を有するこの実施形態の配信システム100における符号化装置10(動画像提供装置1)及び復号化装置20(動画像受信装置2)の動作を説明する。
【0053】
まず、符号化装置10(動画像提供装置1)において、新しい画面と入力不可視領域情報が、符号化装置10に入力された際の、不可視化制御部17の動作を説明し、次に分割されたブロックに対して不可視化制御部17がどの様な制御を行い、各部を動作させるのかを説明する。
【0054】
(A−2−1)不可視化情報リストの更新の動作
まず、不可視化制御部17において、入力不可視領域情報が与えられた場合に、不可視化情報リスト18に登録されている登録不可視領域情報の内容が更新される際の動作について説明する。
【0055】
図3は、不可視化制御部17により、不可視化情報リスト18の登録情報が更新される際の動作について示したフローチャートである。
【0056】
不可視化制御部17では入力不可視領域情報が与えられると、まず、不可視化情報リストの内容が更新に用いる変数が初期化される。図3において、用いられる変数としてはIとflagを用いるが、それぞれの変数の詳細については後述する。Iの初期値は、外部(動画像提供装置1)から与えられた入力不可視領域情報の数となっている。また、不可視化情報リスト18に登録されている、全ての登録不可視領域情報のflagは、flag=0に初期化される(S101)。
【0057】
次に、Iの値がチェックされ、0であった場合には、後述するステップS107から動作し、0でなかった場合には、後述するステップS103から動作する(S102)。
【0058】
そして、上述のステップS102においてI=0でなかった場合には、上述のステップS101において与えられた入力不可視化情報のうち、任意の入力不可視化情報に係る領域番号を有する登録不可視領域情報が、不可視化情報リスト18に登録されているか否かが検索される。そして、その領域番号の登録不可視領域情報が、既に不可視化情報リスト18に登録されていた場合には、後述するステップS104から動作し、登録されてなかった場合には後述するステップS105から動作する(S103)。
【0059】
上述にステップS103において、検索対象の領域番号を有する登録不可視領域情報が既に不可視化情報リスト18に登録されていた場合には、検出された不可視領域情報について、OldBlocksの内容が、NewBlocksの内容に置き換えられ、NewBlocksに入力不可視領域情報のブロック集合が登録される。そして、検出された不可視領域情報において、flagは1に更新される(S104)。
【0060】
一方、上述のステップS103において、検索対象の領域番号を有する登録不可視領域情報が不可視化情報リスト18に登録されていなかった場合には、入力不可視領域情報を用いて、新たな登録不可視領域情報が、不可視化情報リスト18に登録される。新たな登録不可視領域情報において、NewBlocksには、入力不可視領域情報のブロック集合が登録され、flagは2に更新される(S105)。
【0061】
上述のステップS104による登録不可視領域情報の更新、又は上述のステップS105による登録不可視領域情報の新規登録がされると、変数IがI−1に更新され(S106)、上述のステップS102から動作する。このようにして、I=0となるまで、すなわち、全ての入力不可視領域情報に基づいて登録不可視領域情報の更新が完了するまで、上述のステップS102〜S106の処理が繰り返される。
【0062】
上述のステップS102において、I=0と判定されると、次に、変数Iは、不可視化情報リスト18において登録されている登録不可視領域情報の数に変更される(S107)。
【0063】
次に、Iの値がチェックされ、0であった場合には、不可視化情報リスト18の登録情報の更新の処理は終了され、0でなかった場合には、後述するステップS109から動作する(S108)。
【0064】
そして、上述のステップS108においてI=0でなかった場合には、不可視化情報リスト18においてI番目に登録されている登録不可視領域情報(以下、「不可視情報I」という)が更新済みであるか否かが、flagの情報に基づいて判定される。不可視情報Iが更新済の場合には後述するステップS111から動作し、更新済でない場合には、後述するステップS110から動作する(S109)。なお、上述のステップS102〜S106の処理により、flag=0の場合の場合は、当該登録不可視領域情報は更新済でないことを示し、flag=1又はflag=2の場合には、当該登録不可視領域情報は更新済であることを示すことになる。
【0065】
上述のステップS109において、不可視情報Iは更新済でないと判定された場合には、不可視化情報リスト18から、不可視情報Iは削除される(S110)。
【0066】
そして、上述のステップS109において、不可視情報Iが更新済と判定された場合、又は、上述のステップS110において、不可視情報Iが削除された場合には、IがI−1に更新され、上述のステップS108の処理から再度動作する(S111)。このようにして、I=0となるまで、すなわち、不可視化情報リスト18に登録されている登録不可視領域情報の全てについて更新済か否か判定され、更新済でないものは全て削除される。
【0067】
(A−2−2)周辺ブロック集合の抽出処理
不可視化制御部17では、不可視化情報リスト18の更新(上述の図3のフローチャート参照)が終了すると、次に、上述の図3のフローチャートにおいて、flag=1又は2に設定された登録不可視領域情報で指定されているブロックの領域(以下、「不可視領域」という)の周辺にあって、不可視領域と接した位置のブロック(以下、「周辺ブロック」という)の集合(以下、「周辺ブロック集合」という)の抽出が行われる。
【0068】
図4は、不可視領域及び周辺ブロックの例について示した説明図である。
【0069】
この実施形態では、例えば、図4に示すように、ブロック201〜205が配置されている場合を想定すると、ブロック202〜205のいずれかのブロックが、不可視領域に属するブロックである場合に、ブロック201は周辺ブロック集合に属するものとする。なお、例えば、ブロック201が、ブロック202〜205以外のブロックを参照して符号化する可能性がある場合には、他の位置のブロックが、不可視領域に属するブロックである場合にも、ブロック201を周辺ブロック集合に属するものとしても良い。
【0070】
周辺ブロック集合のブロックは、画面内符号化を行う場合に、不可視領域を参照して予測を行う可能性があるブロックなので、これらを画面の符号化処理が始まる前に求めておき符号化する際制限を与える。また、画面間符号化処理の際も、登録不可視領域情報のflagが1であるか2であるか関係無しに、符号化処理の前に周辺ブロック集合を求めておくものとする。
【0071】
図5は、不可視化制御部17において、不可視化情報リスト18に登録された情報に基づいて、周辺ブロック集合を抽出する動作の例について示したフローチャートである。
【0072】
まず、ループ処理に用いる変数Iが、現在符号化装置10において、符号化の対象となっている動画の画像高をブロック単位で表した値に初期化される(S201)。例えば、符号化の対象となっている動画の画像が縦50ブロックであった場合には、I=50に初期化される。
【0073】
次に、Iの値がチェックされ、0であった場合には、周辺ブロック集合抽出の処理は終了され、0でなかった場合には、後述するステップS203から動作する(S202)。
【0074】
そして、上述のステップS202においてI=0でなかった場合には、ループ処理に用いる変数Jが現在符号化装置10において、符号化の対象となっている動画の画像幅をブロック単位で表した値に初期化される(S203)。
【0075】
次に、Jの値がチェックされ、0であった場合には、後述するステップS208から動作し、0でなかった場合には、後述するステップS205から動作する(S204)。
【0076】
そして、上述のステップS204においてJ=0でなかった場合には、符号化の対象となっている動画の画面において、上からI番目で、左からJ番目のブロック(以下、「Block[I][J]」という)が、周辺ブロック集合に属するか否か判定され、周辺ブロック集合に属すると判定された場合は、後述するステップS206から動作し、周辺ブロック集合に属しないと判定された場合には、後述するステップS207から動作する(S205)。なお、ステップS205におけるBlock[I][J]が周辺ブロック集合に属するか否かの判定方法の詳細については後述する。
【0077】
そして、上述のステップS205において、Block[I][J]が周辺ブロック集合に属すると判定された場合には、Block[I][J]のブロック番号は、不可視化制御部17において、周辺ブロック集合として登録される(S206)。
【0078】
上述のステップS206において、Block[I][J]のブロック番号が周辺ブロック集合として登録された場合、又は、上述のステップS205においてBlock[I][J]が周辺ブロック集合に属しないと判定されると、JがJ−1に更新され、上述のステップS204から動作する(S208)。
【0079】
また、上述のステップS204において、J=0と判定された場合には、IがI−1に更新され、さらに上述のステップS202から動作する。
【0080】
このように、図5においては、変数IとJを用いてループ処理が行われ、Block[I][J]について周辺ブロック集合に属するか否か判定することにより、符号化の対象となっている動画の画面における全てのブロックについて、周辺ブロック集合に属するか否か判定して、周辺ブロック集合を抽出することができる。
【0081】
次に、上述のステップS205における、Block[I][J]について周辺ブロック集合に属するか否か判定の詳細について説明する。
【0082】
図6は、上述のステップS205における判定の条件について、C言語により示した説明図である。なお、図6においては、説明を簡易にするため「不可視領域に属さない」、「不可視領域に属する」などの、C言語ではない表現を一部に使用して表現しているが、実際には全てC言語などのプログラム言語により表記されたものが適用される。
【0083】
なお、図6に示す判定の条件は、上述の図4と同様に、例えば、ブロック202〜205のいずれかのブロックが、不可視領域に属するブロックである場合に、ブロック201を周辺ブロック集合に属すると判定するための条件である。
【0084】
図6においては、Block[I][J](図4におけるブロック201)が不可視領域に属さない場合において、Block[I−1][J−1](図4におけるブロック202に相当)、Block[I−1][J](図4におけるブロック203に相当)、Block[I−1][J+1](図4におけるブロック204に相当)、Block[I][J−1](図4におけるブロック205に相当)のいずれかのブロックが不可視領域に属する場合には、Block[I][J]が周辺ブロック集合に属すると判定することを示している。
【0085】
図7は、上述の図5に示した不可視化情報リスト18における、周辺ブロック集合を抽出する動作をC言語で表したものである。なお、図7においては、上述の図6と同様に、説明を簡易にするため、C言語ではない表現を一部に使用して表現しているが、実際には全てC言語などのプログラム言語により表記されたものが適用される。
【0086】
図7において符号301で表した部分は、上述の図5におけるステップS201、S202、S208に相当する処理を表している。また、符号302で表した部分は、ステップS203、S204、S207に相当する処理を表している。さらに、符号303で表した部分は、ステップS205に相当する処理を表している。さらにまた、符号304で表した部分は、ステップS206に相当する処理を表している。
【0087】
(A−2−3)符号化処理
次に、不可視化制御部17において、不可視化情報リストの情報更新(上述の図3のフローチャート参照)及び、周辺ブロックの抽出(上述の図5のフローチャート参照)の処理が終了した後に、不可視化情報リスト18の制御に応じて、画面内符号化部14、画面間符号化部15がブロック毎の符号化処理を行う動作について説明する。
【0088】
まず、画面内符号化の処理について説明し、次に、画面間符号化の処理について説明する。
【0089】
図8は、不可視化制御部17の制御に応じて、画面内符号化部14により画面内符号化が行われる動作の例について示したフローチャートである。
【0090】
まず、ループ処理のインデックスに用いる変数Iが、現在符号化装置10において、符号化の対象となっている動画の画面内の全てのブロック数の値に初期化される(S301)。
【0091】
次に、Iの値がチェックされ、0であった場合には、画面内符号化の処理は終了され、0でなかった場合には、後述するステップS303から動作する(S302)。
【0092】
上述のステップS302において、I=0でなかった場合には、ブロック番号がIのブロック(以下、「Block[I]」と表す)が、上述の図5のフローチャートなどの処理により抽出された周辺ブロック集合に属するか否かが判定され、周辺ブロック集合に属すると判定された場合には、後述するステップS304から動作し、周辺ブロック集合に属しないと判定された場合には、後述するステップS305から動作する(S303)。
【0093】
上述のステップS303において、Block[I]が周辺ブロック集合に属すると判定された場合には、Block[I]の近傍のブロック(この実施形態では、上述の図4において、Block[I]がブロック201であった場合、ブロック202〜205に相当する位置のブロックが近傍のブロックとして該当するものとする)に係るデータを参照しないで、画面内符号化が行われる(S304)。画面内符号化では、上述の近傍のブロックの画素値を参照予測し符号化する場合があるが、近傍のブロックに係るデータを参照しないで予測するモードもあり、これを利用することにより、近傍のブロックに係るデータを参照せずにBlock[I]について画面内符号化をするようにしても良い。
【0094】
一方、上述のステップS303において、Block[I]が周辺ブロック集合に属しないと判定された場合には、不可視化情報リスト18に登録された情報に基づいて、Block[I]が不可視領域に属するか否か、すなわち、Block[I]がいずれかの登録不可視領域情報において、NewBlocksのブロック集合に属しているか否かが判定される。そして、Block[I]が、不可視領域に属すると判定された場合には、後述するステップS306から動作し、不可視領域に属しないと判定された場合には、後述するステップS307から動作する(S305)。
【0095】
上述のステップS305において、Block[I]が不可視領域に属しないと判定された場合には、Block[I]については、符号化方式に特に制限を付す必要はなく、既存の符号化装置と同様の処理により符号化されるものとする(S306)。
【0096】
一方、上述のステップS305において、Block[I]が不可視領域に属すると判定された場合には、Block[I]については、符号化方式に特に制限を付す必要はなく、既存の符号化装置と同様の処理で符号化される。ただしキーをもったユーザのみがこのブロックの画像を可視化できるようにするため、変換係数に可逆変換(キー依存の)をかけて符号化するか、暗号化して代わりにランダムな値を挿入して符号化し、暗号化したデータと一緒に符号化方式決定部13に出力される。ここで符号化する情報のみこの様な差し替えを行い、符号化装置内部では正しい変換係数に基づき符号化を続ける。また、Block[I]のブロック番号も併せて符号化方式決定部13に出力される(S307)。
【0097】
上述のステップS304、S306、S307のいずれかの処理の後、IがI−1に更新され、上述のステップS302から動作する(S308)。
【0098】
次に、画面内符号化部14、画面間符号化部15、不可視化制御部17における画面間符号化の処理について説明する。
【0099】
まず、符号化対象となる画面において、上述の不可視化情報リスト18の登録情報の更新(上述の図3のフローチャート参照)において、flagが2となっている不可視領域が存在する場合、すなわち、初めて現れた不可視領域が存在する場合の処理について説明する。画面に初めて現れた不可視領域が存在する場合に、画面間符号化を行おうとする際には、参照画面に対応する不可視領域が存在しないため、各画面に応じた処理を行う必要があるためである。第1の方法は、画面に初めて現れた不可視領域が存在する場合には、その画面については、画面間符号化を行わず、画面内符号化に切り替えてしまう(上述の図8のフローチャート参照)という方法である。第2の方法は、画面に初めて現れた不可視領域が存在する場合には、その初めて現れた不可視領域に係るブロックの符号化についてだけ、画面内符号化を行う方法である。符号化装置10では、画面間符号化を行おうとする際に、一部のブロックについてだけ画面内符号化を行うことができない場合には上述の第1の方法を適用し、一部のブロックについてだけ画面内符号化を行うことができる場合には上述の第2の方法を適用するものとする。
【0100】
図9は、符号化装置10において画面間符号化を行う動作について、説明したフローチャートである。
【0101】
なお、図9に示すフローチャートでは、画面に初めて現れた不可視領域が存在する場合には、上述の第2の方法を適用した場合の処理を示している。上述の通り、符号化装置10では、画面に初めて現れた不可視領域が存在する場合には、上述の第1の方法を適用した処理が行われることがあるが、この場合の処理は、上述の画面内符号化(上述の図8参照)と同様の処理になるので説明を省略する。
【0102】
図10は、画面間符号化部15において、画面間符号化される際に、参照されるブロックの探索範囲の制限について示した説明図である。
【0103】
まず、不可視化制御部17において、上述の図5のフローチャートなどにより示される動作により、周辺ブロック集合が抽出される(S401)。
【0104】
そして、ループ処理のインデックスに用いる変数Iが、現在符号化装置10において、符号化の対象となっている動画の画面内の全てのブロック数の値に初期化される(S402)。
【0105】
次に、Iの値がチェックされ、0であった場合には、画面内符号化の処理は終了され、0でなかった場合には、後述するステップS404から動作する(S403)。
【0106】
上述のステップS403において、I=0でなかった場合には、Block[I]が、上述のS401により抽出された周辺ブロック集合に属するか否かが判定され、周辺ブロック集合に属すると判定された場合には、後述するステップS405から動作し、周辺ブロック集合に属しないと判定された場合には、後述するステップS406から動作する(S404)。
【0107】
上述のステップS404において、Block[I]が周辺ブロック集合に属すると判定された場合には、画面内符号化と画面間符号化を行い、良いほうが選択されるが、不可視化制御部17の制限をうける。画面内符号化の場合は他の近傍ブロックを参照しない予測モードを使った画面内符号化が行われる。画面間符号化は参照画面(一つ前符号化した画面)から最も似ているブロックを探し出しブロックの動きを表す動きベクトルを求める操作を行うが、図10に示すように、不可視化情報リスト18に登録されている全ての登録不可視領域情報におけるOldBlocksのブロック集合が占める領域のブロックを参照して符号化を行わないよう参照画面からブロックを探すための探索範囲が制限される(S405)。
【0108】
一方、上述のステップS404において、Block[I]が周辺ブロック集合に属しないと判定された場合には、不可視化情報リスト18に登録された情報に基づいて、Block[I]が不可視領域に属するか否か、すなわち、Block[I]がいずれかの登録不可視領域情報において、NewBlocksのブロック集合に属しているか否かが判定される。そして、Block[I]が、不可視領域に属すると判定された場合には、後述するステップS408から動作し、不可視領域に属しないと判定された場合には、後述するステップS407から動作する(S406)。
【0109】
上述のステップS406において、Block[I]が不可視領域に属しないと判定された場合には、基本的には画面内符号化と画面間符号化を行い、効率の良いほうが選択されるが、不可視化制御部17の制限をうける。画面内符号化の場合において制限はない。画面間符号化の場合は、上述のステップS405と同様に、不可視化情報リスト18に登録されている全ての登録不可視領域情報のOldBlocksが占める領域を参照して符号化を行わないよう探索範囲が制限される(S407)。
【0110】
一方、上述のステップS406において、Block[I]が不可視領域に属すると判定された場合には、不可視化情報リスト18において、Block[I]がNewBlocksのブロック集合に登録されている登録不可視領域情報のflagの内容がチェックされる、そして、flag=1の場合には、後述するステップS410から動作し、flag=2の場合には後述するステップS409から動作する(S408)。
【0111】
上述のステップS408において、flag=2と判定された場合には、画面内符号化が行われる。ただしキーをもったユーザのみがこのブロックを可視化できるようにするため、変換係数に可逆変換をかけて符号化するか、暗号化して代わりにランダムな値を挿入して符号化し、暗号化した情報と一緒に出力する。ここで符号化する情報のみこの様な差し替えが行われ、符号化装置内部では正しい変換係数に基づき符号化が続けられる。ブロック番号も一緒に出力される(S409)。
【0112】
一方、上述のステップS408において、flag=1と判定された場合には、画面間符号化のみが行われるが、上述のステップS405と同様に、不可視化制御部17の制限をうけて探索範囲が限定される。Block[I]が、不可視化情報リスト18において領域番号Rnumの登録不可視領域情報のNewBlocksに属しているとすれば、その登録不可視領域情報のOldBlocksで指定される参照画面上の領域のみ参照するよう探索範囲が制限される(S410)。
【0113】
上述のステップS403、S404、S407、S409、S410のいずれかの処理の後、IがI−1に更新され、上述のステップS403から動作する(S411)。
【0114】
(A−2−4)符号化装置の出力
次に、符号化装置10(動画像提供装置1)から出力されるデータについて説明する。
【0115】
符号化方式決定部13から、出力バッファ16に与えられるデータは、上述の通り、「動画像の符号化データ」+「不可視領域ブロックの位置」+「暗号化されたブロックの符号化情報」である。「不可視領域ブロックの位置」及び「暗号化されたブロックの符号化情報」については、画面内符号化の処理(上述の図8のフローチャート参照)が行われた画面や、初めて現れた不可視領域が存在する画面、すなわち、一部のブロックについてだけ画面内符号化が行われた(上述の図9のステップS409参照)場合などに出力される。
【0116】
そして、画面間符号化部15から、出力バッファ16に出力データが与えられると、出力されたデータを蓄積して出力し、出力バッファ16から出力されたデータが、動画像提供装置1により、動画像受信装置2(復号化装置20)に与えられる。
【0117】
(A−2−5)復号化処理
次に、復号化装置20における復号化処理について説明する。
【0118】
図11は、復号化装置20において、動画像提供装置1(符号化装置10)から与えられた動画に係るデータの復号化をする動作について示したフローチャートである。上述の通り、ユーザが画面で不可視化された領域を見る必要がないのであれば、既存の復号化装置と同じ構成の装置における処理で復号化しても良いが、ユーザが、所定のキーを用いて不可視化された部分を可視化する場合は、復号化装置20において図11に示されるフローチャートの処理を行う必要がある。
【0119】
まず、動画像符号化解析部21により、符号化装置10から与えられたデータから、ユーザデータと動画像符号が抽出され、ユーザデータはユーザデータ解析部22に与えられ、動画像符号はエントロピー復号化部23に与えられる。なお、ユーザデータには、上述の「不可視領域ブロックの位置」及び「暗号化されたブロックの符号化情報」が該当する。また、ユーザからキー解析部24に、不可視化された画像を可視化するためのキーに係る情報が、入力されたものとする。そして、ユーザデータが与えられると、ユーザデータ解析部22では、そのユーザデータが解析され、符号化装置10において不可視化された際に出力された情報があるかチェックされる(S501)。そして、該当する情報があった場合には、ユーザデータ解析部22において、ユーザデータから、不可視化ブロックの位置情報や、暗号化されたデータ(暗号化する方式をとっている場合のみ読込まれる)が読込まれる(S502)。
【0120】
そして、ループ処理のインデックスに用いる変数Iが、現在符号化装置10において、符号化の対象となっている動画の画面内の全てのブロック数の値に初期化される(S503)。
【0121】
次に、Iの値がチェックされ、0であった場合には、復号化の処理は終了され、0でなかった場合には、後述するステップS505から動作する(S504)。
【0122】
そして、エントロピー復号化部23では、動画像符号化解析部21から与えられた動画像符号について、1マクロブロック分エントロピー復号化がされる。すなわち、Block[I]についてエントロピー復号化が行われる(S505)。
【0123】
そして、エントロピー復号化部23では、ユーザデータ解析部22から与えられた情報に基づいて、Block[I]が、不可視化ブロックであるか否かが判定され、不可視化ブロックであった場合には、後述するステップS507から動作し、不可視化ブロックでなかった場合には、後述するステップS508から動作する(S506)。
【0124】
上述のステップS506において、Block[I]が、不可視化ブロックであった場合には、さらに、上述のステップS501においてキー解析部24により読込まれたキーに係る情報について参照され、キーが不正なものであるか否か判定される。キーが不正なものであった場合には、後述するステップS509から動作し、キーが不正なものでなかった場合には、後述するステップS508から動作する(S507)。
【0125】
上述のステップS507において、キーが不正でないものと判定された場合には、Block[I]について、正常なブロックに復号化できるよう変換係数をキーを引数として逆変換が行われる。暗号化されたデータがあるならばキーを使い複合化し正しい変換係数をえて正しい変換係数に差し替えられる(S508)。
【0126】
上述のステップS506でBlock[I]が、不可視化ブロックでないと判定された場合、又は、上述のステップS507でキーが不正なものであると判定された場合には、Block[I]に係るデータはそのまま、逆変換、動き補償、画面内予測等既存の復号化装置で行われる復号化と同様の処理が行われ、動画像構成部25に与えられる。また、上述のステップS508において、キーを用いてBlock[I]が変換された場合には、その変換されたデータについて逆変換、動き補償、画面内予測等従来の復号化装置で行う復号化が行われ、動画像構成部25に与えられる(S509)。そして、IがI−1に更新され、上述のステップS504から動作する(S510)。
【0127】
このようにして、エントロピー復号化部23では、符号化装置10から与えられた動画像の全てのブロックについて復号化、及び、不可視化されたブロックの可視化が行われ、動画像構成部25において画面が構成され出力される。
【0128】
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【0129】
符号化装置10では、画面内符号化部14、画面間符号化部15、不可視化制御部17、不可視化情報リスト18を備えることにより、入力不可視領域情報に応じて、不可視領域に属するブロックについて、不可視化するように符号化などをおこなっている。これにより、不可視領域が画面ごとに移動しても、その不可視領域に属するブロックの画像は、常にキーを持たないユーザから見えないという効果を奏する。言い換えれば、キーを持ったユーザのみが不可視領域に属するブロックの画像を可視化することができる。
【0130】
画面内符号化部14では、周辺ブロック集合に属するブロックについては、不可視領域に属するブロックのデータを参照させずに符号化を行っている(上述の図8のステップS304などを参照)。これにより、不可視領域に属するブロック以外のブロックについては、キーを持たないユーザであっても視聴することができるという効果を奏する。
【0131】
符号化装置10では、符号化にあたって、元の画像に修正を加えているわけでなく、正しく符号化した情報を、キーにより可逆変換しているだけなので、復号化装置20において復号化される画像は、元の画像の画質に影響を与えないという効果を奏する。
【0132】
画面間符号化部15において、不可視領域に属するブロックの符号化を行う際に、前画面における不可視領域(OldBlocks)に属するブロックのデータのみを参照させ(上述の図9のステップS410などを参照)、動き探索の制限を行う。また、不可視領域に属しないブロックについては、前画面の不可視領域のブロック集合(OldBlocks)に属するブロックのデータを参照させずに符号化を行っている(上述の図9のステップS405、S407などを参照)このことにより、移動した対象が実際同じものである場合、従来の探索方法よりも、探索範囲が狭くなるので、効率よく動き探索が可能になり、画質の改善や、処理量の低減をすることができる。
【0133】
上記の実施形態においては、不可視領域ブロックの位置に係るデータを、画面内符号化が選択されたときなどにだけ、符号化装置10(動画像受信装置2)に送信している。この場合、画面間符号化部15において、不可視領域に属するブロックの符号化を行う際に、前画面における不可視領域(OldBlocks)に属するブロックのデータのみを参照させている(上述の図9のステップS410などを参照)ため、画面内符号化により暗号化されランダムになったブロックのデータが、その後の画面間符号化において伝播されていく。これにより、画面間符号化が選択されたときなどにだけ入力不可視領域情報に係るデータを、符号化装置10(動画像受信装置2)に送信したとしても、不可視領域に属するブロックの画像は、キーを持たないユーザから見えないという効果を奏することができる。すなわち、動画像の全ての画面について入力不可視領域情報に係るデータを送信する必要がなく、送信データの量や処理量を低減するという効果を奏する。また、画面間符号化が行われた画面については、復号化装置20において、キー及び入力不可視領域情報に係るデータを用いて復号化する処理を省略し、特に可視化の処理を行わない既存の復号化装置と同様の処理だけで良いため、復号化に必要な処理量を低減することができる。
【0134】
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【0135】
(B−1)上記の実施形態においては、符号化装置10において符号化の際に用いるキーと、復号化装置20において復号化の際に用いるキーは同じものとして説明したが、符号化装置10では暗号化専用のキーを用い、復号化装置20では暗号解読専用のキーを用いるようにしても良い。
【0136】
(B−2)上記の実施形態においては、符号化装置10は、動画像提供装置1に搭載しているものとして説明しているが、単独の装置として実現しても良い。また、復号化装置20も同様に単独の装置として実現しても良い。
【0137】
(B−3)上記の実施形態においては、符号化装置10及び復号化装置20において、画面を縦及び横に分割したブロック単位で符号化・復号化する例について説明したが、画面を、縦又は横のいずれかに分割したブロック単位で符号化・復号化させるようにしても良い。
【図面の簡単な説明】
【0138】
【図1】実施形態に係る配信システムの全体構成を示した説明図である。
【図2】実施形態に係る、画面間における動きベクトルの例を示した説明図である。
【図3】実施形態に係る、不可視化制御部により、不可視化情報リストの内容が更新される際の動作について示したフローチャートである。
【図4】実施形態に係る不可視領域及び周辺ブロックの例について示した説明図である。
【図5】実施形態に係る不可視化制御部において、周辺ブロック集合を抽出する動作の例について示したフローチャートである。
【図6】実施形態に係る不可視化制御部において、周辺ブロックに該当するか否かを判定する条件について示した説明図である。
【図7】実施形態に係る不可視化制御部において、周辺ブロック集合を抽出する動作の例についてC言語で表した説明図である。
【図8】実施形態に係る、符号化装置が画面内符号化を行う動作の例について説明したフローチャートである。
【図9】実施形態に係る符号化装置が、画面間符号化を行う動作の例について説明したフローチャートである。
【図10】実施形態に係る、画面間符号化部において、画面間符号化される際に、参照されるブロックの探索範囲の制限について示した説明図である。
【図11】実施形態に係る復号化装置において、データの復号化をする動作について示したフローチャートである。
【符号の説明】
【0139】
100…配信システム、1…動画像提供装置、2…動画像受信装置、10…符号化装置、11…入力バッファ、12…ブロック分割部、13…符号化方式決定部、14…画面内符号化部、15…画面間符号化部、16…出力バッファ、17…不可視化制御部、18…不可視化情報リスト、20…復号化装置、21…動画像符号化解析部、22…ユーザデータ解析部、23…エントロピー復号化部、24…キー解析部、25…動画像構成部。
【技術分野】
【0001】
本発明は、符号化装置、符号化プログラム、復号化装置、復号化プログラム及び配信システムに関し、例えば、配信対象のコンテンツ自体に著作権や肖像権保護の為に何らかの保護機能を与えて配信するシステムに適用し得る。
【背景技術】
【0002】
インターネットを通し符号化圧縮されたデジタルフォーマットの動画像を簡単に入手できるようになってきたが、これらは画質を落とさず容易にコピー可能で、通常はハードウェアによる使用制限もしていないため、著作権や肖像権保護の為にコンテンツ自体に何らかの保護機能を与える必要がある。
【0003】
従来、この種のコンテンツ保護の方法には、可視透かしと呼ばれる方法があった。可視透かしを適用したものには、単純には以下の第1及び第2の方法が考えられる。また、特許文献1に記載されている、以下の第3の方法があった。
【0004】
従来の第1の方法は、画面の一部を復号化装置で不可視化する方法で、キーを持ったユーザのみが正常にデコードされたコンテンツを視聴できるようにする方法である。
【0005】
従来の第2の方法は、動画像の符号化前に不可視化してしまう方法で、画面の一部に特殊なマスクをかける。キーを待ったユーザのみがこのマスクを解除する事ができる。キーを持っていないユーザでも、特殊な復号化装置無しで可視透かしが無い部分のみなら視聴する事が可能である。
【0006】
従来の第3の方法は、特許文献1に記載の方法であり、符号化過程で中間データとして生成される変換係数に可逆変換をかける方法である。キーを持っているユーザの復号化中に逆変換を行う事ができ、正常なコンテンツの視聴が可能となる。
【特許文献1】特開2004−336529号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、従来の第1〜第3の方法では、不可視化する部分が必ず同じ位置で同じ形である必要があるため、不可視化する部分が移動した場合における符号化及び復号化ができないという問題点があった。
【0008】
そのため、動画像の画面において不可視化する領域が、画面ごとに移動しても、それぞれの画面に係るデータの符号化及び復号化をすることができる符号化装置、符号化プログラム、復号化装置、復号化プログラム及び配信システムが望まれている。
【課題を解決するための手段】
【0009】
第1の本発明の符号化装置は、(1)動画像を構成するそれぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化する符号化装置において、(2)鍵情報を用いなければ元の画像を可視化させることができないように符号化する、画面内符号化された不可視領域ブロックを含む画面で異なる不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、(3)それぞれの画面についてブロック単位で符号化するものであって、不可視領域ブロックについては、上記鍵情報を用いなければ元の画像を可視化させることができないように符号化し、不可視領域に属さない通常領域ブロックについては、不可視領域ブロックに係るデータを参照せずに符号化する符号化手段とを有することを特徴とする。
【0010】
第2の本発明の復号化装置は、(1)それぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化された動画像を復号化する復号化装置において、(2)鍵情報を用いなければ元の画像を可視化させることができないように符号化されている、画面内符号化された不可視領域ブロックを含む画面で異なる不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、(3)それぞれの画面について、ブロック単位に符号化されたデータを復号化するものであって、上記不可視領域情報保持手段が保持している情報と上記鍵情報とを用いて、それぞれの画面における不可視領域ブロックに係る画像を正常に表示させるように復号化する復号化手段とを有することを特徴とする。
【0011】
第3の本発明の配信システムは、(1)動画像を構成するそれぞれの画面に係るデータを符号化して、符号化済動画像データを提供する動画像提供装置と、上記動画像提供装置から、符号化済動画像データを受信して復号化する動画像受信装置とを備える配信システムにおいて、(2)上記動画像提供装置は、請求項1に記載の符号化装置を用いて、動画像を構成するそれぞれの画面に係るデータを符号化し、(3)上記動画像受信装置は、請求項6に記載の復号化装置を用いて、符号化済動画像データを復号化することを特徴とする。
【0012】
第4の本発明の符号化プログラムは、(1)動画像を構成するそれぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化する符号化装置に搭載されたコンピュータを、(2)画面内符号化された不可視領域ブロックを含む画面について、鍵情報を用いなければ元の画像を正常に表示させることができないように符号化する不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、(3)それぞれの画面についてブロック単位で符号化するものであって、不可視領域ブロックについては、上記鍵情報を用いなければ元の画像を正常に表示させることができないように符号化し、不可視領域に属さない通常領域ブロックについては、不可視領域ブロックに係るデータを参照せずに符号化する符号化手段として機能させることを特徴とする。
【0013】
第5の本発明の復号化プログラムは、(1)それぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化された動画像を復号化する復号化装置に搭載されたコンピュータを、(2)鍵情報を用いなければ元の画像を可視化させることができないように符号化されている、画面内符号化された不可視領域ブロックを含む画面で異なる不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、(3)それぞれの画面について、ブロック単位に符号化されたデータを復号化するものであって、上記不可視領域情報保持手段が保持している情報と上記鍵情報とを用いて、それぞれの画面における不可視領域ブロックに係る画像を正常に表示させるように復号化する復号化手段として機能させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、動画像の画面において不可視化する領域が、画面ごとに移動しても、不可視領域の位置情報を該当する画面内符号化されたブロックだけに入れる事で不可視領域を許可されていない者に対して視聴不可にする事が可能である。
【発明を実施するための最良の形態】
【0015】
(A)主たる実施形態
以下、本発明による符号化装置、符号化プログラム、復号化装置、復号化プログラム及び配信システムの一実施形態を、図面を参照しながら詳述する。
【0016】
(A−1)実施形態の構成
図1は、この実施形態に係る配信システム100の全体構成を示した説明図である。
【0017】
配信システム100は、動画像提供装置1及び動画像受信装置2を有している。
【0018】
動画像提供装置1は、動画像を構成する各画面に係るデータを符号化して、動画像受信装置2にその符号化したデータを提供するものである。動画像提供装置1は、符号化装置10を有しており、符号化装置10を用いて各画面に係るデータを符号化して、動画像受信装置2に提供する。なお、動画像提供装置1と動画像受信装置2との間は、他の装置やネットワークなどを中継して接続するようにしても良く、その接続方法は限定されないものである。また、図1においては、配信システム100において、動画像提供装置1及び動画像受信装置2は、それぞれ一つの構成となっているがその数は限定されないものである。
【0019】
動画像受信装置2は、動画像提供装置1から、符号化されたデータを受信すると、それを復号化して動画像を出力するものである。動画像受信装置2は、復号化装置20を有しており、復号化装置20を用いて受信したデータを復号化する。
【0020】
次に、符号化装置10の詳細構成について説明する。
【0021】
符号化装置10は、画面ごとに設定された領域を正常な状態には見えなくする符号化を行い、復号化装置20において、キーを適用して復号化した場合のみ正常な状態に見えるようにするものである。なお、以降の説明において、各画面において、正常な状態にはみえなくすることを「不可視化」と表すものとし、不可視化された画面を正常な状態にみえるようにすることを「可視化」と表すものとする。
【0022】
符号化装置10は、例えば、CPU、ROM、RAM、EEPROM、ハードディスクなどのプログラムの実行構成に、実施形態の符号化プログラム等をインストールすることにより構築しても良く、その場合でも機能的には図1により示すことができる。
【0023】
符号化装置10における動画像の符号化方式としては、この実施形態においては、符号化装置10における動画像の符号化形式は、例として、MPEG(MPEG4 Advanced Video Coding;MPEG−4 AVC)として説明するが、MPEGに限定されず、他の形式のものであっても良い。
【0024】
符号化装置10は、入力バッファ11、ブロック分割部12、符号化方式決定部13、画面内符号化部14、画面間符号化部15、出力バッファ16、不可視化制御部17、不可視化情報リスト18を有している。
【0025】
入力バッファ11は、動画像提供装置1においてキャプチャされた動画像の各画面(動画像を構成する画像1枚づつ)に係るデータが与えられるとそれを蓄積し、蓄積した各画面に係るデータを、ブロック分割部12に与える。入力バッファ11は、動画像などの入力データを、記録媒体や装置内蔵の記憶装置から動画像などのデータを取り込んだり、外部装置から取り込んだりしてもよく、その入力方法は限定されないものである。
【0026】
ブロック分割部12は、入力バッファ11から各画面にかかるデータが与えられると、その画面に係るデータをブロックに分けて一つずつ取り出し、画面内符号化部14若しくは画面間符号化部15、又は、画面内符号化部14及び画面間符号化部15の両方に与える。画面内符号化(例えば、画面内の画素の局所的類似性を使いブロック単位で圧縮する)の時は画面内符号化部14のみに、画面間符号化の時は方式よって両方にもしくは画面間符号化部15のみにブロックに係るデータを与えるようにしても良い。又、不可視化制御部17の制御に応じて、画面内符号化部14のみに送るようにしても良い。
【0027】
画面内符号化部14は、ブロック分割部12から渡されたブロックに係るデータについて、そのブロックが属する画面内のブロックのみを参照して符号化(以下、「画面内符号化」という)する。基本的にはいくつかの予測モードを用いて比較し、最適な符号化方法を決定するようにしても良いが、不可視化制御部17の制御を受け、周辺ブロックに対して独立な符号化モードのみで符号化するようにする場合がある。これは周辺ブロックが不可視領域にある場合である。また、不可視化制御部17の制御を受け、例えば、変換係数を可逆変換、もしくは、暗号化してランダムな値におきかえたデータを符号化データとして出力するようにする場合がある。これは不可視領域にあるブロックに対する処理で、次に処理する画面の不可視領域のブロックにこれらを参照させる事で正しい復号が出来なくなる様にする為である。
【0028】
図2は、画面間における動きベクトルの例を示した説明図である。
【0029】
画面間符号化部15は、図2に示すような各ブロックが画面間でどれだけ動いたかを示す動きベクトルを求めて符号化する。すなわち、画面間符号化部15は、符号化の対象となっているブロックのデータを符号化する際に、そのブロックが属する画面以外の画面のブロックを参照して符号化(以下、「画面間符号化」という)する。この実施形態においては、例として、画面間符号化部15は、画面間符号化を行う際には、符号化対象となっているブロックが属する画面の一つ前の画面のブロックのデータを参照して符号化するものとして説明する。
【0030】
画面間符号化部15は、不可視化制御部17の制御を受け、特定領域にあるブロックが参照する参照画面中の領域が特定領域に限定されるようにし、特定領域以外のブロックが参照する参照画面中の領域が特定領域以外に限定されるよう制御する。
【0031】
不可視化制御部17は、外部から毎画面、不可視領域に係る情報(以下、「入力不可視領域情報」という)の入力を受ける。不可視化制御部17は、記録媒体や装置内蔵の記憶装置から不可視領域に係る情報を取り込んだり、外部装置から取り込んだりしてもよく、入力方法は限定されないものである。不可視化制御部17において、入力不可視領域情報は、各領域の識別番号(以下、「領域番号」という)とブロックの識別番号(以下、「ブロック番号」という)の集合(以下、「ブロック集合」という)の対で表される。
【0032】
入力不可視領域情報は、例えば、以下の(1)式のような形式で表記しても良い。なお、block1,block2,…はブロック番号を表している。
【0033】
(領域番号、(block1,block2,…,blockN)) …(1)
(1)式において、ブロック番号で指定されるブロックは、キーがない限りは可視化できない部分である。ブロック番号の集合で指定される領域は互いに重なり合わないように設定するのが望ましい。例えば、領域番号Iのブロックの集合と領域番号Jのブロックの集合があった場合、IとJは共通集合を持たないということである。また、この場合、IとJに属するブロック同士は接していないことが望ましい。すなわち、領域番号Iのブロック集合に属するブロックと領域番号Jのブロック集合に属するブロックとでは隣あっていないことが望ましい。
【0034】
入力不可視領域情報については、予めユーザにより作成されたデータを用いても良いし、符号化装置10に入力される動画像の各画面において所定のパターンについてパターンマッチングを行い、該当するパターンの画像が見つかった場合に、そのパターンの領域を不可視領域とみなして、入力不可視領域情報を生成するようにしても良く、その生成方法や入力方法は限定されないものである。また、ユーザがタッチパネルやスタイラスペンなどを用いて、符号化対象の画面を見ながら、不可視領域を指定し、不可視化制御部17に入力不可視領域情報が入力される手段を有しても良い。
【0035】
不可視化情報リスト18は、上述の入力不可視領域情報に基づいた情報(以下、「登録不可視領域情報」という)を登録して、その情報を不可視化制御部17に提供する記憶手段である。また、不可視化情報リスト18に登録されている情報は、不可視化制御部17により更新される。
【0036】
不可視化情報リスト18では、登録不可視領域情報は、例えば、以下の(2)に示すような形式で記録しても良い。(2)式において、Rnumは領域番号を示している。NewBlocksは、最新の入力不可視領域情報に係るブロック集合である。OldBlocksは、前のブロック集合、すなわち、前画面における入力不可視領域情報に係るブロック集合である。flagは、当該登録不可視領域情報の更新状況を示すフラグ情報であり、後述するこの実施形態の動作の説明において詳細を説明する。
【0037】
(領域番号、新しいブロック集合,前のブロック集合、更新フラグ)=
(Rnum,NewBlocks,OldBlocks,flag)=
(Rnum,(block1,block2,…,blockN),
(block1,block2.…,blockM),flag) …(2)
不可視領域情報は不可視化情報リスト18で以下の様に管理される。各フレームの処理が始まる前に入力された各不可視領域情報に対し、領域番号が不可視化情報リスト18に登録されていない場合、新たな不可視領域情報としてこの対が登録される。また、入力された不可視領域情報の領域番号が、不可視化情報リスト18に既に登録されている場合はNewBlocksの内容を、OldBlocksに移し、NewBlocksの内容を入力された新しいブロック集合に更新する。さらに、不可視化情報リスト18に既に登録されている不可視領域情報中、入力された不可視領域情報の領域番号と同一のものがない場合、この不可視領域情報は不可視領域情報のリストから削除される。不可視化制御部17は、この不可視化情報リスト18の登録情報に基づき、ブロック分割部12、符号化方式決定部13、画面内符号化部14、画面間符号化部15を制御し、該当ブロックを不可視化する符号化をさせる。
【0038】
符号化方式決定部13は、画面内符号化部14と画面間符号化部15の符号化結果を比較し、符号化効率の良い方を選択して出力バッファ16に与える。また、画面内符号化を行うか画面間符号化部を行うかをその都度判定する必要がない場合には、符号化装置10において符号化方式決定部13を省略しても良い。例えば、周期的に画面内符号化が行われその他の画面は画面間符号化になり、画面間符号化を行う画面のブロックでは画面内符号化が行われない場合には、画面内符号化を行うか画面間符号化部を行うかをその都度判定する必要がないため、符号化方式決定部13を省略するようにしても良い。
【0039】
また、符号化方式決定部13から、出力バッファ16に与えられるデータは、例えば、「動画像の符号化データ(既存の符号化装置から出力されるものと同様のもの)」+「不可視領域ブロックの位置」(+「暗号化されたブロックの符号化情報」)となる。
【0040】
「不可視領域のブロックの位置」は、各画面の入力不可視領域情報に相当する情報である。符号化方式決定部13は、符号化方式として画面内符号化を行うと判定された画面、及び、最初に不可視領域が現れた画面などについては、「不可視領域のブロックの位置」を出力するものとする。また、画面内符号化を適用したブロックと、画面間符号化を適用したブロックが混在する画面についても、「不可視領域のブロックの位置」を出力するようにしても良い。その際、画面内符号化を行ったブロックについてだけ不可視領域のブロックの位置として出力するようにする。
【0041】
また、「暗号化されたブロックの符号化情報」は正常なブロックを符号化して得られるデータを暗号化したものである。これは、例えば、ブロックを不可視化する際に、正常に変換された変換係数を符号化したものを暗号化し、代わりにランダムな値を符号化した情報を暗号化したデータと一緒に出力する方式をとった際に出力されるものである。出力される周期は「不可視領域のブロックの位置」と同じである。また、例えば、上述のような方式をとらずキーに従属した可逆変換(キーがない限り正しい逆変換が不可能な変換)を用いた場合には、「暗号化されたブロックの符号化情報」は省略しても良い。
【0042】
出力バッファ16は、符号化方式決定部13からの出力されたデータを蓄積して出力し、動画像提供装置1は、出力バッファ16から出力されたデータを、動画像受信装置2(復号化装置20)に与える。なお、出力バッファ16では、出力データを、ディスク装置等の記憶装置に記憶させたり、上述のように他の装置(例えば、動画像受信装置2)に与えるようにしても良く、その出力方法は限定されないものである。
【0043】
次に、復号化装置20の構成の詳細について説明する。
【0044】
復号化装置に関しては、単に不可視領域を見えないままにして視聴する分には上述の追加されたデータ(「不可視領域ブロックの位置」(+暗号化されたブロックの符号化情報))を動画像の符号化データのユーザ領域にいれておけば、ユーザ領域の内容を無視すればよいだけなので既存の復号化装置の構成でも、復号化処理を行うことはできる。この実施形態では、復号化装置20は、例えば、入力したキーが正しいと判定されたときのみ不可視領域のないコンテンツの視聴ができるようにするための構成を有しているものとする。また、「動画像の符号化データ」で、書き換えがなされた部分は画面内符号化されたブロックに限られる場合でも、ユーザデータに記載された位置情報とキーを元に、元の状態に戻すようにする構成を有する必要がある。
【0045】
復号化装置20は、動画像符号化解析部21、ユーザデータ解析部22、エントロピー復号化部23、キー解析部24、動画像構成部25を有している。復号化装置20は、例えば、CPU、ROM、RAM、EEPROM、ハードディスクなどのプログラムの実行構成に、実施形態の復号化プログラム等をインストールすることにより構築しても良く、その場合でも機能的には図1により示すことができる。
【0046】
動画像符号化解析部21は、入力されたデータを、ユーザデータと動画像の符号化データに切り分け、ユーザデータはユーザデータ解析部22に与え、動画像の符号化データはエントロピー復号化部23に与える。なお、ユーザデータには、上述の不可視領域ブロックの位置、及び、暗号化されたブロックの符号化情報が含まれているものとする。
【0047】
ユーザデータ解析部22は、動画像符号化解析部21から与えられたユーザデータを解析して、上述の不可視領域ブロックの位置、及び、暗号化されたブロックの符号化情報を切り出して登録し、その登録した情報を、エントロピー復号化部23に提供するものである。
【0048】
キー解析部24は、キーに係る情報を読込んで、読込んだキーに係る情報を、エントロピー復号化部23に与えるものである。キー解析部24は、キーに係る情報を読込む処理において、キーボードから入力された情報を取り込んだり、記録媒体や装置内蔵の記憶装置から情報を取り込んだり、外部装置からダウンロードによって情報を取り込んだりしても良く、キーを読込む処理の方法は限定されないものである。
【0049】
また、キー解析部24は、キーに係る情報が正しいか否かを判定し、正しい場合のみエントロピー復号化部23に、キーに係る情報を与えるようにしても良い。キーが正しいか否かは、例えば、配信システム100が別途認証サーバを備えてその認証サーバにより正しいか否か認証するようにしても良いし、復号化装置20内に設定されたキーと比較して判定するようにしても良く、キーの内容が正しいか否か判定する方法は限定されないものである。
【0050】
エントロピー復号化部23は、動画像符号を復号し変換係数、動きベクトル等を取り出すものである。また、エントロピー復号化部23は、ユーザデータ解析部22に登録されている情報や、キー解析部24から与えられたキーに係る情報などに基づいて、不可視領域に属するブロックの復号化を行う。
【0051】
動画像構成部25は、エントロピー復号化部23にから、復号化されたデータが与えられると、与えられたデータにおける復号化された変換係数、動きベクトルから、元の動画像の画面に係るデータ(信号)を構成して出力するものである。動画像構成部25は、出力データを、ディスク装置等の記憶装置に記憶させたり、ディスプレイなどの表示装置に与えて出力するようにしても良く、その出力方法は限定されないものである。
【0052】
(A−2)の実施形態の動作
次に、以上のような構成を有するこの実施形態の配信システム100における符号化装置10(動画像提供装置1)及び復号化装置20(動画像受信装置2)の動作を説明する。
【0053】
まず、符号化装置10(動画像提供装置1)において、新しい画面と入力不可視領域情報が、符号化装置10に入力された際の、不可視化制御部17の動作を説明し、次に分割されたブロックに対して不可視化制御部17がどの様な制御を行い、各部を動作させるのかを説明する。
【0054】
(A−2−1)不可視化情報リストの更新の動作
まず、不可視化制御部17において、入力不可視領域情報が与えられた場合に、不可視化情報リスト18に登録されている登録不可視領域情報の内容が更新される際の動作について説明する。
【0055】
図3は、不可視化制御部17により、不可視化情報リスト18の登録情報が更新される際の動作について示したフローチャートである。
【0056】
不可視化制御部17では入力不可視領域情報が与えられると、まず、不可視化情報リストの内容が更新に用いる変数が初期化される。図3において、用いられる変数としてはIとflagを用いるが、それぞれの変数の詳細については後述する。Iの初期値は、外部(動画像提供装置1)から与えられた入力不可視領域情報の数となっている。また、不可視化情報リスト18に登録されている、全ての登録不可視領域情報のflagは、flag=0に初期化される(S101)。
【0057】
次に、Iの値がチェックされ、0であった場合には、後述するステップS107から動作し、0でなかった場合には、後述するステップS103から動作する(S102)。
【0058】
そして、上述のステップS102においてI=0でなかった場合には、上述のステップS101において与えられた入力不可視化情報のうち、任意の入力不可視化情報に係る領域番号を有する登録不可視領域情報が、不可視化情報リスト18に登録されているか否かが検索される。そして、その領域番号の登録不可視領域情報が、既に不可視化情報リスト18に登録されていた場合には、後述するステップS104から動作し、登録されてなかった場合には後述するステップS105から動作する(S103)。
【0059】
上述にステップS103において、検索対象の領域番号を有する登録不可視領域情報が既に不可視化情報リスト18に登録されていた場合には、検出された不可視領域情報について、OldBlocksの内容が、NewBlocksの内容に置き換えられ、NewBlocksに入力不可視領域情報のブロック集合が登録される。そして、検出された不可視領域情報において、flagは1に更新される(S104)。
【0060】
一方、上述のステップS103において、検索対象の領域番号を有する登録不可視領域情報が不可視化情報リスト18に登録されていなかった場合には、入力不可視領域情報を用いて、新たな登録不可視領域情報が、不可視化情報リスト18に登録される。新たな登録不可視領域情報において、NewBlocksには、入力不可視領域情報のブロック集合が登録され、flagは2に更新される(S105)。
【0061】
上述のステップS104による登録不可視領域情報の更新、又は上述のステップS105による登録不可視領域情報の新規登録がされると、変数IがI−1に更新され(S106)、上述のステップS102から動作する。このようにして、I=0となるまで、すなわち、全ての入力不可視領域情報に基づいて登録不可視領域情報の更新が完了するまで、上述のステップS102〜S106の処理が繰り返される。
【0062】
上述のステップS102において、I=0と判定されると、次に、変数Iは、不可視化情報リスト18において登録されている登録不可視領域情報の数に変更される(S107)。
【0063】
次に、Iの値がチェックされ、0であった場合には、不可視化情報リスト18の登録情報の更新の処理は終了され、0でなかった場合には、後述するステップS109から動作する(S108)。
【0064】
そして、上述のステップS108においてI=0でなかった場合には、不可視化情報リスト18においてI番目に登録されている登録不可視領域情報(以下、「不可視情報I」という)が更新済みであるか否かが、flagの情報に基づいて判定される。不可視情報Iが更新済の場合には後述するステップS111から動作し、更新済でない場合には、後述するステップS110から動作する(S109)。なお、上述のステップS102〜S106の処理により、flag=0の場合の場合は、当該登録不可視領域情報は更新済でないことを示し、flag=1又はflag=2の場合には、当該登録不可視領域情報は更新済であることを示すことになる。
【0065】
上述のステップS109において、不可視情報Iは更新済でないと判定された場合には、不可視化情報リスト18から、不可視情報Iは削除される(S110)。
【0066】
そして、上述のステップS109において、不可視情報Iが更新済と判定された場合、又は、上述のステップS110において、不可視情報Iが削除された場合には、IがI−1に更新され、上述のステップS108の処理から再度動作する(S111)。このようにして、I=0となるまで、すなわち、不可視化情報リスト18に登録されている登録不可視領域情報の全てについて更新済か否か判定され、更新済でないものは全て削除される。
【0067】
(A−2−2)周辺ブロック集合の抽出処理
不可視化制御部17では、不可視化情報リスト18の更新(上述の図3のフローチャート参照)が終了すると、次に、上述の図3のフローチャートにおいて、flag=1又は2に設定された登録不可視領域情報で指定されているブロックの領域(以下、「不可視領域」という)の周辺にあって、不可視領域と接した位置のブロック(以下、「周辺ブロック」という)の集合(以下、「周辺ブロック集合」という)の抽出が行われる。
【0068】
図4は、不可視領域及び周辺ブロックの例について示した説明図である。
【0069】
この実施形態では、例えば、図4に示すように、ブロック201〜205が配置されている場合を想定すると、ブロック202〜205のいずれかのブロックが、不可視領域に属するブロックである場合に、ブロック201は周辺ブロック集合に属するものとする。なお、例えば、ブロック201が、ブロック202〜205以外のブロックを参照して符号化する可能性がある場合には、他の位置のブロックが、不可視領域に属するブロックである場合にも、ブロック201を周辺ブロック集合に属するものとしても良い。
【0070】
周辺ブロック集合のブロックは、画面内符号化を行う場合に、不可視領域を参照して予測を行う可能性があるブロックなので、これらを画面の符号化処理が始まる前に求めておき符号化する際制限を与える。また、画面間符号化処理の際も、登録不可視領域情報のflagが1であるか2であるか関係無しに、符号化処理の前に周辺ブロック集合を求めておくものとする。
【0071】
図5は、不可視化制御部17において、不可視化情報リスト18に登録された情報に基づいて、周辺ブロック集合を抽出する動作の例について示したフローチャートである。
【0072】
まず、ループ処理に用いる変数Iが、現在符号化装置10において、符号化の対象となっている動画の画像高をブロック単位で表した値に初期化される(S201)。例えば、符号化の対象となっている動画の画像が縦50ブロックであった場合には、I=50に初期化される。
【0073】
次に、Iの値がチェックされ、0であった場合には、周辺ブロック集合抽出の処理は終了され、0でなかった場合には、後述するステップS203から動作する(S202)。
【0074】
そして、上述のステップS202においてI=0でなかった場合には、ループ処理に用いる変数Jが現在符号化装置10において、符号化の対象となっている動画の画像幅をブロック単位で表した値に初期化される(S203)。
【0075】
次に、Jの値がチェックされ、0であった場合には、後述するステップS208から動作し、0でなかった場合には、後述するステップS205から動作する(S204)。
【0076】
そして、上述のステップS204においてJ=0でなかった場合には、符号化の対象となっている動画の画面において、上からI番目で、左からJ番目のブロック(以下、「Block[I][J]」という)が、周辺ブロック集合に属するか否か判定され、周辺ブロック集合に属すると判定された場合は、後述するステップS206から動作し、周辺ブロック集合に属しないと判定された場合には、後述するステップS207から動作する(S205)。なお、ステップS205におけるBlock[I][J]が周辺ブロック集合に属するか否かの判定方法の詳細については後述する。
【0077】
そして、上述のステップS205において、Block[I][J]が周辺ブロック集合に属すると判定された場合には、Block[I][J]のブロック番号は、不可視化制御部17において、周辺ブロック集合として登録される(S206)。
【0078】
上述のステップS206において、Block[I][J]のブロック番号が周辺ブロック集合として登録された場合、又は、上述のステップS205においてBlock[I][J]が周辺ブロック集合に属しないと判定されると、JがJ−1に更新され、上述のステップS204から動作する(S208)。
【0079】
また、上述のステップS204において、J=0と判定された場合には、IがI−1に更新され、さらに上述のステップS202から動作する。
【0080】
このように、図5においては、変数IとJを用いてループ処理が行われ、Block[I][J]について周辺ブロック集合に属するか否か判定することにより、符号化の対象となっている動画の画面における全てのブロックについて、周辺ブロック集合に属するか否か判定して、周辺ブロック集合を抽出することができる。
【0081】
次に、上述のステップS205における、Block[I][J]について周辺ブロック集合に属するか否か判定の詳細について説明する。
【0082】
図6は、上述のステップS205における判定の条件について、C言語により示した説明図である。なお、図6においては、説明を簡易にするため「不可視領域に属さない」、「不可視領域に属する」などの、C言語ではない表現を一部に使用して表現しているが、実際には全てC言語などのプログラム言語により表記されたものが適用される。
【0083】
なお、図6に示す判定の条件は、上述の図4と同様に、例えば、ブロック202〜205のいずれかのブロックが、不可視領域に属するブロックである場合に、ブロック201を周辺ブロック集合に属すると判定するための条件である。
【0084】
図6においては、Block[I][J](図4におけるブロック201)が不可視領域に属さない場合において、Block[I−1][J−1](図4におけるブロック202に相当)、Block[I−1][J](図4におけるブロック203に相当)、Block[I−1][J+1](図4におけるブロック204に相当)、Block[I][J−1](図4におけるブロック205に相当)のいずれかのブロックが不可視領域に属する場合には、Block[I][J]が周辺ブロック集合に属すると判定することを示している。
【0085】
図7は、上述の図5に示した不可視化情報リスト18における、周辺ブロック集合を抽出する動作をC言語で表したものである。なお、図7においては、上述の図6と同様に、説明を簡易にするため、C言語ではない表現を一部に使用して表現しているが、実際には全てC言語などのプログラム言語により表記されたものが適用される。
【0086】
図7において符号301で表した部分は、上述の図5におけるステップS201、S202、S208に相当する処理を表している。また、符号302で表した部分は、ステップS203、S204、S207に相当する処理を表している。さらに、符号303で表した部分は、ステップS205に相当する処理を表している。さらにまた、符号304で表した部分は、ステップS206に相当する処理を表している。
【0087】
(A−2−3)符号化処理
次に、不可視化制御部17において、不可視化情報リストの情報更新(上述の図3のフローチャート参照)及び、周辺ブロックの抽出(上述の図5のフローチャート参照)の処理が終了した後に、不可視化情報リスト18の制御に応じて、画面内符号化部14、画面間符号化部15がブロック毎の符号化処理を行う動作について説明する。
【0088】
まず、画面内符号化の処理について説明し、次に、画面間符号化の処理について説明する。
【0089】
図8は、不可視化制御部17の制御に応じて、画面内符号化部14により画面内符号化が行われる動作の例について示したフローチャートである。
【0090】
まず、ループ処理のインデックスに用いる変数Iが、現在符号化装置10において、符号化の対象となっている動画の画面内の全てのブロック数の値に初期化される(S301)。
【0091】
次に、Iの値がチェックされ、0であった場合には、画面内符号化の処理は終了され、0でなかった場合には、後述するステップS303から動作する(S302)。
【0092】
上述のステップS302において、I=0でなかった場合には、ブロック番号がIのブロック(以下、「Block[I]」と表す)が、上述の図5のフローチャートなどの処理により抽出された周辺ブロック集合に属するか否かが判定され、周辺ブロック集合に属すると判定された場合には、後述するステップS304から動作し、周辺ブロック集合に属しないと判定された場合には、後述するステップS305から動作する(S303)。
【0093】
上述のステップS303において、Block[I]が周辺ブロック集合に属すると判定された場合には、Block[I]の近傍のブロック(この実施形態では、上述の図4において、Block[I]がブロック201であった場合、ブロック202〜205に相当する位置のブロックが近傍のブロックとして該当するものとする)に係るデータを参照しないで、画面内符号化が行われる(S304)。画面内符号化では、上述の近傍のブロックの画素値を参照予測し符号化する場合があるが、近傍のブロックに係るデータを参照しないで予測するモードもあり、これを利用することにより、近傍のブロックに係るデータを参照せずにBlock[I]について画面内符号化をするようにしても良い。
【0094】
一方、上述のステップS303において、Block[I]が周辺ブロック集合に属しないと判定された場合には、不可視化情報リスト18に登録された情報に基づいて、Block[I]が不可視領域に属するか否か、すなわち、Block[I]がいずれかの登録不可視領域情報において、NewBlocksのブロック集合に属しているか否かが判定される。そして、Block[I]が、不可視領域に属すると判定された場合には、後述するステップS306から動作し、不可視領域に属しないと判定された場合には、後述するステップS307から動作する(S305)。
【0095】
上述のステップS305において、Block[I]が不可視領域に属しないと判定された場合には、Block[I]については、符号化方式に特に制限を付す必要はなく、既存の符号化装置と同様の処理により符号化されるものとする(S306)。
【0096】
一方、上述のステップS305において、Block[I]が不可視領域に属すると判定された場合には、Block[I]については、符号化方式に特に制限を付す必要はなく、既存の符号化装置と同様の処理で符号化される。ただしキーをもったユーザのみがこのブロックの画像を可視化できるようにするため、変換係数に可逆変換(キー依存の)をかけて符号化するか、暗号化して代わりにランダムな値を挿入して符号化し、暗号化したデータと一緒に符号化方式決定部13に出力される。ここで符号化する情報のみこの様な差し替えを行い、符号化装置内部では正しい変換係数に基づき符号化を続ける。また、Block[I]のブロック番号も併せて符号化方式決定部13に出力される(S307)。
【0097】
上述のステップS304、S306、S307のいずれかの処理の後、IがI−1に更新され、上述のステップS302から動作する(S308)。
【0098】
次に、画面内符号化部14、画面間符号化部15、不可視化制御部17における画面間符号化の処理について説明する。
【0099】
まず、符号化対象となる画面において、上述の不可視化情報リスト18の登録情報の更新(上述の図3のフローチャート参照)において、flagが2となっている不可視領域が存在する場合、すなわち、初めて現れた不可視領域が存在する場合の処理について説明する。画面に初めて現れた不可視領域が存在する場合に、画面間符号化を行おうとする際には、参照画面に対応する不可視領域が存在しないため、各画面に応じた処理を行う必要があるためである。第1の方法は、画面に初めて現れた不可視領域が存在する場合には、その画面については、画面間符号化を行わず、画面内符号化に切り替えてしまう(上述の図8のフローチャート参照)という方法である。第2の方法は、画面に初めて現れた不可視領域が存在する場合には、その初めて現れた不可視領域に係るブロックの符号化についてだけ、画面内符号化を行う方法である。符号化装置10では、画面間符号化を行おうとする際に、一部のブロックについてだけ画面内符号化を行うことができない場合には上述の第1の方法を適用し、一部のブロックについてだけ画面内符号化を行うことができる場合には上述の第2の方法を適用するものとする。
【0100】
図9は、符号化装置10において画面間符号化を行う動作について、説明したフローチャートである。
【0101】
なお、図9に示すフローチャートでは、画面に初めて現れた不可視領域が存在する場合には、上述の第2の方法を適用した場合の処理を示している。上述の通り、符号化装置10では、画面に初めて現れた不可視領域が存在する場合には、上述の第1の方法を適用した処理が行われることがあるが、この場合の処理は、上述の画面内符号化(上述の図8参照)と同様の処理になるので説明を省略する。
【0102】
図10は、画面間符号化部15において、画面間符号化される際に、参照されるブロックの探索範囲の制限について示した説明図である。
【0103】
まず、不可視化制御部17において、上述の図5のフローチャートなどにより示される動作により、周辺ブロック集合が抽出される(S401)。
【0104】
そして、ループ処理のインデックスに用いる変数Iが、現在符号化装置10において、符号化の対象となっている動画の画面内の全てのブロック数の値に初期化される(S402)。
【0105】
次に、Iの値がチェックされ、0であった場合には、画面内符号化の処理は終了され、0でなかった場合には、後述するステップS404から動作する(S403)。
【0106】
上述のステップS403において、I=0でなかった場合には、Block[I]が、上述のS401により抽出された周辺ブロック集合に属するか否かが判定され、周辺ブロック集合に属すると判定された場合には、後述するステップS405から動作し、周辺ブロック集合に属しないと判定された場合には、後述するステップS406から動作する(S404)。
【0107】
上述のステップS404において、Block[I]が周辺ブロック集合に属すると判定された場合には、画面内符号化と画面間符号化を行い、良いほうが選択されるが、不可視化制御部17の制限をうける。画面内符号化の場合は他の近傍ブロックを参照しない予測モードを使った画面内符号化が行われる。画面間符号化は参照画面(一つ前符号化した画面)から最も似ているブロックを探し出しブロックの動きを表す動きベクトルを求める操作を行うが、図10に示すように、不可視化情報リスト18に登録されている全ての登録不可視領域情報におけるOldBlocksのブロック集合が占める領域のブロックを参照して符号化を行わないよう参照画面からブロックを探すための探索範囲が制限される(S405)。
【0108】
一方、上述のステップS404において、Block[I]が周辺ブロック集合に属しないと判定された場合には、不可視化情報リスト18に登録された情報に基づいて、Block[I]が不可視領域に属するか否か、すなわち、Block[I]がいずれかの登録不可視領域情報において、NewBlocksのブロック集合に属しているか否かが判定される。そして、Block[I]が、不可視領域に属すると判定された場合には、後述するステップS408から動作し、不可視領域に属しないと判定された場合には、後述するステップS407から動作する(S406)。
【0109】
上述のステップS406において、Block[I]が不可視領域に属しないと判定された場合には、基本的には画面内符号化と画面間符号化を行い、効率の良いほうが選択されるが、不可視化制御部17の制限をうける。画面内符号化の場合において制限はない。画面間符号化の場合は、上述のステップS405と同様に、不可視化情報リスト18に登録されている全ての登録不可視領域情報のOldBlocksが占める領域を参照して符号化を行わないよう探索範囲が制限される(S407)。
【0110】
一方、上述のステップS406において、Block[I]が不可視領域に属すると判定された場合には、不可視化情報リスト18において、Block[I]がNewBlocksのブロック集合に登録されている登録不可視領域情報のflagの内容がチェックされる、そして、flag=1の場合には、後述するステップS410から動作し、flag=2の場合には後述するステップS409から動作する(S408)。
【0111】
上述のステップS408において、flag=2と判定された場合には、画面内符号化が行われる。ただしキーをもったユーザのみがこのブロックを可視化できるようにするため、変換係数に可逆変換をかけて符号化するか、暗号化して代わりにランダムな値を挿入して符号化し、暗号化した情報と一緒に出力する。ここで符号化する情報のみこの様な差し替えが行われ、符号化装置内部では正しい変換係数に基づき符号化が続けられる。ブロック番号も一緒に出力される(S409)。
【0112】
一方、上述のステップS408において、flag=1と判定された場合には、画面間符号化のみが行われるが、上述のステップS405と同様に、不可視化制御部17の制限をうけて探索範囲が限定される。Block[I]が、不可視化情報リスト18において領域番号Rnumの登録不可視領域情報のNewBlocksに属しているとすれば、その登録不可視領域情報のOldBlocksで指定される参照画面上の領域のみ参照するよう探索範囲が制限される(S410)。
【0113】
上述のステップS403、S404、S407、S409、S410のいずれかの処理の後、IがI−1に更新され、上述のステップS403から動作する(S411)。
【0114】
(A−2−4)符号化装置の出力
次に、符号化装置10(動画像提供装置1)から出力されるデータについて説明する。
【0115】
符号化方式決定部13から、出力バッファ16に与えられるデータは、上述の通り、「動画像の符号化データ」+「不可視領域ブロックの位置」+「暗号化されたブロックの符号化情報」である。「不可視領域ブロックの位置」及び「暗号化されたブロックの符号化情報」については、画面内符号化の処理(上述の図8のフローチャート参照)が行われた画面や、初めて現れた不可視領域が存在する画面、すなわち、一部のブロックについてだけ画面内符号化が行われた(上述の図9のステップS409参照)場合などに出力される。
【0116】
そして、画面間符号化部15から、出力バッファ16に出力データが与えられると、出力されたデータを蓄積して出力し、出力バッファ16から出力されたデータが、動画像提供装置1により、動画像受信装置2(復号化装置20)に与えられる。
【0117】
(A−2−5)復号化処理
次に、復号化装置20における復号化処理について説明する。
【0118】
図11は、復号化装置20において、動画像提供装置1(符号化装置10)から与えられた動画に係るデータの復号化をする動作について示したフローチャートである。上述の通り、ユーザが画面で不可視化された領域を見る必要がないのであれば、既存の復号化装置と同じ構成の装置における処理で復号化しても良いが、ユーザが、所定のキーを用いて不可視化された部分を可視化する場合は、復号化装置20において図11に示されるフローチャートの処理を行う必要がある。
【0119】
まず、動画像符号化解析部21により、符号化装置10から与えられたデータから、ユーザデータと動画像符号が抽出され、ユーザデータはユーザデータ解析部22に与えられ、動画像符号はエントロピー復号化部23に与えられる。なお、ユーザデータには、上述の「不可視領域ブロックの位置」及び「暗号化されたブロックの符号化情報」が該当する。また、ユーザからキー解析部24に、不可視化された画像を可視化するためのキーに係る情報が、入力されたものとする。そして、ユーザデータが与えられると、ユーザデータ解析部22では、そのユーザデータが解析され、符号化装置10において不可視化された際に出力された情報があるかチェックされる(S501)。そして、該当する情報があった場合には、ユーザデータ解析部22において、ユーザデータから、不可視化ブロックの位置情報や、暗号化されたデータ(暗号化する方式をとっている場合のみ読込まれる)が読込まれる(S502)。
【0120】
そして、ループ処理のインデックスに用いる変数Iが、現在符号化装置10において、符号化の対象となっている動画の画面内の全てのブロック数の値に初期化される(S503)。
【0121】
次に、Iの値がチェックされ、0であった場合には、復号化の処理は終了され、0でなかった場合には、後述するステップS505から動作する(S504)。
【0122】
そして、エントロピー復号化部23では、動画像符号化解析部21から与えられた動画像符号について、1マクロブロック分エントロピー復号化がされる。すなわち、Block[I]についてエントロピー復号化が行われる(S505)。
【0123】
そして、エントロピー復号化部23では、ユーザデータ解析部22から与えられた情報に基づいて、Block[I]が、不可視化ブロックであるか否かが判定され、不可視化ブロックであった場合には、後述するステップS507から動作し、不可視化ブロックでなかった場合には、後述するステップS508から動作する(S506)。
【0124】
上述のステップS506において、Block[I]が、不可視化ブロックであった場合には、さらに、上述のステップS501においてキー解析部24により読込まれたキーに係る情報について参照され、キーが不正なものであるか否か判定される。キーが不正なものであった場合には、後述するステップS509から動作し、キーが不正なものでなかった場合には、後述するステップS508から動作する(S507)。
【0125】
上述のステップS507において、キーが不正でないものと判定された場合には、Block[I]について、正常なブロックに復号化できるよう変換係数をキーを引数として逆変換が行われる。暗号化されたデータがあるならばキーを使い複合化し正しい変換係数をえて正しい変換係数に差し替えられる(S508)。
【0126】
上述のステップS506でBlock[I]が、不可視化ブロックでないと判定された場合、又は、上述のステップS507でキーが不正なものであると判定された場合には、Block[I]に係るデータはそのまま、逆変換、動き補償、画面内予測等既存の復号化装置で行われる復号化と同様の処理が行われ、動画像構成部25に与えられる。また、上述のステップS508において、キーを用いてBlock[I]が変換された場合には、その変換されたデータについて逆変換、動き補償、画面内予測等従来の復号化装置で行う復号化が行われ、動画像構成部25に与えられる(S509)。そして、IがI−1に更新され、上述のステップS504から動作する(S510)。
【0127】
このようにして、エントロピー復号化部23では、符号化装置10から与えられた動画像の全てのブロックについて復号化、及び、不可視化されたブロックの可視化が行われ、動画像構成部25において画面が構成され出力される。
【0128】
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【0129】
符号化装置10では、画面内符号化部14、画面間符号化部15、不可視化制御部17、不可視化情報リスト18を備えることにより、入力不可視領域情報に応じて、不可視領域に属するブロックについて、不可視化するように符号化などをおこなっている。これにより、不可視領域が画面ごとに移動しても、その不可視領域に属するブロックの画像は、常にキーを持たないユーザから見えないという効果を奏する。言い換えれば、キーを持ったユーザのみが不可視領域に属するブロックの画像を可視化することができる。
【0130】
画面内符号化部14では、周辺ブロック集合に属するブロックについては、不可視領域に属するブロックのデータを参照させずに符号化を行っている(上述の図8のステップS304などを参照)。これにより、不可視領域に属するブロック以外のブロックについては、キーを持たないユーザであっても視聴することができるという効果を奏する。
【0131】
符号化装置10では、符号化にあたって、元の画像に修正を加えているわけでなく、正しく符号化した情報を、キーにより可逆変換しているだけなので、復号化装置20において復号化される画像は、元の画像の画質に影響を与えないという効果を奏する。
【0132】
画面間符号化部15において、不可視領域に属するブロックの符号化を行う際に、前画面における不可視領域(OldBlocks)に属するブロックのデータのみを参照させ(上述の図9のステップS410などを参照)、動き探索の制限を行う。また、不可視領域に属しないブロックについては、前画面の不可視領域のブロック集合(OldBlocks)に属するブロックのデータを参照させずに符号化を行っている(上述の図9のステップS405、S407などを参照)このことにより、移動した対象が実際同じものである場合、従来の探索方法よりも、探索範囲が狭くなるので、効率よく動き探索が可能になり、画質の改善や、処理量の低減をすることができる。
【0133】
上記の実施形態においては、不可視領域ブロックの位置に係るデータを、画面内符号化が選択されたときなどにだけ、符号化装置10(動画像受信装置2)に送信している。この場合、画面間符号化部15において、不可視領域に属するブロックの符号化を行う際に、前画面における不可視領域(OldBlocks)に属するブロックのデータのみを参照させている(上述の図9のステップS410などを参照)ため、画面内符号化により暗号化されランダムになったブロックのデータが、その後の画面間符号化において伝播されていく。これにより、画面間符号化が選択されたときなどにだけ入力不可視領域情報に係るデータを、符号化装置10(動画像受信装置2)に送信したとしても、不可視領域に属するブロックの画像は、キーを持たないユーザから見えないという効果を奏することができる。すなわち、動画像の全ての画面について入力不可視領域情報に係るデータを送信する必要がなく、送信データの量や処理量を低減するという効果を奏する。また、画面間符号化が行われた画面については、復号化装置20において、キー及び入力不可視領域情報に係るデータを用いて復号化する処理を省略し、特に可視化の処理を行わない既存の復号化装置と同様の処理だけで良いため、復号化に必要な処理量を低減することができる。
【0134】
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【0135】
(B−1)上記の実施形態においては、符号化装置10において符号化の際に用いるキーと、復号化装置20において復号化の際に用いるキーは同じものとして説明したが、符号化装置10では暗号化専用のキーを用い、復号化装置20では暗号解読専用のキーを用いるようにしても良い。
【0136】
(B−2)上記の実施形態においては、符号化装置10は、動画像提供装置1に搭載しているものとして説明しているが、単独の装置として実現しても良い。また、復号化装置20も同様に単独の装置として実現しても良い。
【0137】
(B−3)上記の実施形態においては、符号化装置10及び復号化装置20において、画面を縦及び横に分割したブロック単位で符号化・復号化する例について説明したが、画面を、縦又は横のいずれかに分割したブロック単位で符号化・復号化させるようにしても良い。
【図面の簡単な説明】
【0138】
【図1】実施形態に係る配信システムの全体構成を示した説明図である。
【図2】実施形態に係る、画面間における動きベクトルの例を示した説明図である。
【図3】実施形態に係る、不可視化制御部により、不可視化情報リストの内容が更新される際の動作について示したフローチャートである。
【図4】実施形態に係る不可視領域及び周辺ブロックの例について示した説明図である。
【図5】実施形態に係る不可視化制御部において、周辺ブロック集合を抽出する動作の例について示したフローチャートである。
【図6】実施形態に係る不可視化制御部において、周辺ブロックに該当するか否かを判定する条件について示した説明図である。
【図7】実施形態に係る不可視化制御部において、周辺ブロック集合を抽出する動作の例についてC言語で表した説明図である。
【図8】実施形態に係る、符号化装置が画面内符号化を行う動作の例について説明したフローチャートである。
【図9】実施形態に係る符号化装置が、画面間符号化を行う動作の例について説明したフローチャートである。
【図10】実施形態に係る、画面間符号化部において、画面間符号化される際に、参照されるブロックの探索範囲の制限について示した説明図である。
【図11】実施形態に係る復号化装置において、データの復号化をする動作について示したフローチャートである。
【符号の説明】
【0139】
100…配信システム、1…動画像提供装置、2…動画像受信装置、10…符号化装置、11…入力バッファ、12…ブロック分割部、13…符号化方式決定部、14…画面内符号化部、15…画面間符号化部、16…出力バッファ、17…不可視化制御部、18…不可視化情報リスト、20…復号化装置、21…動画像符号化解析部、22…ユーザデータ解析部、23…エントロピー復号化部、24…キー解析部、25…動画像構成部。
【特許請求の範囲】
【請求項1】
動画像を構成するそれぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化する符号化装置において、
鍵情報を用いなければ元の画像を可視化させることができないように符号化する、画面内符号化された不可視領域ブロックを含む画面で異なる不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、
それぞれの画面についてブロック単位で符号化するものであって、不可視領域ブロックについては、上記鍵情報を用いなければ元の画像を可視化させることができないように符号化し、不可視領域に属さない通常領域ブロックについては、不可視領域ブロックに係るデータを参照せずに符号化する符号化手段と
を有することを特徴とする符号化装置。
【請求項2】
上記符号化手段は、不可視領域ブロックの符号化において、その不可視領域ブロックが属する画面内のブロックに係るデータを参照する画面内符号化を行う場合、その不可視領域ブロックを符号化したデータを、さらに上記鍵情報又は上記鍵情報に対応する暗号化用鍵情報を用いて加工することを特徴とする請求項1に記載の符号化装置。
【請求項3】
上記符号化手段は、不可視領域ブロックの符号化において、その不可視領域ブロックが属する画面以外の参照画面内のブロックに係るデータを参照する画面間符号化を行う場合、その参照画面内の不可視領域ブロックに係るデータを参照することを特徴とする請求項1又は2に記載の符号化装置。
【請求項4】
上記符号化手段は、通常領域ブロックの符号化において、その通常領域ブロックが属する画面内のブロックに係るデータを参照する画面内符号化を行う場合、その画面内の不可視領域ブロックに係るデータを参照しないことを特徴とする請求項1〜3のいずれかに記載の符号化装置。
【請求項5】
上記符号化手段は、通常領域ブロックの符号化において、その通常領域ブロックが属する画面以外の参照画面内のブロックに係るデータを参照する画面間符号化を行う場合、その参照画面内の不可視領域ブロックに係るデータを参照しないことを特徴とする請求項1〜4のいずれかに記載の符号化装置。
【請求項6】
それぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化された動画像を復号化する復号化装置において、
鍵情報を用いなければ元の画像を可視化させることができないように符号化されている、画面内符号化された不可視領域ブロックを含む画面で異なる不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、
それぞれの画面について、ブロック単位に符号化されたデータを復号化するものであって、上記不可視領域情報保持手段が保持している情報と上記鍵情報とを用いて、それぞれの画面における不可視領域ブロックに係る画像を正常に表示させるように復号化する復号化手段と
を有することを特徴とする復号化装置。
【請求項7】
動画像を構成するそれぞれの画面に係るデータを符号化して、符号化済動画像データを提供する動画像提供装置と、上記動画像提供装置から、符号化済動画像データを受信して復号化する動画像受信装置とを備える配信システムにおいて、
上記動画像提供装置は、請求項1に記載の符号化装置を用いて、動画像を構成するそれぞれの画面に係るデータを符号化し、
上記動画像受信装置は、請求項6に記載の復号化装置を用いて、符号化済動画像データを復号化する
ことを特徴とする配信システム。
【請求項8】
動画像を構成するそれぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化する符号化装置に搭載されたコンピュータを、
画面内符号化された不可視領域ブロックを含む画面について、鍵情報を用いなければ元の画像を正常に表示させることができないように符号化する不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、
それぞれの画面についてブロック単位で符号化するものであって、不可視領域ブロックについては、上記鍵情報を用いなければ元の画像を正常に表示させることができないように符号化し、不可視領域に属さない通常領域ブロックについては、不可視領域ブロックに係るデータを参照せずに符号化する符号化手段と
して機能させることを特徴とする符号化プログラム。
【請求項9】
それぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化された動画像を復号化する復号化装置に搭載されたコンピュータを、
鍵情報を用いなければ元の画像を可視化させることができないように符号化されている、画面内符号化された不可視領域ブロックを含む画面で異なる不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、
それぞれの画面について、ブロック単位に符号化されたデータを復号化するものであって、上記不可視領域情報保持手段が保持している情報と上記鍵情報とを用いて、それぞれの画面における不可視領域ブロックに係る画像を正常に表示させるように復号化する復号化手段と
して機能させることを特徴とする復号化プログラム。
【請求項1】
動画像を構成するそれぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化する符号化装置において、
鍵情報を用いなければ元の画像を可視化させることができないように符号化する、画面内符号化された不可視領域ブロックを含む画面で異なる不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、
それぞれの画面についてブロック単位で符号化するものであって、不可視領域ブロックについては、上記鍵情報を用いなければ元の画像を可視化させることができないように符号化し、不可視領域に属さない通常領域ブロックについては、不可視領域ブロックに係るデータを参照せずに符号化する符号化手段と
を有することを特徴とする符号化装置。
【請求項2】
上記符号化手段は、不可視領域ブロックの符号化において、その不可視領域ブロックが属する画面内のブロックに係るデータを参照する画面内符号化を行う場合、その不可視領域ブロックを符号化したデータを、さらに上記鍵情報又は上記鍵情報に対応する暗号化用鍵情報を用いて加工することを特徴とする請求項1に記載の符号化装置。
【請求項3】
上記符号化手段は、不可視領域ブロックの符号化において、その不可視領域ブロックが属する画面以外の参照画面内のブロックに係るデータを参照する画面間符号化を行う場合、その参照画面内の不可視領域ブロックに係るデータを参照することを特徴とする請求項1又は2に記載の符号化装置。
【請求項4】
上記符号化手段は、通常領域ブロックの符号化において、その通常領域ブロックが属する画面内のブロックに係るデータを参照する画面内符号化を行う場合、その画面内の不可視領域ブロックに係るデータを参照しないことを特徴とする請求項1〜3のいずれかに記載の符号化装置。
【請求項5】
上記符号化手段は、通常領域ブロックの符号化において、その通常領域ブロックが属する画面以外の参照画面内のブロックに係るデータを参照する画面間符号化を行う場合、その参照画面内の不可視領域ブロックに係るデータを参照しないことを特徴とする請求項1〜4のいずれかに記載の符号化装置。
【請求項6】
それぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化された動画像を復号化する復号化装置において、
鍵情報を用いなければ元の画像を可視化させることができないように符号化されている、画面内符号化された不可視領域ブロックを含む画面で異なる不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、
それぞれの画面について、ブロック単位に符号化されたデータを復号化するものであって、上記不可視領域情報保持手段が保持している情報と上記鍵情報とを用いて、それぞれの画面における不可視領域ブロックに係る画像を正常に表示させるように復号化する復号化手段と
を有することを特徴とする復号化装置。
【請求項7】
動画像を構成するそれぞれの画面に係るデータを符号化して、符号化済動画像データを提供する動画像提供装置と、上記動画像提供装置から、符号化済動画像データを受信して復号化する動画像受信装置とを備える配信システムにおいて、
上記動画像提供装置は、請求項1に記載の符号化装置を用いて、動画像を構成するそれぞれの画面に係るデータを符号化し、
上記動画像受信装置は、請求項6に記載の復号化装置を用いて、符号化済動画像データを復号化する
ことを特徴とする配信システム。
【請求項8】
動画像を構成するそれぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化する符号化装置に搭載されたコンピュータを、
画面内符号化された不可視領域ブロックを含む画面について、鍵情報を用いなければ元の画像を正常に表示させることができないように符号化する不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、
それぞれの画面についてブロック単位で符号化するものであって、不可視領域ブロックについては、上記鍵情報を用いなければ元の画像を正常に表示させることができないように符号化し、不可視領域に属さない通常領域ブロックについては、不可視領域ブロックに係るデータを参照せずに符号化する符号化手段と
して機能させることを特徴とする符号化プログラム。
【請求項9】
それぞれの画面を、少なくとも縦又は横に分割したブロック単位で符号化された動画像を復号化する復号化装置に搭載されたコンピュータを、
鍵情報を用いなければ元の画像を可視化させることができないように符号化されている、画面内符号化された不可視領域ブロックを含む画面で異なる不可視領域に属する不可視領域ブロックの識別情報を保持する不可視領域情報保持手段と、
それぞれの画面について、ブロック単位に符号化されたデータを復号化するものであって、上記不可視領域情報保持手段が保持している情報と上記鍵情報とを用いて、それぞれの画面における不可視領域ブロックに係る画像を正常に表示させるように復号化する復号化手段と
して機能させることを特徴とする復号化プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2009−232069(P2009−232069A)
【公開日】平成21年10月8日(2009.10.8)
【国際特許分類】
【出願番号】特願2008−73790(P2008−73790)
【出願日】平成20年3月21日(2008.3.21)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】
【公開日】平成21年10月8日(2009.10.8)
【国際特許分類】
【出願日】平成20年3月21日(2008.3.21)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】
[ Back to top ]