説明

トランスコード装置、トランスコーダ、デコーダおよびトランスコード方法

【課題】再エンコード(トランスコード)前のデコード画像にエラーが発生してもエラーの影響が低減されるトランスコード装置の実現。
【解決手段】第1の方式で符号化された画像データをデコードするデコーダ2と、デコーダから供給される画像データを、第2の方式で再エンコードするトランスコーダ3と、を備えるトランスコード装置であって、デコーダ2は、デコード時にデコードエラー量を算出して出力し、トランスコーダ3は、デコードエラー量および再エンコード時の情報に基づいて、再符号化した画像データをそのまま出力するか、スキップデータに置き換えて出力する。

【発明の詳細な説明】
【技術分野】
【0001】
BSデジタル放送や、地上波デジタル放送など、アナログ放送からデジタル放送への移行が進められている。
【0002】
本発明は、デジタル放送信号や記憶装置から読み出された符号化された映像データをデコードした後、再度エンコードするトランスコーダ装置、再エンコーダ(トランスコーダ)、デコーダおよびトランスコード方法に関し、特にデコードした画像に含まれるエラーの影響を低減する再エンコード(トランスコード)技術に関する。
【背景技術】
【0003】
デジタル放送では、動画像圧縮フォーマットとして、MPEG−2などの画像間の相関を利用した圧縮方式が用いられている。現在、これらのデジタル放送では、データは十数〜二十数Mbsで伝送されている。HDDレコーダなどの記憶装置は、デジタル放送信号のデジタルデータをそのまま記録するか、デジタル放送信号のデジタルデータを一旦デコードした後、より高い圧縮率になるようにデコードした画像を再エンコード(トランスコード)して記録する、すなわち、元の画像ビットレートよりも低いビットレートでエンコードし直してデータ量を削減して記録する。データ量が減れば、同じ容量のHDDレコーダであれば、記録時間が増えることになる。
【0004】
図1は、このようなトランスコード装置1の構成を示す図である。図示のように、トランスコード装置1は、第1の方式でコード化された入力データストリームを受けてデコードするデコーダ2と、デコーダ2でデコードされたデータを第2の方式で再エンコード(トランスコード)して出力データストリームを出力するエンコーダ(トランスコーダ)3と、を有する。第1のコード化方式および第2のコード化方式は、それぞれどのような方式でもよいが、現在広く使用されているのは、第1のコード化方式がMPEG−2であり、第2のコード化方式がH.264などである。なお、第1および第2のコード化方式がともにMPEG−2であり、より圧縮率が高くなるようにトランスコードする場合もある。
【0005】
図1のトランスコード装置1は、全体がLSI化されている場合も、デコーダ2とエンコーダ(トランスコーダ)3がそれぞれ別のLSIで構成される場合や、DRAMなどの一次記憶装置を付加する場合もある。
【0006】
データ量が減れば、その分画像的には劣化することは避けられないが、デコードした画像を再エンコードする前に、画面サイズを縮小したり、フィルタ処理で画像のエッジを鈍らせるなどの加工を施すことで、なるべく劣化を目立たなくさせる工夫が行われる。いずれにしても画像の劣化と記録時間は、トレードオフの関係にある。
【0007】
トランスコード装置については、特許文献1から3などに記載されている。
【0008】
特許文献1は、受信した定ビットレートのビデオストリームを可変ビットストリームにトランスコードする装置を記載しており、エラー隠蔽することを記載している。
【0009】
特許文献2は、デコーダ監視、トランスコーダ制御およびエンコーダ制御よりなるトランスコーダ制御部が、バッファの符号量と単位ブロック数当たりの演算量に応じて、レート制御部と動き保証予測部の演算量を、バッファの符号量および全体の演算量が一定となるように制御することを記載している。
【0010】
特許文献3は、VOP(ビデオ・オブジェクト・プレーン)の目標符号量を算出するVOP目標符号量算出部をもち、MPEG−4画像情報符号化部(I/P−VOP)は、画像情報をMPRG−4画像圧縮情報(ビットストリーム)に符号化する際に、目標符号量に応じて符号量制御を行うことを記載している。
【0011】
【特許文献1】特表平8−51931号公報
【特許文献2】特開2002−120261号公報
【特許文献3】特開2002−27465号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
上記のように、再エンコード処理では、MPEG−2や、それよりさらに圧縮率の高いH.264(MPEG−4/AVC)方式などが使用されるが、いずれも自然画では画像間や画像内画素相互の相関が高いことを利用して、高い圧縮率を実現している。再エンコード時も含めて、一般に画像のエンコード処理では、参照画が決められ、それとの差異をデータ化しており、画像データをデコードする場合には、参照画を基準としてデコード処理を行う。
【0013】
放送波では、通信エラーなどにより、データ化けが発生することは避けられない。この場合、エラーが発生したデータが属する画像が劣化するのはもちろんとして、その画像が他の画像の参照画になっていた場合、他の画像にも劣化が伝播する。通常は、このエラーが伝播し続けるのを防止するため、I−pic(画面内予測)が定期的に挿入されるが、いずれにしてもある程度の時間、エラーにより劣化した画像をなる。
【0014】
再生された映像の通常の視聴であれば、エラーによる画像の劣化があっても、見た目の見苦しさ以外には特に問題を生じないが、トランスコード処理では大きな問題になる。
【0015】
エラーによる画像の劣化は、データストリーム上のエラー箇所やエラー量、デコーダ回路の実装方法などに依存するが、ほとんどの場合自然画像には存在しない極めて異質な画像となる。
【0016】
このため、エラーによる画像の劣化が発生すると、画素間の相関や画像間の相関がないばかりでなく、エッジが目立った、自然画ではあり得ないような人工的な画像をなる。このため、この劣化した画像をMPEG−2やH.264(MPEG−4/AVC)方式で再エンコードしようとすると、通常の自然画で想定しているような画素の相関や画面間の相関が期待できず、また滑らかな画像変化ではないエッジが目立った画像をなるため、圧縮効果が発揮できず、圧縮率が大きく悪化することになる。場合によっては、元のデータストリームよりもデータ量が増加してしまうという事態になる。
【0017】
さらに、多少のエラーでそれなりに視聴可能な画像ならまだ圧縮効果が期待できるが、エラーが多くて視聴の価値がないような画像ほど、圧縮効果が下がることになるが、このような視聴の際にはほとんど意味がないエラー画像ほど無駄なデータ量を消費してしまうため、本来視聴の際に重視すべきエラーのないもしくはエラーの少ない画像の再エンコードに使用されるべきデータ量も圧迫されるため、全体としてのトランスコード画像の画質が著しく悪化することになる。
【0018】
本発明は、このような問題を解決するもので、再エンコード(トランスコード)前のデコード画像にエラーが発生してもエラーの影響が低減されるトランスコード装置、再エンコーダ(トランスコーダ)、デコーダおよびトランスコード方法の実現を目的とする。
【課題を解決するための手段】
【0019】
上記目的を実現するため、本発明では、デコードされた画像のエラー量を算出し、エラー量に応じてエラー画像を再エンコード(トランスコード)の対象から除外することを特徴とする。これにより、エラー画像に無駄なデータ量が使用されるのを回避する。
【0020】
ただし、単純にエラーがあったものをすべて除外すると、軽微なエラーも除外され、逆に見苦しくなるので、そのような事態を避けるために、一旦再エンコードした後、除外すべきか判定し、除外すべきと判定した時にはスキップデータに置き換える。
【0021】
スキップデータは、その画像より前の参照画増を100%コピーすることを指示するデータであり、データ量は非常に小さい。
【0022】
エラー量は、デコードした画像のエラーマクロブロック数およびデコードする際に使用する参照画のエラー量(エラーマクロブロック数)の両方を考慮して算出する。
【0023】
除外すべきかの判定は、デコードエラー量、再エンコード処理時の目標データ量および再エンコードした画像データのデータ量に基づいて行い、具体的には、目標データ量と再エンコードした画像データのデータ量との差が第1の閾値より大きく、かつデコードエラー量が第2の閾値より大きい場合に、スキップデータに置き換えることを判定する。
【0024】
なお、本発明では、再エンコード(トランスコード)は、デコーダから供給される画像データに対してリアルタイムで行われる。
【発明の効果】
【0025】
本発明によれば、エラーにより劣化した画像の再現のために、無駄なデータ量を消費することがなくなるため、従来の再エンコード(トランスコード)処理に比べて、再エンコードによる全体の画質の低下を回避できる。
【発明を実施するための最良の形態】
【0026】
図2は、本発明の実施例のトランスコーダ装置の構成を示す図である。図示のように、実施例のトランスコーダ装置は、デコーダ2と、再エンコーダ(トランスコーダ)3と、フレームメモリ4と、を有する。実施例のトランスコーダ装置では、再エンコーダ(トランスコーダ)3がデコーダ2から出力されたデコード画像をリアルタイムで再エンコード(トランスコード)する。
【0027】
デコーダ2および再エンコーダ(トランスコーダ)3は、それぞれLSIで実現され、フレームメモリ4はDRAMで実現される。しかし、デコーダ2および再エンコーダ(トランスコーダ)3を1個のLSIで実現することも、さらにフレームメモリ4を構成するDRAMも合わせて1個のLSIで実現することも可能である。
【0028】
デコーダ2は、第1の方式でエンコードされた入力データストリームを受けて、デコード画像を生成し、フレームメモリ4のデコード画像記憶部41A−41Nに出力するデコード回路21と、デコード回路21におけるデコード時のエラー量を算出して、デコード画像と対応させてフレームメモリ4のエラー量記憶部42A−42Nに出力するエラー量算出回路22と、を有する。
【0029】
再エンコーダ(トランスコーダ)3は、目標データ量に応じてデコード画像を再エンコーダ(トランスコーダ)し、目標データ量および実際のデータ量と共に出力するエンコード回路31と、デコード画像に対応したエラー量、エンコード回路31からの目標データ量および実際のデータ量に基づいて、エンコード回路31が生成した画像(ストリーム)を使用するか、スキップデータに置き換えるかを判定する判定回路32と、スキップデータを生成するスキップデータ生成部33と、判定回路32の判定結果に基づいてエンコード回路31が出力する画像(ストリーム)とスキップデータ生成部33の出力するスキップデータのいずれかを選択して出力データストリームとして出力するストリーム選択回路34と、を有する。
【0030】
フレームメモリ4は、デコード画像記憶部41A−41Nと、エラー量記憶部42A−42Nと、参照画を記憶するスキップデータ記憶部43と、を有し、デコード画像記憶部41A−41Nおよびエラー量記憶部42A−42Nの対応する組は、デコード画像とエラー量の対応する組をそれぞれ記憶する。
【0031】
通常、MPEG−2方式やH.264方式では、I−pic,P−pic,B−picなどのエンコード処理的に異なるストリームがあり、望ましいスキップデータも異なる。そこで、スキップデータ生成部33は、これらの条件に応じて適切なスキップデータを生成することが望ましい。本実施例では、フレームメモリ4のスキップデータ記憶部43に、あらかじめ各データタイプに応じたスキップデータを用意してあり、スキップデータ生成部33がこれを読み出してストリーム選択回路34に出力するように構成している。なお、スキップデータとは、それより前の参照画を100%コピーすることを指示するデータである。
【0032】
次に、エラー量算出回路22におけるエラー量算出処理について、図3を参照して説明する。
【0033】
前述のように、一般に画像のエンコード処理では、参照画が決められ、それとの差異をデータ化しており、画像データをデコードする場合には、参照画を基準としてデコード処理を行う。エラー量の算出は、入力ストリームをデコードした際のエラーマクロブロック数ならびにデコードする際に使用する参照画のエラー量の両方を加味して行う。
【0034】
エラーマクロブロック数は、MPEG−2やH.264の入力ストリームをデコードした際に、MPEG−2やH.264の規格で定められるシンタックス上のツジツマが合わなくなった場合に、そのマクロブロックにエラーがあったものとみなす。さらに、一度エラーと判定した場合は、スライスヘッダと呼ばれる同期コードなど、エラーから復帰できるマクロブロックまでのマクロブロックは、すべてエラーとしてカウントする。
【0035】
なお、エラーの生じ方によっては、シンタックス上のツジツマがたまたま合ってしまう場合もあり、そのような場合にはエラーを見落としてしまう可能性があるが、MPEG−2やH.264などの可変長の符号化方式では、さいごまでツジツマがあうことは稀である。また、本実施例では、完全に正確なエラー量で判定する必要はないため、このレベルのエラーであれば判定における問題を生じない。
【0036】
以上のようにして、エラーマクロブロック数を算出する。
【0037】
なお、全マクロブロック数から、正常にデコードできたとみなせるマクロブロック数を減算するという形で、エラーマクロブロック数を算出することも可能である。
【0038】
エラーマクロブロック数を算出したら、これをエラー量に変換するための係数Aと、参照画のエラー量を変換するための係数Bを使用して、図3のエラー量算出処理フローに従って、エラー量を算出する。
【0039】
ステップ101では、デコード時のエラーマクロブロック(MB)数が0より大きいかを判定し、0であればステップ102に進み、0より大きければステップ103に進む。
【0040】
ステップ102では、参照画のエラー量が0より大きいかを判定し、0であればステップ104に進み、0より大きければステップ105に進む。
【0041】
ステップ104では、エラー量=0とする。
【0042】
ステップ105では、エラー量=係数B×(参照画のエラー量)とする。
【0043】
ステップ103では、参照画のエラー量が0より大きいかを判定し、0であればステップ106に進み、0より大きければステップ107に進む。
【0044】
ステップ106では、エラー量=係数A×エラーマクロブロック(MB)数とする。
【0045】
ステップ107では、エラー量=係数A×エラーマクロブロック(MB)数+係数B×(参照画のエラー量)とする。
【0046】
係数AおよびBは、画面のエラーによる劣化を数値化するために便宜的に設けた係数であり、値については実際の処理内容に応じて適宜設定する。
【0047】
また、本実施例では、単純な線形式であるが、人間の視覚特性はかならずしも線形とはいえないので、非線形の式を使用してもよい。
【0048】
いずれにしても、デコード画像のエラー量を何らかの形で数値化できればよい。
【0049】
図4は、判定回路32における判定処理フローを示す。
【0050】
エンコード回路31は、デコード画像を目標データ量以下になるようにエンコードし、エンコードした実際のデータ量を、目標データ量と共に、判定回路32に出力する。
【0051】
判定回路32は、ステップ201で、目標データ量と実際のデータ量の差の絶対値があらかじめ決められている閾値Cより大きいかを判定し、閾値Cより大きければステップ202に進み、そうでなければステップ204に進む。
【0052】
ステップ202では、図3の処理で算出されたエラー量があらかじめ決められている閾値Dより大きいかを判定し、閾値Cより大きければステップ203に進み、そうでなければステップ204に進む。
【0053】
ステップ203では、ストリーム選択回路がステップデータを選択して出力データストリームとして出力するように切り換え、ステップ204では、ストリーム選択回路がデコード画像を再エンコードした画像をそのまま出力データストリームとして出力するように切り換える。
【0054】
スキップデータに置き換えられたストリームをデコードすると、映像が一瞬止まったり逆戻りして見えるため不自然な画像となるが、スキップデータは単に前の参照画を100%コピーすることを指示するデータであり、データ量は非常に少なく、エラーにより劣化した画像を再現するために無駄なデータ量を消費するよりはるかにましである。
【0055】
図5は、エンコード回路31が判定回路32からの判定結果に基づいて行うローカルでコード画置換処理フローである。
【0056】
エンコード回路31が判定回路32から判定結果を受け取り、ステップ301で、出力データストリームがスキップデータに置き換えられるかを判定し、置き換えられない時にはステップ302に進み、置き換えられる時にはステップ303に進む。
【0057】
ステップ302では、エンコード回路31が持つローカルデコード画をそのまま維持する。
【0058】
ステップ303では、エンコード回路31が持つローカルデコード画を廃棄し、参照画をローカルデコード画とする。
【0059】
図6は、実施例における画像とデータ量の変化を説明する図であり、(A)はエラーがない場合を、(B)は時間t3でエラーが発生し、従来の方法でエンコードした場合を、(C)は時間t3のデータを参照画となるスキップデータに置き換えた本実施例の場合を示す。
【0060】
図6の(A)において、上側の四角は時間方向の各画像を表し、円形の物体が画面上を右から左へ移動している動画を表す。下側の棒グラフは、各画面のデータ量を示し、エラーがない場合は、各画面のデータ量はほぼ同じデータ量となる。本来は、I−pic,P−pic,B−picなどのタイプによってデータ量が異なるが、ここでは説明を簡略化するために同じデータ量としている。
【0061】
図6の(B)に示すように、時間t3でエラーが発生し、従来の方法でエンコードした場合、t3の画像にエラーによる劣化が現れると共に、この劣化画像を再現するためにt3のデータ量が増加する。さらに、t3のデータ量が増加するため、データの総量を抑制する必要があり、t4のデータ量が減る。これによりt4の画像が図6の(A)などの場合に比べて劣化する。
【0062】
図6の(C)に示すように、時間t3でエラーが発生した場合、本実施例では、判定回路32がt3の画像をスキップデータに置き換えるように判定する、これに応じて、t3のデータは、時間t1の画像が参照画であるのでそれに置き換えられるため、時間t3の画像が時間t1の画像と同じになる。これを動画で見ると、時間t3で一瞬円状の物体が右に戻ったように見えることになる。このため多少不自然になるが、図6の(B)の画像のように乱れが画像に現れる見苦しさがないだけでなく、図6の(C)のt3のデータ量はスキップデータによるわずかなデータ量であり、無駄なデータ量を使用しないため、t4のデータ量が減少する事態が避けられる。
【0063】
以上、本発明の実施例を説明したが、本発明はこれに限定されるものでなく、エラー量の算出方法、置き換えの判定方法などについて各種の変形例がありえるのはいうまでもない。
【産業上の利用可能性】
【0064】
本発明は、符号化された画像データを一旦デコードした後、再エンコード(トランスコード)する構成であれば適用可能であり、そのためのデコーダ、再エンコーダ(トランスコーダ)にも適用される。
【図面の簡単な説明】
【0065】
【図1】トランスコーダ装置の構成を示す図である。
【図2】本発明の実施例のトランスコーダ装置の構成を示す図である。
【図3】実施例のエラー量算出回路におけるエラー量算出処理フローである。
【図4】実施例の判定回路における判定処理フローである。実施例における処理例を説明する図である。
【図5】実施例のエンコード回路におけるローカルデコード画置換処理フローである。
【図6】実施例における画像とデータ量の変化を説明する図である。
【符号の説明】
【0066】
1 トランスコーダ装置
2 デコーダ
3 再エンコーダ(トランスコーダ)
4 フレームメモリ
21 デコード回路
22 エラー量算出回路
31 エンコード回路
32 判定回路
33 スキップデータ生成部
34 ストリーム選択回路
41A−41N デコード画像記憶部
42A−42N エラー量記憶部
43 スキップデータ記憶部

