タイル生成時の位置調整パラメータ

動画の登録時にcrop_position, padding_position, crop_inheriting, crop_policy_ob, crop_policy_ibの指定を行うことで、登録する動画をタイルに変換する際に表示する位置の調整を行うことが出来ます。各パラメータについては、動画の登録 の箇所を参照してください。

ポリシーの違いによる表示の違い

crop_policy_obとcrop_policy_ibは、登録動画と出力領域であるタイルのサイズを比較し、そのサイズの差分をどのように埋めるかの指定を行います。タイル生成はレベル毎に、大きなレベルから小さいレベルへ順に行われますが、この時、各レベル毎の出力サイズと登録動画のサイズを比較し、その大小関係によって、crop_policy_obとcrop_policy_ibのいずれかを適用して伸縮処理を行います。

以下に、例として、下記の条件で動画を登録した場合の表示の違いを記載します。
※ 図の中のオレンジの枠がタイルのサイズで、枠内以外は表示されません。

条件

種類 属性
入力 登録動画サイズ
  1. 100x100 (アスペクト比 1:1)
  2. 128x96 (アスペクト比 4:3)
出力 TileType Level R (アスペクト比 3:2) 1 (96x64)
Policy crop_position 1: [中央]
padding_position 1: [中央]
crop_inheriting (複数の出力サイズに対して、 タイルを同時生成する場合のポリシー) 1: [有効表示範囲をレベル毎に最適化]
../_images/image1-ja.png
../_images/image2-ja.png

CoverとContainの違いについて

クロップする際のポリシーで、CoverとContainが指定されている場合の違いについて図を使用して説明します。両方ともアスペクト比を保ったままリサイズをしますが、

Coverの方は、登録メディアが出力領域を完全に覆うようにリサイズし、はみ出した部分を切り捨てます。

Containの場合は、登録メディア全体が出力領域に収まるようにリサイズします。登録動画と出力領域のアスペクト比が異なる場合、出力領域の余白が発生しますが、該当領域は、黒の画素で埋められます。

../_images/image3-ja.png

Coverの場合(右上寄せ)

1. 短い方の1辺が同じ長さになるまで縮小

../_images/image4-ja.png

2. 出力タイルより大きい部分を削除する

../_images/image5-ja.png

Containの場合(右上寄せ)

1. 長い方の1辺が同じ長さになるまで縮小

../_images/image6-ja.png

2. 出力タイルの空きエリアを黒で埋める

../_images/image7-ja.png

[例 1] パラメータを指定しない場合

(タイル種別:HD レベル:1-4 登録動画サイズ:1920x1080)
パラメータを指定しないと、デフォルトの値である1が上記パラメータに設定されます。

条件

種別 属性
入力 登録動画サイズ 1920x1080 (アスペクト比 16:9)
出力 TileType HD (アスペクト比 16:9)
Level 4,3,2,1 (解像度1024x576, 768x432, 512x288, 256x144)
Policy crop_position 指定無の場合、デフォルト値1: [中央]
padding_position 指定無の場合、デフォルト値1: [中央]
crop_inheriting (複数の出力サイズに対して、タイル を同時生成する場合のポリシー) 指定無の場合、デフォルト値1: [有効表示範囲をレベル毎に最適化]
crop_policy_ob (出力サイズが、入力サイズより 大きい場合の伸縮ポリシー) 指定無の場合、デフォルト値1: [Contain] アスペクト比を保ってリサイズ (リサイズ後登録動画 ⊂ 出力領域)
crop_policy_ib (入力サイズが、出力サイズより 大きい場合の伸縮ポリシー) 指定無の場合、デフォルト値1: [Contain] アスペクト比を保ってリサイズ (リサイズ後登録動画 ⊂ 出力領域)
  • 1024 x 576 (HD Level 4) < 1920 x 1080 (登録動画サイズ)
  • 768 x 432 (HD Level 3) < 1920 x 1080
  • 512 x 288 (HD Level 2) < 1920 x 1080
  • 256 x 144 (HD Level 1) < 1920 x 1080

この場合、レベル4,3,2,1のタイルを順に生成し、登録動画は全てのレベルの出力サイズより大きいので、全てのレベルのタイル生成でcrop_policy_ibが使用されます。この場合、crop_policy_ibは1 (contain)なので、アスペクト比を保って、登録動画が出力領域が完全に包含されるようにリサイズされますが、登録動画と出力領域のアスペクト比が同じであるため、出力領域に空白は発生しません。

../_images/image8-ja.png

[例 2] パラメータを指定しない場合

(タイル種別:SD レベル:1-4 登録動画サイズ:1920x1080)
タイル種別がSDである以外は例1と同様

条件

