spatial

次元 xywh (URL)

[2] 媒体素片次元 xywh は、 表示上の範囲を表します。

仕様書

意味

[3] この次元は、元の媒体の特定の画素の領域を表します >>1, >>4

[5] 領域の形状としては、長方形にのみ対応しています >>4

構文

[6] 値は、省略可能な単位と : の後に、 , で区切った4つのASCII数字列を続けたものです。 ASCII数字列は、それぞれ x 座標、y 座標、 幅、高さを表し、最低1文字必要です。 >>4 先導0も禁止されていません。 小数部は認められていません。

  1. ?
    1. 単位
    2. :
  2. +
    1. ASCII数字
  3. ,
  4. +
    1. ASCII数字
  5. ,
  6. +
    1. ASCII数字
  7. ,
  8. +
    1. ASCII数字

[7] 単位としては pixelpercent があり、それぞれ画素 (ピクセル) 単位の座標と百分率 (パーセント) を表します >>4。省略された場合の既定値は、画素です >>4

[9] いずれの単位でも xy がどちらも 0 の時、 画像の左上隅を表します。 >>4

[10] 百分率の場合、 x と幅は元の媒体の幅に対して、 y と高さは元の媒体の高さに対しての割合と解釈します >>4

[8] 画素座標は、資源次元アスペクト比clean aperture解像度その他を当該資源の形式の定義に基づき考慮した後に解釈されるものです。 動画データの次元から「正しい」次元に変換するに当たりどうアスペクト比を適用するか定義していない形式の場合には、 一方の次元は増加させ、他方は変化させない比率を適用しなければなりません。 >>4

[11] 単一のよく定義された画素解像度 (高さ) を持たない画像について、 画素単位で範囲を指定するべきではありません。 >>4

処理

[12] 画素単位で範囲が指定されている場合で、 ICO ファイルなど複数の解像度を持つ画像である時は、 媒体素片を無視しなければなりません >>4

[13] SVG のように scalable な時も無視するべきなのでしょうか?
[14] ICO が1つの解像度のデータだけを含んでいる時も無視するべきなのでしょうか?

[16] 値が構文的に正しくない時は、誤りであり、本次元の指定は無視するべきです >>15

[17] 媒体解像度が分かれば、値の妥当性を判断できます。 x の指定が媒体以上であるか、 y の指定が媒体高さ以上である (すなわち、 指定された範囲の左上隅媒体の外側を指している) なら、 誤りであり、本次元の指定は無視するべきです >>15

[18] x の指定が媒体より小さく、 y の指定が媒体の高さより小さいなら、 指定された範囲を表示します。ただし、 xw の指定のを超えるなら超えない範囲、 yh の指定の高さを超えるなら超えない範囲とします。 >>15

[19] 百分率によって指定された場合は、 xy はそれぞれ媒体高さで割って100をかけた値の floorwh はそれぞれ媒体高さで割って100をかけた値の ceil によって画素単位の値に変換し、適用します >>15

[20] 複数の動画トラックが含まれる場合には、すべての動画トラックに対して適用します >>15

レンダリング

[22] 指定した範囲をくりぬいて (crop) 表示することもできますし、 指定した範囲がどこであるかわかる形で全体を表示することもできます。 >>15

[23] Webブラウザーの既定の表示はくりぬいた表示であることが期待されています。 >>15

実装

[29] Webブラウザーの実装例は知られていません。

[30] Mozilla (Firefox) で実装の動きがありましたが、 自然消滅状態です。

[24] mozilla-central: netwerk/base/src/nsMediaFragmentURIParser.cpp@206bf1a98cd7 ( ( 版)) https://hg.mozilla.org/mozilla-central/file/tip/netwerk/base/src/nsMediaFragmentURIParser.cpp

[25] 790640 – add Media Fragments for images (spatial dimensions) ( ( 版)) https://bugzilla.mozilla.org/show_bug.cgi?id=790640

[26] Web 以外での言及例はいくつかありますが、活用の度合いは不明です。

[27] EPUB Region-Based Navigation 1.0 () http://www.idpf.org/epub/renditions/region-nav/epub-region-nav-20150826.html

[28] Presentation API 2.1.1 — IIIF | International Image Interoperability Framework () http://iiif.io/api/presentation/2.1/#segments

Segments of both static images and canvases may be selected by adding a rectangular bounding box after the URI. The fragment must take the form of #xywh= as per the example below where the four numbers are the x and y coordinates of the top left hand corner of the bounding box in the image or canvas, followed by the width and height. Thus the segment above is 300px wide, 50px high and starts at position 100,100. Note that only integers are allowed in this syntax, and this may limit accuracy of assignment to canvases with small dimensions.

http://www.example.com/iiif/book1/canvas/p1#xywh=100,100,300,50

メモ