【実施例1】
【0022】
本発明の第一の例示的な実施形態は、高ダイナミックレンジの画像が、露出の異なる整列された画像から、たとえば一方が露出過少で他方が露出過剰な同じ視点から撮影された同じシーンの一対の画像から、生成されることができるという事実を活用する。
【0023】
一対の画像を単一のフレームに収めるために、両画像がダウンサンプリングされる。第一の例示的な実施形態では、ダウンサンプリングは横方向にであることができる。すなわち、
図3に例示的に描かれるように、すべての奇数番目の列またはすべての偶数番目の列が除去される。あるいは縦方向にであることもできる。すなわち、
図4に例示的に描かれるように、すべての奇数番目の行またはすべての偶数番目の行が除去される。次いで、ダウンサンプリングされた画像が単一のフレーム内に配置されることができる。配置は、横方向のダウンサンプリングの場合には隣り合わせであり、縦方向のダウンサンプリングの場合には上下である。このことは
図5に例示的に描かれている。例示的に描かれている二つのLDR画像は1080行および1920列を有し、横方向にダウンサンプリングされて960列にされ、
図6aに描かれるように隣り合わせに配置されるか、縦方向にダウンサンプリングされて540行にされ、
図6bに描かれるように上下に配置される。
【0024】
他のサンプリング方向、たとえば斜め上がりまたは斜め下がりの方向も可能である。サンプリング方向は固定でもよいし、コンテンツ保持に適応して選択されてもよい。たとえば、エンコーダ側で、画像毎またはピクチャー・グループ毎にいくつかのサンプリング方向が試験されることができ、たとえばレート‐歪みが最もよくなるものが選択される。配置の型はメタデータにおいて信号伝達されてもよいし、あるいはフレーム内で、該フレームを半分に分かつエッジの諸特徴を検索することによって決定されてもよい。前記諸特徴の有意性が比較されることができ、最も有意なものがフレームを再び画像に分割するために使われることができる。
【0025】
同様に、前記サンプリング方向に垂直な奇数ラインと偶数ラインのどちらが除去されるかは、固定であってもよいし、たとえばレート‐歪みを改善するために両方の画像について、共通してまたは個々に調整されてもよい。この調整は、サンプリング方向の適応とは独立に、たとえば固定したサンプリング方向の場合であっても行われてもよいし、あるいはサンプリング方向の適応と整合して行われてもよい。
【0026】
フレーム内に配置したのち、そのフレームがエンコードされる。HDRビデオを再構成するために好適なLDR画像対のシーケンスに属するLDR画像の場合、フレームは、任意の既知のビデオ符号化規格、たとえばH.264/MPEG-4 AVCに従ってエンコードされることができる。本発明の要点のためには、どの符号化規格が使われるかは重要でない。
【0027】
エンコードは、二つのLDR画像が異なる露出で同じコンテンツを示すという事実を利用することができる。すなわち、動きベクトル検索はフレームの半分に制約されることができ、半分のフレームで決定された動きベクトルは他方の半分のフレームで再利用できる。再利用は必須とすることさえできる。その場合、半分のフレームの動きベクトルをエンコードするだけでよい。
【0028】
任意的に、エンコーダはスケーラブル画像/ビデオ符号化(SVC: scalable image/video coding)フォーマットの基本層を出力し、ダウンサンプリングされたLDR画像中で省略された行および列はSVCフォーマットの向上層においてエンコードされる。あるいは、エンコーダはマルチビュー符号化(MVC)フォーマットの第一のビューを出力し、ダウンサンプリングされたLDR画像中で省略された行および列はMVCフォーマットの第二のビューにおいてエンコードされる。
【0029】
二つのLDR画像それぞれの正常に露出された領域における詳細を保存する仕方で二つのLDR画像の露出を改善するために、ダウンサンプリングの前または後に、任意的なヒストグラム整列(histogram alignment)が適用されることができる。ヒストグラム調整の個別的な設定は固定であってもよいし、適応されることもできる。後者の場合、デコーダが逆変換を実行できるよう、設定はメタデータを介してデコード・プロセスに送られることができる。
【0030】
二つの露出が異なるLDR画像に基づく例示的な符号化枠組みが
図5に描かれている。
【0031】
エンコード装置ENCは、低ダイナミックレンジをもつ二つの、異なる露出の、整列された画像またはビデオ・フレームを受領し、その露出をモジュールHSTにおいてヒストグラム等化によって調整する。次いで、露出調整された画像はダウンサンプリングDWNされ、単一のフレーム中にパックPCKされる。該単一のフレームはH.264/MPEG-4 AVCエンコーダAVCによってエンコードされる。モジュールMDEはヒストグラム整列のパラメータと、ダウンサンプリングについての情報と、パッキングについての情報とを前記フレームのメタデータ中にエンコードする。次いで、メタデータを含むエンコードされたフレームは、ストリーム中での送信または記憶媒体、たとえば光ディスクへの記憶のために出力される。
【0032】
デコード装置DECは、前記メタデータを含むエンコードされたフレームを、前記記憶媒体を読む装置から、またはストリーム受領装置から受領し、前記フレームを、エンコードのために使われた規格に従ってデコードIAVCする。次いで、メタデータがデコードMDDされ、フレームをダウンサンプリングされたLDR画像に分割SEPするために使われる。メタデータはさらに、アップサンプリングUPが奇数ラインを加えるか偶数ラインを加えるかに使われる。分割およびアップサンプリングは、
図7では隣り合わせに配置されたLDR画像について、
図8では上下に配置されたLDR画像について例示的に描かれている。次に、ヒストグラム整列パラメータのメタデータが、ヒストグラム整列をもとに戻すIHSTために使われる。逆整列後、LDR画像を融合FUSすることで、HDRコンテンツが生成される。
【0033】
HDRコンテンツは次いで、HDRディスプレイにソースを与えるためにそのまま出力される、あるいはLDRディスプレイにソースを与えるためにトーン・マッピングMAPされて出力される。
【実施例5】
【0048】
すなわち、本発明のある側面は、修正されたまたは新たなSEIメッセージの提案に関する。たとえば、下記の表1に例示的に描かれているように、sei_payload()は45に等しい追加的なpayloadType〔ペイロード型〕が定義されるよう修正されることができる。これは、表2に例示的に描かれているhdr_frame_compatible_info(payloadSize)へのアクセスをトリガーする。
【0049】
【表1】
【0050】
【表2】
SEI HDRフレーム互換情報(HDR Frame compatible information)メッセージはデコーダに、出力されるデコードされたピクチャが、指示されるフレーム・パッキング配置を使って、複数の相異なる空間的にパッキングされた構成フレームからなるフレームのサンプルを含んでいることを通知する。この情報は、デコーダによって、サンプルを適切に再配置し、表示もしくは他の目的(これは本明細書の範囲外である)のために適切に構成フレームのサンプルを処理するために使用されることができる。
【0051】
hdr_frame_compatible_idは、HDRフレーム互換情報SEIメッセージの使用を同定するために使用できる識別番号を含む。hdr_frame_compatible_idの値は両端を含めて0から2^32−2の範囲内でなければならない。
hdr_frame_compatible_idの値0ないし255および512ないし2-31−1は、本願によって決定されるように使用されてもよい。hdr_frame_compatible_idの値256ないし511および2^31ないし2-32−2は、ITU-T|ISO/IECによる将来の使用のためにリザーブされる。デコーダは、hdr_frame_compatible_idの256ないし511の範囲および2^31ないし2-32−2の範囲内の値を含むあらゆるHDRフレーム互換情報SEIメッセージを無視しなければならず、ビットストリームはそのような値を含んではならない。
【0052】
hdr_frame_compatible_cancel_flagが1に等しいことは、HDRフレーム互換情報SEIメッセージが出力オーダー(output order)における、いかなるHDRフレーム互換情報SEIメッセージの持続をも打ち消すことを示す。
hdr_frame_compatible_cancel_flagが0に等しいことは、HDRフレーム互換情報SEIメッセージ情報が続くことを示す。
【0053】
hdr_frame_packing_arrangement_typeは、次の表3に指定されるフレームのパッキング配置の型を示す。
【0054】
値0:
解釈:デコードされたフレームの各成分平面は、二つの構成フレームの対応する平面の隣り合わせのパッキング配置を含む。
左の半フレームは対応する全フレームの偶数列で構築される。
右の半フレームは対応する全フレームの偶数列で構築される。
【0055】
値1:
解釈:デコードされたフレームの各成分平面は、二つの構成フレームの対応する平面の隣り合わせのパッキング配置を含む。
左の半フレームは対応する全フレームの偶数列で構築される。
右の半フレームは対応する全フレームの奇数列で構築される。
【0056】
値2:
解釈:デコードされたフレームの各成分平面は、二つの構成フレームの対応する平面の隣り合わせのパッキング配置を含む。
左の半フレームは対応する全フレームの奇数列で構築される。
右の半フレームは対応する全フレームの偶数列で構築される。
【0057】
値3:
解釈:デコードされたフレームの各成分平面は、二つの構成フレームの対応する平面の隣り合わせのパッキング配置を含む。
左の半フレームは対応する全フレームの奇数列で構築される。
右の半フレームは対応する全フレームの奇数列で構築される。
【0058】
値4:
解釈:デコードされたフレームの各成分平面は、二つの構成フレームの対応する平面の上下のパッキング配置を含む。
上の半フレームは対応する全フレームの偶数ラインで構築される。
下の半フレームは対応する全フレームの偶数ラインで構築される。
【0059】
値5:
解釈:デコードされたフレームの各成分平面は、二つの構成フレームの対応する平面の上下のパッキング配置を含む。
上の半フレームは対応する全フレームの偶数ラインで構築される。
下の半フレームは対応する全フレームの奇数ラインで構築される。
【0060】
値6:
解釈:デコードされたフレームの各成分平面は、二つの構成フレームの対応する平面の上下のパッキング配置を含む。
上の半フレームは対応する全フレームの奇数ラインで構築される。
下の半フレームは対応する全フレームの偶数ラインで構築される。
【0061】
値7:
解釈:デコードされたフレームの各成分平面は、二つの構成フレームの対応する平面の上下のパッキング配置を含む。
上の半フレームは対応する全フレームの奇数ラインで構築される。
下の半フレームは対応する全フレームの奇数ラインで構築される。
【0062】
表3:hdr_frame_packing_arrangement_type。
【0063】
hdr_frame_compatible_typeはHDR関係情報を転送するために使われる解決策を指定する。
hdr_frame_compatible_typeが0とは、二つのLDRビューを使った方式に対応し、hdr_frame_compatible_typeが1とは、LDRビューおよび露出マップを使った方式に対応し、hdr_frame_compatible_typeが2とは、一つの半フレームでのLDRビュー、一つの四分の一フレームでの露出過少の一つのLDRビューおよび一つの四分の一フレームでの露出過剰の一つのLDRビューを使う方式に対応する。2より大きなhdr_frame_compatible_typeは三つより多くのLDR画像の使用を示すことができる。
【0064】
over_exposed_view_mappingは、どちらの半フレームが露出過剰のLDRビューをマッピングされるかを指定する。このフラグは、hdr_frame_compatible_typeが0または2に等しいときに存在する。
【0065】
hdr_frame_packing_arrangement_typeが0から3の範囲にあるとき(隣り合わせの配置)、
・over_exposed_view_mappingが0に等しいことは、露出過剰のLDRビューが左の半フレーム上にマッピングされ、よって露出過少のLDRビューは右の半フレーム上にマッピングされることを示す。
・over_exposed_view_mappingが1に等しいことは、露出過剰のLDRビューが右の半フレーム上にマッピングされ、よって露出過少のLDRビューは左の半フレーム上にマッピングされることを示す。
【0066】
hdr_frame_packing_arrangement_typeが4から7の範囲にあるとき(上下の配置)、
・over_exposed_view_mappingが0に等しいことは、露出過剰のLDRビューが上の半フレーム上にマッピングされ、よって露出過少のLDRビューは下の半フレーム上にマッピングされることを示す。
・over_exposed_view_mappingが1に等しいことは、露出過剰のLDRビューが下の半フレーム上にマッピングされ、よって露出過少のLDRビューは上の半フレーム上にマッピングされることを示す。
【0067】
ldr_view_mappingは、どちらの半フレームがLDRビューをマッピングされるかを指定する。このフラグは、hdr_frame_compatible_typeが1に等しいときに存在する。
【0068】
hdr_frame_packing_arrangement_typeが0から3の範囲にあるとき(隣り合わせの配置)、
・ldr_view_mappingが0に等しいことは、LDRビューが左の半フレーム上にマッピングされ、よって露出マップは右の半フレーム上にマッピングされることを示す。
・ldr_view_mappingが1に等しいことは、LDRビューが右の半フレーム上にマッピングされ、よって露出マップは左の半フレーム上にマッピングされることを示す。
【0069】
hdr_frame_packing_arrangement_typeが4から7の範囲にあるとき(上下の配置)、
・ldr_view_mappingが0に等しいことは、LDRビューが上の半フレーム上にマッピングされ、よって露出マップは下の半フレーム上にマッピングされることを示す。
・ldr_view_mappingが1に等しいことは、LDRビューが下の半フレーム上にマッピングされ、よって露出マップは上の半フレーム上にマッピングされることを示す。
【0070】
hdr_luminance_minは、規格化前のHDRフレームと対応するLDRフレームとの間のルミナンス比の最小値を与える。この16ビット値は半精度の値(IEEE754表現)として解釈される。
【0071】
hdr_luminance_maxは、規格化前のHDRフレームと対応するLDRフレームとの間のルミナンス比の最大値を与える。この16ビット値は半精度の値(IEEE754表現)として解釈される。
【0072】
luminance_ratio_scaling_methodは、ルミナンス比の値を圧縮するために使われる方法を指定する。
luminance_ratio_scaling_methodが0とは、線形スケーリングに対応する。
luminance_ratio_scaling_methodが1とは、log2スケーリングに対応する。
luminance_ratio_scaling_methodが2とは、log10スケーリングに対応する。
【0073】
multi_view_mappingはどの半フレームが正常露出されたLDRビューをマッピングされ、どの四分の一フレームが露出過少および露出過剰のLDRビューをマッピングしているかを指定する。このフラグは、hdr_frame_compatible_typeが2に等しい場合にのみ存在する。
【0074】
hdr_frame_packing_arrangement_typeが0から3の範囲にあるとき(隣り合わせの配置)、
・multi_view_mappingが0に等しいことは、正常露出のLDRビューが左の半フレーム上にマッピングされ、露出過少のLDRビューが右上の四分の一フレーム上にマッピングされ、露出過剰のLDRビューが右下の四分の一フレーム上にマッピングされることを示す。
・multi_view_mappingが1に等しいことは、正常露出のLDRビューが左の半フレーム上にマッピングされ、露出過剰のLDRビューが右上の四分の一フレーム上にマッピングされ、露出過少のLDRビューが右下の四分の一フレーム上にマッピングされることを示す。
・multi_view_mappingが2に等しいことは、正常露出のLDRビューが右の半フレーム上にマッピングされ、露出過少のLDRビューが左上の四分の一フレーム上にマッピングされ、露出過剰のLDRビューが左下の四分の一フレーム上にマッピングされることを示す。
・multi_view_mappingが3に等しいことは、正常露出のLDRビューが右の半フレーム上にマッピングされ、露出過剰のLDRビューが左上の四分の一フレーム上にマッピングされ、露出過少のLDRビューが左下の四分の一フレーム上にマッピングされることを示す。
【0075】
hdr_frame_packing_arrangement_typeが4から7の範囲にあるとき(上下の配置)、
・multi_view_mappingが0に等しいことは、正常露出のLDRビューが上の半フレーム上にマッピングされ、露出過少のLDRビューが左下の四分の一フレーム上にマッピングされ、露出過剰のLDRビューが右下の四分の一フレーム上にマッピングされることを示す。
・multi_view_mappingが1に等しいことは、正常露出のLDRビューが上の半フレーム上にマッピングされ、露出過剰のLDRビューが左下の四分の一フレーム上にマッピングされ、露出過少のLDRビューが右下の四分の一フレーム上にマッピングされることを示す。
・multi_view_mappingが2に等しいことは、正常露出のLDRビューが下の半フレーム上にマッピングされ、露出過少のLDRビューが左上の四分の一フレーム上にマッピングされ、露出過剰のLDRビューが右上の四分の一フレーム上にマッピングされることを示す。
・multi_view_mappingが3に等しいことは、正常露出のLDRビューが下の半フレーム上にマッピングされ、露出過剰のLDRビューが左上の四分の一フレーム上にマッピングされ、露出過少のLDRビューが右上の四分の一フレーム上にマッピングされることを示す。
【0076】
secondary_down_sample_mappingは、二次ダウンサンプリング方法が適用される仕方を、すなわちどのラインまたは列(偶数または奇数)が使われるかを指定する。このフラグはhdr_frame_compatible_typeが2に等しい場合にのみ存在する。
【0077】
hdr_frame_packing_arrangement_typeが0から3の範囲にあるとき(隣り合わせの配置)、横方向のサブサンプリングのための列選択はhdr_frame_packing_arrangement_typeの値によってすでに指定されている。
secondary_down_sample_mappingが0に等しいことは、縦方向のサブサンプリングのための露出過剰および露出過少のLDRビューの両方について偶数ラインが使われることを示す。
secondary_down_sample_mappingが1に等しいことは、縦方向のサブサンプリングのための露出過剰および露出過少のLDRビューの両方について奇数ラインが使われることを示す。
【0078】
hdr_frame_packing_arrangement_typeが4から7の範囲にあるとき(上下の配置)、縦方向のサブサンプリングのためのライン選択はhdr_frame_packing_arrangement_typeの値によってすでに指定されている。
secondary_down_sample_mappingが0に等しいことは、横方向のサブサンプリングのための露出過剰および露出過少のLDRビューの両方について偶数列が使われることを示す。
secondary_down_sample_mappingが1に等しいことは、横方向のサブサンプリングのための露出過剰および露出過少のLDRビューの両方について奇数列が使われることを示す。
【0079】
本発明は、すでに展開されているソリューション(標準的なHDTVシステム)を使ったHDR分配を許容する。
【0080】
本発明はさらに、標準的なHDTVシステムとの後方互換性をもつHDRデータの効率的かつスケーラブルなエンコードを許容する。
【0081】
本発明は、多くのディスプレイ技術に適合する能力をもつので、柔軟である。
【0082】
本発明は、配送および/または記憶のためのHDRビデオ・エンコード/デコードの分野において適用可能である。
【0083】
本発明は、ビデオ表現フォーマット、ビデオ配送チェーンおよび受信機(セットトップボックス、デコーダ、PVR)またはディスプレイ装置のいずれにも関わりうる。
いくつかの付記を記載しておく。
〔付記1〕
高ダイナミックレンジのHDR画像をエンコードする方法であって:
・LDR画像および追加データをダウンサンプリングする段階であって、前記LDR画像は前記HDR画像コンテンツのより低いダイナミックレンジの表現を提供し、前記追加データは、前記LDR画像から前記HDR画像を再構成することを許容する、段階と;
・フレーム中に、ダウンサンプリングされたLDR画像およびダウンサンプリングされた追加データを配置する段階と;
・前記フレームをエンコードする段階とを含む、
方法。
〔付記2〕
高ダイナミックレンジのHDR画像を再構成する方法であって:
・フレームをデコードする段階と;
・前記フレームをダウンサンプリングされたLDR画像およびダウンサンプリングされた追加データに分割する段階であって、前記LDR画像は前記HDR画像コンテンツのダウンサンプリングされた、より低いダイナミックレンジの表現を提供し、前記追加データは前記LDR画像から前記HDR画像を再構成することを許容する、段階と;
・ダウンサンプリングされたLDR画像およびダウンサンプリングされた追加データをアップサンプリングする段階と;
・アップサンプリングされた追加データを使ってアップサンプリングされたLDR画像からHDR画像を再構成する段階とを含む、
方法。
〔付記3〕
付記1または2記載の方法であって、前記LDR画像は露出過少であり、前記追加データは、前記HDR画像コンテンツの低ダイナミックレンジの表現のさらなるLDR画像を含み、前記さらなるLDR画像は露出過剰である、方法。
〔付記4〕
付記1または2記載の方法であって、前記LDR画像は露出正常であり、前記ダウンサンプリングされた追加データは、前記HDR画像コンテンツの低ダイナミックレンジの表現の二つのさらなるダウンサンプリングされたLDR画像を含み、前記二つのさらなるダウンサンプリングされたLDR画像の一つは露出過剰であり、二つのさらなるダウンサンプリングされたLDR画像の一つは露出過少であり、両方のさらなるダウンサンプリングされたLDR画像は横方向および縦方向にダウンサンプリングされており、前記追加データにおいて、前記二つのさらなるダウンサンプリングされたLDR画像は、前記ダウンサンプリングされた追加データと前記LDR画像が上下に配置される場合には隣り合わせに配置され、前記二つのさらなるダウンサンプリングされたLDR画像は、前記ダウンサンプリングされた追加データと前記LDR画像が隣り合わせに配置される場合には上下に配置される、方法。
〔付記5〕
付記2ないし4のうちいずれか一項記載の方法であって、前記露出過少のLDR画像および前記露出過剰のLDR画像は、ヒストグラム整列を使って調整されており、前記ヒストグラム整列の少なくとも一つのパラメータが前記フレームのメタデータにおいてエンコードされている、方法。
〔付記6〕
付記1または2記載の方法であって、前記LDR画像は前記HDR画像のトーン・マッピングされたバージョンであり、前記追加データは逆トーン・マッピングを許容する露出マップである、方法。
〔付記7〕
付記6記載の方法であって、前記露出マップは、前記HDR画像と前記HDR画像のトーン・マッピングされたバージョンのルミナンス値の比の規格化されたマップであり、最小ルミナンス比の値および最大ルミナンス比の値の少なくとも一方が前記フレームのメタデータにおいてエンコードされる、方法。
〔付記8〕
付記1ないし7のうちいずれか一項記載の方法であって、前記フレームのメタデータにおいてダウンサンプリング情報がエンコードされ、前記ダウンサンプリング情報は:前記ダウンサンプリングされたLDR画像において奇数ラインが除去されているかどうかおよび前記ダウンサンプリングされた追加データにおいて奇数ラインが除去されているかどうかのうちの少なくとも一方を示す、方法。
〔付記9〕
付記1ないし8のうちいずれか一項記載の方法であって、前記フレームのメタデータにおいて配置情報がエンコードされ、前記配置情報は前記ダウンサンプリングされたLDR画像および前記ダウンサンプリングされた追加データが前記フレームにおいてどのように配置されているかを示し、
・ダウンサンプリングは横方向であり、配置は隣り合わせである、または
・ダウンサンプリングは縦方向であり、配置は上下である、
方法。
〔付記10〕
低ダイナミックレンジのダウンサンプリングされたLDR画像およびダウンサンプリングされた追加情報を含むエンコードされたフレームを担持する非一時的記憶媒体であって、前記追加データが、前記LDR画像コンテンツのより高ダイナミックレンジの表現を与えるHDR画像を再構成することを許容する、記憶媒体。
〔付記11〕
高ダイナミックレンジのHDR画像をエンコードする装置であって:
・LDR画像および追加データをダウンサンプリングする手段であって、前記LDR画像は前記HDR画像コンテンツのより低いダイナミックレンジの表現を提供し、前記追加データは、前記LDR画像から前記HDR画像を再構成することを許容する、手段と;
・フレーム中に、ダウンサンプリングされたLDR画像およびダウンサンプリングされた追加データを配置する手段と;
・前記フレームをエンコードする手段とを有する、
装置。
〔付記12〕
ヒストグラム整列手段をさらに有する、付記11記載の装置。
〔付記13〕
露出マップを決定する手段をさらに有する、付記11記載の装置。
〔付記14〕
高ダイナミックレンジのHDR画像を再構成する装置であって:
・フレームをデコードする手段と;
・前記フレームをダウンサンプリングされたLDR画像およびダウンサンプリングされた追加データに分割する手段であって、前記LDR画像は前記HDR画像コンテンツのダウンサンプリングされた、より低いダイナミックレンジの表現を提供し、前記追加データは前記LDR画像から前記HDR画像を再構成することを許容する、手段と;
・ダウンサンプリングされたLDR画像をアップサンプリングする手段と;
・アップサンプリングされた追加データを使ってアップサンプリングされたLDR画像からHDR画像を再構成する手段とを有する、
装置。
〔付記15〕
ヒストグラム整列手段および逆トーン・マッピング手段のうちの少なくとも一方をさらに有する、付記11記載の装置。