以下、本発明の一実施形態を、図面を参照して詳細に説明する。本実施形態の技術は、1つの受信装置で、2つ以上の異なる方式等で送信される画像のデータを受信し、これらのデータを切替える場合に有効である。以下の説明では、受信装置は、地上波デジタル放送の、12個のセグメントを使用して放送するハイビジョン映像のデータと、1個のセグメントを使用して放送する移動端末向けの映像のデータとを切替えて出力する場合の例を説明するが、これに限られるわけではない。例えば、1つの受信装置で、DVB-T(Digital Video Broadcast-Terrestrial)データとDVB-H(Digital Video Broadcasting-Handheld)データとを切替えて出力する場合や、放送データとインターネット等の通信データとを切替えて出力する場合等に有効である。
まず、図1を参照し、本実施形態の受信装置の構成例を説明する。
図1において、受信装置1は、地上波デジタル放送を受信可能な装置である。この受信装置1は特に限定するものではないが、例えば、地上波デジタル放送を受信可能な携帯端末、ナビゲーションシステム、TV、チューナ等である。受信装置1は、12個のセグメントを使用して放送するハイビジョン映像のデータと、1個のセグメントを使用して放送する移動端末向けの映像のデータとを切替えて出力するものであるので、環境が変化する等して地上波デジタル放送の受信状況が変化するものに適用するほうが有用である。以下、12個のセグメントを使用して放送するハイビジョン映像のデータを、HDTVデータという。また、1個のセグメントを使用して放送する移動端末向けの映像のデータを、H.264データという。
受信装置1は、アンテナ101、チューナ102、OFDM(Orthogonal Frequency Division Multiplexing)復調部103、処理部104、RAM105、ROM106、記憶装置107、入力インタフェース108、出力インタフェース109、通信インタフェース110等を有する。アンテナ101、チューナ102、OFDM復調部103、処理部104、RAM105、ROM106、記憶装置107、入力インタフェース108、出力インタフェース109、通信インタフェース110等は、バス120を介して接続される。
処理部104は、例えば、システムLSI(Large Scale Integration)等である。
記憶装置107は、例えば、HDD(Hard Disk Drive)や、CD-R(Compact Disc- Recordable)、DVD-RAM(Digital Versatile Disk-Random Access Memory)等の書き込み及び読み出し可能な記憶メディア及び記憶メディア駆動装置等である。
入力インタフェース108には、入力装置121等が接続される。入力装置121は、例えば、ボタン、リモコン及びリモコン受信部、タッチパネル等である。
出力インタフェース109には、図示しないディスプレイ、スピーカ等の出力装置が接続される。
受信装置1は、通信インタフェース110を介して、図示しない通信ネットワークに接続される。受信装置1は、この通信ネットワークを介して図示しない情報端末と接続され、後述する指示情報等の入力を受け付けても良い。
地上波デジタル放送の放送電波は、アンテナ101、チューナ102を介して受信装置1に入力され、OFDM復調部103により復調された後、処理部104により分離、色補正、出力切替え等され、出力インタフェース109から、映像データ及び音声データとして出力される。受信装置1の、アンテナ101、チューナ102、OFDM復調部103、RAM105、ROM106、記憶装置107、入力インタフェース108、出力インタフェース109、通信インタフェース110等は従来技術と同じであるが、処理部104の一部のみ、従来技術とは異なる。
図2に、処理部104の構成例を示す。
図2において、処理部104は、受信状態検出部201、受信状態検出条件保持部202、DEMUX(De-MUltipleXer)203、デコーダ204、描画処理部205、フレームバッファ206、デコーダ207、描画処理部208、フレームバッファ209、同期部210、同期条件保持部211、色情報取得部212、取得条件保持部213、色差取得部214、補正部215、切替え部216、設定受付部217等を有する。
受信状態検出条件保持部202は、HDTVデータと、H.264データとを切替える条件を保持する。受信状態検出部201は、受信状態検出条件保持部202内の条件に従い、HDTVデータと、H.264データとを切替えて出力するか否か判定する。
DEMUX203は、OFDM復調部103により復調されたデータを分離する。デコーダ204は、HDTVデータをデコードする。描画処理部205は、HDTVデータをフレームバッファ206に描画する。デコーダ207は、H.264データをデコードする。描画処理部208は、H.264データをフレームバッファ209に描画する。
同期部210は、同期条件保持部211内に保持されている条件に従い、HDTVデータと、H.264データとで、同じ映像のフレーム画像を選択する。また、同期部210は、色情報取得部212に同じ映像を映しているフレーム画像を指示し、切替え部216に、切替えタイミングを指示する。
色情報取得部212は、取得条件保持部213内の条件に従い、HDTVデータによるフレーム画像と、H.264データによるフレーム画像との各々の画素をサーチして、各フレーム画像の色を取得する。ここでは、色情報取得部212は、HDTVデータによるフレーム画像をサーチする場合、「6*6」個の画素を1つの単位として、その単位を構成する各画素の色を平均した値を取得するものとする。また、色情報取得部212は、H.264データによるフレーム画像をサーチする場合、1個の画素を1つの単位として、その単位毎に画素の色を取得するものとする。ここで取得する色は特に限定するものではないが、ここでは、画素の輝度を取得するものとする。色差取得部214は、色情報取得部212により取得された色の差を算出する。補正部215は、色差取得部214により取得された色の差に従い、フレームバッファ209内のフレーム画像の色を補正する。切替え部216は、同期部210の指示に従い、フレームバッファ206内のフレーム画像と、フレームバッファ209内のフレーム画像との出力を切替える。設定受付部217は、入力装置121、又は、通信インタフェース110を介して入力された情報に従い、同期条件保持部211、取得条件保持部213等内の情報を登録、更新等する。
なお、DEMUX203、デコーダ204、デコーダ207、描画処理部205、描画処理部208、フレームバッファ206、フレームバッファ209、受信状態検出条件保持部202、受信状態検出部201等は、従来技術と同じものである。
また、同期部210がHDTVデータと、H.264データとで、同じ映像のフレーム画像を選択するための動作例は特に限定するものではない。同期部210が同じ映像のフレーム画像を選択するために、例えば、単に、HDTVデータに含まれているタイムスタンプ(再生時刻)と、H.264データに含まれているタイムスタンプとの差分が所定値内であるか否かにより判定してもよいが、ここでは、HDTVデータに含まれている動きベクトルと、H.264データに含まれている動きベクトルとの内積により判定するものとする。この判定動作の詳細については後述する。
同期部210は、検索部251、タイムスタンプ取得部252、近傍フレーム検索部253を有する。検索部251は、HDTVデータに含まれている動きベクトルと、H.264データに含まれている動きベクトルとの内積により、切替えるフレーム画像の候補を取得する。タイムスタンプ取得部252は、フレーム画像のタイムスタンプを取得する。近傍フレーム検索部253は、検索部251により取得された切替えるフレーム画像の候補と、タイムスタンプ取得部252により取得されたタイムスタンプから、切替えるフレーム画像を選択する。
なお、受信状態検出部201、描画処理部205、描画処理部208、同期部210、色情報取得部212、色差取得部214、補正部215、切替え部216、設定受付部217等は、記憶装置(図示略)からロードしたプログラムを処理部104内の演算装置(図示略)が実行することにより実現するものでもよく、専用のハードウェア等でもよい。
また、図2では、音声データをデコードして出力する構成は含まれていないが、この構成は従来技術と同じものであるので、ここでは省略する。
次に、上記保持部の保持する条件情報について説明する。
まず、受信状態検出条件保持部202について説明する。
受信状態検出条件保持部202は、出力インタフェース109から出力するデータを、HDTVデータによるものとするか、又は、H.264データによるものとするかを判定するための閾値等を保持している。この閾値は、ここでは、電界強度であるものとする。受信状態検出条件保持部202内の情報は予め格納されているものとするが、入力装置121、又は、通信インタフェース110から入力された情報に従い新規格納、更新等してもよい。
次に、図3を参照し、同期条件保持部211内の条件の一例を説明する。
同期条件保持部211内には、図3に一例を示すテーブル301が格納されている。図3において、テーブル301は、閾値種別311、閾値312等を含む。閾値種別311、閾値312等は互いに対応付けられている。閾値種別311は、閾値の種別である。図3の例において、閾値種別311「同期閾値」は、後述する動作により取得するフレーム画像のタイムスタンプの閾値である。閾値種別311「内積閾値」は、後述する動作により取得する動きベクトルの内積の閾値である。閾値種別311「差分閾値」は、後述する動作により取得する2乗誤差の閾値である。閾値312は、対応する閾値種別311の閾値である。
同期条件保持部211内の情報は、後述する動作例により新規格納、更新等される。
取得条件保持部213内の情報について説明する。
取得条件保持部213は、HDTVデータによるフレーム画像と、H.264データによるフレーム画像との輝度差を取得する画素をサーチする設定情報を保持している。本実施形態では、輝度差を取得する画素をサーチする設定情報とは、全輝度取得モード、中央部輝度取得モード、ランダム輝度取得モードの3つがあるものとして説明する。取得条件保持部213内の設定情報は、後述する動作例により新規格納、更新等される。
ここで、全輝度取得モード、中央部輝度取得モード、ランダム輝度取得モードについて、図面を参照して説明する。
まず、全輝度取得モードについて、図4を参照して説明する。
図4(a)において、フレーム画像401は、HDTVデータによるフレーム画像を示す。HDTVデータによるフレーム画像の画素数は、縦軸が1080個、横軸が1920個である。図4(b)において、フレーム画像411は、H.264データによるフレーム画像を示す。H.264データによるフレーム画像の画素数は、縦軸が180個、横軸が320個である。
全輝度取得モードでは、色情報取得部212は、フレーム画像401、フレーム画像411の各々の画素の全てをサーチして、各画素の輝度を取得する。即ち、色情報取得部212は、図4(a)のフレーム画像401を構成する全ての画素に対し、「6*6」個の画素を1つの単位として、その単位を構成する各画素の輝度を平均した値を取得する。具体的には、例えば、画素の位置を「(1,1)」〜「(X,Y)」のうちいずれかで示すものとする場合、色情報取得部212は、まず、対角が「(1,1)」と「(6,6)」とで示される領域402の画素の輝度の平均値を取得し、次に、対角が「(7,1)」と「(6,12)」とで示される領域の画素の輝度の平均値を取得する、という処理を繰り返す。また、色情報取得部212は、図4(b)のフレーム画像411を構成する全ての画素に対し、1個の画素を1つの単位として、その単位毎に画素の輝度を取得する。具体的には、例えば、色情報取得部212は、まず、「(1,1)」の位置の画素412の輝度を取得し、次に、「(1,2)」の位置の画素の輝度を取得する、という処理を繰り返す。
中央部輝度取得モードについて、図5を参照して説明する。
図5(a)において、フレーム画像501は、HDTVデータによるフレーム画像を示す。HDTVデータによるフレーム画像の画素数は上述と同じである。図5(b)において、フレーム画像511は、H.264データによるフレーム画像を示す。H.264データによるフレーム画像の画素数は上述と同じである。
中央部輝度取得モードでは、色情報取得部212は、フレーム画像501、フレーム画像511の各々の中央部の画素をサーチして、各画素の輝度を取得する。即ち、色情報取得部212は、図5(a)のフレーム画像501の中央部の所定領域502の画素に対し、「6*6」個の画素を1つの単位として、その単位を構成する各画素の輝度を平均した値を取得する。具体的には、例えば、上述と同様に、画素の位置を「(1,1)」〜「(X,Y)」のうちいずれかで示し、所定領域502の対角の画素の位置が「(Xc1,Yc1)-(Xc2,Yc2)」である場合、色情報取得部212は、まず、対角が「(Xc1,Yc1)」と「(Xc1+5,Yc1+5)」とで示される領域503の画素の輝度の平均値を取得し、次に、対角が「(Xc1+6,Xc1)」と「(Xc1+5,Xc1+11)」とで示される領域の画素の輝度の平均値を取得する、という処理を繰り返す。また、色情報取得部212は、図5(b)のフレーム画像511の中央部の所定領域512の画素に対し、1個の画素を1つの単位として、その単位毎に画素の輝度を取得する。具体的には、例えば、色情報取得部212は、まず、「(Xc1,Yc1)」の位置の画素513の輝度を取得し、次に、「(Xc1,Yc1+1)」の位置の画素の輝度を取得する、という処理を繰り返す。
ランダム輝度取得モードについて、図6を参照して説明する。
図6(a)において、フレーム画像601は、HDTVデータによるフレーム画像を示す。HDTVデータによるフレーム画像の画素数は上述と同じである。図6(b)において、フレーム画像611は、H.264データによるフレーム画像を示す。H.264データによるフレーム画像の画素数は上述と同じである。
ランダム輝度取得モードでは、色情報取得部212は、擬似乱数を発行する等により、フレーム画像601、フレーム画像611の各々に対し、ランダムに選択した画素の輝度を取得する。即ち、色情報取得部212は、図6(a)のフレーム画像601に対し、ランダムに選択した画素を基準とした「6*6」個の画素を1つの単位として、その単位を構成する各画素の輝度を平均した値を取得する。この、ランダムに選択した画素602の位置は、例えば、図6(a)に示すように「6*6」個の領域603内としてもよく、また、この領域603外の任意の位置でもよい。色情報取得部212は、このような処理を所定回数行なう。また、色情報取得部212は、図6(b)のフレーム画像611に対し、ランダムに選択した画素612、画素613の輝度を取得する。色情報取得部212は、このような処理を所定回数行なう。
次に、動作例を説明する。
まず、輝度取得モードを取得条件保持部213に設定する動作例を、図7を参照して説明する。ユーザが、入力装置121又は図示しない情報端末の入力装置を用いて輝度取得モード設定を指示等すると、設定受付部217は以下の動作を起動させる。
図7において、設定受付部217は、輝度取得モードの入力を受け付ける(S701)。そのために、設定受付部217は、例えば、輝度取得モードの入力を受け付けるための画面データを、出力インタフェース109、又は、通信インタフェース110に出力する。図8において、画面801は、ディスプレイ等の出力装置(図示略)に表示されるものである。ユーザは、入力装置121又は図示しない情報端末の入力装置を用いて、ラジオボタン811〜813のうち何れかを選択して、設定する輝度取得モードを指定し、その情報の入力を指示する。これにより、入力装置121、又は、通信インタフェース110から、輝度取得モードを示す情報が入力される。
入力装置121、又は、通信インタフェース110から輝度取得モードを示す情報が入力されると、設定受付部217は、入力された輝度取得モードを示す設定情報を取得条件保持部213に格納する(S702)。
次に、同期判定条件を同期条件保持部211に設定する動作例を説明する。この動作例は、上述の輝度取得モードの設定と、設定する情報のみが異なるため、同じ図7を参照して説明する。ユーザが、入力装置121又は図示しない情報端末の入力装置を用いて輝度取得モード設定を指示等すると、設定受付部217は以下の動作を起動させる。
図7において、設定受付部217は、同期判定条件の入力を受け付ける(S701)。そのために、設定受付部217は、例えば、同期判定条件の入力を受け付けるための画面データを、出力インタフェース109、又は、通信インタフェース110に出力する。図9において、画面901は、ディスプレイ等の出力装置に表示されるものである。ユーザは、入力装置121又は図示しない情報端末の入力装置を用いて、領域911〜913の各々に任意の数値を入力等して、同期判定条件の閾値を指定し、この情報の入力を指示する。これにより、入力装置121、又は、通信インタフェース110から、同期判定条件情報が入力される。
入力装置121、又は、通信インタフェース110から同期判定条件情報が入力されると、設定受付部217は、入力された同期判定条件情報を同期条件保持部211に格納する(S702)。具体的には、例えば、設定受付部217は、図9の領域911に入力された値を、同期条件保持部211内のテーブル301の、閾値種別311「同期閾値」に対応する閾値312に格納する。また、設定受付部217は、図9の領域912に入力された値を、同期条件保持部211内のテーブル301の、閾値種別311「内積閾値」に対応する閾値312に格納する。設定受付部217は、図9の領域913に入力された値を、同期条件保持部211内のテーブル301の、閾値種別311「差分閾値」に対応する閾値312に格納する。
次に、HDTVデータによる画像の出力と、H.264データによる画像の出力とを切替えるか否か判定する動作例を、図10を参照して説明する。この動作は、例えば、受信装置1の起動時や、所定時間毎等に起動される動作である。
図10において、受信状態検出部201は、まず、アンテナ101により受信した電波による電界強度を取得する(S1001)。次に、受信状態検出部201は、受信状態検出条件保持部202から、閾値を読み出す(S1002)。受信状態検出部201は、S1001で取得した電界強度が、S1002で読み出した閾値以下であるか否か判定する(S1003)。
S1003の判定の結果、S1001で取得した電界強度が、S1002で読み出した閾値以下でない場合、受信状態検出部201は、HDTVデータを選択する(S1004)。
S1003の判定の結果、S1001で取得した電界強度が、S1002で読み出した閾値以下である場合、受信状態検出部201は、H.264データを選択する(S1005)。
受信状態検出部201は、S1004、又は、S1005で選択したデータを示す情報を、同期部210、色情報取得部212等に出力する(S1006)。この、選択したデータを示す情報とは、例えば、フラグのON及びOFF等でもよい。
次に、HDTVデータと、H.264データとの同期をとる動作例を説明する。この動作は、例えば、上述の受信状態検出部201の動作により、選択したデータを示す情報が新に入力された場合や、それまでとは異なる情報が入力された場合に起動される動作である。
まず、図11を参照し、HDTVデータと、H.264データとの同期をとる動作例の概要を説明する。
図11において、同期部210の検索部251は、HDTVデータの動きベクトルと、H.264データの動きベクトルとの内積から、同じ映像を映すHDTVデータのフレーム画像と、H.264データのフレーム画像とを検出する(S1101)。この動作例の詳細については後述する。
次に、近傍フレーム検索部253は、受信状態検出部201から入力された情報から、HDTVデータによるフレーム画像から、H.264データによるフレーム画像への切替えであるか否か判定する(S1102)。
S1102の判定の結果、HDTVデータによるフレーム画像から、H.264データによるフレーム画像への切替えである場合、近傍フレーム検索部253は、検索部251により同じ画像であると判定されたHDTVデータのフレーム画像と、検索部251により同じ画像であると判定されたH.264データのフレーム画像の次のフレーム画像とを選択する(S1103)。
S1102の判定の結果、HDTVデータによるフレーム画像から、H.264データによるフレーム画像への切替えでない場合、近傍フレーム検索部253は、検索部251により同じ画像であると判定されたH.264データのフレーム画像と、検索部251により同じ画像であると判定されたHDTVデータのフレーム画像の次のフレーム画像とを選択する(S1104)。
以下、切替えるまでに出力していたフレーム画像のうち最後のものを切替え対象フレーム画像といい、切替えた直後に最初に出力するフレーム画像を切替えフレーム画像という。従って、例えば、上述のS1102の判定の結果、HDTVデータによるフレーム画像から、H.264データによるフレーム画像への切替えである場合、検索部251により同じ画像であると判定されたHDTVデータのフレーム画像を切替え対象フレーム画像といい、検索部251により同じ画像であると判定されたH.264データのフレーム画像の次のフレーム画像を切替えフレーム画像という。また、例えば、S1102の判定の結果、HDTVデータによるフレーム画像から、H.264データによるフレーム画像への切替えでない場合、検索部251により同じ画像であると判定されたH.264データのフレーム画像を切替え対象フレーム画像といい、検索部251により同じ画像であると判定されたHDTVデータのフレーム画像の次のフレーム画像を切替えフレーム画像という。
近傍フレーム検索部253は、切替え対象フレーム画像のタイムスタンプ(再生時刻)の取得をタイムスタンプ取得部252に指示する。タイムスタンプ取得部252は、その指示に従い、切替え対象フレーム画像のタイムスタンプを取得する。近傍フレーム検索部253は、タイムスタンプ取得部252により取得された切替え対象フレーム画像のタイムスタンプの値を「T1」とする(S1105)。さらに、近傍フレーム検索部253は、切替えフレーム画像のタイムスタンプの取得をタイムスタンプ取得部252に指示する。タイムスタンプ取得部252は、その指示に従い、切替えフレーム画像のタイムスタンプを取得する。近傍フレーム検索部253は、タイムスタンプ取得部252により取得された切替えフレーム画像のタイムスタンプの値を「T2」とする(S1106)。近傍フレーム検索部253は、「ΔT=T1-T2」を算出し(S1107)、「ΔT<同期閾値」であるか否か判定する(S1108)。そのために、近傍フレーム検索部253は、同期条件保持部211のテーブル303から、閾値種別311「同期閾値」と対応付けられた閾値312の値を読み出し、この値が、上述のS1107で算出した「ΔT」より大きい値か否か判定する。
S1108の判定の結果、「ΔT<同期閾値」である場合、近傍フレーム検索部253は、切替えフレーム画像のレンダリングを破棄し(S1109)、その切替えフレーム画像の次のフレーム画像を新たな切替えフレーム画像として(S1110)、上述のS1105以降の処理を再度行なう。
S1108の判定の結果、「ΔT<同期閾値」でない場合、近傍フレーム検索部253は、切替え対象フレーム画像のレンダリングの次に、切替えフレーム画像のレンダリングを行なうように、切替え部216に指示する(S1111)。この指示は任意でよいが、例えば、切替え部216が、切替え対象フレーム画像をレンダリングした後から、次のフレーム画像をレンダリングする間のタイミングを合わせて、近傍フレーム検索部253が、出力するフレームバッファの切替えを指示するフラグ等を出力するようにしてもよい。
ここで、上述のS1105〜S1111までの動作について、図12を参照して説明する。
図12において、「P」は、連続して出力するフレーム画像を示す。横方向に連続する各「P」は、それぞれ、HDTVデータによるフレーム画像、H.264データによるフレーム画像、ディスプレイ等に出力して再生するフレーム画像を示す。図12の例では、フレーム画像を示す「P」を、再生時刻に応じて配置している。例えば、HDTVデータによるフレーム画像1201、H.264データによるフレーム画像1211は、再生時刻の同じフレーム画像であることを示す。
上述のように、切替え部216は、電界強度が閾値以下であるか否かにより、HDTVデータによるフレーム画像、又は、H.264データによるフレーム画像の何れかを出力するように切替える。以下では、HDTVデータによるフレーム画像から、H.264データによるフレーム画像へ切替える例を説明する。例えば、HDTVデータによるフレーム画像1202を出力しているときに、電界強度が閾値以下となり、切替えを指示する情報が入力されたものとする。このような場合に、検索部251は、上述の動作例により、HDTVデータによるフレーム画像1203と、H.264データによるフレーム画像1212とが、同じ映像を映すフレーム画像であると判定したものとする。
図12(a)において、同じ映像を映すフレーム画像であると判定されたH.264データによるフレーム画像1212の次のフレーム画像はフレーム画像1213である。従って、切替え部216は、HDTVデータによるフレーム画像1203の後に、H.264データによるフレーム画像1213を出力するように切替える。即ち、再生されるフレーム画像1221は、HDTVデータによるフレーム画像1203であり、また、フレーム画像1221の直後に再生されるフレーム画像1222は、H.264データによるフレーム画像1213である。
ところが、上述のように、切替える直前に出力していたフレーム画像は、HDTVデータによるフレーム画像1203であり、上述のような切替えが無い場合にそのフレーム画像1203の次に出力すべきフレーム画像はフレーム画像1204である。このフレーム画像1204は、H.264データによるフレーム画像1213より再生時刻が後のフレーム画像である。従って、上述のように切替えて出力する場合、フレーム画像1221の次に出力されるフレーム画像1222は、それまで出力していたフレーム画像の間隔より「t」分だけ狭くなる。そのため、視聴者には、切替えた部分だけ早回しをしているように見える。さらに、間隔が狭くなるため、出力装置のレンダリング処理の負荷がかかる。
そこで、切替えるフレーム画像の再生時刻の差分が所定値以下となる場合は、その切替え対象のフレーム画像を破棄し、そのフレーム画像以降の再生時刻のフレーム画像を出力することで、上述のような、一時的に早回しをしているような視聴上の違和感を解消することが可能となる。さらに、間隔が狭くなることが無いため、出力装置のレンダリング処理の負荷をかけることが無い。このための処理が、上述のS1105〜S1111である。
上述の図12(a)のフレーム画像の場合、図12(b)に一例を示すように、フレーム画像1221の次に出力するフレーム画像1222を、H.264データによるフレーム画像1213の次のフレーム画像1214とする。これにより、上述のような、一時的に早回しをしているような視聴上の違和感を解消することが可能となる。さらに、間隔が狭くなることが無いため、出力装置のレンダリング処理の負荷をかけることが無い。
次に、上述のS1101の、HDTVデータの動きベクトルと、H.264データの動きベクトルとの内積から、同じ画像であるHDTVデータのフレーム画像と、H.264データのフレーム画像とを検出する動作例を、図13を参照して説明する。
図13において、まず、補正部215は、切替え候補のフレーム画像を取得する(S1301)。ここで、切替え候補のフレーム画像とは、例えば、受信状態検出部201から切替えを指示する情報が入力されてから所定時間後の、HDTVデータによるフレーム画像と、H.264データによるフレーム画像とである。
検索部251は、S1301で選択したH.264データによるフレーム画像を、HDTVデータによるフレーム画像と同じ大きさに拡大する(S1302)。次に、検索部251は、S1301で選択したHDTVデータによるフレーム画像と、S1302で拡大したH.264データによるフレーム画像との差分画像を取得する(S1303)。このS1302、S1303の処理は従来技術と同じであるので、具体的な動作例は省略する。
検索部251は、S1303の処理で取得した差分画像との輝度の2乗誤差を算出する(S1304)。この2乗誤差は、例えば、切替え対象フレーム画像と、S1303で取得した差分画像との、同じ位置における画素の輝度の差分を2乗する処理を、それらのフレーム画像内の全ての画素に対し行なって加算したものである。
次に、検索部251は、S1301で取得したHDTVデータによるフレーム画像の動きベクトルを取得する。このとき、検索部251は、HDTVデータによるフレーム画像の動きベクトルを間引いて取得する(S1305)。この詳細な動作例は後述する。
検索部251は、S1301で取得したH.264データによるフレーム画像の動きベクトルを取得する(S1306)。検索部251は、S1305で取得した動きベクトルと、S1306で取得した動きベクトルとの内積を算出する(S1307)。
なお、ここで、内積は、以下の数1、又は、数2で算出することができる。
なお、数2は、動きベクトルを座標で示した場合の式である。
検索部251は、このS1305〜S1307の処理を、S1301で取得したHDTVデータによるフレーム画像と、S1301で取得したH.264データによるフレーム画像とで、同じ位置の各動きベクトルに対し行なう。
ここで、図14を参照し、動きベクトルを取得する動作例を詳細に説明する。なお、以下で説明する動作例は、従来技術と同じである。
図14において、検索部251は、HDTVデータ及びH.264データの各々に対し、シーケンスレイヤのヘッダ等から設定情報を抽出する(S1401)。次に、検索部251は、GOP(Group of Pictures)レイヤのヘッダ等から設定情報を抽出する(S1402)。検索部251は、ピクチャレイヤのヘッダ等から設定情報を抽出する(S1403)。検索部251は、スライスレイヤのヘッダ等を解析して設定情報を抽出する(S1404)。検索部251は、マクロブロックを抽出し(S1405)、抽出した各マクロブロックに含まれる動きベクトルのXY座標を取得する(S1406)。動きベクトルのXY座標を取得するために、例えば、「Moving_vector(i,j)」関数を用いるとよい。なお、ここで、「(i,j)」は、動きベクトルを取得するマクロブロックを示す。
また、図15を参照し、上述のS1305の、動きベクトルを間引いて取得する動作例を説明する。なお、以下で説明する動作例において、動きベクトルを取得する動作例そのものは、上述の図14を参照して説明した従来技術と同じである。
図15において、検索部251は、HDTVデータの、横軸のマクロブロックの数「x1」と、H.264データの、横軸のマクロブロックの数「x2」とを取得し、「X=x1÷x2」とする(S1501)。さらに、検索部251は、HDTVデータの、縦軸のマクロブロックの数「y1」と、H.264データの、縦軸のマクロブロックの数「y2」とを取得し、「Y=y1÷y2」とする(S1502)。検索部251は、HDTVデータの、マトリクス「(i*X,j*Y)」で示される各マクロブロックから、動きベクトルを取得する(S1503)。ここで、「i」はHDTVデータのマクロブロックの横軸の位置を示し、「j」はHDTVデータのマクロブロックの縦軸の位置を示す。「X」は上述のS1501で取得した値であり、「Y」は上述のS1502で取得した値である。動きベクトルのXY座標を取得するために、例えば、「Moving_vector(i*X,j*Y)」関数を用いるとよい。
図13に戻り、検索部251は、S1307で算出した内積の総和が所定閾値より大きく、かつ、S1304で取得した2乗誤差が所定閾値より小さいか否か判定する(S1308)。そのために、検索部251は、同期条件保持部211内のテーブル301から、閾値種別311「内積閾値」と対応付けられた閾値312を読み出し、S1307で算出した内積の総和が、読み出した閾値312より大きいか否か判定する。また、検索部251は、同期条件保持部211内のテーブル301から、閾値種別311「誤差閾値」と対応付けられた閾値312を読み出し、S1304で取得した2乗誤差が、読み出した閾値312より大きいか否か判定する。
S1308の判定の結果、S1307で算出した内積の総和が所定閾値より大きく、かつ、S1304で取得した2乗誤差が所定閾値より小さい場合、検索部251は、S1301で選択したフレーム画像が、同一の映像を映すフレーム画像であると判定する。
S1308の判定の結果、内積の総和が内積閾値内であり、かつ、2乗誤差が差分閾値内である場合、検索部251は、S1301の処理を再度行ない、他の切替え候補のフレーム画像を選択する。ここで選択する他の切替え候補のフレーム画像は特に定めるものではないが、例えば、前に選択したフレーム画像の一方を基準として、他方を順次選択してもよく、また、両方を他の切替え候補のフレーム画像として選択してもよい。
次に、タイムスタンプを取得する動作例を、図16を参照して説明する。なお、以下で説明する動作例は従来技術と同じである。
図16において、タイムスタンプ取得部252は、入力されたデータから、TS(Transport Stream Packet)パケットが取得可能か否か判定する(S1601)。
S1601の判定の結果、TSパケットが取得不可である場合、タイムスタンプ取得部252は処理を終了する。
S1601の判定の結果、TSパケットが取得可能である場合、タイムスタンプ取得部252はTSパケットを解析し(S1602)、PayloadStartUnitIndicatorフラグがON、即ち、「1」であるか否か判定する(S1603)。
S1603の判定の結果、PayloadStartUnitIndicatorフラグがONである場合、PES(Packetized Elementarty Stream)パケットのヘッダが存在するので、タイムスタンプ取得部252は、PESパケットのヘッダ内のPTS(Presentation Time Stamp)を取得する(S1604)。
S1603の判定の結果、PayloadStartUnitIndicatorフラグがONでない場合、タイムスタンプ取得部252は、他のTSパケットに対し、上述のS1602以降の処理を行なう。
次に、補正を行なう動作例を説明する。この動作例は、例えば、検索部251が、上述の処理により、同じ映像を映すフレーム画像を選択した後、そのフレーム画像を示す情報と共に起動指示情報が入力される等した場合に起動するものである。
まず、図17〜図20を参照し、色情報取得部212が、輝度差を取得する画素領域をサーチする動作例を説明する。
図17において、色情報取得部212は、取得条件保持部213から、輝度取得モードを読み出す(S1701)。色情報取得部212は、読み出した設定情報が、全輝度取得モードを示しているか否か判定する(S1702)。
S1702の判定の結果、設定情報が全輝度取得モードを示している場合、色情報取得部212は、後述する全画面検索を行なう。
S1702の判定の結果、設定情報が全輝度取得モードを示していない場合、色情報取得部212は、S1701で読み出した設定情報が、中央部輝度取得モードを示しているか否か判定する(S1703)。
S1703の判定の結果、設定情報が中央部輝度取得モードを示している場合、色情報取得部212は、後述する中央部画面検索を行なう。
S1703の判定の結果、設定情報が中央部輝度取得モードを示していない場合、色情報取得部212は、S1701で読み出した設定情報が、ランダム輝度取得モードを示しているか否か判定する(S1704)。
S1704の判定の結果、設定情報がランダム輝度取得モードを示している場合、色情報取得部212は、後述するランダム検索を行なう。
S1704の判定の結果、設定情報がランダム輝度取得モードを示していない場合、色情報取得部212は、処理を終了する。
次に、図18を参照し、全画面検索の動作例を説明する。
図18において、まず、色情報取得部212は、初期値を設定する。具体的には、「Ysum1=0」、「Ysum2=0」とする(S1801)。次に、色情報取得部212は、検索部251に指示された同じ映像を映すフレーム画像のうち、HDTVデータによるフレーム画像の端から「6*6」画素の領域を選択し、この領域の画素の輝度信号の値の平均値を算出し、この値を「Y」とする(S1802)。次に、色情報取得部212は、「Ysum1=Ysum1+Y」を算出する(S1803)。色情報取得部212は、上述のS1802、S1803の処理を、検索部251に指示されたHDTVデータのフレーム画像の全ての画素に対し行なったか否か判定する(S1804)。
S1804の判定の結果、HDTVデータのフレーム画像の全ての画素に対し行なっていない場合、色情報取得部212は、上述のS1802の処理を行なっていない「6*6」画素の領域を選択し、上述の処理を行なう。
S1804の判定の結果、HDTVデータのフレーム画像の全ての画素に対し行なっている場合、色情報取得部212は、「Ysum1=Ysum1÷(320*180)」を算出する(S1805)。
次に、色情報取得部212は、検索部251に指示された同じ映像を映すフレーム画像のうち、H.264データによるフレーム画像から1つの画素を選択し、その画素から取得した輝度信号を「y」とする(S1806)。次に、色情報取得部212は、「Ysum2=Ysum2+y」を算出する(S1807)。色情報取得部212は、上述のS1806、S1807の処理を、検索部251に指示されたH.264データのフレーム画像の全ての画素に対し行なったか否か判定する(S1808)。
S1808の判定の結果、HDTVデータのフレーム画像の全ての画素に対し行なっていない場合、色情報取得部212は、上述のS1806の処理を行なっていない画素に対し、上述の処理を行なう。
S1809の判定の結果、HDTVデータのフレーム画像の全ての画素に対し行なっている場合、色情報取得部212は、「Ysum2=Ysum2÷(320*180)」を算出する(S1809)。この後、色差取得部214を起動し、輝度差取得処理に移行する。
次に、図19を参照し、中央部画面検索の動作例を説明する。
図19において、まず、色情報取得部212は、初期値を設定する。具体的には、「Ysum1=0」、「Ysum2=0」とする(S1901)。次に、色情報取得部212は、検索部251に指示された同じ映像を映すフレーム画像のうち、HDTVデータによるフレーム画像内の中央部の領域を選択する(S1902)。この中央部の領域の大きさ及び形状は任意でよいが、ここでは、この中央部の領域を、画素の位置「(600,360)-(1320,720)」で定まる矩形領域であるものとする。
色情報取得部212は、S1902にて選択した領域内にて、端から「6*6」画素の領域を選択し、この領域の画素の輝度信号の値の平均値を算出し、この値を「Y」とする(S1903)。次に、色情報取得部212は、「Ysum1=Ysum1+Y」を算出する(S1904)。色情報取得部212は、上述のS1903、S1904の処理を、S1902で選択した領域内の全ての画素に対し行なったか否か判定する(S1905)。
S1905の判定の結果、S1902で選択した全ての画素に対し行なっていない場合、色情報取得部212は、上述のS1903の処理を行なっていない「6*6」画素の領域を選択し、上述の処理を行なう。
S1905の判定の結果、S1902で選択した全ての画素に対し行なっている場合、色情報取得部212は、「Ysum1=Ysum1÷(120*60)」を算出する(S1905)。
次に、色情報取得部212は、検索部251に指示された同じ映像を映すフレーム画像のうち、H.264データによるフレーム画像内の中央部の領域を選択する(S1907)。この中央部の領域の大きさ及び形状は任意でよいが、ここでは、この中央部の領域を、画素の位置「(100,60)-(220,120)」で定まる矩形領域であるものとする。
色情報取得部212は、S1907で選択した領域の端から1つの画素を選択し、その画素から取得した輝度信号を「y」とする(S1908)。次に、色情報取得部212は、「Ysum2=Ysum2+y」を算出する(S1909)。色情報取得部212は、上述のS1908、S1909の処理を、S1907で選択した領域内の全ての画素に対し行なったか否か判定する(S1910)。
S1910の判定の結果、S1907で選択した領域内の全ての画素に対し行なっていない場合、色情報取得部212は、上述のS1908の処理を行なっていない画素に対し、上述の処理を行なう。
S1910の判定の結果、S1907で選択した領域内の全ての画素に対し行なっている場合、色情報取得部212は、「Ysum2=Ysum2÷(120*60)」を算出する(S1911)。この後、色差取得部214を起動し、輝度差取得処理に移行する。
次に、図20を参照し、ランダム検索の動作例を説明する。
図20において、まず、色情報取得部212は、初期値を設定する。具体的には、「Ysum1=0」、「Ysum2=0」、「n1=0」、「n2=0」とする(S2001)。次に、色情報取得部212は、検索部251に指示された同じ映像を映すフレーム画像のうち、HDTVデータによるフレーム画像内の画素をランダムに選択する(S2002)。
色情報取得部212は、S2002にて選択した画素を基準として「6*6」画素の領域を選択し、この領域の画素の輝度信号の値の平均値を算出し、この値を「Y」とする(S2003)。次に、色情報取得部212は、「Ysum1=Ysum1+Y」を算出し(S2004)、さらに、「n1=n1+1」を算出する(S2005)。色情報取得部212は、「n1=N」であるか否か判定する(S2006)。この「N」は「N>0」の任意の整数であり、予め定められているものとするが、入力装置121、又は、通信インタフェース110を介して入力された情報に従い変更等してもよい。
S2006の判定の結果、「n1=N」でない場合、色情報取得部212は、上述のS2002以降の処理を再度行なう。
S2006の判定の結果、「n1=N」である場合、色情報取得部212は、「Ysum1=Ysum1÷N」を算出する(S2007)。
次に、色情報取得部212は、検索部251に指示された同じ映像を映すフレーム画像のうち、H.264データによるフレーム画像内の画素をランダムに選択する(S2008)。
色情報取得部212は、S2008で選択した画素から取得した輝度信号の値を「y」とする(S2009)。次に、色情報取得部212は、「Ysum2=Ysum2+y」を算出し(S2010)、さらに、「n2=n2+1」を算出する(S2011)。色情報取得部212は、「n2=N」であるか否か判定する(S2012)。
S2012の判定の結果、「n2=N」でない場合、色情報取得部212は、上述のS2008以降の処理を行なう。
S2012の判定の結果、「n2=N」である場合、色情報取得部212は、「Ysum2=Ysum2÷N」を算出する(S2013)。この後、色差取得部214を起動し、輝度差取得処理に移行する。
次に、輝度差を取得する動作例を、図21を参照して説明する。
図21において、色差取得部214は、上述の処理で色情報取得部212が取得した「Ysum1」、「Ysum2」の値から、輝度差を算出する。具体的には、色差取得部214は、式「Δsum=Ysum1-Ysum2」により輝度差を算出する(S2101)。この後、補正部215を起動し、色補正処理に移行する。
次に、色を補正する動作例を、図22を参照して説明する。
図22において、補正部215は、フレームバッファ209内の変換対象のフレーム画像の画素を1つ選択する(S2201)。この変換対象のフレーム画像とは、例えば、検索部251に指示されたH.264データによるフレーム画像である。
次に、補正部215は、S2201で選択した画素の輝度を取得し、「y」とする(S2202)。補正部215は、「Y′=((1+Δsum)/Ysum2)*y」を算出し、算出した「Y′」の値を、S2201で選択した画素の輝度として色補正を行なう(S2203)。この、算出した輝度に画素を変更する処理そのものは従来技術と同じであり、具体的には、例えば、S2201で選択した画素の輝度が算出した「Y′」となるようにテーブル内のパラメータ(図示略)等を変更しても良く、また、補正部215が、フレームバッファ209に描画されたフレーム画像の色そのものを算出した「Y′」の値となるように変更しても良い。
補正部215は、フレームバッファ209内の変換対象のフレーム画像に、未選択の画素があるか否か判定する(S2204)。
S2204の判定の結果、未選択の画像がある場合、補正部215は、S2201の処理を再度行ない、未選択の画素のうち1つを選択する。
S2204の判定の結果、未選択の画素がない場合、補正部215は、色補正処理を終了する。補正部215は、このような処理を、検索部251に指示されたH.264データによるフレーム画像以降のフレーム画像の全てに対し行なうことにより、色補正を行なう。
一方、上述のように、近傍フレーム検索部253は、切替え対象フレーム画像のレンダリングの次に、切替えフレーム画像のレンダリングを行なうように、切替え部216に指示する。切替え部216は、この指示に従い、フレームバッファ206内のフレーム画像からフレームバッファ209からのフレーム画像に切替える、又は、フレームバッファ209内のフレーム画像からフレームバッファ206からのフレーム画像に切替える等して、フレーム画像を出力インタフェース109から出力する(S2205)。
上記動作により、フレームバッファ209内のフレーム画像には色補正が施されているので、視聴上の違和感を感じさせない画像を出力することが可能となる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、上述の実施形態では、H.264データによるフレーム画像の色を補正するものとしたが、これに限られるわけではなく、HDTVデータによるフレーム画像を補正してもよい。
また、上述の実施形態では、色の差は、輝度を取得し、輝度を補正するものとして説明したが、これに限られるわけではない。例えば、「R,G,B」、「Y,Cb,Cr」、明度、彩度等の何れかでもよく、これらの一部又は全てを組み合わせても良い。
また、上述の実施形態では、ユーザが、予め、輝度取得モードを定めておくものとしたが、これに限られるわけではない。例えば、出力するコンテンツの種別により、設定を変更してもよい。この場合、例えば、取得条件保持部213には、予め、例えば「ニュース」、「映画」、「その他一般」等のコンテンツの種類と、取得画素設定とが対応付けられたテーブルが格納されている。この取得画素設定は、出力する種類のコンテンツを出力する場合に、色情報取得部212で色情報を取得する画素の設定である。具体的には、例えば、取得条件保持部213内のテーブルには、種類「映画」には取得画素設定「全画面」、種類「ニュース」には取得画素設定「中央部」、種類「その他一般」には取得画素設定「ランダム」等が対応付けられている。取得画素設定「全画面」は、上述の全輝度取得モードに該当する。取得画素設定「中央部」は、上述の中央部輝度取得モードに該当する。取得画素設定「ランダム」は、上述のランダム輝度取得モードに該当する。装置1は、通信インタフェース110を介して番組情報を受信する。この番組情報に含まれる番組の種類が、色情報取得部212に入力等される。色情報取得部212は、取得条件保持部213のテーブルから、入力等された番組の種類に対応する取得画素設定を読み出し、読み出した取得画素設定で、上述のような各画素の色情報の取得を行なう。
また、H.264データによるフレーム画像の色を補正する場合であり、かつ、上述のS1102の判定等で、H.264データからHDTVデータへ切替えると判定された場合、色情報取得部212等は、色差取得部214等に指示する等して、上述の色補正処理を停止させてもよい。これとは逆に、HDTVデータによるフレーム画像の色を補正する場合であり、かつ、上述のS1102の判定等で、HDTVデータからH.264データへ切替えると判定された場合、色情報取得部212等は、色差取得部214等に指示する等して、上述の色補正処理を停止させてもよい。
1:受信装置、101:アンテナ、102:チューナ、103:OFDM復調部、104:処理部、105:RAM、106:ROM、107:記憶装置、108:入力インタフェース、109:出力インタフェース、110:通信インタフェース、120:バス、121:入力装置、201:受信状態検出部、202:受信状態検出条件保持部、203:DEMUX、204:デコーダ、205:描画処理部、206:フレームバッファ、207:デコーダ、208:描画処理部、209:フレームバッファ、210:同期部、251:検索部、252:タイムスタンプ取得部、253:近傍フレーム検索部、211:同期条件保持部、212:色情報取得部、213:取得条件保持部、214:色差取得部、215:補正部、216:切替え部、217:設定受付部