【特許請求の範囲】
【請求項1】
第1の方式で符号化された画像データをデコードするデコーダと、
前記デコーダから供給される画像データを、第2の方式で再エンコードするトランスコーダと、を備えるトランスコード装置であって、
前記デコーダは、デコード時にデコードエラー量を算出して出力し、
前記トランスコーダは、前記デコードエラー量および再エンコード時の情報に基づいて、再符号化した画像データをそのまま出力するか、スキップデータに置き換えて出力することを特徴とするトランスコード装置。
【請求項2】
前記デコーダは、前記第1の方式で符号化された画像データをデコードした画像のエラーマクロブロック数に第1の係数を乗じた値と、参照画のエラー量に第2の係数を乗じた値の和をエラー量として算出することを特徴とする請求項1に記載のトランスコード装置。
【請求項3】
前記トランスコーダは、
デコーダから供給される画像データを、目標データ量以下になるように再エンコードすると共に、再エンコードした画像データのデータ量を算出して前記目標データ量と共に出力するエンコード回路と、
前記デコードエラー量、前記目標データ量および前記再エンコードした画像データのデータ量に基づいて、再符号化した画像データをそのまま出力するか、記憶してあるスキップデータに置き換えて出力するかを判定する判定回路と、を備えることを特徴とする請求項1に記載のトランスコード装置。
【請求項4】
前記判定回路は、前記目標データ量と前記再エンコードした画像データのデータ量との差が第1の閾値より大きく、かつ前記デコードエラー量が第2の閾値より大きい場合に、前記スキップデータに置き換えて出力することを判定することを特徴とする請求項3に記載のトランスコード装置。
【請求項5】
前記トランスコーダは、前記デコーダから供給される画像データを、リアルタイムで再エンコードすることを特徴とする請求項1から4のいずれか1項に記載のトランスコード装置。
【請求項6】
デコーダから供給される画像データを、再エンコードするトランスコーダであって、
デコーダから供給される画像データを、目標データ量以下になるように再エンコードすると共に、再エンコードした画像データのデータ量を算出して前記目標データ量と共に出力するエンコード回路と、
前記デコードエラー量、前記目標データ量および前記再エンコードした画像データのデータ量に基づいて、再エンコードした画像データをそのまま出力するか、記憶してあるスキップデータに置き換えて出力するかを判定する判定回路と、を備えることを特徴とするトランスコーダ。
【請求項7】
前記判定回路は、前記目標データ量と前記再エンコードした映像データのデータ量との差が第1の閾値より大きく、かつ前記デコードエラー量が第2の閾値より大きい場合に、前記スキップデータに置き換えて出力することを判定することを特徴とする請求項6に記載のトランスコーダ。
【請求項8】
符号化された画像データをデコードするデコード回路と、
デコード時にデコードエラー量を算出して出力するエラー量算出回路と、を備えることを特徴とするデコーダ。
【請求項9】
前記エラー量算出回路は、前記符号化された画像データをデコードした画像のエラーマクロブロック数に第1の係数を乗じた値と、参照画のエラー量に第2の係数を乗じた値の和をエラー量として算出することを特徴とする請求項8に記載のデコーダ。
【請求項10】
第1の方式で符号化された画像データをデコードし、
デコード時にデコードエラー量を算出し、
デコードした画像データを、第2の方式で再エンコードし、
前記デコードエラー量および再エンコード時の情報に基づいて、再符号化した画像データをそのまま出力するか、スキップデータに置き換えて出力するかを判定する、
ことを特徴とするトランスコード方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−312013(P2008−312013A)
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願番号】特願2007−158953(P2007−158953)
【出願日】平成19年6月15日(2007.6.15)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】