JP2012523178A - 逆テレシネ技法 - Google Patents

逆テレシネ技法 Download PDF

Info

Publication number
JP2012523178A
JP2012523178A JP2012503738A JP2012503738A JP2012523178A JP 2012523178 A JP2012523178 A JP 2012523178A JP 2012503738 A JP2012503738 A JP 2012503738A JP 2012503738 A JP2012503738 A JP 2012503738A JP 2012523178 A JP2012523178 A JP 2012523178A
Authority
JP
Japan
Prior art keywords
frame
frames
video
telecine
individual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012503738A
Other languages
English (en)
Inventor
デイン、ゴクセ
テン、チア−ユアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2012523178A publication Critical patent/JP2012523178A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0112Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards corresponding to a cinematograph film standard
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Studio Devices (AREA)
  • Television Systems (AREA)

Abstract

本開示は、映像シーケンスのフレームレートを調整又は変換するために実行される逆テレシネ技法を説明する。説明される技法は、映像シーケンスのフレームレートを増大させるために用いられたテレシネ技法を特定するための非常に有用な方法を提供する。用いられたテレシネ技法を特定した時点で、フレームレートを低減させて(テレシネ前の)それの原形に戻すために映像フレームのシーケンスに関して対応する逆テレシネ技法を実行することができる。本開示は、例えば、逆テレシネプロセスを簡略化することによって及びプロセス中のメモリへのアクセスを減少させることによって逆テレシネを向上させることができる数多くの有用な詳細も提供する。

Description