種別 属性
入力 登録動画サイズ 1920x1080 (アスペクト比 16:9)
出力 TileType SD (アスペクト比 4:3)
Level 4,3,2,1 (解像度512x384, 384x288, 256x192, 128x96)
Policy crop_position 指定無の場合、デフォルト値1: [中央]
padding_position 指定無の場合、デフォルト値1: [中央]
crop_inheriting (複数の出力サイズに対して、タイル を同時生成する場合のポリシー) 指定無の場合、デフォルト値1: [有効表示範囲をレベル毎に最適化]
crop_policy_ob (出力サイズが、入力サイズより 大きい場合の伸縮ポリシー) 指定無の場合、デフォルト値1: [Contain] アスペクト比を保ってリサイズ (リサイズ後登録動画 ⊂ 出力領域)
crop_policy_ib (入力サイズが、出力サイズより 大きい場合の伸縮ポリシー) 指定無の場合、デフォルト値1: [Contain] アスペクト比を保ってリサイズ (リサイズ後登録動画 ⊂ 出力領域)
  • 512 x 384 (SD Level 4) < 1920 x 1080 (登録動画サイズ)
  • 384 x 288 (SD Level 3) < 1920 x 1080
  • 256 x 192 (SD Level 2) < 1920 x 1080
  • 128 x 96 (SD Level 1) < 1920 x 1080

この場合、レベル4,3,2,1のタイルを順に生成し、登録動画が全てのレベルのサイズより大きいので、crop_policy_ibが全てのレベルのタイルで使用されます。crop_policy_ibは1(contain)なので、アスペクト比を保って、登録動画が出力領域が完全に包含されるようにリサイズされます。この例では、登録動画と出力領域のアスペクト比が異なるため、出力領域に一部空白が生じ、黒画素で埋められます。黒画素と有効画像領域の配置について、crop_positionが1(中央)なので、以下のように、有効画像領域が中央に来るように配置されます。

../_images/image9-ja.png

[例 3] crop_position:3, padding_position2, crop_inheriting:0, crop_policy_ob:3, crop_policy_ib:3の場合

(タイル種別:r レベル:1-4 登録動画サイズ:1920x1080)

条件

種別 属性
入力 登録動画サイズ 1920x1080 (アスペクト比 16:9)
出力 TileType R (アスペクト比 3:2)
Level 4,3,2,1 (解像度384x256, 288x192, 192x128, 96x64)
Policy crop_position 3: [右上]
padding_position 2: [左上]
crop_inheriting (複数の出力サイズに対して、タイル を同時生成する場合のポリシー) 0: [有効表示範囲をレベル間で統一]
crop_policy_ob (出力サイズが、入力サイズより 大きい場合の伸縮ポリシー) 3: [Dot by dot] 単純なパディング
crop_policy_ib (入力サイズが、出力サイズより 大きい場合の伸縮ポリシー) 3: [Dot by dot] 単純なクロップ
  • 384 x 256 (R Level 4) < 1920 x 1080 (登録動画サイズ)
  • 288 x 192 (R Level 3) < 1920 x 1080
  • 192 x 128 (R Level 2) < 1920 x 1080
  • 96 x 64 (R Level 1) < 1920 x 1080

この場合、レベル4,3,2,1のタイルを順に生成し、登録動画が全てのレベルのサイズより大きいので、crop_policy_ib:3(Dot by dot)が使用され、また、crop_inheriting:0(有効表示範囲をレベル間で統一)なので、最初に生成するレベル4のタイルをレベル毎の出力サイズに順次縮小する形で各レベルのタイルを生成します。各レベルで、画像サイズは異なりますが、画像内容は同じになります。最初のタイル生成時、crop_position:3 (右上) の指定に従って、登録動画の右上部分を切り取ります。

../_images/image10-ja.png

[例 4] crop_position:3, padding_position2, crop_inheriting:1, crop_policy_ob:3, crop_policy_ib:0の場合

(タイル種別:r レベル:1-4 登録動画サイズ:128 x 64)

条件

種別 属性
入力 登録動画サイズ 128x64 (アスペクト比 2:1)
出力 TileType R (アスペクト比 3:2)
Level 4,3,2,1 (解像度384x256, 288x192, 192x128, 96x64)
Policy crop_position 3: [右上]
padding_position 2: [左上]
crop_inheriting (複数の出力サイズに対して、タイル を同時生成する場合のポリシー) 1: [有効表示範囲をレベル毎に最適化]
crop_policy_ob (出力サイズが、入力サイズより 大きい場合の伸縮ポリシー) 3: [Dot by dot] 単純なパディング
crop_policy_ib (入力サイズが、出力サイズより 大きい場合の伸縮ポリシー) 0: [Cover] アスペクト比を保ってリサイズ (リサイズ後登録動画 ⊃ 出力領域)
  • 384 x 256 (R Level 4) > 128 x 64 (登録動画サイズ)
  • 288 x 192 (R Level 3) > 128 x 64
  • 192 x 128 (R Level 2) > 128 x 64
  • 96 x 64 (R Level 1) < 128 x 64

この場合、レベル4,3,2,1のタイルを順に生成し、レベル4,3,2のタイルに対しては、入力となる登録動画が出力サイズより小さいため、crop_policy_ob: 3(Dot by dot)が適用されます。登録動画は拡大縮小されず、padding_position:2(左上)の指定に従って、有出力領域の左上に配置され、空白領域は黒画素で埋められます。レベル1のタイルに対しては、入力となる登録動画が出力領域より大きいため、crop_policy_ib:0(Cover)が適用されます。この場合、アスペクト比を保ちながら登録動画が出力領域を完全に包含するように拡大します。入りきらない部分は捨てられます。

../_images/image11-ja.png

[例 5] crop_position:3, padding_position2, crop_inheriting:1, crop_policy_ob:0, crop_policy_ib:2の場合

(タイル種別:r レベル:1-4 登録動画サイズ:320 x 240)

条件

種別 属性
入力 登録動画サイズ 320x240 (アスペクト比 4:3)
出力 TileType R (アスペクト比 3:2)
Level 4,3,2,1 (解像度384x256, 288x192, 192x128, 96x64)
Policy crop_position 3: [右上]
padding_position 2: [左上]
crop_inheriting (複数の出力サイズに対して、タイル を同時生成する場合のポリシー) 1: [有効表示範囲をレベル毎に最適化]
crop_policy_ob (出力サイズが、入力サイズより 大きい場合の伸縮ポリシー) 0: [Cover] アスペクト比を保ってリサイズ (リサイズ後登録動画 ⊃ 出力領域)
crop_policy_ib (入力サイズが、出力サイズより 大きい場合の伸縮ポリシー) 2: [fill] アスペクト比を崩してリサイズ
  • 384 x 256 (R Level 4) > 320 x 240 (登録動画サイズ)
  • 288 x 192 (R Level 3) < 320 x 240
  • 192 x 128 (R Level 2) < 320 x 240
  • 96 x 64 (R Level 1) < 320 x 240

この場合、レベル4,3,2,1のタイルを順に生成し、レベル4の場合のみ、登録動画のサイズが出力領域より小さいので、crop_policy_ob:0(Cover)が適用されます。この場合、この場合、アスペクト比を保ちながら登録動画が出力領域を完全に包含するように拡大します。入りきらない部分は捨てられます。crop_position:3(右上)に従って、出力領域の左側が捨てられます。 レベル3,2,1の場合、登録動画のサイズが出力動画より大きいので、crop_policy_ib:2(Fill)が適用されます。この場合、登録動画は元のアスペクト比を保たず、出力領域とぴったり合うように伸縮されます。

../_images/image12-ja.png

[例 6]

例3のcrop_inheritingを1にした場合の例になります。
(タイル種別:r レベル:1-4 登録動画サイズ:1920x1080)

条件

種別 属性
入力 登録動画サイズ 1920x1080 (アスペクト比 16:9)
出力 TileType R (アスペクト比 3:2)
Level 4,3,2,1 (解像度384x256, 288x192, 192x128, 96x64)
Policy crop_position 3: [右上]
padding_position 2: [左上]
crop_inheriting (複数の出力サイズに対して、タイル を同時生成する場合のポリシー) 1: [有効表示範囲をレベル毎に最適化]
crop_policy_ob (出力サイズが、入力サイズより 大きい場合の伸縮ポリシー) 3: [Dot by dot] 単純なパディング
crop_policy_ib (入力サイズが、出力サイズより 大きい場合の伸縮ポリシー) 3: [Dot by dot] 単純なクロップ
  • 384 x 256 (R Level 4) < 1920 x 1080 (登録動画サイズ)
  • 288 x 192 (R Level 3) < 1920 x 1080
  • 192 x 128 (R Level 2) < 1920 x 1080
  • 96 x 64 (R Level 1) < 1920 x 1080

この場合、レベル4,3,2,1のタイルを順に生成し、登録動画が全てのレベルの出力サイズより大きいので、crop_policy_ib:3(Dot by dot)が使用され、出力サイズに合わせて登録動画を切り取ります。この時、crop_position:3(右上)に従って、登録動画の右上を切り取ります。また、この時、crop_inheriting:1(有効表示範囲をレベル毎に最適化)に従って、各レベル毎の、出力領域のサイズに合わせて、切り取る範囲を個別に決定します。このため、例3では、各レベルの画像内容が同じでしたが、この例では、各レベルの画像内容が変化します。

../_images/image13-ja.png