本開示は、デジタル映像の符号化及び復号に関するものである。本開示は、より具体的には、映像シーケンスのフレームレートが変更されるテレシネ技法及び逆テレシネ技法に関するものである。
デジタル映像能力は、デジタルテレビ、デジタル直接放送システム、無線放送システム、パーソナルデジタルアシスタント(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、デジタル記録装置、ビデオゲームプレイ装置、ビデオゲーム卓、携帯電話、衛星無線電話、等を含む広範なデバイスに組み入れることができる。デジタル映像装置は、デジタル映像情報をより効率的に送信及び受信するための映像圧縮技法、例えば、MPEG−2、MPEG−4、又はITU−T H.264/MPEG−4、Part10、アドバンストビデオコーディング(Advanced Video Coding)(AVC)によって定義された規格において説明されるそれら、を実装する。映像圧縮技法は、映像シーケンスに内在する冗長性を低減又は除去するためにブロックに基づく空間予測及び/又は時間予測を行うことができる。
テレシネ技法は、映像シーケンスのフレームレートを変更するために用いることができる。テレシネ技法は、例えば、最初にフィルム媒体上においてキャプチャされた映画を標準的な映像装置、例えば、テレビ、ビデオメディアプレイヤー又はコンピュータ、で観るのを可能にするために望ましい。特に、テレシネ技法は、従来の映像シーケンスを(フィルム媒体上に記録された映画に共通する)毎秒24フレームから(デジタル装置によって再生されるデジタル映像に共通する)毎秒30フレームに変換するために用いることができる。
逆テレシネ(inverse telecine)技法は、テレシネ技法の逆の動作を行う。このため、テレシネ技法が映像シーケンスを毎秒24フレームから毎秒30フレームに変換した場合は、逆テレシネ技法は、その映像シーケンスを毎秒30フレームから毎秒24フレームに逆に変換することができる。幾つか場合は、テレシネ技法は、映像符号化プロセスの一部として実行することができ、他方、逆テレシネ技法は、映像復号プロセスの一部として実行することができる。
幾つか場合は、逆テレシネは、トランスコーディングプロセスの一部であることができる。この場合は、逆テレシネは、トランスコーダの一部として、又は符号器又は復号器の一部として実装することができる。トランスコーディングの場合は、テレシネされたコンテンツは、原フレームレート、例えば、毎秒24フレーム、に逆に変換すること、及び異なる符号化形式に従って再符号化することができる。この場合の逆テレシネは、トランスコーディングプロセスの前に生じることができ、及び、トランスコーダにデータを送信する送信装置、又はトランスコーディングを行う受信装置に実装することができる。
しかしながら、テレシネ及び逆テレシネは、映像の符号化又は復号シナリオには限定されない。テレシネ技法及び逆テレシネ技法は、空間又は時間に基づく映像の符号化又は復号とは関係のない多くの理由で用いることができる。基本的には、映像シーケンスのフレームレートを変更することが望ましいときには常に、テレシネは、この目標を達成させるための有用な方法を提供することができる。
概して、本開示は、映像シーケンスのフレームレートを調整又は変換するために実行される逆テレシネ技法を説明する。説明される技法は、映像シーケンスのフレームレートを増大させるために用いられたテレシネ技法を特定するための有用な方法を提供する。用いられたテレシネ技法を特定した時点で、フレームレートを低減させて(テレシネ前の)それの原形態に戻すために映像フレームのシーケンスに関して対応する逆テレシネ技法を実行することができる。本開示は、例えば、逆テレシネプロセスを簡略化することによって及びそのプロセス中におけるメモリへのアクセスを減少させることによって逆テレシネ技法を向上させることができる逆テレシネ技法の数多くの有用な詳細も提供する。
一例においては、本開示は、映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレーム(progressive frame)であるか又はインターレースされたフレーム(interlaced frame)であるかを決定することと、映像フレームのシーケンス内のプログレッシブフレーム及びインターレースされたフレームのパターンを特定することと、パターンに基づいてテレシネ技法を特定することと、特定されたテレシネ技法に基づいて映像フレームのシーケンスに関して逆テレシネを実行すること、とを備える方法を提供し、逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、M及びNは、正の整数であり、Mは、Nよりも小さい。
他の例においては、本開示は、映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定し、映像フレームのシーケンス内のプログレッシブフレーム及びインターレースフレームのパターンを特定し、パターンに基づいてテレシネ技法を特定し、及び特定されたテレシネ技法に基づいて映像フレームのシーケンスに関して逆テレシネ技法を実行する逆テレシネユニットを備える装置を提供し、逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、M及びNは、正の整数であり、Mは、Nよりも小さい。
他の例においては、本開示は、映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定するための手段と、映像フレームのシーケンス内のプログレッシブフレーム及びインターレースされたフレームのパターンを特定するための手段と、パターンに基づいてテレシネ技法を特定するための手段と、特定されたテレシネ技法に基づいて映像フレームのシーケンスに関して逆テレシネ技法を実行するための手段と、を備えるデバイスを提供し、逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、M及びNは、正の整数であり、Mは、Nよりも小さい。
本開示で説明される技法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、ソフトウェアは、プロセッサ、例えば、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又はデジタル信号プロセッサ(DSP)、において実行することができる。それらの技法を実行するソフトウェアは、コンピュータによって読み取り可能な媒体内に最初に格納し、プロセッサにローディングして実行することができる。
従って、本開示は、プロセッサによって実行されたときに、映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定し、映像フレームのシーケンス内のプログレッシブフレーム及びインターレースされたフレームのパターンを特定し、パターンに基づいてテレシネ技法を特定し、特定されたテレシネ技法に基づいて映像フレームのシーケンスに関して逆テレシネ技法を実行することをプロセッサに行わせる命令、を備えるコンピュータによって読み取り可能な媒体も企図し、逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、M及びNは、正の整数であり、Mは、Nよりも小さい。
本開示の1つ以上の態様の詳細が、添付図面及び以下の説明において示される。本開示において説明される技法のその他の特徴、目的、及び利点は、それらの説明と図面から、及び請求項から明確であろう。
毎秒24フレームから毎秒30フレームを得るために3:2プルダウンが適用されるテレシネプロセスを例示した概念図である。 逆テレシネプロセスによって後続されるテレシネプロセスを例示した概念図である。 本開示の逆テレシネ技法のうちの1つ以上を実装することができる典型的なシステムを例示したブロック図である。 本開示による逆テレシネ技法を例示した流れ図である。 逆テレシネモジュールのブロック図である。 逆テレシネユニットの典型的なコンポーネントを例示したブロック図である。 フィルムフレーム及びテレシネされた映像フレームを例示した概念図である。 テレシネパターンが破断されているフレームのシーケンスを例示した概念図である。 逆テレシネされている映像フレームを例示した概念図である。 3:2プルダウンによりテレシネされた5つのフレームのシーケンスを例示した概念図である。 逆テレシネプロセスの典型的な段階を例示したブロック図である。 インターレースされた映像フレームの概念図である。 本開示と一致する位相外れ映像フレームを特定するプロセスを例示した流れ図である。 位相外れ映像フレームの特定の際に用いることができる特徴を例示した概念図である。 位相外れ映像フレーム及び同位相映像フレームの異なるシーケンスを例示した概念図であり、陰影は、テレシネと一致するパターンを示す。 現在のフレーム及び前フレームから織り合わせた模様のものを生成するプロセスを示した概念図である。 本開示と一致する逆テレシネを実行するために用いることができるデバイスのコンポーネントの他のブロック図である。 本開示の1つ以上の態様と一致するテレシネ検出フラグを設定するプロセスを例示した流れ図である。 本開示の1つ以上の態様と一致するテレシネフラグラベルを設定するプロセスを例示した流れ図である。 本開示の1つ以上の態様と一致するフレーム状態を特定するプロセスを例示した流れ図である。 本開示の1つ以上の態様と一致するフレームのためのパターンIDを定義するためのプロセスを例示した流れ図である。 本開示の1つ以上の態様と一致するテレシネパターンフラグを設定するプロセスを例示した流れ図である。 本開示の1つ以上の態様と一致するフレーム状態を決定するプロセスを例示した流れ図である。 3:2プルダウンの逆テレシネ検出と一致する予想されるフレーム状態の変化を例示した状態図である。 本開示の1つ以上の態様と一致するテレシネ検出フラグを設定するプロセスを例示した流れ図である。 4つのフレームへの5つのフレームの変換を例示した概念図であり、5つのフレームのシーケンスのフレーム2及び3に関して補正が生じる。 テレシネ補正の概要を例示した流れ図であり、実装の1つの可能性をさらに示す。 テレシネ検出を目的とするフレームの部分的フェッチのための幾つかの選択肢を例示した概念図である。 ”IBP”ピクチャグループ(GOP)構造の復号及び表示順序を例示した概念図である。 図30に示されるようなIBP GOP構造に関する復号器による逆テレシネデータフェッチと予測復号との間の可能な同期化を例示した概念図である。 “IBBP”GOP構造の復号及び表示順序を例示した概念図である。 図34に例示されるようなIBBP GOP構造に関する復号器による逆テレシネデータフェッチと予測復号との間の可能な同期化を例示した概念図である。 本開示と一致する逆テレシネにおいて用いることができる決定方式のフェッチ技法を例示した流れ図である。 本開示と一致する逆テレシネのための有用なブロック有効性マップを生成するための技法を例示した流れ図である。 本開示と一致する逆テレシネのための有用な典型的なブロック有効性マップを例示した図である。 本開示と一致する逆テレシネのためのブロック有効性マップを解析するための技法を例示した流れ図である。 ブロック有効性マップから生成された統計に基づいて逆テレシネのための映像フレームの列を順位設定し及び選択するための技法の流れ図である。 統計が入手可能になるのに従って好適に生成される典型的な部分的ブロック有効性マップを例示した図である。
本開示は、テレシネを検出して逆テレシネを実行するための技法を説明するものである。テレシネは、映像シーケンスのフレームレートを変換するプロセスであり、逆テレシネは、フレームレートを逆に変換して原レートに戻すプロセスである。テレシネは、毎秒24フレームで撮影されたフィルムを毎秒30フレーム(又は毎秒60フィールド)の映像に変換するために一般的に用いられる。テレシネは、3:2プルダウンと呼ばれる手順によってしばしば実行されるが、その他のタイプの変換を使用可能である。
図1は、3:2プルダウンを用いるテレシネ技法を例示した概念図である。この場合は、毎秒24フレームで記録されたフィルムが毎秒60フィールドを定義する映像フィールドの組にテレシネされる。各フィールドは、フレームの少なくとも一部分を備えることができる。特に、上部フィールドA1は、フレームAの奇数番号が付されたラインを備え、下部フィールドA2は、フレームAの偶数番号が付されたラインを備える。フィールドは、例示されるように、毎秒30フレームで映像フレームを定義するためにインターレースされる。特に、フィールドA1及びA2は、フィルム内のフレームAに類似するフレームを定義するためにインターレースされる。インターレースの際には、フレームAの1本おきのラインが交互にフィールドA1及びA2から導き出される。フィールドA1及びB2は、フィルムのフレームA及びBのインターレースされた組み合わせであるフレームを定義するためにインターレースされ、フィールドB1及びC2は、フィルムのフレームB及びCのインターレースされた組み合わせであるフレームを定義するためにインターレースされる。フィールドC1及びC2は、フィルムのフレームCに類似するフレームを定義するためにインターレースされ、フィールドD1及びD2は、フィルムのフレームDに類似するフレームを定義するためにインターレースされる。
逆テレシネは、テレシネプロセスを逆転させるプロセスであり、図2において概念的に例示される。3:2プルダウンでは、逆テレシネは、毎秒30フレームでの映像を毎秒24フレームに逆に変換することを含む(図2参照)。逆テレシネは、プロセスが提供することができる様々な空間的及び時間的な映像品質上の利益に起因して映像後処理の必要な一部であることができる。逆テレシネは、トランスコーダの一部であることもできる。例えば、映像が復号された後に、逆テレシネを適用することが可能であり、フレームレートを低減させる(すなわち、逆に変換してそれの原値、例えば、毎秒24フレームに戻す)ことが可能である。この場合は、映像データは、のちに再符号化される。このトランスコーディングの場合の逆テレシネは、総ビットレートを低減させるのを援助することができ、それは、格納又は送信にとって有益であることができる。
本開示と一致する逆テレシネアルゴリズムは、映像シーケンスのフレーム及びフィールドを解析して繰り返しフィールドを決定し、従って特定のプルダウンパターンを特定することができる。逆テレシネ技法は、プルダウンパターンを検出してプルダウン補正(pull down correction)を行うために4つのフィールドを用いることができる。類似の技法は、テレシネ検出のためにさらに多くのフィールド(例えば、10フィールド)を用いることができる。しかしながら、該大量のデータ(例えば、4つのフィールド又は5つのフレーム)を処理する必要性は、その結果として高い電力消費が生じること及び映像復号にとっての難題を発生させることがある。
本開示は、フレーム又はフィールドの必要な部分を選択することによって逆テレシネ技法中に処理される必要があるピクセルエリアを減少させることができる方法も提供する。説明される技法は、実際の逆テレシネアルゴリズムと無関係であることができ、3:2プルダウンを含むあらゆるタイプの逆テレシネアルゴリズム、及び数多くのその他のタイプのテレシネとともに用いることができる。説明される技法は、本来であれば外部メモリから必要になることがあるピクセルデータの部分組をフェッチすること、及びそれによって逆テレシネアルゴリズムの性能を劣化させずにメモリへのアクセスの数を減少させることを含むことができる。
繰り返すと、テレシネは、フィルムを映像に変換するプロセスをしばしば意味する。フィルムは、映画のために典型的に生産された写真材料を意味する。フィルムは、概して毎秒24フレームで記録される。しかしながら、全米テレビジョン放送方式標準化委員会(NTSC)によって定義されたテレビ、及びその他のデジタル映像放送は、映像のために毎秒30フレームを定義することができる。従って、NTSCに準拠するテレビにフィルムのコンテンツを表示するために、フィルムは映像に変換される。変換プロセスは、テレシネと呼ばれる。幾つかの場合においては、NTSC規格の従来のテレビシステムは、毎秒60のインターレースされたフィールド(実際には、毎秒59.94フィールド)で動作することができ、フィルムの動きがNTSC映像信号で正確に提供されるようにするためには、フィルムフレームレートを24fpsから30fps(すなわち、毎秒約60フィールド)に変換するためにテレシネが必要になることがある。
各フィルムフレームを各映像フレーム上に単純に移動させることは、その結果としてフィルムが意図されるよりも約24.9%高速で走ることになる。テレシネのためのより良い解決方法は、フィルムが毎秒30フレームの映像フレームレートで示されるときにフィルムの見かけ上の高速化を防止するために、いわゆる“3:2プルダウン”の場合のように幾つかのフィルムフレームを周期的に繰り返すことである。
3:2プルダウンは、24fpsのフィルムレートを30fpsの映像レートに変換するプロセスの1つの特定のタイプである。映画レートをテレビレートに変換する場合は、3:2プルダウンは、繰り返しの3:2のパターンでフィルムフレームを繰り返し、それは図1で見ることができる。第1のステップは、4つのフィルムの組を8つのフィールドに変換することである。これは、毎秒24フレームを毎秒48のインターレースされたフィールドに変換する。次に、NTSC規格のより高速なレート(すなわち、毎秒30fps、又は60フィールド)を考慮するために、幾つかのフィールドを繰り返す必要があり、それは、3:2プルダウンで1つのフレームおきに余分のフィールドを加えることによって行われる。
第1のフィルムフレームAは、上部フィールド(A1)及び下部フィールド(A2)に分離することができる。上部フィールドA1は、奇数番号が付されたラインを備え、下部フィールドA2は、偶数番号が付されたラインを備える。上部フィールドA1及び下部フィールドA2は、図1に示されるように第1の映像フレームを定義する。フィルムフレームBの一部分が2回繰り返され、第2の出力映像フレームのための下部フィールド(B2)及び第3の出力映像フレームのための上部フィールド(B1)として記録される。第3のフィルムフレームCの異なるフィールドも、図1に示されるように、下部フィールドC2、上部フィールドC1、及び他の下部フィールドC2として3回繰り返すことができる。第4のフィルムフレームDのフィールドは、下部フィールドD1及び上部フィールドD2として2回繰り返される。第3の出力フレームは、B1及びC2のインターレースされたバージョンであり、第4の出力フレームは、C1及びC2のインターレースされたバージョンである。第5の出力フレームは、D1及びD2のインターレースされたバージョンである。このプロセスにより、4つの入力されたフィルムフレームごとに追加の映像フレームが生成される。このパターンが6回繰り返された場合は、24フレームのフィルムが30フレームの映像になる。
その他のプルダウンパターンも存在し、本開示の教示と一致する。例えば、2:3プルダウンは、第1のフィルムフレームを2回繰り返し、第2のフィルムフレームを3回繰り返す。従って、2:3プルダウンは、それが1フレームだけシフトされる以外は3:2プルダウンと非常に類似する。
2:2プルダウンは、他の共通のプルダウンパターンである。それは、例えば、毎秒24フレームのフィルムを毎秒48フィールドを定義する映像に変換するときに用いることができる。2:2プルダウンでは、各フィルムフレームは、2回繰り返され、毎秒48フィールドになる。この方法は、その結果としてフィルムの速度を上昇させ、フィルムをわずかにより短い時間で走らせる。2:2プルダウンのより共通でないバージョンは、“2:2:2:2:2:2:2:2:2:2:2:3” プルダウンと呼ばれる。この方法は、12のフレームごとに繰り返されたフィールドを挿入し、その結果、映像の25のフィールドにわたって12のフィルムフレームが拡散し、従って、24フレームのフィルムを50フィールドの映像に変換する。幾つかの映画がこの“2:2:2:2:2:2:2:2:2:2:2:3”方式でテレシネされる。3:2及び2:2プルダウンに加えて、5:5、6:4及び8:7、等のより共通でないケイデンス(cadence)も存在し、日本のアニメーションで時々用いられる。その他のタイプのプルダウンも本開示と一致する。
逆テレシネは、テレシネプロセスを逆転又は“解除”して、例えば毎秒24フレームの原コンテンツを再取得するために用いられる。インターレースされた映像ソースから3:2プルダウンパターンの検出及び除去によって毎秒24フレームを再構築する逆テレシネ技法は、“逆テレシネ”又は“リバーステレシネ”の両方で呼ばれる。テレシネに後続する逆テレシネの例が図2に示される。逆テレシネは、インターレースされたコンテンツを高質のインターレースされないディプレイ上に表示するときに必要になることがある。さらに、逆テレシネは、多くのその他の状況、例えば、トランスコーダデバイス、又は他のデバイス、において望ましいであろう。
逆テレシネは、異なる方法で行うことができる。幾つかの場合は、入力されたテレシネされた映像は、映像フレームと原フィルムフレームとの間の対応性を示すテレシネ情報が供給される。これらの場合は、復号器(又はプレーヤー)は、プルダウンパターンを検出する必要がなく、(通常はテレシネトレーステキストファイルの形で存在する)この情報に基づいて映像を再生することができる。
逆テレシネの他の方法は、ここにおいて説明される技法の基本であるパターンについて事前の知識なしにプルダウンパターンを検出してそれを逆転させることである。時々、3:2プルダウンパターンが検出された時点で、それは、映像の残りの部分のためにロックすることができ、パターンの補正は、最初に検出されたパターンに基づいて行うことができる。しかしながら、3:2プルダウンパターンは、必ずしも映像全体にわたって一致した状態になっておらず、フィルム素材に対して編集を行うことができる。編集プロセスがフィルムフレームを除去したときに、又は可能性がより高いこととして、映像素材、例えば、コマーシャル又は新しいクリップ、をそれらの間に挿入したときにいわゆる“不良編集”が生じる可能性がある。良い逆テレシネアルゴリズムは、3:2プルダウンパターンがどの時点でソース内で変化するかを特定してそれを好適に補正することができるべきである。これは、“不良編集の検出”と時々呼ばれる。
本開示による逆テレシネの利益は、視覚上の品質の向上、及び/又は帯域幅及び電力の節約を含むことができ、それらは、以下の説明からより明確になるであろう。具体的には、逆テレシネは、テレシネされたコンテンツ内の空間及び時間の両方のアーティファクト(artifact)を除去するのに役立つことができる。テレシネされたコンテンツがデインターレース(インターレース解除deinterlace)なしにプログレッシブディスプレイで表示される場合は、特に映像シーケンス内の動いている物体の境界にコーミングアーティファクト(combing artifact)が現れることがある。しかしながら、テレシネされたコンテンツがデインターレースされた場合は、ブラー(blur)が発生することがある。さらに、空間的アーティファクトに加えて、テレシネに起因して時間的アーティファクト、例えば、モーションジャダー(motion judder)が発生することがある。モーションジャダーは、テレシネジャダーと時々呼ばれ、低速の安定したカメラの移動中に特にはっきりと現れることがある。モーションジャダーは、3:2プルダウンプロセス中には10フィールドごとに2つのフィールドが繰り返されるという事実に起因する。
さらに、幾つかのデインターレースアルゴリズム、例えば、時間情報を用いるそれら、は、基準フィールドが繰り返される範囲で基準の(又は前の)フィールドの方にデインターレースフィルタリングを偏らせ、これは、ジャーキネス(jerkiness)も引き起こす。他方、2:2:2:2:2:2:2:2:2:2:2:3プルダウンが適用されている素材ではヒカップ(hiccup)のようなアーティファクトが発生することがある。ヒカップは、モーションジャダーとは多少異なり、映像内で1秒間に約2回発生する。
“ハードテレシネ”は、符号化前にプルダウンが適用されることを意味する。ハードテレシネとは対照的に、“ソフトテレシネ”は、符号化前にはプルダウンを適用せず、むしろ映像を24Pとして処理する(ここで、Pは、プログレッシブを表す)。ソフトテレシネは、ビットストリームに適切なプルダウンフラグを埋め込むことができ、プルダウンは、インターレースされたディスプレイでコンテンツを表示するときに実行することができる。ほとんどのSD−DVDは“ハードテレシネ”モードであり、従ってプログレッシブディスプレイ及びインターレースされたディスプレイの両方のために逆テレシネが必要な場合がある点に注目することも重要である。ハードテレシネでは、映像は、プルダウン後に60/50Iになり(ここで、Iは、インターレースされていることを表す)、通常のインターレースされたコンテンツと同じ方法で60/50Iコンテンツとして映像バッファに格納される。プルダウン後に結果的に得られた映像フレームは、動きの推定及び補償のための基準フレームとして用いられる。
多くの映像シーケンスでは、毎秒24フレームのフィルムソースに対して3:2プルダウンプロセスが適用される。その結果得られた毎秒60のフィールドの映像は、直接符号化することができ、又は、代替として、映像ソースにコマーシャルを加えることができ、その結果得られた毎秒60フィールドの映像コンテンツは、編集後に符号化することができる。この場合は、ビデオプレーヤーが毎秒60フィールドの映像コンテンツを復号後に、この開示の逆テレシネ技法及び不良編集検出技法を適用することができる。従って、逆テレシネが検出及び補正された場合は、真のプログレッシブな毎秒24フレームのフィルムが表示される。しかしながら、テレシネが検出されないか又は存在しない場合(例えば、入力が純粋にインターレースされたコンテンツであり、それに対してテレシネが適用されていない場合)は、フィルタを介してデインターレースを適用することができ、出力装置は、毎秒30フレームのプログレッシブ映像を表示することができる。
逆テレシネは、基本的な後処理上の特徴である。逆テレシネは、“フィルムモード検出技術”、“フィルムケイデンス及び不良編集からの回復”、“フィルムモード検出”、及び“リバース3:2プルダウン”と呼ばれることもある。3:2プルダウンは、業界において幅広く受け入れられている。
図3は、本開示の逆テレシネ技法のうちの1つ以上を実装するために用いることができる1つの典型的な映像符号化及び復号システム10を例示したブロック図である。図3の例では、逆テレシネユニット29は、映像復号器28の後に配置される。しかしながら、本開示と一致する逆テレシネユニットは、数多くのその他の位置又はデバイスでも使用可能である。例えば、放送用途に関しては、逆テレシネユニットは、放送送信前にビットレートを節約するために映像符号器の前に配置することが可能である。要約すると、図3は、本開示の逆テレシネ技法のうちの1つ以上を実装することができるシステムの単なる一例である。
図3に示されるように、システム10は、符号化された映像を通信チャネル15を介して行先デバイス16に送信するソースデバイス12を含む。ソースデバイス12及び行先デバイス16は、広範なデバイスのうちのいずれかを備えることができる。幾つかの場合は、ソースデバイス12及び行先デバイス16は、無線通信デバイス、例えば、無線ハンドセット、いわゆる携帯電話又は衛星無線電話、又は通信チャネル15を通じて映像情報を通信することができるあらゆる無線デバイス、を備え、その場合は、通信チャネル15は無線である。しかしながら、本開示の技法は、逆テレシネと関連付けられた逆テレシネの検出、メモリへのアクセスの減少、及び節電に関するものであり、無線に関する用途又は設定に必ずしも限定されない。それらの技法は、物理的ワイヤ、光ファイバ、又はその他の物理的又は無線媒体を介して通信するデバイスを含む広範なその他の設定及びデバイスにおいても役立つことができる。さらに、符号化又は復号技法は、その他のデバイスと必ずしも通信しない独立型デバイスでも適用可能である。
図3の例において、ソースデバイス12は、映像ソース18と、テレシネユニット20と、映像符号器22と、変調器/復調器(モデム)23と、送信機24と、を含むことができる。テレシネユニット20は、“ハードテレシネ”と呼ばれることがある。行先デバイス16は、受信機25と、モデム26と、映像復号器28と、逆テレシネユニット29と、表示装置30と、を含むことができる。本開示により、行先デバイス16の逆テレシネユニット29は、本開示の技法のうちの1つ以上を映像復号プロセスの一部として適用するように構成することができるが、本開示と一致する逆テレシネ技法は、映像復号に関係なく適用することも可能である。
繰り返すと、図3の例示されるシステム10は、単なる典型例であるにすぎない。本開示の様々な技法は、逆テレシネをサポートするあらゆるデバイスによって実行することができる。行先デバイス16は、ソースデバイス12が行先デバイス16への送信のためのコーディングされた映像データを生成するシステム10内の該デバイスの一例であるにすぎない。幾つかの場合は、デバイス12、16は、実質的に対称的に動作することができ、このため、デバイス12、16の各々は、映像の符号化及び復号コンポーネントを含む。このため、システム10は、例えば、映像ストリーミング、映像再生、映像放送、又は映像テレフォニーのために、映像デバイス12、16間での1方向又は2方向の映像送信をサポートすることができる。
ソースデバイス12の映像ソース18は、映像キャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされた映像を入れた映像アーカイブ、又は映像コンテンツプロバイダからの映像フィード、を含むことができる。さらなる代替として、映像ソース18は、コンピュータグラフィックスに基づくデータを、ソース映像、又はライブ映像とアーカイブに保存された映像とコンピュータによって生成された映像の組み合わせ、として生成することができる。幾つかの場合は、映像ソース18がビデオカメラである場合は、ソースデバイス12及び行先デバイス16は、いわゆるカメラフォン又はビデオフォンを形成することができる。各々の場合において、キャプチャされた、予めキャプチャされた又はコンピュータによって生成された映像は、テレシネユニット20によってテレシネし、ビデオ符号器22によって符号化することができる。符号化された映像情報は、通信規格、例えば、符号分割多元接続(CDMA)又は他の通信規格、によりモデム23によって変調し、送信機24及び通信チャネル15を介して行先デバイス16に送信することができる。モデム23は、信号変調のために設計された様々な混合器、フィルタ、増幅器又はその他のコンポーネントを含むことができる。送信機24は、データを送信するために設計された回路を含むことができ、増幅器と、フィルタと、1つ以上のアンテナと、を含む。
行先デバイス16の受信機25は、通信チャネル15を通じて情報を受信し、モデム26は、その情報を復調する。類似の送信機24、受信機25は、データを受信するために設計された回路を含むことができ、増幅器と、フィルタと、1つ以上のアンテナと、を含む。幾つかの場合は、送信機24及び/又は受信機25は、受信及び送信の両回路を含む単一のトランシーバコンポーネント内に組み入れることができる。モデム26は、信号復調のために設計された様々な混合器、フィルタ、増幅器又はその他のコンポーネントを含むことができる。幾つかの場合は、モデム23及び26は、変調及び復調の両方を行うためのコンポーネントを含むことができる。映像復号器28は、ブロックに基づく映像復号、例えば、映像符号器22によって符号化された符号化された映像ブロックの再構築、を行う。逆テレシネユニット29は、復号された映像に関する逆テレシネを実行する。
行先デバイス16によって実行される逆テレシネプロセスは、映像復号中に実行することができるが、本開示の態様は、ブロックに基づく映像復号なしで実行することもできる。特に、逆テレシネユニット29は、映像シーケンスのフレームレートを逆に変換して原フィルムレートに戻す(例えば、ソースデバイス12のテレシネユニット20によって実行されたテレシネを“解除する”)ために、ここにおいて説明されるように、逆テレシネ技法を実行することができる。
より具体的には、逆テレシネユニット29は、映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定し、映像フレームのシーケンス内のプログレッシブフレーム及びインターレースされたフレームのパターンを特定し、パターンに基づいてテレシネ技法を特定し、及び特定されたテレシネ技法に基づいて映像フレームのシーケンスに関して逆テレシネ技法を実行することができる。この場合は、逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、ここで、M及びNは、正の整数であり、Mは、Nよりも小さい。従って、逆テレシネは、フレームレートを低減させ、映像シーケンスがフィルム媒体上に最初に記録されたときのそれと関連付けられた原フィルムレートに戻す。
映像復号器28は、時間に基づく復号のための動き推定コンポーネントと動き補償コンポーネントとを含むことができる。さらに、映像復号器28は、空間に基づく復号のための空間的推定及びイントラコーディング(intra coding)ユニットを含むことができる。表示装置30は、逆テレシネプロセス後にユーザに対して復号された映像データを表示し、様々な表示装置、例えば、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は他のタイプの表示装置、のうちのいずれかを備えることができる。
図3の例において、通信チャネル15は、あらゆる無線又は有線の通信媒体、例えば、無線周波数(RF)スペクトル又は1つ以上の物理的送信ライン、又は無線媒体と有線媒体の組み合わせ、を備えることができる。通信チャネル15は、パケットに基づくネットワーク、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネット等のグローバルネットワーク、の一部を形成することができる。通信チャネル15は、ソースデバイス12から行先デバイス16に映像データを送信するためのあらゆる適切な通信媒体、又は異なる通信媒体の集合、を概して表す。通信チャネル15は、ソースデバイス12から行先デバイス16への通信を容易にするために役立つことができるルータ、スイッチ、基地局、又はその他の装置を含むことができる。
映像符号器22及び映像復号器28は、MPEG−4、Part10、アドバンストビデオコーディング(AVC)として代替で説明される映像圧縮規格、例えば、ITU−T H.264規格、に準拠して動作することができる。しかしながら、本開示の技法は、いずれの特定の映像コーディング規格にも限定されない。図1には示されていないが、幾つかの態様においては、映像符号器22及び映像復号器28は、共通のデータストリーム又は別個のデータストリーム内の音声及び映像の両方の符号化を処理するために、音声符号器及び復号器と各々一体化することができ、及び、該当するMUX−DEMUXユニット、又はその他のハードウェア及びソフトウェアを含むことができる。該当する場合は、MUX−DEMUXユニットは、ITU H.223多重化装置プロトコル、又はその他のプロトコル、例えば、ユーザデータグラムプロトコル(UDP)、に準拠することができる。
ソースデバイス12、及び行先デバイス16の逆テレシネユニット29を含む行先デバイス16、の様々なコンポーネントは、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア又はそれらの組み合わせとして実装することができる。テレシネユニット20及び逆テレシネユニット29は、映像符号器22及び映像復号器28内にそれぞれ組み入れることができる。繰り返すと、本開示の逆テレシネ技法は、映像復号プロセスの一部として実装することができるが、その他の設定及びシナリオでも用いることができる。さらに、逆テレシネ動作後は、映像データは、必ずしも表示する必要がない。その他の例では、逆テレシネに後続して、(例えば、トランスコーディングシナリオにおいて)映像データを再符号化することができ、及び新しい符号化された映像データは、将来の再生のために格納することができるか又は放送用途のために送信することができる。
映像シーケンスは、一連の映像フレームを典型的に含む。映像符号器22は、映像データを符号化するために個々の映像フレーム内の映像ブロックに対して動作する。映像ブロックは、固定された又は可変のサイズを有することができ、及び、指定されたコーディング規格に準拠してサイズが異なることができる。各映像フレームは、一連のスライスを含む。各スライスは、一連のマクロブロックを含むことができ、それらは、サブブロックにすることができる。一例として、ITU−T H.264規格は、様々なブロックサイズ、例えば、ルマ(luma)成分に関しては16×16、8×8、又は4×4、及びクロマ(chroma)成分に関しては8×8、のイントラ予測、及び、様々なブロックサイズ、例えば、ルマ成分に関しては16×16、16×8、8×16、8×8、8×4、4×8及び4×4、及びクロマ成分に関しては対応するスケーリングされたサイズ、のインター予測、をサポートする。映像ブロックは、ピクセルデータのブロック、例えば、離散コサイン変換(DCT)、等の変換プロセス、又は概念的に類似する変換プロセス後の変換係数のブロック、を備えることができる。本開示の技法により、映像符号器22及び映像復号器28は、例えば、ユニット20によって実行されたテレシネ後はテレシネされた領域内で動作する。他のシナリオにおいては、符号器は、逆テレシネユニット29後に適用可能であり、この場合は、符号器は、非テレシネ領域で動作することができる。
より小さい映像ブロックは、より良い解像度を提供することができ、高レベルの詳細度を含む映像フレームの配置のために用いることができる。概して、マクロブロック及び様々なサブブロックは、映像ブロックであるとみなすことができる。さらに、スライスは、一連の映像ブロック、例えば、マクロブロック及び/又はサブブロック、であるとみなすことができる。各スライスは、映像フレームの独立して復号可能な単位であることができる。代替として、フレーム自体が復号可能な単位であることができ、又は、フレームのその他の部分を復号可能な単位として定義することができる。用語“コーディングされた単位”は、映像フレームの独立して復号可能な単位、例えば、フレーム全体、フレームのスライス、又は用いられるコーディング技法により定義された他の独立して復号可能な単位、を意味する。
映像ブロックを符号化するために、映像符号器22は、予測ブロックを生成するためのイントラ予測又はインター予測を行う。映像符号器22は、符号化される原映像ブロックから予測ブロックを減じて残差ブロック(residual block)を生成する。このように、残差ブロックは、コーディングされているブロックと予測ブロックとの間の差分を示す。映像符号器22は、残差ブロックに対する変換を行って変換係数のブロックを生成することができる。イントラ又はインターに基づく予測コーディング技法及び変換技法に引き続き、映像符号器22は、量子化を行う。量子化は、係数を表すために用いられるデータの量を可能な場合は低減させるために係数が量子化されるプロセスを概して意味する。量子化に引き続き、エントロピーコーディング方法、例えば、コンテキスト適応型可変長コーディング(CAVLC)又はコンテキスト適応型バイナリ算術コーディング(CABAC)、によりエントロピーコーディングを行うことができる。
行先デバイス16において、映像復号器28は、符号化された映像データを受信し、エントロピーは、エントロピーコーディング方法、例えば、CAVLC又はCABAC、により受信された映像データを復号して量子化された係数を得る。映像復号器28は、逆量子化(量子化解除)及び逆変換機能を適用してピクセル領域内の残差ブロックを再構築する。映像復号器28は、符号化された映像データに含まれる制御情報又は構文情報(例えば、コーディングモード、動きベクトル、フィルタ係数を定義する構文、等)に基づいて予測ブロックも生成する。映像復号器28は、予測ブロックを再構築された残差ブロックと合計して表示のための再構築された映像ブロックを生成する。
本開示の技法により、逆テレシネユニット29は、映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定し、映像フレームのシーケンス内のプログレッシブフレーム及びインターレースされたフレームのパターンを特定し、パターンに基づいてテレシネ技法を特定し、特定されたテレシネ技法に基づいて映像フレームのシーケンスに関して逆テレシネ技法を実行することができる。この場合は、逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、ここで、M及びNは、正の整数であり、Mは、Nよりも小さい。従って、逆テレシネは、フレームレートを低減し、映像シーケンスがフィルム媒体上に最初に記録されたときのそれと関連付けられた原フレームレートに戻す。
さらに、逆テレシネユニット29は、映像復号器28は一定の映像データを復号プロセスの一部として既にローディング済みであるという事実を利用することができる。すなわち、映像復号器28による映像復号を目的としたメモリへのデータのローディングは、逆テレシネユニット29によって実行される逆テレシネプロセスのためにも同じデータが必要とされる場合にメモリへの該データの不要な重複したローディングを低減させるために用いることができる。この方法により、逆テレシネユニット29と関連付けられたメモリへのローディングを低減させ、電力及びメモリ帯域幅を節約することができる。
図4は、本開示と一致する逆テレシネ技法を例示した流れ図である。図4に示されるように、逆テレシネユニット29は、映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定する(41)。次に、逆テレシネユニット29は、映像フレームのシーケンス内のプログレッシブフレーム及びインターレースされたフレームのパターンを特定し(42)、パターンに基づいてテレシネ技法を特定する(43)。例えば、逆テレシネユニット29がフレームの繰り返しパターン(例えば、PIIPPフレーム又はPPIIPフレームの繰り返しパターン)を特定した場合は、逆テレシネユニット29は、フレームを定義するために最初に実行されたテレシネ技法として3:2プルダウンを特定することができる。次に、逆テレシネユニット29は、特定されたテレシネ技法に基づいて映像フレームのシーケンスに関して逆テレシネ技法を実行することができる(44)。逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、ここで、M及びNは、正の整数であり、Mは、Nよりも小さい。
例えば、3:2プルダウンに関しては、逆テレシネ技法は、5つのフレームの各パターン(P,P,I,I,P)を4つのプログレッシブフレームのパターン(P,P,P,P)に変換するか又は5つのフレームの各パターン(P,P,I,I,P)を4つのプログレッシブフレームのパターン(P,P,P,P)に変換することによって毎秒30の映像フレームを毎秒24の映像フレームに変換する。いずれの場合も、パターンが3:2プルダウンテレシネ技法と関連付けられているときに、そのパターンを特定することは、3つのプログレッシブフレーム及び2つのインターレースされたフレームから成る5つのフレームシーケンスを特定することを備える。PPIIPに関しては、1つのプログレッシブフレームによって後続された2つのインターレースされたフレームによって後続された2つのプログレッシブフレームが存在することになり、PIIPPに関しては、2つのプログレッシブフレームによって後続される2つのインターレースされたフレームによって後続される1つのプログレッシブフレームが存在することになる。いずれの場合も、逆テレシネ技法を実行することは、5つのフレームシーケンスを4つのフレームシーケンスに変換することを備えることができ、逆テレシネ技法は、毎秒30の映像フレームを毎秒24の映像フレームに変換する。
映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを特定する際には、テレシネユニット29は、個々の映像フレームと関連付けられたデータの部分組のみを処理することができる。この部分組をどのように定義することができるに関する追加の詳細が以下に提供される。概して、部分組は、個々のフレーム内のピクセルデータのブロックを備えることができ、ブロックは、逆テレシネ検出のために予め定義され、ピクセルデータのブロックは、個々のフレームの各々のためにメモリからフェッチされる。部分組は、個々のフレーム内のピクセルデータの縦列(vertical column)を備えることができ、個々のフレーム内のピクセルデータの縦列は、逆テレシネ検出のために予め定義され、個々のフレーム内のピクセルデータの縦列は、個々のフレームの各々のためにメモリからフェッチされる。
幾つかの場合は、逆テレシネの目的のために処理されたデータの部分組は、個々のフレーム内のピクセルデータの縦列を備え、個々のフレーム内のピクセルデータの縦列は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される。その他の場合は、いずれかの所定のフレームと関連づけられた部分組は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義することができる。例えば、以下においてより詳細に概説されるように、逆テレシネユニット29は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルのマップを生成すること、及びマップに基づいて各々のフレームのための部分組を定義することができる。処理をさらに簡略化するために、逆テレシネユニット29は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連づけられたピクセルの部分的マップを生成すること、及び部分的マップに基づいて各々のフレームのための部分組を定義することができ、部分的マップは、統計が入手可能になるのに従って各々のフレームの映像コーディング中に定義され、統計は、映像コーディングのために個々のピクセルが既にフェッチされているかどうかを定義する。いずれの場合も、マップは、復号ユニット28による映像コーディングの目的のために既に格納されている有用なデータを正確に特定し、それにより、逆テレシネユニット29がその同じデータを再度フェッチする必要性をなくすことができる。
逆テレシネプロセスために提案された数多くのアルゴリズムが存在する。本開示の焦点は、使用されたテレシネ技法を特定するためにビットストリーム内の情報を要求しない逆テレシネプロセスである。さらに、本開示の他の焦点は、逆テレシネプロセス中にメモリ帯域幅を小さくすることである。図5は、逆テレシネモジュール51のブロック図であり、それは、図3の逆テレシネユニット29に対応することができ、又は他のデバイスのモジュール又はユニットに対応することができる。逆テレシネモジュール51は、入力フレーム又はフィールドを受信し及び出力フレームを出力し、ここで、フレームレートは、入力から出力まで変化する。特に、逆テレシネでは、フレームレートは、入力から出力まで典型的に低減する。
逆テレシネモジュール51は、入力フレームを解析し、テレシネ検出を行い及び検出段階中に特定されたパターンに基づいて補正を行うことができる。テレシネ検出アルゴリズムは、プルダウンパターンを特定するために用いられる入力フィールド又はフレームの数に基づいて分類することができる。テレシネ検出アルゴリズムで用いられるフィールドの数は、通常は2つ、すなわち、映像フレームの上部フィールド及び下部フィールドである。しかしながら、アルゴリズムは、テレシネ検出では4つのフィールド(すなわち、2つの異なるフレームの上部フィールド及び下部フィールド)を用いることができる。その他のフィールドの数、例えば5つ以上の入力フィールド、も定義可能である。
しかしながら、該大量のデータの処理は、高い電力及びリソースを要求する可能性がある。テレシネアルゴリズムは、処理されるピクセルの量を低減させるためにフレームのジグザグ走査を行うことができる。さらに、逆テレシネモジュール51によって行われる動作の数を減少させるために、“テレシネパターンがいったんロックされた時点で逆テレシネをディスエーブルにする”技法を逆テレシネモジュール51によって実行することが可能である。この場合は、テレシネパターンが見つかった時点で、そのパターンがロックされ、従って、逆テレシネモジュール51は、新しい入力フレームにアクセスし続ける必要がなく、それは、処理電力を低減し及び帯域幅を小さくすることができる。しかしながら、このタイプの手法は、逆テレシネモジュール51によって用いられる入力ピクセルデータを減少させず、むしろ、それは、逆テレシネモジュール51が動作する回数を減少させる。従って、このタイプの技法は、不良編集中に生じる可能性があるテレシネパターの変化を見落とすことがある。
本開示の技法は、テレシネ検出のためにフェッチするピクセルデータを特定するための有効なアルゴリズムを提案するものである。本開示の技法の利点は、逆テレシネプロセスで用いられるピクセルの量の低減を含むことができ、それは、逆テレシネの性能を劣化させることなしにメモリ帯域幅を小さくすることができる。さらに、メモリ及び処理サイクルからのデータトラフィックの量を低減させることによって、説明される技法は、高精細度用途、等の映像のより高い解像度への逆テレシネの適用をサポートするのに役立つことができる。説明される技法は、テレシネを特定するためにビットストリーム内で情報が搬送されるのを要求せず、むしろ、純粋に映像のコンテンツにおいてテレシネが検出される。
電力消費が懸念事項であるデバイス(例えば、無線デバイス)に関しては、説明される逆テレシネ技法は、同様の電力量を用いるその他の技法と比較してテレシネ検出のためにより多くのフレームを処理するのに役立つことができ、それは、逆に、コマーシャル又は場面のカットの挿入中に生じる不良編集を把握するのに役立つ。本開示のメモリ帯域幅及び電力の節約の態様は、テレシネ検出アルゴリズムから独立していることができ及びフレームの少なくとも2つのフィールド(例えば、偶数フィールド及び奇数フィールド)へのアクセスを要求するその他のテレシネ検出アルゴリズムとともに用いることができる。この場合は、ピクセルデータの一部分のみをフェッチすることによって利点を達成することができ、ここで、ピクセルデータの一部分は、圧縮された領域の統計によって好適に、又は以下においてさらに詳細に説明される垂直サンプリング手法によって決定方式で、決定される。ピクチャの動いている部分は、通常は、テレシネ検出のためのより良い指標である。従って、高いレベルの動きを有する対象領域に関して逆テレシネを実行することは、メモリ帯域幅を小さくする一方で良好なテレシネ検出性能を提供することができる。さらに、本開示の技法は、動きベクトルを追跡することによって映像復号中に内部メモリに既にフェッチされている利用可能なピクセルデータ及び動きベクトルによって特定された基準ピクチャを利用することができる。
逆テレシネ技法の2つの主要な態様は、“テレシネ検出”(すなわち、プルダウン検出)及び“テレシネ補正”である。これらに加えて、“不良編集の検出”も逆テレシネ技法の一部であることができる。図6は、テレシネ検出段階61と、不良編集検出段階62と、テレシネ補正段階63と、を含むテレシネ検出ユニット61の基本ブロック図である。
テレシネ検出61の基本的目標は、インターレースされた映像が3:2プルダウン、2:2プルダウン、又は他のプルダウンプロセスのいずれを経ているかを見つけ出すことである。フレームの“状態”は、図7に示される映像フレームの秩序を意味し、それらの状態は、いずれのフィルムフレームが映像フレームを構成するかの情報を搬送することができる。例えば、State_2(状態2)は、5つから成るグループ内の第2の映像フレームが第1のフィルムフレームの上部フィールド及び第2のフィルムフレームの下部フィールドから成ることを意味する。同様に、State_4(状態4)は、5つから成るグループ内の第4の映像フレームが第3のフィルムフレームの上部フィールド及び下部フィールドから成ることを意味する。
不良編集検出62の目標は、最初に特定されたプルダウンパターンが時間の点で破断(broken)されているかどうかを決定することであることができる。実証のために破断されているプルダウンパターンが図8に例示される。パターンが図8の矢印によって示されるように破断されている場合は、次の映像フレームの新しい状態に加えて、新しいプルダウンパターンの開始点を特定しなければならない。3:2プルダウンと関連付けられた破断されたパターンが図8に例示される。
テレシネ補正63の目標は、図9に示されるように、テレシネ検出によって提供される状態情報を用いて映像フレームをフィルムフレームに変換することである。補正は、映像フレーム状態がテレシネ検出段階61によって正確に特定された時点で相対的に容易なプロセスであることができる。特に、図9に示されるように、補正は、状態情報により行うことができる。例えば、映像フレームがState_1、State_4又はState_5として特定された場合は、必要な変更は存在しない。映像フレームがState_2である場合は、フレームは、補正のためにドロップ(drop)される。映像フレームがState_3である場合は、それは、前の映像フレームから下部フィールドをフェッチし及び現在の映像フレームの下部フィールドをドロップすることによって補正される。この補正は、図9において例示される。
テレシネ検出アルゴリズムは、それらがプルダウンパターンを特定するために使用するフィールドの数に基づいて分類することができる。テレシネ検出アルゴリズムで用いられるフィールドの最低数は、2つ、例えば、映像フレームの上部フィールド及び下部フィールド、であるが、それよりも多いフィールドを用いることができる。テレシネ検出アルゴリズムは、検出プロセスで用いられるメトリックに基づいて分類することもできる。例えば、以下に記載された次のメトリックをテレシネ検出のために用いることができる。
・絶対差の和(SAD)
・絶対SAD
・ピクセルブロックパラメータ
・ピクセル統計
・動き
幾つかのテレシネアルゴリズムの基礎は、例えば、SADメトリックを用いたピクセルの差分(differencing)である。SADは、特定のフィールドが繰り返されるかどうかを特定するために2つのフレームの対応するフィールド間で計算することができる。例えば、図9を参照し、State_2にある映像フレームは、State_1にある映像フレームと同じ上部フィールドを有する。これらの2つの上部フィールド間でSADを行い及びSAD値のスレショルド処理(thresholding)を行うことによって、上部フィールドが繰り返されるかどうかを特定することが可能である。
テレシネアルゴリズムのためにピクセルブロックパラメータを用いることもできる。それらのパラメータは、コンテンツ情報、例えば、ピクセルの特定のブロック内のエッジ、を含むことができる。このメトリックは、それがピクセル値の変化の代わりにコンテンツの変化を測定する点でSADと異なる。ピクセル統計を用いることは、ブロックパラメータ手法と同様であり、ピクセルの組の平均及び分散を用いることによって2つのフィールド間で比較が行われる。
不良編集の検出は、テレシネ検出では通常は強調されない。幾つかのアルゴリズムは、異なるプルダウンパターンを想定することができるが、これは通常は好まれない。異なるテレシネ検出アルゴリズムは、それらが検出の際に用いる基準フィールドの数と選択及びそれらが用いるメトリックの点で異なることがある。本開示の様々な態様、特にメモリ帯域幅を小さくする態様、は、様々な逆テレシネアルゴリズムとともに用いることができる。
1つのタイプの逆テレシネアルゴリズムでは、テレシネ検出を特定するためにSADメトリックを用いることができる。この場合は、2つの連続するフレームの同じパリティフィールド間でSADが計算される。1つのフィールドのSAD値が予め設定されたスレショルドよりも大きい場合は、反対のフィールドのSAD値も計算される。SAD値が反対のフィールドのSAD値と同等である場合は、テレシネは検出されない。他方、反対のフィールドのSAD値の方が小さい場合は、“位相外れ”(Out_of_Phase)が特定される。State_2及びState_4中に連続的に位相外れが検出される場合は、テレシネパターンをロックすることができる。このアルゴリズムの文脈では、位相外れは、映像フレームの上部フィールド又は下部フィールドのいずれかが前映像フレームから来るインターレースされた映像フレームを意味する。3:2プルダウン検出を経ている5つの映像フレームのグループでは、位相外れは2回、すなわち、(i)State_2とState_1との間、(ii)State_4とState_3との間で検出されるはずである。図10は、逆テレシネに関する該位相外れの検出を例示する。
このタイプの逆テレシネアルゴリズムでは合計2つのフレーム、すなわち4つのフィールド、を用いることができる。しかしながら、ここにおいてさらに詳細に説明されるように、SADは、フレーム内のピクセルの一部のみを用いることによって計算することができる。画像は、ジグザグ方式で走査することができ、画像の小さい部分のみを用いることができる。SADの実装は、8ビットアーキテクチャで行うことができる。テレシネパターンをロックし、State_2、後続してState_4、そして次にState_2、を検出した後は、アルゴリズムは、テレシネ補正を行い、逆テレシネコンテンツを出力することができる。出力は、テレシネパターンがState_2及びState_4において不具合になるごとに中断することができる。映像フレームは、次の事例に関してはそのままの状態で(すなわち、補正も変更もなしで)出力される。
・テレシネが検出されない場合
・十分なテレシネ履歴が存在しない場合
・テレシネパターンが中断された場合
(以下においてさらに詳細に対処されている)本開示の様々なメモリ帯域幅を小さくする態様を、これらの典型的な逆テレシネ手法のいずれに対しても適用可能である。しかしながら、この時点では、本開示は、“テレシネ検出”及び“テレシネ補正”モジュール又はユニットを実装する提案されている逆テレシネ技法に焦点を合わせる。
この場合は、テレシネ検出は、2つの主要な段階、すなわち、テレシネコスト(telecine cost)計算及びテレシネパターン解析、によって実行することができる。第3段階(テレシネ補正)も逆テレシネアルゴリズムの一部を形成することができる。図11は、これらの3つの段階を例示した基本的な流れ図である。コスト計算ユニット111は、フレームの奇数フィールド及び偶数フィールドからのピクセルを用いて解析を行う。この解析の結果は、映像ピクチャが真のプログレッシブピクチャであるか又は真のインターレースされたピクチャであるかを決定する。コスト計算段階111の出力は、テレシネパターン解析ユニット112によって用いることができる。テレシネパターン解析は、ハードウェア、ファームウェア及び/又はソフトウェアに実装することができる。テレシネパターン解析ユニット112は、入力パターンを解析し、それが標準の3:2又は2:2プルダウンパターンと一致するかどうかを検査する。それが一致する場合は、テレシネパターンをロックすることができ及び各ピクチャの状態情報を計算することができる。状態情報は、テレシネ補正ユニット113がテレシネ補正のためにピクセルフェッチするかどうかを示す。
テレシネコスト計算ユニット111は、ピクチャの2つのフィールド(すなわち、偶数フィールド及び奇数フィールド)を用いることができる。3つ以上のフィールドを用いるその他のアルゴリズムと比較したときに、このタイプのテレシネコスト計算は、リソース制約環境において実装されたときに低いメモリ帯域幅の要求を満たすという点で利点を有する。
提案されるアルゴリズムは3:2及び2:2プルダウンパターンを検出するように設計されているが、それは、その他のプルダウンパターンを検出するために容易に調整して使用することが可能である。ユニット112のパターン解析段階は、必要な場合はその他のプルダウンパターンを検出するために容易に変更することができる。
テレシネコスト計算ユニット111における“コスト”は、“位相外れとして検出される列の数”を示すことができ、ここで、“位相外れ”は、ピクチャ内の偶数フィールド及び奇数フィールドが異なる瞬間から来ていることを意味する。位相外れデータは、インターレーシングを示す。コスト計算アルゴリズムの目標は、基本的には、ピクチャがインターレースされているか又はプログレッシブであるかを特定することである。図12は、テレシネされたインターレースされたフレームを例示した概念図であり、奇数フィールド及び偶数フィールドは、異なるフレームから来ているピクセルデータを特定する。
図13は、テレシネコスト計算ユニット、例えば、図12に示されるテレシネコスト計算ユニット111、によって実行することができるプロセスを例示した流れ図である。図12に示されるように、テレシネコスト計算ユニット111は、フェッチすべきラインを特定し(130)、現在のフレームから、例えば、メモリ(示されてない)から、垂直ラインをフェッチする(131)。テレシネコスト計算ユニット111は、連続するピクセル差分を計算し(132)、ピクセル差分のスレショルド処理を行う(133)。テレシネコスト計算ユニット111は、垂直ライン内の連続するピーク及び谷(valley)の長さを次に計算する(134)。
計算された各長さに関して(135)、テレシネコスト計算ユニット111は、長さが長さスレショルドLen_THよりも大きいかどうかを決定する(136)。そう(“はい”136)である場合は、テレシネコスト計算ユニット111は、位相外れカウンタ(out_of_phase_counter)を増分し(137)、次に、そのラインが終了されているかどうかを決定する(138)。テレシネコスト計算ユニット111は、ライン内の各ピクセルに関してこのプロセスを繰り返すことができ、所定の長さが長さスレショルドよりも大きいごとに位相外れカウンタを増分する。ラインが終了された時点で、テレシネコスト計算ユニット111は、位相外れカウンタがカウントスレショルドcount_THよりも大きいかどうかを決定する(139)。そう(“はい”139)である場合は、テレシネコスト計算ユニット111は、Out_of_Phase(位相外れ)フラグを1に設定する(140)。そうでない(“はい”139)場合は、テレシネコスト計算ユニット111は、すべての垂直ラインが終了されているかどうかを決定する(141)。
さらなる垂直ラインを考慮する必要がある(“いいえ”141)場合は、テレシネコスト計算ユニット111は、該ラインのためにプロセスを繰り返す。しかしながら、テレシネコスト計算ユニット111が、位相外れカウンタがカウントスレショルドcount_THよりも小さい(“いいえ”139)かどうか及びすべての垂直ラインが終了されていること(“はい”141)を決定した場合は、テレシネコスト計算ユニット111は、Out_of_Phaseフラグを0に設定する。この例では、Out_of_Phaseフラグが0であることは、フレームがプログレッシブであることを意味し、Out_of_Phaseフラグが1であることは、フレームがインターレースされていることを意味する。
図13の流れ図に示されるアルゴリズムは、列(column)に関してピクセル値を走査及び処理することができる。最初に、垂直ライン(すなわち、ピクチャの列)がフェッチされる。次に、列内の連続するピクセルの差分が次のように計算される。
Figure 2012523178
Figure 2012523178
次に、ピクセル差分が以下の方程式を用いてスレショルド処理される。
Figure 2012523178
ここで、方程式(3)のt(x,y)は、それが1に等しい場合はピーク及びそれが−1の場合は谷を表す。
ピーク−谷の決定における雑音の影響を回避するために、テレシネコスト計算ユニット111は、ピクセルスレショルドth_pを用いることができる。アルゴリズムの裏にある直感を次のように説明することができる。ピクチャがインターレースされる場合は、奇数フィールド及び偶数フィールドは、互いに高い相関関係及び同様のピクセル値を有することになる。図12に示されるように、それらがインターリービングされるときには、ピクチャ列の垂直方向の連続するピクセルは、交互するピクセル値を有することになる。垂直方向におけるピクセル強度の差分は、鋸歯のパターンのように見える。鋸歯のパターンは、偶数フィールドと奇数フィールドとの間で動きが存在する場合に非常に有意になり、他方、それは、静止エリアではそれよりも有意でなくなる。インターレースされた試験シーケンスに関する鋸歯のパターンの例が図14において145に示される。特に、パターン145は、有意なピーク及び谷を示し、それは、ピクチャ内での動きに対応する。しかしながら、背景エリアに対応する図の他の部分には有意なピーク及び谷のパターンは存在しておらず、ピーク及び谷がこのようにないことは146において例示される。
ピーク及び谷を決定後は、連続するピーク及び谷の長さは次のように計算することができる。
Figure 2012523178
連続するピーク及び谷の長さが、スレショルド(len_th)を上回る場合は、列は、位相外れとして特定され、位相外れカウンタが増分される。len_thは、画像の解像度に基づいて調整される。
Figure 2012523178
次に、最終ステップとして、位相外れとして検出された列の数をスレショルドと比較することができる。位相外れとして検出された列の数がcount_thよりも大きい場合は、ピクチャ全体を位相外れとして特定し、バイナリラベル“1”で表すことができる。位相外れ列の数がスレショルドよりも小さい場合は、ピクチャは、同相(in_phase)として特定され、バイナリラベル“0”で表される。換言すると、
Figure 2012523178
幾つかの実装においては、列及びピクチャレベルの両方においてプロセスの早期終了が可能である。列レベルでの早期終了では、連続するピーク及び谷の長さがスレショルドlen_thを超えた時点で、アルゴリズムは、現在の列の処理を停止して次の列に移行することができる。ピクチャレベルでの早期終了では、何らかのパーセントのスレショルド(例えば、count_th)に達した時点で、後続する列を検査することが不要であることができる。
テレシネパターン解析ユニット112は、連続するピクチャのピクチャラベル(picture_label)情報を解析し、入力映像が3:2又は2:2のいずれのプルダウンパターンを有するかを特定することができる。さらに、テレシネパターン解析ユニット112は、プルダウンパターンの開始状態に基づいて各フレームの状態情報を決定することができる。正確な3:2プルダウンパターン及びピクチャレベルが図15に示される。特に、正確な3:2プルダウンパターンは、次のビットパターンによって表すことができる。
Figure 2012523178
[01100]は、CPD_32においてそれ自体が繰り返す基本的なビットパターンであることが上記の方程式8からわかる。パターンは、シフトさせることができ及びCPD_32の第2又は第3の列から開始できることを注目すること。方程式7は、最も共通するパターンを表すことができるが、プルダウンパターンのオフセット値を規定する規格は存在しない。従って、プルダウンパターンを正確に検出するためにすべての可能なオフセットを考慮することが必要な場合がある。2のオフセットを有する同じ3:2プルダウンパターンの例が以下に示される。
Figure 2012523178
数学的には、次の方程式が満たされる場合に正確なパターンを見つけ出すことができる。
Figure 2012523178
ここで、tは時間を表し、||はOR演算を表し、異なるオフセットを有するPattern_IDが以下に与えられる。
Figure 2012523178
典型的には、アルゴリズムは、第5のフレームという早期に最初の3:2プルダウンパターンを見つけ出すことができる。しかしながら、図15の3つの例の各々において示されるように、6つのパターンのうちの4つの基本パターンが見つけ出された場合(すなわち、30番目のフレーム後)に3:2プルダウンパターンをロックするのが望ましいことがある。パターンが早期にロックされた場合は、不正確なテレシネ検出のリスクが存在し、それは、テレシネ補正に影響を及ぼして最終的には不良な映像品質が生じる可能性がある。
プルダウンパターンがロックされた時点で、各ピクチャの状態を特定することができる。各ピクチャの状態は、以下の表1に示されるようなテーブル検索方法によって容易に見つけ出すことができる。
Figure 2012523178
2:2(すなわち、2:2:2:2:2:2:2:2:2:2:2:3)プルダウンパターン検出手順は、3:2プルダウンの場合と同様であることができる。相違点は、2:2プルダウンが(方程式11に示される)特定の正確なプルダウンパターンを有していること、及び、基本の2:2パターンは3:2プルダウンの基本パターンと比較して長さの点でより大きいためロック時間がより長いことである。
Figure 2012523178
“検査されるパターンの数”及び“正確なプルダウンパターン”、等のパラメータは、異なる実装において容易に変更することができる。
テレシネ補正ユニット113は、テレシネコスト計算ユニット111及びテレシネパターン解析ユニット112によって行われる、テレシネ検出によって提供された状態情報を用いて映像フレームをフィルムフレームに変換する。テレシネ補正は、映像フレーム状態がテレシネ検出プロセスによって正確に特定された時点では相対的に容易なプロセスである。テレシネ補正は、フレームが表示のためにフェッチされた時点で行われる。単純に、テレシネ補正中にまさに5つのフレームのうちで1つのフレームを廃棄することができ、この方法により、毎秒30フレームの映像から毎秒24フレームを得ることができる。
テレシネ検出は、ピクチャステートマシンを維持しつつテレシネパターンを格納することを含むことができる。テレシネ検出モジュール又はユニットは、テレシネ補正モジュール又はユニットにピクチャ状態情報を知らせることができる。状態情報は、テレシネ補正のために行われるフェッチ動作のタイプを示す。表2に示されるように各状態に関して異なるテレシネ補正動作を行うことができる。
Figure 2012523178
テレシネ検出は、正確なバッファ位置及び正確な動作(例えば、プログレッシブフェッチ又は補正フェッチ)をディスプレイ(例えば、図3の表示装置30)に知らせることができる。ピクチャ状態がState_1、State_4又はState_5である場合は、動作は必要ない。換言すると、それらは、プログレッシブフレームであり、それらは、プログレッシブにフェッチされる。ピクチャがState_2である場合は、それは廃棄される。ピクチャが状態State_3である場合は、それは、ピクチャがインターレースされたフォーマットであり、ピクチャの現在の下部フィールドを前ピクチャの下部フィールドと交換することによって補正する必要があることを意味する。この補正フェッチは、図16に示され、そこでは、現在のフレーム161の奇数フィールドが前フレーム162の偶数フィールドと結合されて織り合わされた模様の(weaved)フレーム163が形成される。
テレシネ検出モジュールは、映像復号器内に実装することが可能である。テレシネ検出ユニットによって用いられるフレーム内のピクセルの半分超が既に内部メモリ内にあることができ、この場合は外部メモリからフェッチする必要がないため、これは好都合な場所である。この実装は、メモリフェッチと関連するデータトラフィックを低減させる、すなわち、メモリ帯域幅の使用を低減させる、という点での利点を提供する。テレシネが検出された時点で、“フィルムモードフラグ”又は“ピクチャ状態”、等の情報をテレシネ補正モジュールに送信することができる。テレシネ補正後は、補正されたフレームは、ピクセル処理パイプラインによって処理することができ、それは、画像のスケーリング、シャープニング及びエンハンスメント、及び可能な場合はその他の画像処理のためのアルゴリズムを含むことができる。
本開示の技法の一実装が図17に示され、それは、デバイス200のブロック図及び流れ図が結合された図である。最初に、デバイス200は、入力がインターレースされたフォーマットであるかどうかを検査する(201)。それがインターレースされている(“はい”201)場合でテレシネ検出フラグがON(“はい”202)である場合は、テレシネ検出ユニット203によってテレシネ検出が行われ、それは、テレシネコスト計算ユニット204と、フレームレベルテレシネラベル計算ユニット205と、テレシネパターン検出ユニット206と、を含む。入力映像がインターレースされたフォーマットでない場合は、逆テレシネプロセス全体(検出及び補正の両方)が迂回される。入力がインターレースされたフォーマットであり及びテレシネ検出フラグがOFFである場合は、テレシネ検出が迂回され、ステートマシンによって提供された状態情報に基づいてテレシネ補正が行われる。コンテンツは最初にインターレースされているにもかかわらずモードがインターレースされたに設定されていない特殊な事例(すなわちバグ)がDVD内に存在する可能性がある。それらの事例に関しては、ユニット201を迂回することができる。
復号開始時に、テレシネ検出フラグを自動的にONにすることができる。しかしながら、プルダウンパターンが見つけられてロックされた時点で、フラグをOFFにすることができる。テレシネ検出フラグは、更新テレシネ検出ユニット207のラベルが付された“テレシネ更新”モジュールによって制御することができる。この更新テレシネ検出ユニット207は、プルダウンパターンがロックすることが可能であるにもかかわらず規則的な間隔でのテレシネ検出を可能にし、アルゴリズムが潜在的な“不良編集”を特定するのを援助することができる。
テレシネ検出フラグがON(“はい”202)であるときには、アルゴリズムの第1のステップは、“コスト計算”を行うことであることができる。テレシネコスト計算ユニット204の出力は、フレームレベルテレシネラベル計算ユニット205に渡され、それにおいて、各ピクチャの状態が特定される。各ピクチャの状態情報は、映像がテレシネされているかどうかを決定するために(ここにおいて説明されるように)テレシネパターン検出ユニット206によって用いられる。プルダウンパターンが見つけられた場合は、テレシネがロックされ、“フィルムモードフラグ”がONにされる。フィルムモードフラグがON(“はい”208)であるときには、デバイス200は、各ピクチャの状態を計算することができる。各状態のための異なる補正方法が存在するため、状態情報は、補正を行う方法をテレシネ補正ユニット209に指示する。
Frame_State(フレーム状態)計算ユニット210は、各ピクチャの状態を計算してFrame_Stateを出力することができる。Frame_StateがF3である場合は、テレシネ補正ユニット209は、状態3に関して上述されるようにState_F3テレシネ補正212を行う。Frame_Stateが状態1、5の4(4 of 5)(“はい”214)である場合は、それらのフレームは、プログレッシブフレームとして出力される。Frame_Stateが状態2(“はい”214)である場合は、プロセスが終了し、そのフレームに関して何も出力されず、すなわち、逆テレシネ補正プロセスで状態2のフレームがドロップ(drop)される。
フィルムモードフラグがOFFである場合は、デインターレースユニット215によってフレームにおいてデインターレースが適用される。実装プラットフォームに依存してアルゴリズムの異なる部分を分割してハードウェア又はソフトウェア内に入れることができる。
テレシネコスト計算は、図18に示されるように1つのピクセルごとに行うことができる。例えば、このプロセスは、列に関してピクセル値を走査及び処理することができる。21内のX−1、X、Xは、列内の連続するピクセルを表し、ここで、Xは、現在のピクセルである。LineLevel(ラインレベル)テレシネ検出フラグが1に設定されている(“はい”402)であるときには、Row_coを増分することができ(403)及び次のステップを実行することができる。
1.X及びX−1の差分をとり、その差分をDif1に設定する(加算器405及びネガティブユニット(negative unit)404)をこれらの演算のために用いることができる)
2.Dif1>THの場合は、P1=1に設定し(409及び414)、Dif1<−THの場合は、P1=−1に設定し(408及び413)、そうでない場合は、P1=0に設定する(412)。
3.X及びXの差分をとり、その差分をDif2に設定する(加算器407及びネガティブユニット406をこれらの演算のために用いることができる)
4.Dif2>THの場合は、P2=1に設定し(411及び417)、Dif2<−THの場合は、P2=−1に設定し(410及び416)、そうでない場合は、P2=0に設定する(415)。
5.P1及びP2の差分の絶対値をとり、それをADifに設定する(加算器419及びネガティブユニット418を差分演算のために用いることができ、及びABSユニット420は、絶対値演算を行うことができる)。
6.ADif=2の場合は、その列(すなわち、i番目の列)に関するLen_count[i]を増加させ(“はい”422及び421)、ADif≠2の場合は、Len_count[i]=0に設定する(“いいえ”422及び423)。
7.Len_count[i]≧Th2の場合は、Line_OOPhase[i]=1に設定し、LineLevelTelecineDetectionFlag=0に設定する(“はい”425、424及び427)。
8.Len_count[i]<Th2である場合でRow_countが最大に達した(すなわち、列内の全ピクセルが処理された)場合は、Line_OOPhase[i]=1に設定する(“いいえ”425、“はい”426及び428)。
9.Len_count[i]<Th2であるがRow_countが最大に達していない(すなわち、列内の全ピクセルが処理されていない)場合は、Line_OOPhase[i]=1に設定し、列内の次のピクセルの処理を続ける(“いいえ”425、“いいえ”426及び429)。
今度は図19を参照し、全ピクセルを処理後、各列が同相である(すなわち、プログレッシブ特性を示す)か又は位相外れである(すなわち、インターレースされた特性を示す)かを明示するLine_OOPhase[....]を、例えばソフトウェアを介して、処理することができる。Line_Countが、対応するLine_OOPhase[i]の合計に設定される(221)。位相外れである列の数がTH3よりも大きい(“はい”222)である場合は、ピクチャラベルが1に設定され(223)(それがインターレースされていることを明示する)、そうでない場合は、それは0に設定される(224)(それがプログレッシブであることを明示する)。
テレシネパターンの解析及び検出における典型的なアルゴリズムの概要が図20に示される。テレシネパターン解析及び検出アルゴリズムは、パターンIDを特定し(231)、フィールドラベルを更新し(233)、テレシネ(TC)パターンを検査し(232)、パターンIDを更新する(234)ことができる。
テレシネパターンが見つかった(“はい”235)場合は、アルゴリズムは、フィルムモードフラグを1に設定し(236)、テレシネ検出フラグを0に設定し(237)、現在のフレーム状態を設定する(238)。テレシネパターンが見つからない(“いいえ”235)場合は、アルゴリズムは、フィルムモードフラグを0に設定し(239)、テレシネ検出フラグを1に設定し(240)、現在のフレーム状態をF0に設定する(241)。
図20に示されるアルゴリズムへの入力は、単純に各ピクチャのための“ピクチャラベル”であるとみなすことができる。アルゴリズムは、時間ウィンドウ内のピクチャのラベルを解析し、映像がテレシネされているかどうかを判断する。アルゴリズムの出力は、テレシネ補正モジュールによって用いられる“フィルムモード判断”及び“フレーム状態”である。図20のアルゴリズムの個々のステップは、次のように要約することができる。
1.現在のピクチャラベル及び以前のピクチャラベルに基づき、現在のピクチャのパターンIDを特定する。
2.決定された現在のパターンID及び以前のパターンIDを用いて、テレシネパターンが存在するかどうかを検査する。
3.テレシネパターンが見つかった場合は、フィルムモードフラグを1及びテレシネ検出フラグを0に設定する。現在のピクチャの状態を決定する。(テレシネ検出フラグ=0は、[コスト計算とパターン解析とを含む]テレシネ検出が連続するフレームにおいて行われないことを意味する。連続するフレームの補正は、ステートマシンによって提供された状態情報に基づいて行われる。
4.テレシネパターンが見つからない場合は、フィルムモードフラグを0及びテレシネ検出フラグを1に設定する。さらに、ピクチャの現在の状態を0に設定する。(テレシネ検出フラグ=0は、[コスト計算とパターン解析とを含む]テレシネ検出が連続するフレームに関して行われることを意味する。ピクチャの現在の状態を0に設定することは、現在のピクチャに対して補正が行われないことを意味する。この場合は、テレシネ補正ユニットは、プログレッシブにフレームをフェッチすることができる)。
フレームのためのパターンIDを見つけるプロセスは、5つのフレームのピクチャラベルを配列内に入れることと、5つの予め決定されたテンプレートにわたるテンプレートマッチングを行うことと、現在のピクチャのパターンIDを見つけること、とを単に含むことができる。3:2プルダウンでは、以下の表3において与えられた5つの可能なパターン選択肢が存在し、対応する状態を有する。入力映像から得られたパターンが5つの可能なパターン選択肢のうちのいずれの1つとも一致しない場合は(それは、入力がテレシネされていないか又はアルゴリズムがパターンを特定できない場合に起こりうる)、ダミーのパターンIDをピクチャに割り当てることができる(図24参照)。
Figure 2012523178
図21に示されるように、フレームのためのパターンIDを定義するためのアルゴリズムは、現在のラベル配列(label array)(461)を形成するプロセスにおいて5つの異なる配列(463、464、465、466及び467)の設定を含むことができる。フレームラベルは、ステップ468、469、470及び471において例示されるように更新することができる462。次に、472、474、476、478及び480において記載された異なる配列に基づいてパターンIDが設定される(474、475、477、479及び481)。これらの配列のうちのいずれも特定されない場合は、10のパターンID(482)がこの事実を表すことができる。
テレシネ検査段階も実行することができる。テレシネパターン検査は、テレシネパターンが存在するかどうかを決定する他の単純なステップである。この段階への入力は、上記において概説される方法で得られた現在のパターンIDであることができる。テレシネパターンは、現在のパターンID及び以前のフレームからの格納されているパターンIDを用いて検出される。正確な3:2プルダウンパターン及び対応するパターンIDが以下の表4において与えられる。図22に示されるように連続するパターンIDが1の差分を有する場合は3:2プルダウンパターンを見つけ出すことができ及びTC_Pattern_Flagを1に設定することができる。その他の場合は、TC_Pattern_Flagを0に設定することができ、テレシネ検出アルゴリズムが連続するピクチャに対して適用される。
Figure 2012523178
図22は、逆テレシネプロセスのテレシネパターン検査状態によって実装することができるテレシネパターン検査プロセスを例示する。ステップ501、502、504、505、506及び507において様々なパラメータを設定することができ、kの値が1に減少されるまでステップ507及び508において値を調整することができ、ここで、kは、パターンID配列のインデックスである。次に、ステップ509、510、511において値を設定することができ、Pat_ID_Diffが1に等しく(“はい”512)、kがまだ1に減少されない場合は調整することができる(513及び“いいえ”514)。この時点でkが1である場合は、テレシネパターンフラグが1に設定される(516)。Pat_ID_Diffが1に等しくない(“いいえ”512)場合は、テレシネパターンフラグが1に設定される(515)。
パターンIDが見つかった時点で、ピクチャ状態を決定することは、上記の図23及び表3に示されるような単純な表検索手順である。この例では、パターンIDが1(“はい”261)である場合は、フレーム状態は5に設定される(262)。パターンIDが2(“はい”263)である場合は、フレーム状態は1に設定される(264)。パターンIDが3(“はい”265)である場合は、フレーム状態は2に設定される(266)。パターンIDが4(“はい”267)である場合は、フレーム状態は3に設定される(268)。パターンIDが5(“はい”269)である場合は、フレーム状態は4に設定される(270)。その他の場合は、フレーム状態は0に設定される(271)。
テレシネ検出アルゴリズムがプルダウンパターンを特定して状態をロックした後は、ステートマシンは、連続するピクチャの状態情報を維持することができる。例えば、State_2中にパターンがロックされた場合は、次のピクチャの状態がState_3、次に、State_4、次にState_5、次にState_F1になり、そしてState_2に戻る。図24は、状態2(274)から状態3(275)に、次に状態3に(275)、次に状態4(276)、次に状態5(277)に、次に状態1(273)に変化し、次に該変化を繰り返すステートマシンを例示する。この方法により、1つのフレームの状態が見つかった時点で、テレシネプロセスが変化しないと仮定した場合(すなわち、“不良編集”が存在しないと仮定した場合)、後続するフレームの後続する状態が知られているはずである。
テレシネフラグ更新プロセスが図25に示される。カウントが減分され(281)、カウントがゼロでない(“いいえ”282)場合は、テレシネ検出フラグをゼロに設定することができる(283)。カウントがゼロ(“はい”282)である場合は、カウントを30にリセットすることができ(284)、テレシネ検出フラグを1に設定することができる(285)。
復号開始時に、テレシネ検出フラグが自動的にONになる。プルダウンパターンが見つかってロックされた時点で、フラグをOFFにすることができる。テレシネ検出フラグは、“テレシネ更新”モジュールによって制御することができる。該“テレシネ更新”モジュールは、プルダウンパターンが既にロックされている可能性がある場合でも規則的な間隔でのテレシネ検出を可能にする。更新“間隔”は、1秒、例えば、30フレーム、に設定することができる。パターンがロックされた時点で、プロセスは、テレシネの検査を再開するために1秒待つことができ(図25のTC更新カウントによって制御される)、テレシネ検出フラグをONに設定する。時間間隔は、希望される場合は変更することができる。より長い待ち時間、例えば、1分間(1800フレーム)又は10分間(18000フレーム)も可能である。これは、アルゴリズムが潜在的な“不良編集”を特定するのを援助する。待ち時間が長すぎる場合は、不良な編集の位置を見落とす可能性がある。待ち時間が短すぎて映像内にプルダウンパターンの変化が存在しない場合は、不要な電力消費が生じることになる。
テレシネ補正は、図26に例示される方法で、フレームが表示のためにフェッチされたときに行うことができる。テレシネパターンは、上記において概説されるように、ステートマシンによって維持することができる。テレシネ検出及び状態決定後は、映像ユニットは、正確なバッファの場所及び動作(プログレッシブフェッチ又は補正フェッチ)をディスプレイに知らせる。繰り返すと、State_1、State_3及びState_5は、3:2プルダウンにおけるプログレッシブ状態であるとみなすことができる。ピクチャ状態がState_1、State_3又はState_5である場合は、動作は必要ない。換言すると、状態1、3又は5のフレームは、ディスプレイプロセッサにおいてプログレッシブにフェッチされるプログレッシブフレームであることができる。ピクチャがState_2である場合は、それは廃棄されて、フェッチも表示もされない。換言すると、映像ユニットは、フレームをディスプレイに渡さず、従って、ディスプレイプロセッサは、映像バッファからそれをフェッチしない。これは、3:2プルダウンでは5フレームごとに1フレームに関して発生する。ピクチャがState_3である場合は、それは、ピクチャがインターレースされたフォーマットであり、映像シーケンスにおいてピクチャの現在の下部フィールドを前フレームの下部フィールドと交換することによって補正する必要があることを意味する。これは、図26では“補正”で表される。その映像ユニットがタイミング間隔を1/30秒から1/24秒に調整後は、映像ユニットは、高精細度マルチメディアインタフェース(HDMI)仕様に一致するHDMIハンドシェーキング技法を実行することによってこのコンテンツを24Pとして表記することができる。
図27は、テレシネ補正の概要を例示した流れ図であり、実装の1つの可能性をさらに示す。この典型的な実装では、ステップ303、304及び305は、ユニット又はモジュール301で実行され、他方、ステップ306、307、308及び309は、ユニット又はモジュール302で実行される。状態0、1、4及び5であるフレームは、通常どおりにフェッチされる(“はい”303)。状態2であるフレームは、ドロップされる(“はい”305)。状態3であるフレーム(“はい”304)は、ステップ306、307、308及び309と一致する形で補正のためのデインターレースフェッチを行うことできるようにユニット又はモジュール302に渡される。
Line_OOPhaseは、各列の位相情報を格納する。この情報は、フレーム全体の位相情報を特定するために渡すことができる。TH1及びTH2は、コスト計算アルゴリズムによって用いられるスレショルドであり、それらは制御する(すなわち、映像の解像度に基づいて調整する)ことができる。Frame_Level_Telecine_Dectection_Flag(フレームレベルテレシネ検出フラグ)は、コスト計算が行われるかどうかを制御する。
本開示の他の態様により、テレシネ検出を行うときにはフレームの一部分を評価するのが非常に望ましいことがある。フェッチされるピクセルの数を減少させることによって、メモリ帯域幅を小さくすること及びメモリの使用の低減を達成することができる。テレシネ検出の目的のためのフレームの部分的フェッチに関する幾つかの選択肢が存在し、それらの一部が図28において例示され、図28ではフレームのフェッチされた部分は陰影を用いて示される。
・選択肢0:フレーム全体
・選択肢1:フレームの左半分(図28の事例1)
・選択肢2:フレームの右半分(図28の事例2)
・選択肢3:上半分(図28の事例3)
・選択肢4:下半分(図28の事例4)
・選択肢5:中央部分(図28の事例5)
・垂直サンプリングA
・選択肢6−2:サンプリング係数=2(図28の事例6−2)
・選択肢6−4:サンプリング係数=4(図28の事例6−4)
・選択肢6−8:サンプリング係数=8(図28の事例6−8)
・選択肢6−16:サンプリング係数=16(図28の事例6−16)
・垂直サンプリングB
・選択肢7:16の列のうちの4つがテレシネ検出のために検査される(図28の事例7)。
テレシネ検出を目的とするデータの部分的フェッチのための異なる選択肢は、データフェッチのタイプが逆テレシネアルゴリズムの実行前に予め決定されている限りにおいて“決定方式”のフェッチとここにおいて呼ぶことができる。換言すると、フェッチされるデータは、ビットストリーム統計を考慮せずに決定方式で判断される。しかしながら、他のモードでは、フェッチされるデータは、ビットストリーム情報によって好適に決定することができる。
決定方式では、テレシネ検出のために用いられるフレームの特定部分が外部メモリからフェッチされる。繰り返すと、図28は、幾つかの異なるサンプリング上の選択肢を例示し、それらの各々は、フレームと関連づけられた全データをフェッチする必要性をなくし、逆テレシネ目的のためのフレームの適切なサンプルを提供するためにデータの決定方式のフェッチのために定義及び使用することができる。目標は、基本的には、テレシネ検出の性能を劣化させることなしにフェッチされるピクセルの数を減少させることである。フェッチされるピクセルの数の減少は、図28の1乃至5の事例におけるようにグローバルな形で、又は6−2の事例におけるように垂直サンプリングを用いることによって行うことができる。
水平サンプリングは、テレシネ検出のほとんど全体が垂直的相関関係を利用し、水平サンプリングは、テレシネ検出のために必要な重要情報をゆるめる(loose)ことになるという事実に起因して好まれない。しかしながら、水平サンプリングは、幾つかの映像フォーマットとともに用いることが可能であり、本開示は、垂直サンプリングのほうがテレシネ検出のためにより適するように思われるという事実にもかかわらず水平サンプリングを概して企図する。図28の事例7を含む幾つかの事例は、本開示の技法がH.264映像復号器、等の映像プロセッサと関係させて用いられたときに有益であることができるマクロブロックレベルでのサンプリングを可能にすることができる。
注記されるように、適応型フェッチングも望ましいことがあり、及び、既に入手可能な映像復号化の際に用いられた類似の映像データに基づくテレシネ検出を容易にするために該データのメモリローディングを利用することができる。この場合は、逆テレシネアルゴリズムのためにフェッチされるデータの量は、動きベクトル及びマクロブロックモード統計並びに映像のGOP(ピクチャグループ)構造に依存することができる。
図29は、”IBP”ピクチャグループ(GOP)構造の復号及び表示順序を例示した概念図である。この節では、用語“ピクチャ”及び“フレーム”は、互換可能な形で用いることができる。IBP GPO構造は、Bピクチャと、Pピクチャと、Iピクチャと、を含む。Bピクチャ及びIピクチャは、その他のピクチャに基づいて取り扱われる。特に、Bピクチャは、前の及び次のPピクチャによって双方向で予測され、他方、Pピクチャは、前のP(又はI)ピクチャを用いて予測される。Iピクチャは、イントラコーディングされ、それは、それらがいずれのその他のピクチャにも依存せず、その同じピクチャ内のデータに基づいてコーディングされることを意味する。逆テレシネでは、テレシネ検出のための十分な統計を収集するために現在のピクチャ(すなわち、現在の偶数フィールド)、及び前ピクチャ(すなわち、奇数フィールド)の両方を同時に処理することが必要なことがある。しかしながら、(図29に示されるように)表示順序と復号順序の相違に起因して、逆テレシネデータフェッチを復号順序と同期化させるように注意しなければならない。
図30は、図29において例示されるようなIBP GOP構造に関する復号器による逆テレシネデータフェッチと予測復号との間での典型的な同期化を例示する。例えば、B3からのマクロブロックが復号されるときには、B3の再構築されたマクロブロックピクセルは、プロセッサコアの内部メモリ内に格納することができ、プロセッサコアは、復号プロセス及び逆テレシネプロセスの両方を実行することができる。逆テレシネに関して、3つのピクチャだけ以前に復号されたP2は、外部メモリからフェッチすることが必要になることがある。しかしながら、内部メモリ(例えば、内部キャッシュ)を検査して、共在する(co−located)P2マクロブロックがキャッシュ内に既に存在するかどうかを確認することができる。共在するP2マクロブロック(又はマクロブロックの一部)は、現在のB3 MBマクロブロックが動き補償のための基準としてそれを用いる場合は典型的にはキャッシュ内に存在することになる。しかしながら、現在のB3マクロブロックがP2を動き補償のための基準として使用しない場合は、逆テレシネの目的のためにP2マクロブロックを外部メモリからフェッチすることが必要になる場合がある。IBP GPO構造は、逆テレシネデータフェッチとの適合性が非常に高い。これは、Bピクチャは動き補償のために前のPピクチャを典型的に用いるという事実に起因する。しかしながら、IBBP GOP構造では、Pピクチャ間の第2のBピクチャ(例えば、図31の例B5)は、前のBピクチャ(B4)を基準として使用せず、このため、このデータは、典型的には、テレシネ検出を実行するために外部メモリからフェッチすることが必要になる。
図31は、IBBP GOP構造の典型的な復号順序を例示する。IBP GOP構造は、逆テレシネデータフェッチとの適合性が非常に高い。これは、Bピクチャは動き補償のために前のPピクチャを典型的に使用するという事実に起因する。しかしながら、IBBP GOP構造では、Pピクチャ間の第2のBピクチャ(例えば、図31の例B5)は、前のBピクチャ(B4)を基準として使用せず、このため、このデータは、典型的には、テレシネ検出を実行するために外部メモリからフェッチすることが必要になる。
従って、IBBP GOP構造が用いられるときに復号及び逆テレシネと関連づけられたデータフェッチを同期化することはより複雑なプロセスを要求することがある。該同期化の一例が図32において実証される。この場合に関しては、逆テレシネプロセスは、処理するための次のフィールドの対、すなわち、I0−B1、B2−P3、B4−B5、P6−B7及びB8−P9、が必要である。例えば、B2−P3のフィールドの対を処理するときには、P3の方がより早く復号されるため、テレシネ検出アルゴリズムはB2の復号中に適用されるべきである。次の逆テレシネデータフェッチ(例えば、B4−B5フィールドの対)は、B5を復号後に行うことができる。IBP構造及びIBBP構造を比較すると、IBBPのためのデータフェッチはIBP構造の場合ほどは規則的でないことがわかる。IBP GOPでは、1つのフィールドおきに逆テレシネデータがフェッチされ、しかしながら、IBBP GOPでは、逆テレシネデータは、時には連続的にフェッチされ(例えば、B1の復号中、そして次にB2の復号中)、時には3つのフィールドおきに(B5の復号中)にフェッチされる。
これらのフェッチは、逆テレシネアルゴリズムの性能に対しては影響を及ぼすことができないが、逆テレシネデータフェッチが規則的な間隔で行われない場合は、フェッチは復号中に帯域幅ジッタを引き起こすことがある。
本開示は、逆テレシネを目的として、予測コーディングのためにデータフェッチを利用し、それにより重複するデータフェッチを回避するために適応型フェッチング技法を提案する。提案される適応型フェッチアルゴリズムは、ピクセルフェッチのために用いられる帯域幅を小さくするためにビットストリーム情報を解析することができる。適応型フェッチングのための少なくとも2つの異なる方法が論じられる。第1の方法では、フレーム全体のためのビットストリーム統計へのアクセスを推測することができる。この場合は、グローバルな統計に基づいていずれのピクセルをフェッチするかを特定するための判断を行うことができる。第2では、(フレーム全体ではなく)部分的統計へのアクセスを推測することができ、この場合は、該入手可能な情報に基づいてフェッチされるピクセルに関して判断を行うことができる。
幾つかの場合は、フレーム全体の統計への完全なアクセスが存在することができる。この場合は、逆テレシネユニットは、マクロブロックがMBAFFフォーマットで符号化されているかどうかを検査することができる(MBAFFは、マクロブロック適応型フレーム/フィールドを表す)。マクロブロックがMBAFFフォーマットで符号化される場合は、予測映像復号を目的として現在及び前のフィールドの両方(すなわち、フレームの偶数フィールド及び奇数フィールド)をメモリ内に格納済みであることができる。この場合は、逆テレシネユニットは、前フィールドと関連づけられたピクセルデータをフェッチする必要がない。しかしながら、マクロブロックがMBAFFフォーマットで符号化されていない場合は、逆テレシネユニットは、例えば、図33及び34において例示されるように、該データをフェッチすることが必要になることがある。
図33に示されるように、逆テレシネユニット29は、マクロブロック(MB)がMBAFFフォーマットであるかどうかを決定することができる(361)。そう(“はい”361)である場合は、逆テレシネユニット29は、動き統計に基づいてフェッチされるべきピクセルエリアを選択することができる(362)。そうでない(“いいえ”361)場合は、逆テレシネユニット29は、ピクチャタイプ、GOP構造、動き及びマクロブロックの用いられる動きベクトル基準フレームに基づいてフェッチされるべきピクセルエリアを選択することができる。
図34に示されるように、逆テレシネユニット29は、block_is_valid(ブロック有効)ビットをゼロに設定することによってブロックの処理を開始することができる(372)。逆テレシネユニット29は、ブロックがインターコーディングされているかどうかを決定することができる(373)。イントラコーディングされたブロックの逆テレシネは、イントラコーディングされたブロックがその他のブロックからのデータではなく同じブロック内のデータに基づいてコーディングされる限りにおいて逆テレシネのために予測コーディングからのデータを再使用する本開示の態様から利益を得ることができない。ブロックがインターコーディングされる(“はい”373)場合は、逆テレシネユニット29は、基準ピクチャの表示順序を計算し(374)、基準ピクチャが直前のフィールドであるかどうかを決定することができる(375)。
基準ピクチャが直前のフィールドである(“はい”375)場合は、逆テレシネユニット29は、動きベクトルがゼロであるかどうかを決定することができる(376)。そう(“はい”376)である場合は、逆テレシネユニット29は、block_is_validビットを2に設定することができる。基準ピクチャが直前のフィールドであり(“はい”375)、動きベクトルがゼロでなく(“いいえ”376)、及び、動きベクトルがblock_size(ブロックサイズ)にスレショルド(TH1)が乗じられた値よりも小さい場合は、逆テレシネユニット29は、block_is_validビットを1に設定することができる。このプロセスは、フレームの最後のブロックに達するまですべてのブロック(又はフレームの部分組のすべてのブロック)に関して繰り返すことができる(380)。最後のブロックに達した後は(“はい”380)、逆テレシネユニット29は、block_validity_map(ブロック有効性マップ)を形成し(381)、block_validity_mapに基づいて列に関するブロック統計を計算することができる(382)。block_validity_mapは、基本的には、ブロックを、ビット0、1又は2を有するとして特定することができる。ビット2は、そのマクロブロックのためのデータがメモリに既に格納されていることを意味し、ビット1は、そのマクロブロックのためのデータの一部をメモリに格納できることを意味し、ビット0は、そのマクロブロックのためのデータのいずれもメモリに格納されないことを意味する。このように、block_validity_mapを形成することによって、有用なデータの列(例えば、圧倒的に2に等しいblock_validビットを有する列)を逆テレシネ目的のために用いることができる。該列は、メモリに既に格納されているデータに対応することができ、従って、該データのメモリフェッチを回避することができる。
他の方法として、逆テレシネユニット29は、“block_validity”マップを形成するために全ブロックを処理し、ブロック統計を解析することができる。各ブロックに関して、0乃至2の値が割り当てられる。それよりも大きい値は、帯域幅を小さくするのに役立つより良いブロックであることを意味し、すなわち、前フィールドからのブロック全体又はブロックの大きい一部分を内部メモリにおいて見つけることができる。各ブロックに関して、最初にブロックモードが検査される。それがインターモードであり及び動きが直前のフレームを参照中である場合で、さらに動きベクトルがゼロである場合は、逆テレシネユニット29は、ブロックラベルを2に設定することができる。
逆テレシネユニット29がゼロの動きベクトルを探すことができる理由は、テレシネ検出に関しては、前フィールドからの共在するブロックが必要とされるためである。動きベクトルがゼロでないが、何らかのスレショルド値よりも小さい場合は、逆テレシネユニット29は、ブロックラベルを1に設定することができる。ブロック値1は、テレシネ検出のために用いられることになる共在するブロックの一部分が内部メモリ内に存在し、それの一部のみを外部からフェッチしなければならないことを意味する。ブロック値0は、前フィールド内の共在するブロックが入手不能であり、完全にフェッチしなければならないことを意味する。全ブロックを処理後は、逆テレシネユニット29は、block_validity_mapを形成することができる。そのマップの一例が図35に示される。
特に、図35は、0、1又は2の値に設定された有効ビットの組を備えるブロック有効性マップ例385を示す。2の値は、対応する映像ブロックに関する全データが内部メモリに既に格納されていることを意味し、1の値は、対応する映像ブロックに関するデータの一部が内部メモリに既に格納されていることを意味し、0の値は、対応する映像ブロックのいずれもが内部メモリにまだ格納されていないことを意味する。ブロック有効性マップ385からわかるように、6番目及び10番目の行(row)はすべて“2”を有しており、それは、これらの行内の各映像ブロックが内部メモリに既に格納されている対応する映像ブロックを有することを意味する。データが予測コーディングを目的として内部メモリに既に格納されていることができる限りにおいてこれらの行に関してデータフェッチを回避することができるため、逆テレシネユニットは、テレシネ検出を行う際にこれらの行の使用を優先することができる。
図36は、図35のブロック有効性マップ385、等の有効性マップを解析するプロセスを例示した流れ図である。示されるように、マップを開始させた時点で(391)、逆テレシネユニット29は、列を処理する(392)。各列に関して、逆テレシネユニット29は、0、1及び2の値が割り当てられる映像ブロックの数をカウントする。エントリが0(“はい”393)である場合は、0_counterが増分される(394)。エントリが1(“はい”395)である場合は、1_counterが増分される(396)。エントリが2(“いいえ”395)である場合は、2_counterが増分される(397)。プロセスは、全列が検討されるまですべての列に関して繰り返すことができ(“はい”394)、その時点で、マップの検討が終了される(399)。
図37は、有効性マップの解析を例示した流れ図である。この場合は、逆テレシネユニット29内のマップユニット(示されていない)が、0_counter、1_counter及び2_counterと関連づけられた入力を受信する。マップユニットは、カウンタに基づいて列の順位を設定する(ranking)。2_counterに関するより高い値は、その結果としてより高い順位になり、0_counterに関するより高い値は、その結果としてより低い順位になる。逆テレシネユニット29は、Nを決定することができ(401)、この場合は、Nは、逆テレシネのために用いられる列の数に対応する。順位設定に基づき、マップユニットは、逆テレシネのために用いられるNの列を有効性マップから選択することができる。次に、マップユニットは、最も望ましい列番号と関連づけられたピクセルを出力し、内部メモリに該データを引き渡し、逆テレシネユニット29によって用いることができる(405)。データが内部メモリに既に格納されている範囲で(例えば、2の値が割り当てられているブロック又は1の値が割り当てられているブロックの一部分)、該データを再フェッチする必要がない。
従って、図36及び37の技法により、block_validityマップの列に関する統計を収集することができる。各列に関して、逆テレシネユニットは、個々のブロックラベルをカウントすることができる。図35のマップに対応するラベルカウンタの例が以下において表8に示される。
Figure 2012523178
それらの列は、ラベルに基づいて順位を設定することができ、及び、Nの数の列を外部メモリからフェッチするために選択することができる。数Nは、予め決定された値であることができ、又は調整可能であることができる。所定のブロックがMBAFFフォーマットであるときには、両フィールドとも、復号後に内部メモリにおいて見つけることができる。しかしながら、この場合は、テレシネ検出のために行われる処理の量を低減させるために動き統計に基づいて判断を行うことが依然として必要である。この事例は、帯域幅は必ずしも小さくしないが、フレームを解析するためにハードウェアによって用いられるメモリの量を低減させることができる。メモリの低減は、解析されるフレームの部分を減少させることによって達成することもできる。
フレームのいずれの部分をテレシネ検出で使用するかを判断するために、逆テレシネユニットは、動き統計及び予測誤りを用いる単純なアルゴリズムを適用することができる。同様のblock_validity(ブロック有効性)動きマップを形成することができ、大きい動き及び予測誤りを有するブロックに対して2のラベルが割り当てられ、より小さい動きのブロックに対して1のラベルが割り当てられ、イントラブロックに対して0のラベルが割り当てられる。次に、外部メモリからフェッチするピクセルの該当ブロックを選択するために同様の順位設定に基づく方法を適用することができる。
図38は、部分的マップである他の形態の有効性マップを例示した概念図である。しかしながら、この場合は、列は、テレシネ検出の目的のための不良の候補列として段階ごとに排除することができる。示されるように、画像の高さ(image height)の1/Mまで全列を検討することができ、ここで、Mは、整数である。この時点で、2ではなく0又は1の値が割り当てられているブロックを圧倒的に有する列を廃棄することができる。従って、画像の高さの1/M後は、第1、第7及び第12の列は不良な候補であるためそれらは処理されない。列の第1の部分組は、画像の高さの1/P全体において処理することができ、ここで、Pは、Mよりも小さい整数である。この時点で、さらなる列を排除することができる。列の第2の部分組は、画像の高さの1/R全体において処理することができ、ここで、Rは、Pよりも小さい整数である。この時点で、さらなる列を排除することができる。列の第3の部分組は、画像の高さの1/Q全体において処理することができ、ここで、Qは、Rよりも小さい整数である。
図38において概念的に例示された処理技法は、逆テレシネ検出のために用いられる望ましい列を特定するために必要な処理の量を低減させることができる。繰り返すと、2の値が割り当てられたほとんどのブロックは、データが予測コーディングのために既にフェッチされている限りにおいてメモリからのフェッチを要求しないため、望ましい列は、これらのブロックを有するそれらである。示されるように、第3、第6及び第10の列は、メモリ上効率的な逆テレシネ検出に非常に適しているようである。
図38の例は、フレームの部分的統計が映像コーディングにおいて入手可能になるのに従って該統計のみを利用することができる。この場合は、逆テレシネユニットは、部分的なフレーム統計のみへのアクセスが可能であり、ブロックの復号が行われている一方でピクセルフェッチ判断を決定することができる。この場合に関しては、逆テレシネユニットは、ブロックが復号によって復号されるのに従って統計を収集することができる。図38において例示されるように、最初に、いずれのピクセルの列が逆テレシネのために用いられるか不明であるため、すべての共在するブロックが幾つかの数の行のために前フィールドからフェッチされる。行の数は、画像の高さの1/Mのみに対応するように固定することができる。復号中に、ブロックラベルを計算することができ、列に関する統計が収集される。画像の次の部分(画像の幅の1/P)において、(段階1で決定された)より高いブロックラベル値を有する列のみが外部メモリからフェッチされる。次に、次の段階は、ラベルがより高い列ブロックのみをフェッチする。各段階において、フェッチされるブロックの数を減少させることができる。
要約すると、提案される技法は、逆テレシネ検出を容易にする上で、及びテレシネ検出プロセスのための映像復号器/プロセッサの帯域幅及びメモリに関する要求事項を軽減させる上で有益であることができる。帯域幅を小さくすることは、基本的には、メモリ内に既に存在する前フィールドのピクセルエリアを特定し、ビットストリームの特徴を用いて決定方式で又は好適にテレシネ検出を行うためにそれらのピクセルの列を選択することによって行われる。
本開示の技法は、無線ハンドセットと、集積回路(IC)又はICの組(すなわち、チップセット)と、を含む非常に様々なデバイス又は装置において具現化することができる。説明されているいずれのコンポーネント、モジュール又はユニットも、機能上の態様を強調するために提供されており、異なるハードウェアユニット、等による実現は必ずしも要求しない。
従って、ここにおいて説明される技法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせにおいて実装することができる。モジュール又はコンポーネントとして説明されるいずれの特徴も、一体化された論理デバイス内においてまとめて又は個別の、ただし相互運用可能な、論理デバイスとして別々に実装することができる。ソフトウェアにおいて実装される場合は、それらの技法は、実行されたときに上述される方法のうちの1つ以上を行う命令を備えるコンピュータによって読み取り可能な媒体によって少なくとも部分的に実現することができる。コンピュータによって読み取り可能なデータ格納媒体は、コンピュータプログラム製品の一部を成すことができ、それは、パッケージング材料を含むことができる。コンピュータによって読み取り可能な媒体は、ランダムアクセスメモリ(RAM)、例えば、同期ダイナミックランダムアクセスメモリ(SDRAM)、読み取り専用メモリ(ROM)、非揮発性ランダムアクセスメモリ(NVRAM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、FLASHメモリ、磁気又は光学的データ記憶媒体、等、を備えることができる。それらの技法は、追加で又は代替として、命令又はデータ構造の形態で符号を搬送又は通信し及びコンピュータによってアクセスする、読み取る及び/又は実行することが可能なコンピュータによって読み取り可能な通信媒体によって少なくとも部分的に実現することができる。
符号は、1つ以上のプロセッサ、例えば、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、又はその他の同等の集積回路又は個別論理回路、によって実行することができる。従って、ここにおいて用いられる場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適するいずれかのその他の構造のうちのいずれかを意味することができる。さらに、幾つか態様においては、ここにおいて説明される機能は、符号化及び復号のために構成された専用のソフトウェアモジュール又はハードウェアモジュール内において提供するか又は結合された映像コーデック内に組み入れることができる。さらに、それらの技法は、1つ以上の回路又は論理素子内において完全に実装することが可能である。
本開示の様々な態様が説明された。これらの及びその他の態様は、以下の請求項の権利範囲内にある。
本開示の様々な態様が説明された。これらの及びその他の態様は、以下の請求項の権利範囲内にある。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]方法であって、
映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定することと、
映像フレームの前記シーケンス内の前記プログレッシブフレーム及び前記インターレースされたフレームのパターンを特定することと、
前記パターンに基づいてテレシネ技法を特定することと、
前記特定されたテレシネ技法に基づいて映像フレームの前記シーケンスに関して逆テレシネ技法を実行すること、とを備え、前記逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、M及びNは、正の整数であり、Mは、Nよりも小さい、方法。
[2]前記パターンは、3:2プルダウンテレシネ技法と関連付けられ、前記パターンを特定することは、前記3:2プルダウンと関連付けられた特定の順序で3つのプログレッシブフレーム及び2つのインターレースされたフレームから成る5つのフレームシーケンスを特定することを備える[1]に記載の方法。
[3]前記逆テレシネ技法を実行することは、前記5つのフレームシーケンスを4つのフレームシーケンスに変換することを備え、前記逆テレシネ技法は、毎秒30の映像フレームを毎秒24の映像フレームに変換する[2]に記載の方法。
[4]映像フレームの前記シーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを特定することは、前記個々の映像フレームと関連付けられたデータの部分組のみを処理することを備える[1]に記載の方法。
[5]前記部分組は、前記個々のフレーム内のピクセルデータのブロックを備え、前記ブロックは、逆テレシネ検出のために予め定義され、ピクセルデータの前記ブロックは、前記個々のフレームの各々のためにメモリからフェッチされる[4]に記載の方法。
[6]前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、逆テレシネ検出のために予め定義され、前記個々のフレーム内のピクセルデータの前記縦列は、前記個々のフレームの各々のためにメモリからフェッチされる[4]に記載の方法。
[7]前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される[4]に記載の方法。
[8]いずれかの所定のフレームと関連付けられた前記部分組は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される[4]に記載の方法。
[9]予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルのマップを生成することと、
前記マップに基づいて前記各々のフレームのための前記部分組を定義すること、とをさらに備える[8]に記載の方法。
[10]予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルの部分的マップを生成することと、
前記部分的マップに基づいて前記各々のフレームのための前記部分組を定義すること、とをさらに備え、前記部分的マップは、統計が入手可能になるのに従って前記各々のフレームの前記予測映像コーディング中に定義され、前記統計は、個々のピクセルが前記予測映像コーディングのために既にフェッチされているかどうかを定義する[8]に記載の方法。
[11]映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定し、
映像フレームの前記シーケンス内の前記プログレッシブフレーム及び前記インターレースされたフレームのパターンを特定し、
前記パターンに基づいてテレシネ技法を特定し、及び
前記特定されたテレシネ技法に基づいて映像フレームの前記シーケンスに関して逆テレシネ技法を実行する逆テレシネユニットを備え、前記逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、M及びNは、正の整数であり、Mは、Nよりも小さい、映像処理装置。
[12]前記パターンは、3:2プルダウンテレシネ技法と関連付けられ、前記逆テレシネユニットは、前記3:2プルダウンと関連付けられた特定の順序で3つのプログレッシブフレーム及び2つのインターレースされたフレームから成る5つのフレームシーケンスを特定する[11]に記載の装置。
[13]前記逆テレシネユニットは、前記5つのフレームシーケンスを4つのフレームシーケンスに変換するために前記逆テレシネ技法を実行し、前記逆テレシネ技法は、毎秒30の映像フレームを毎秒24の映像フレームに変換する[12]に記載の装置。
[14]映像フレームの前記シーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを特定する際に、前記逆テレシネユニットは、前記個々の映像フレームと関連付けられたデータの部分組のみを処理する[11]に記載の装置。
[15]前記部分組は、前記個々のフレーム内のピクセルデータのブロックを備え、前記ブロックは、逆テレシネ検出のために予め定義され、ピクセルデータの前記ブロックは、前記個々のフレームの各々のためにメモリからフェッチされる[4]に記載の装置。
[16]前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、逆テレシネ検出のために予め定義され、前記個々のフレーム内のピクセルデータの前記縦列は、前記個々のフレームの各々のためにメモリからフェッチされる[4]に記載の装置。
[17]前記装置は、予測映像コーディングを行う映像復号器をさらに備え、前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、前記予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される[14]に記載の装置。
[18]前記装置は、予測映像コーディングを行う映像復号器をさらに備え、いずれかの所定のフレームと関連付けられた前記部分組は、前記予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される[14]に記載の装置。
[19]前記装置は、予測映像コーディングを行う映像復号器をさらに備え、前記逆テレシネユニットは、
前記予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルのマップを生成し、及び
前記マップに基づいて前記各々のフレームのための前記部分組を定義する[18]に記載の装置。
[20]前記装置は、予測映像コーディングを行う映像復号器をさらに備え、前記逆テレシネユニットは、
予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルの部分的マップを生成し、及び
前記部分的マップに基づいて前記各々のフレームのための前記部分組を定義し、前記部分的マップは、統計が入手可能になるのに従って前記各々のフレームの前記予測映像コーディング中に定義され、前記統計は、個々のピクセルが前記予測映像コーディングのために既にフェッチされているかどうかを定義する[18]に記載の装置。
[21]前記装置は、集積回路を備える[11]に記載の装置。
[22]前記装置は、マイクロプロセッサを備える[11]に記載の装置。
[23]前記装置は、前記逆テレシネユニットを含む無線通信デバイスを備える[11]に記載の装置。
[24]デバイスであって、
映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定するための手段と、
映像フレームの前記シーケンス内の前記プログレッシブフレーム及び前記インターレースされたフレームのパターンを特定するための手段と、
前記パターンに基づいてテレシネ技法を特定するための手段と、
前記特定されたテレシネ技法に基づいて映像フレームの前記シーケンスに関して逆テレシネ技法を実行するための手段と、を備え、前記逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、M及びNは、正の整数であり、Mは、Nよりも小さい、デバイス。
[25]前記パターンは、3:2プルダウンテレシネ技法と関連付けられ、前記パターンを特定するための手段は、前記3:2プルダウンと関連付けられた特定の順序で3つのプログレッシブフレーム及び2つのインターレースされたフレームから成る5つのフレームシーケンスを特定するための手段を備える[24]に記載のデバイス。
[26]前記逆テレシネ技法を実行するための手段は、前記5つのフレームシーケンスを4つのフレームシーケンスに変換するための手段を備え、前記逆テレシネ技法は、毎秒30の映像フレームを毎秒24の映像フレームに変換する[25]に記載のデバイス。
[27]映像フレームの前記シーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを特定するための手段は、前記個々の映像フレームと関連付けられたデータの部分組のみを処理するための手段を備える[24]に記載のデバイス。
[28]前記部分組は、前記個々のフレーム内のピクセルデータのブロックを備え、前記ブロックは、逆テレシネ検出のために予め定義され、ピクセルデータの前記ブロックは、前記個々のフレームの各々のためにメモリからフェッチされる[27]に記載のデバイス。
[29]前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、逆テレシネ検出のために予め定義され、前記個々のフレーム内のピクセルデータの前記縦列は、前記個々のフレームの各々のためにメモリからフェッチされる[27]に記載のデバイス。
[30]前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される[27]に記載のデバイス。
[31]いずれかの所定のフレームと関連付けられた前記部分組は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される[27]に記載のデバイス。
[32]予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルのマップを生成するための手段と、
前記マップに基づいて前記各々のフレームのための前記部分組を定義するための手段と、をさらに備える[31]に記載のデバイス。
[33]予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルの部分的マップを生成するための手段と、
前記部分的マップに基づいて前記各々のフレームのための前記部分組を定義するための手段と、をさらに備え、前記部分的マップは、統計が入手可能になるのに従って前記各々のフレームの前記予測映像コーディング中に定義され、前記統計は、個々のピクセルが前記予測映像コーディングのために既にフェッチされているかどうかを定義する[31]に記載のデバイス。
[34]プロセッサによって実行されたときに、
映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定し、
映像フレームの前記シーケンス内の前記プログレッシブフレーム及び前記インターレースされたフレームのパターンを特定し、
前記パターンに基づいてテレシネ技法を特定し、及び
前記特定されたテレシネ技法に基づいて映像フレームの前記シーケンスに関して逆テレシネ技法を実行することを前記プロセッサに行わせる命令を備え、前記逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、M及びNは、正の整数であり、Mは、Nよりも小さい、コンピュータによって読み取り可能な媒体。
[35]前記パターンは、3:2プルダウンテレシネ技法と関連付けられ、前記命令は、前記3:2プルダウンと関連付けられた特定の順序で3つのプログレッシブフレーム及び2つのインターレースされたフレームから成る5つのフレームシーケンスを特定することを前記プロセッサに行わせる[34]に記載のコンピュータによって読み取り可能な媒体。
[36]前記命令は、前記5つのフレームシーケンスを4つのフレームシーケンスに変換することを前記プロセッサに行わせ、前記逆テレシネ技法は、毎秒30の映像フレームを毎秒24の映像フレームに変換する[35]に記載のコンピュータによって読み取り可能な媒体。
[37]映像フレームの前記シーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを特定する際に、前記命令は、前記個々の映像フレームと関連付けられたデータの部分組のみを処理することを前記プロセッサに行わせる[34]に記載のコンピュータによって読み取り可能な媒体。
[38]前記部分組は、前記個々のフレーム内のピクセルデータのブロックを備え、前記ブロックは、逆テレシネ検出のために予め定義され、ピクセルデータの前記ブロックは、前記個々のフレームの各々のためにメモリからフェッチされる[37]に記載のコンピュータによって読み取り可能な媒体。
[39]前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、逆テレシネ検出のために予め定義され、前記個々のフレーム内のピクセルデータの前記縦列は、前記個々のフレームの各々のためにメモリからフェッチされる[37]に記載のコンピュータによって読み取り可能な媒体。
[40]前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される[37]に記載のコンピュータによって読み取り可能な媒体。
[41]いずれかの所定のフレームと関連付けられた前記部分組は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される[37]に記載のコンピュータによって読み取り可能な媒体。
[42]予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルのマップを生成し、及び
前記マップに基づいて前記各々のフレームのための前記部分組を定義することを前記プロセッサに行わせる命令をさらに備える[41]に記載のコンピュータによって読み取り可能な媒体。
[43]予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルの部分的マップを生成し、及び
前記部分的マップに基づいて前記各々のフレームのための前記部分組を定義することを前記プロセッサに行わせる命令をさらに備え、前記部分的マップは、統計が入手可能になるのに従って前記各々のフレームの前記予測映像コーディング中に定義され、前記統計は、個々のピクセルが前記予測映像コーディングのために既にフェッチされているかどうかを定義する[41]に記載のコンピュータによって読み取り可能な媒体。

Claims (43)

  1. 方法であって、
    映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定することと、
    映像フレームの前記シーケンス内の前記プログレッシブフレーム及び前記インターレースされたフレームのパターンを特定することと、
    前記パターンに基づいてテレシネ技法を特定することと、
    前記特定されたテレシネ技法に基づいて映像フレームの前記シーケンスに関して逆テレシネ技法を実行すること、とを備え、前記逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、M及びNは、正の整数であり、Mは、Nよりも小さい、方法。
  2. 前記パターンは、3:2プルダウンテレシネ技法と関連付けられ、前記パターンを特定することは、前記3:2プルダウンと関連付けられた特定の順序で3つのプログレッシブフレーム及び2つのインターレースされたフレームから成る5つのフレームシーケンスを特定することを備える請求項1に記載の方法。
  3. 前記逆テレシネ技法を実行することは、前記5つのフレームシーケンスを4つのフレームシーケンスに変換することを備え、前記逆テレシネ技法は、毎秒30の映像フレームを毎秒24の映像フレームに変換する請求項2に記載の方法。
  4. 映像フレームの前記シーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを特定することは、前記個々の映像フレームと関連付けられたデータの部分組のみを処理することを備える請求項1に記載の方法。
  5. 前記部分組は、前記個々のフレーム内のピクセルデータのブロックを備え、前記ブロックは、逆テレシネ検出のために予め定義され、ピクセルデータの前記ブロックは、前記個々のフレームの各々のためにメモリからフェッチされる請求項4に記載の方法。
  6. 前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、逆テレシネ検出のために予め定義され、前記個々のフレーム内のピクセルデータの前記縦列は、前記個々のフレームの各々のためにメモリからフェッチされる請求項4に記載の方法。
  7. 前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される請求項4に記載の方法。
  8. いずれかの所定のフレームと関連付けられた前記部分組は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される請求項4に記載の方法。
  9. 予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルのマップを生成することと、
    前記マップに基づいて前記各々のフレームのための前記部分組を定義すること、とをさらに備える請求項8に記載の方法。
  10. 予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルの部分的マップを生成することと、
    前記部分的マップに基づいて前記各々のフレームのための前記部分組を定義すること、とをさらに備え、前記部分的マップは、統計が入手可能になるのに従って前記各々のフレームの前記予測映像コーディング中に定義され、前記統計は、個々のピクセルが前記予測映像コーディングのために既にフェッチされているかどうかを定義する請求項8に記載の方法。
  11. 映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定し、
    映像フレームの前記シーケンス内の前記プログレッシブフレーム及び前記インターレースされたフレームのパターンを特定し、
    前記パターンに基づいてテレシネ技法を特定し、及び
    前記特定されたテレシネ技法に基づいて映像フレームの前記シーケンスに関して逆テレシネ技法を実行する逆テレシネユニットを備え、前記逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、M及びNは、正の整数であり、Mは、Nよりも小さい、映像処理装置。
  12. 前記パターンは、3:2プルダウンテレシネ技法と関連付けられ、前記逆テレシネユニットは、前記3:2プルダウンと関連付けられた特定の順序で3つのプログレッシブフレーム及び2つのインターレースされたフレームから成る5つのフレームシーケンスを特定する請求項11に記載の装置。
  13. 前記逆テレシネユニットは、前記5つのフレームシーケンスを4つのフレームシーケンスに変換するために前記逆テレシネ技法を実行し、前記逆テレシネ技法は、毎秒30の映像フレームを毎秒24の映像フレームに変換する請求項12に記載の装置。
  14. 映像フレームの前記シーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを特定する際に、前記逆テレシネユニットは、前記個々の映像フレームと関連付けられたデータの部分組のみを処理する請求項11に記載の装置。
  15. 前記部分組は、前記個々のフレーム内のピクセルデータのブロックを備え、前記ブロックは、逆テレシネ検出のために予め定義され、ピクセルデータの前記ブロックは、前記個々のフレームの各々のためにメモリからフェッチされる請求項4に記載の装置。
  16. 前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、逆テレシネ検出のために予め定義され、前記個々のフレーム内のピクセルデータの前記縦列は、前記個々のフレームの各々のためにメモリからフェッチされる請求項4に記載の装置。
  17. 前記装置は、予測映像コーディングを行う映像復号器をさらに備え、前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、前記予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される請求項14に記載の装置。
  18. 前記装置は、予測映像コーディングを行う映像復号器をさらに備え、いずれかの所定のフレームと関連付けられた前記部分組は、前記予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される請求項14に記載の装置。
  19. 前記装置は、予測映像コーディングを行う映像復号器をさらに備え、前記逆テレシネユニットは、
    前記予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルのマップを生成し、及び
    前記マップに基づいて前記各々のフレームのための前記部分組を定義する請求項18に記載の装置。
  20. 前記装置は、予測映像コーディングを行う映像復号器をさらに備え、前記逆テレシネユニットは、
    予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルの部分的マップを生成し、及び
    前記部分的マップに基づいて前記各々のフレームのための前記部分組を定義し、前記部分的マップは、統計が入手可能になるのに従って前記各々のフレームの前記予測映像コーディング中に定義され、前記統計は、個々のピクセルが前記予測映像コーディングのために既にフェッチされているかどうかを定義する請求項18に記載の装置。
  21. 前記装置は、集積回路を備える請求項11に記載の装置。
  22. 前記装置は、マイクロプロセッサを備える請求項11に記載の装置。
  23. 前記装置は、前記逆テレシネユニットを含む無線通信デバイスを備える請求項11に記載の装置。
  24. デバイスであって、
    映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定するための手段と、
    映像フレームの前記シーケンス内の前記プログレッシブフレーム及び前記インターレースされたフレームのパターンを特定するための手段と、
    前記パターンに基づいてテレシネ技法を特定するための手段と、
    前記特定されたテレシネ技法に基づいて映像フレームの前記シーケンスに関して逆テレシネ技法を実行するための手段と、を備え、前記逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、M及びNは、正の整数であり、Mは、Nよりも小さい、デバイス。
  25. 前記パターンは、3:2プルダウンテレシネ技法と関連付けられ、前記パターンを特定するための手段は、前記3:2プルダウンと関連付けられた特定の順序で3つのプログレッシブフレーム及び2つのインターレースされたフレームから成る5つのフレームシーケンスを特定するための手段を備える請求項24に記載のデバイス。
  26. 前記逆テレシネ技法を実行するための手段は、前記5つのフレームシーケンスを4つのフレームシーケンスに変換するための手段を備え、前記逆テレシネ技法は、毎秒30の映像フレームを毎秒24の映像フレームに変換する請求項25に記載のデバイス。
  27. 映像フレームの前記シーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを特定するための手段は、前記個々の映像フレームと関連付けられたデータの部分組のみを処理するための手段を備える請求項24に記載のデバイス。
  28. 前記部分組は、前記個々のフレーム内のピクセルデータのブロックを備え、前記ブロックは、逆テレシネ検出のために予め定義され、ピクセルデータの前記ブロックは、前記個々のフレームの各々のためにメモリからフェッチされる請求項27に記載のデバイス。
  29. 前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、逆テレシネ検出のために予め定義され、前記個々のフレーム内のピクセルデータの前記縦列は、前記個々のフレームの各々のためにメモリからフェッチされる請求項27に記載のデバイス。
  30. 前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される請求項27に記載のデバイス。
  31. いずれかの所定のフレームと関連付けられた前記部分組は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される請求項27に記載のデバイス。
  32. 予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルのマップを生成するための手段と、
    前記マップに基づいて前記各々のフレームのための前記部分組を定義するための手段と、をさらに備える請求項31に記載のデバイス。
  33. 予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルの部分的マップを生成するための手段と、
    前記部分的マップに基づいて前記各々のフレームのための前記部分組を定義するための手段と、をさらに備え、前記部分的マップは、統計が入手可能になるのに従って前記各々のフレームの前記予測映像コーディング中に定義され、前記統計は、個々のピクセルが前記予測映像コーディングのために既にフェッチされているかどうかを定義する請求項31に記載のデバイス。
  34. プロセッサによって実行されたときに、
    映像フレームのシーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを決定し、
    映像フレームの前記シーケンス内の前記プログレッシブフレーム及び前記インターレースされたフレームのパターンを特定し、
    前記パターンに基づいてテレシネ技法を特定し、及び
    前記特定されたテレシネ技法に基づいて映像フレームの前記シーケンスに関して逆テレシネ技法を実行することを前記プロセッサに行わせる命令を備え、前記逆テレシネ技法は、毎秒Nの映像フレームを毎秒Mの映像フレームに変換し、M及びNは、正の整数であり、Mは、Nよりも小さい、コンピュータによって読み取り可能な媒体。
  35. 前記パターンは、3:2プルダウンテレシネ技法と関連付けられ、前記命令は、前記3:2プルダウンと関連付けられた特定の順序で3つのプログレッシブフレーム及び2つのインターレースされたフレームから成る5つのフレームシーケンスを特定することを前記プロセッサに行わせる請求項34に記載のコンピュータによって読み取り可能な媒体。
  36. 前記命令は、前記5つのフレームシーケンスを4つのフレームシーケンスに変換することを前記プロセッサに行わせ、前記逆テレシネ技法は、毎秒30の映像フレームを毎秒24の映像フレームに変換する請求項35に記載のコンピュータによって読み取り可能な媒体。
  37. 映像フレームの前記シーケンス内の個々の映像フレームがプログレッシブフレームであるか又はインターレースされたフレームであるかを特定する際に、前記命令は、前記個々の映像フレームと関連付けられたデータの部分組のみを処理することを前記プロセッサに行わせる請求項34に記載のコンピュータによって読み取り可能な媒体。
  38. 前記部分組は、前記個々のフレーム内のピクセルデータのブロックを備え、前記ブロックは、逆テレシネ検出のために予め定義され、ピクセルデータの前記ブロックは、前記個々のフレームの各々のためにメモリからフェッチされる請求項37に記載のコンピュータによって読み取り可能な媒体。
  39. 前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、逆テレシネ検出のために予め定義され、前記個々のフレーム内のピクセルデータの前記縦列は、前記個々のフレームの各々のためにメモリからフェッチされる請求項37に記載のコンピュータによって読み取り可能な媒体。
  40. 前記部分組は、前記個々のフレーム内のピクセルデータの縦列を備え、前記個々のフレーム内のピクセルデータの前記縦列は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される請求項37に記載のコンピュータによって読み取り可能な媒体。
  41. いずれかの所定のフレームと関連付けられた前記部分組は、予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかに基づいて好適に定義される請求項37に記載のコンピュータによって読み取り可能な媒体。
  42. 予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルのマップを生成し、及び
    前記マップに基づいて前記各々のフレームのための前記部分組を定義することを前記プロセッサに行わせる命令をさらに備える請求項41に記載のコンピュータによって読み取り可能な媒体。
  43. 予測映像コーディングでの使用のためにデータがメモリから既にフェッチされているかどうかを定義するために各々のフレームと関連付けられたピクセルの部分的マップを生成し、及び
    前記部分的マップに基づいて前記各々のフレームのための前記部分組を定義することを前記プロセッサに行わせる命令をさらに備え、前記部分的マップは、統計が入手可能になるのに従って前記各々のフレームの前記予測映像コーディング中に定義され、前記統計は、個々のピクセルが前記予測映像コーディングのために既にフェッチされているかどうかを定義する請求項41に記載のコンピュータによって読み取り可能な媒体。
JP2012503738A 2009-04-02 2010-04-02 逆テレシネ技法 Pending JP2012523178A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/417,527 2009-04-02
US12/417,527 US20100254453A1 (en) 2009-04-02 2009-04-02 Inverse telecine techniques
PCT/US2010/029768 WO2010115093A1 (en) 2009-04-02 2010-04-02 Inverse telecine techniques

Publications (1)

Publication Number Publication Date
JP2012523178A true JP2012523178A (ja) 2012-09-27

Family

ID=42227724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012503738A Pending JP2012523178A (ja) 2009-04-02 2010-04-02 逆テレシネ技法

Country Status (7)

Country Link
US (1) US20100254453A1 (ja)
EP (1) EP2415258A1 (ja)
JP (1) JP2012523178A (ja)
KR (1) KR101240119B1 (ja)
CN (1) CN102369728A (ja)
TW (1) TW201127048A (ja)
WO (1) WO2010115093A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100309372A1 (en) * 2009-06-08 2010-12-09 Sheng Zhong Method And System For Motion Compensated Video De-Interlacing
CN102474632A (zh) * 2009-12-08 2012-05-23 美国博通公司 处理多个3-d视频格式的方法和系统
US8537901B2 (en) * 2010-12-23 2013-09-17 Stmicroelectronics Asia Pacific Pte Ltd. Apparatus and method for exotic cadence detection
EP2666289A1 (en) * 2011-01-21 2013-11-27 Thomson Licensing System and method for enhanced remote transcoding using content profiling
KR101803970B1 (ko) * 2011-03-16 2017-12-28 삼성전자주식회사 컨텐트를 구성하는 장치 및 방법
US8937683B2 (en) 2011-06-30 2015-01-20 Stmicroelectronics Asia Pacific Pte Ltd Apparatus and method for inverse telecine with local video de-interlacing
US9001223B2 (en) * 2011-09-28 2015-04-07 Advanced Micro Devices, Inc. Method and apparatus for applying camera shake compensation to video content
US20130266080A1 (en) * 2011-10-01 2013-10-10 Ning Lu Systems, methods and computer program products for integrated post-processing and pre-processing in video transcoding
US20130279882A1 (en) 2012-04-23 2013-10-24 Apple Inc. Coding of Video and Audio with Initialization Fragments
EP3105922B1 (en) * 2014-02-10 2018-04-04 InterDigital Patent Holdings, Inc. Inverse telecine filter
CN110418045B (zh) * 2014-07-02 2021-06-29 索尼公司 图像处理装置、图像处理方法和计算机可读介质
US9386265B2 (en) * 2014-09-30 2016-07-05 Intel Corporation Content adaptive telecine and interlace reverser
CN111479083B (zh) * 2019-01-23 2021-06-25 瑞昱半导体股份有限公司 图像处理方法及图像处理系统
CN111369438B (zh) * 2020-02-28 2022-07-26 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
US11722635B2 (en) 2021-06-22 2023-08-08 Samsung Electronics Co., Ltd. Processing device, electronic device, and method of outputting video

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000050155A (ja) * 1998-08-03 2000-02-18 Nippon Telegr & Teleph Corp <Ntt> 逆テレシネ変換映像蓄積装置
JP2005006322A (ja) * 2003-06-10 2005-01-06 Samsung Electronics Co Ltd インバーステレシネ処理を実行する装置及び方法、並びに前記方法を実行するためのコンピュータ可読記録媒体

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69426584T2 (de) 1993-08-06 2001-06-13 Lg Electronics Inc., Seoul/Soul Einrichtung zur Umsetzung der Vollbildfrequenz
US5828786A (en) * 1993-12-02 1998-10-27 General Instrument Corporation Analyzer and methods for detecting and processing video data types in a video data stream
JP2000232649A (ja) * 1998-12-10 2000-08-22 Fujitsu Ltd Mpegビデオ復号器及びmpegビデオ復号方法
DE69920055T2 (de) * 1999-02-26 2005-09-15 Stmicroelectronics Asia Pacific Pte Ltd. Verfahren und vorrichtung zur bestimmung von zeilensprung-/nichtzeilensprungbildern und erkennung von wiederholten halbbildern und szenenänderungen
US7587091B2 (en) * 2004-10-29 2009-09-08 Intel Corporation De-interlacing using decoder parameters
US7450180B2 (en) * 2004-12-29 2008-11-11 General Instrument Corporation Method for detecting interlaced material and field order
US7933328B2 (en) * 2005-02-02 2011-04-26 Broadcom Corporation Rate control for digital video compression processing
US7982805B2 (en) * 2005-09-26 2011-07-19 Intel Corporation Detecting video format information in a sequence of video pictures
US8879857B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
US8027382B2 (en) * 2006-06-27 2011-09-27 Apple Inc. Pulldown correction for progressive display of audiovisual recordings
EP1927957A1 (de) * 2006-11-29 2008-06-04 Sick Ag Vorrichtung und Verfahren zur Überwachung eines Überwachungsbereichs
US20090161766A1 (en) * 2007-12-21 2009-06-25 Novafora, Inc. System and Method for Processing Video Content Having Redundant Pixel Values

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000050155A (ja) * 1998-08-03 2000-02-18 Nippon Telegr & Teleph Corp <Ntt> 逆テレシネ変換映像蓄積装置
JP2005006322A (ja) * 2003-06-10 2005-01-06 Samsung Electronics Co Ltd インバーステレシネ処理を実行する装置及び方法、並びに前記方法を実行するためのコンピュータ可読記録媒体

Also Published As

Publication number Publication date
KR101240119B1 (ko) 2013-03-18
US20100254453A1 (en) 2010-10-07
WO2010115093A1 (en) 2010-10-07
KR20110133635A (ko) 2011-12-13
TW201127048A (en) 2011-08-01
CN102369728A (zh) 2012-03-07
EP2415258A1 (en) 2012-02-08

Similar Documents

Publication Publication Date Title
KR101240119B1 (ko) 역 텔레시네 기술
US8208563B2 (en) Boundary artifact correction within video units
US8675736B2 (en) Motion vector processing
KR100957322B1 (ko) 다양한 모션 모델들을 사용하는 인코더 보조 프레임 레이트상향 변환
US8411750B2 (en) Global motion parameter estimation using block-based motion vectors
JP5242404B2 (ja) ビデオストリーミングにおける適応gop構造
JP5893002B2 (ja) ビデオ符号化におけるレート制御
US8792556B2 (en) System and method for correcting motion vectors in block matching motion estimation
US8107531B2 (en) Signaling and repeat padding for skip frames
US20090161766A1 (en) System and Method for Processing Video Content Having Redundant Pixel Values
US9386265B2 (en) Content adaptive telecine and interlace reverser
US20050105618A1 (en) Adaptive reference picture selection based on inter-picture motion measurement
JP2010525658A (ja) イントラ予測のための適応参照画像データ生成
JP2008529416A (ja) 実時間フレーム符号化方法及び装置
US20060062298A1 (en) Method for encoding and decoding video signals
US20060072668A1 (en) Adaptive vertical macroblock alignment for mixed frame video sequences
US20060078053A1 (en) Method for encoding and decoding video signals
US8767831B2 (en) Method and system for motion compensated picture rate up-conversion using information extracted from a compressed video stream
KR20070011351A (ko) 압축된 비트스트림으로부터 코딩 정보를 사용하는 비디오품질 강화 및/또는 아티팩트 저감
US8848793B2 (en) Method and system for video compression with integrated picture rate up-conversion
US20060072670A1 (en) Method for encoding and decoding video signals
US7593063B1 (en) Method of detecting a format type of an incoming video signal and source format detector thereof
Wang et al. Side match distortion based adaptive error concealment order for 1Seg video broadcasting application
JP2007049520A (ja) 画像信号の高能率符号化装置
Chung et al. Correction to novel artifact detection for motion compensated deinterlacing

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131008

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131016

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140225