Movatterモバイル変換


[0]ホーム

URL:


W3C

IMSC Hypothetical Render Model

W3C Recommendation

More details about this document
This version:
https://www.w3.org/TR/2024/REC-imsc-hrm-20240425/
Latest published version:
https://www.w3.org/TR/imsc-hrm/
Latest editor's draft:
https://w3c.github.io/imsc-hrm/spec/imsc-hrm.html
History:
https://www.w3.org/standards/history/imsc-hrm/
Commit history
Implementation report:
https://www.w3.org/wiki/TimedText/IMSC-HRM-1ED-Implementation-Report
Editor:
Pierre Lemieux
Feedback:
GitHub w3c/imsc-hrm (pull requests,new issue,open issues)
Errata:
Errata exists.

See alsotranslations.

Copyright © 2024World Wide Web Consortium.W3C®liability,trademark andpermissive document license rules apply.


Abstract

This specification specifies a Hypothetical Render Model (HRM) that constrains the presentation complexity of documents that conform to the Text Profiles specified in any edition of Internet Media Subtitles and Captions ([IMSC]).

The objective of the HRM is to allow subtitle and caption authors and providers to verify that the content they provide does not exceed defined complexity levels, so that playback systems can render the content synchronized with the author-specified display times.

The model is not intended as a specification of the processing requirements for implementations. For instance, while the model defines glyph cache for the purpose of modelling how the number of glyph drawing operations can be reduced, it neither requires the implementation of such a cache, nor models the sub-pixel glyph positioning and anti-aliased glyph rendering that can be used to produce text output.

Furthermore, the model is not intended to constrain readability complexity.

Status of This Document

This section describes the status of this document at the time of its publication. A list of currentW3C publications and the latest revision of this technical report can be found in theW3C technical reports index at https://www.w3.org/TR/.

This document was published by theTimed Text Working Group as a Recommendation using theRecommendation track.

The history of substantive changes made to this document is summarized atF.Summary of substantive changes.

W3C recommends the wide deployment of this specification as a standard for the Web.

AW3C Recommendation is a specification that, after extensive consensus-building, is endorsed byW3C and its Members, and has commitments from Working Group members toroyalty-free licensing for implementations. Future updates to this Recommendation may incorporatenew features.

This document was produced by a group operating under theW3C Patent Policy.W3C maintains apublic list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes containsEssential Claim(s) must disclose the information in accordance withsection 6 of theW3C Patent Policy.

This document is governed by the03 November 2023W3C Process Document.

1.Scope

This specification specifies a Hypothetical Render Model (HRM) that constrains the presentation complexity of aIMSC Document Instance.

2.Documentation Conventions

This specification uses the same conventions as [IMSC].

3.Terms and Definitions

character. The character code property of a [TTML2]Character Information Item.

Note

The termcharacter is for practical purposes the same as acode point, as defined by [i18n-glossary].

empty ISD. AnIntermediate Synchronic Document with nopresented region.

non-empty ISD. AnIntermediate Synchronic Document with at least onepresented region.

error. A failure to conform to the constraints defined by this specification.

grapheme. As defined by [i18n-glossary] atgrapheme.

Intermediate Synchronic Document. As defined by [TTML2] atIntermediate Synchronic Document.

IMSC Document Instance. A [TTML2]Document Instance that conforms to the Text Profile defined in any edition of [IMSC].

presentation processor. As defined by [TTML2] atpresentation processor.

presented region. As defined by [IMSC] atpresented region.

Related Video Object. As defined by [IMSC] atRelated Video Object.

Root Container Region. As defined by [TTML2] atRoot Container Region.

4.Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key wordSHALL in this document is to be interpreted as described inBCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

Unless noted otherwise, this specification applies to anIMSC Document Instance.

AIMSC Document Instanceconforms to the Hypothetical Render Model if the sequence ofIntermediate Synchronic Documents generated from it using theIntermediate Synchronic Document Construction procedure specified in [TTML2] is processed withouterror by the HRM algorithm specified at7.Algorithm.

Note

Applying the Hypothetical Render Model to aDocument Instance that is not anIMSC Document Instance yields results that might not reflect the complexity of theDocument Instance.

Note

In applications where sequences ofDocument Instances can be resolved into a single sequence ofIntermediate Synchronic Documents that do not overlap each other temporally, conformance can be determined based on a synthesisedDocument Instance that generates an equivalent sequence ofIntermediate Synchronic Documents, where minimal equivalence is limited to the content and metrics that are used to identifyerrors.

5.Introduction

This section is non-normative.

5.1Objective

The objective of the HRM is to allow subtitle and caption authors and providers to verify that the content they provide does not exceed defined complexity levels, so that playback systems can render the content synchronized with the author-specified display times.

Playback systems include desktop computers, mobile devices and home theatre devices.

Note

The HRM is not a new concept: a version of it has been included in all versions and editions of [IMSC]. This specification extracts the HRM into a standalone document to simplify maintenance. The First Public Working Draft of this specification essentially included the HRM as it was specified in [ttml-imsc1.2]. Substantive changes made since then are summarized inF.Summary of substantive changes.

5.2Why limit the complexity ofIMSC Document Instances?

IMSC Document Instances are typically authored by a first party and rendered by a second party. Unless both parties agree on the maximum complexity of aIMSC Document Instance, it is likely that:

The HRM prevents incomplete presentations of IMSC Instance Documents.
Figure1 The HRM allows authors and implementers ofpresentation processors to agree on the maximum complexity ofIMSC Document Instances.

As illustrated inFigure1, by defining a method (the HRM) to compute a proxy for the complexity of anIMSC Document Instance and specifying a complexity limit based on such proxy:

5.3Why is the HRM needed to limit complexity?

The HRM supplements the syntactic and structural constraints imposed in [IMSC] by imposing constraints on the contents of the presentation.

Because of the temporal and spatial variability of subtitles and captions across types of content, territories and languages, it is not possible to limit the complexity of anIMSC Document Instance using only average values.

An average-based constraint of 840characters per minute could be met in multiple ways, with different rendering complexities. Contrast two potential approaches:

In the first, 5characters are presented for a fraction of a second, followed by 835characters that are then presented for over 59 seconds. This generates a high rendering complexity for the 835characters, since there is only a brief time available to paint them.

In the second, 210characters are painted every 15 seconds, giving 15 seconds to prepare for the next presentation. This has a much lower rendering complexity.

The HRM achieves a more accurate representation of the complexity of anIMSC Document Instance at any given time by taking into account its past complexity in addition to its instantaneous complexity. The same approach is commonly used in video to limit bitstream complexity, e.g., the Hypothetical Reference Decoder (HRD) specified in [iso14496-10].

5.4How does the HRM measure and limit complexity?

The HRM defines a simple model for the rendering of subtitles and captions, and uses the time it takes to render subtitles and captions according to that model as a proxy for the complexity of the subtitles and captions. Rendering includes drawing region backgrounds, rendering text and copying text. Complexity is then limited by requiring that the time to render one subtitle or caption is shorter than the time elapsed since the previous subtitle or caption.

This simple model requires only a static analysis of theIMSC Document Instance, requires no fetching of external resources and does not require theIMSC Document Instance to be actually rendered. Several simplifying assumptions are made to achieve this. For example, the model assumes that eachcharacter is drawn independently, and accounts for that assumption being, in many cases, false, by assigning different render speeds for different scripts. In general the model is not intended to capture the actual time that an implementation takes to render subtitles and captions, but rather scale with it: a document that is twice as complex according to the model would require roughly twice as many resources to actually render.

5.5Where is the HRM used?

The HRM is typically used prior to distribution of theIMSC Document Instance to the end-user, as an integral part of authoring and as a quality check before distribution.

When the HRM is used, the consequences of anIMSC Document Instance exceeding the HRM limits depends on the context:

The HRM is not intended to be used when theIMSC Document Instance is presented to end-users since:

6.Architecture

This section is non-normative.

Hypothetical Render Model
Figure2 Hypothetical Render Model

The HRM, illustrated inFigure2, operates on a sequence ofIntermediate Synchronic Documents Ei:

The model specifies a (hypothetical) time required for completely painting anon-empty ISD as a proxy for complexity. Painting includes clearing the Back Buffer, drawing region backgrounds, rendering glyphs, and copying glyphs. Complexity is then limited by requiring that painting ofnon-empty ISD En begins no earlier than the presentation time of the previous non-emptynon-empty ISD Em and completes by the presentation time of En.

In contrast, there is no complexity involved connecting and disconnecting the Front Buffer from the display, and thus no complexity associated withempty ISDs.

Whenever applicable, constraints are specified relative toRoot Container Region dimensions, allowing subtitle sequences to be authored independently of theRelated Video Object resolution.

To enable scenarios where the same glyphs are used in multiple successiveIntermediate Synchronic Documents, e.g. to convey a CEA-608/708-style roll-up (see [CEA-608] and [CEA-708]), a Glyph Cache stores rendered glyphs acrossIntermediate Synchronic Documents, allowing glyphs to be copied into the Presentation Buffer instead of rendered, a more costly operation.

Note

The HRM permits a maximum rate of 12Intermediate Synchronic Documents per second. This is ultimately limited by theBDraw parameter and is intended to capture processing and presentation overhead. When converting a [CEA-608] signal to IMSC, it is therefore impossible to createIMSC Document Instances that generate anIntermediate Synchronic Document for every [CEA-608] packet, which are sampled at the video field rate. It is instead preferable to coalesce sequences of [CEA-608] packets into longer groupings, such as words, phrases, complete lines or paragraphs before creating anIMSC Document Instance, and let thepresentation processor perform any desired animation, e.g., typewriter effect.

Each of the termsPresentation Compositor, Glyph Renderer and Glyph Copier is defined by the algorithmic requirements defined for it in this specification.

7.Algorithm

The HRM algorithm processes a sequence ofIntermediate Synchronic Documents Ei.

Each successivenon-empty ISD En is rendered by thePresentation Compositor using the following steps in order:

  1. clear the pixels of the entireRoot Container Region;
  2. paint, according to stacking order, all background pixels for each region;
  3. paint all pixels for background colors associated with the text subtitle content; and
  4. paint the text subtitle content.

ThePresentation Compositor begins rendering En:

Note

ThePresentation Compositor never begins rendering an ISD more thanIPD ahead of its presentation time.

ISD rendering and presentation times.
Figure3 illustrates the rendering and presentation ofIntermediate Synchronic Documents, where the hatched areas indicate time spent drawing the associatedIntermediate Synchronic Document. For example, thePresentation Compositor begins rendering E1 at the presentation time of E0 since E1 is not anempty ISD. In contrast, thePresentation Compositor begins rendering E5 at the presentation time of E5 minus IPD since (i) both E3 and E4 areempty ISDs and the presentation time of E5 minus that of E2 is greater than IPD. Furthermore, E2 remains in the Front Buffer until the presentation time of E5 but is not presented while E3 and E4 are presented, during which time the Front Buffer is not available for display. Finally, thePresentation Compositor begins rendering E0 at the presentation time of E0 minus IPD since E0 is the firstIntermediate Synchronic Document.

The duration DUR(En) for painting anIntermediate Synchronic Document En in the Back Buffer is given by:

DUR(En) =S(En) /BDraw +DURT(En)

where

The contents of the Back Buffer are transferred instantaneously to the Front Buffer at the presentation time of anon-empty ISD En, making the latter available for display.

The Front Buffer is:

Note

It is possible for the contents of the Front Buffer to never be displayed. This can happen, for example, if the Back Buffer is copied twice to Front Buffer between two consecutive video frame boundaries of theRelated Video Object.

ItSHALL be anerror for thePresentation Compositor to fail to complete painting pixels fornon-empty ISD En before its presentation time.

The following table specifies the values ofIPD andBDraw.

ParameterInitial value
Initial Painting Delay (IPD)1 s
Normalized background drawing performance factor (BDraw)12 s-1
Note

BDraw effectively sets a limit on fillings regions - for example, assuming that theRoot Container Region is ultimately rendered at 1920×1080 resolution, aBDraw of 12 s-1 would correspond to a fill rate of 1920×1080×12/s=23.7×220pixels s-1.

Note

IPD effectively sets a limit on the complexity of any givenIntermediate Synchronic Document.

8.Paint Regions

The total normalized drawing areaS(En) forIntermediate Synchronic Document En is given by:

S(En) =CLEAR(En) +PAINT(En )

whereCLEAR(En) = 1.

Note

To ensure consistency of the Back Buffer, a newIntermediate Synchronic Document requires clearing of theRoot Container Region.

PAINT(En) is the normalized area to be painted for all regions that are used inIntermediate Synchronic Document En according to:

PAINT(En) = ∑Ri∈RpNSIZE(Ri) ∙NBG(Ri)

where Rp is the set ofpresented regions in theIntermediate Synchronic Document En.

NSIZE(Ri) is given by:

NSIZE(Ri) = (width of Ri ∙ height of Ri ) ÷ (Root Container Region height ∙Root Container Region width)

Example 1
For a region Ri in withtts:extent="250px 50px" within aRoot Container Region withtts:extent="1920px 1080px",NSIZE(Ri) ≈ 0.00603.

NBG(Ri) is the total number of elements within the tree rooted at region Ri that satisfy the following criteria:

Note

An element and its parent that satisfy the criteria above and share identical computed values oftts:backgroundColor are counted as two distinct elements for the purpose of computingNBG(Ri).

Note

Theset element is not included in the computation ofNBG(Ri). While it can affect the computed values oftts:backgroundColor, it is removed duringIntermediate Synchronic Document construction.

9.Paint Text

In the context of this section, aglyph is a tuple consisting of (i) onecharacter and (ii) the computed values of the following style properties:

Note

In the case where a property isprohibited in a profile of [IMSC], the computed value of the property specified in [ttml2] can be used.

Note

The Hypothetical Render Model defines a one-to-one mapping betweencharacters andglyphs (using the definition of glyph from this document). While a one-to-one mapping betweencode points and glyphs (using the definition of glyph from [i18n-glossary]) is common in some scripts (such as the Latin script), the actual relationship is more complex. Some scripts, such as Arabic, use different glyphs for a given character, depending on its position in a word. Some scripts require combining marks or use a sequence of code points to form a glyph. Cases exist where a given sequence of code points can have different glyph representations depending on context. This complexity is accounted for by reducing the performance of the Glyph Cache for scripts where a one-to-one mapping is not the general rule (seeGCpy below).

Iterating through eachcharacter in the character content of eachpresented region ofIntermediate Synchronic Document En, for theglyph associated with thatcharacter, thePresentation Compositor:

Example of<a>Presentation Compositor</a> Behavior for Text Rendering
Figure4 Example ofPresentation Compositor Behavior for Text Rendering

The durationDURT(En) for rendering the text of anIntermediate Synchronic Document En in the Back Buffer is as follows:

DURT(En) = ∑gi ∈ ΓrNRGA(gi) /Ren(gi) + ∑gj ∈ ΓcNRGA(gj) /GCpy

where

The Rendered Glyph AreaNRGA(gi) of aglyph gi is given by:

NRGA(gi) = (fontSize of gi as a decimal fraction ofRoot Container Region height)2

Note

NRGA(gi) does not take into account decorations (e.g. underline), effects (e.g. outline) or actual typographical glyph aspect ratio. An implementation can determine an actual cache size needs based on worst-case glyph size complexity.

At the presentation time ofIntermediate Synchronic Document En, perform the following steps in order:

  1. purge from the Glyph Cache allglyphs not flaggedretain; and
  2. remove theretain flag from all remainingglyphs in the Glyph Cache.

ItSHALL be anerror if the sum ofNRGA(gi) over allglyphs flaggedretain in the Glyph Cache is at any time larger than the Normalized Glyph Cache Size (NGBS).

Note

The abbreviation NGBS reflects the name of the Glyph Cache from earlier editions of the specification.

Unless specified otherwise, the following table specifies values ofGCpy,Ren andNGBS.

Normalized glyph copy performance factor (GCpy)
Script property, as defined at [UAX24], for thecharacter of giGCpy
Latin,Greek,Cyrillic,Hebrew orCommon12
any other value3
Text rendering performance factor Ren(Gi)
Script property, as defined at [UAX24], for thecharacter of giRen(Gi)
Han,Katakana,Hiragana,Bopomofo orHangul0.6
any other value1.2
Normalized Glyph Cache Size (NGBS)
1
Note

WhileDURT(En) is not affected, the choice of font by thepresentation processor can increase actual rendering complexity at time of presentation. For instance, a cursive font might select different glyphs for a givengrapheme (in order to maintain joining or for the start/end of the word) even in theLatin script. Conversely the rendering of scripts that fall in theany other value category can in practice achieve performance comparable to, say, theLatin script.

Example 2
Setting a Normalized Glyph Buffer Size effectively sets a limit on the total number of distinctglyphs present in any givenIntermediate Synchronic Document En. For example, assuming a maximum Normalized Glyph Buffer Size of 1 and the defaulttts:fontSize of1c are used, the font size relative to theRoot Container Region height is 1/15 , and the maximum number of distinct glyphs that can be cached is 1÷(1÷15)2=225 glyphs.
Example 3
GCpy effectively sets a limit on animating text. For example, assuming that theRoot Container Region is ultimately rendered at 1920×1080 resolution and no regions need to have background color painted (so only aCLEAR(En) operation is required for the normalized drawing area for theIntermediate Synchronic Document), aGCpy andBDraw of 12 s-1 would mean that a group of 160glyphs with atts:fontSize equal to 5% of theRoot Container Region height could be moved at most approximately 12 s-1 ÷ (1 + ( 160 × 0.052 )) = 8.6 times per second.
Example 4
Ren(Gi) effectively sets a limit on the text rendering rate. For example, assuming that theRoot Container Region is ultimately rendered at a 1920×1080 resolution, aRen(Gi) of 1.2 s-1 would mean that at most 120glyphs with a fontSize of 108 px (10% of 1080 px andNRGA(gi) = 0.01) could be rendered every second.

A.Index

A.1Terms defined by this specification

A.2Terms defined by reference

B.Accessibility Considerations

This section is non-normative.

B.1Impact of non-conformance

In a system whereIMSC Document Instances are expected to conform to the Hypothetical Render Model, anIMSC Document Instance that does not conform to the Hypothetical Render Model might negatively impact accessibility during presentation of theIMSC Document Instance and its associated content.

B.2User customisation of presentation

This specification does not attempt to model any additional complexity forpresentation processors that might arise due to the user customisation of presentation, for example as described by [media-accessibility-reqs]; such user customisation is not defined by [IMSC].

Implementers ofpresentation processors that support user customisation of presentation should ensure that those processors are able to presentIMSC Document Instances that conform to the Hypothetical Render Model, even if the customisation effectively increases the complexity of presentation.

C.Privacy and Security Considerations

This section is non-normative.

C.1General

This specification has no inherent security or privacy implications.

The algorithm defined within this specification is used for static analysis of a resource. This specification does not define any protocol or interface for obtaining such a resource, and it does not define any interface for exposing the results of the analysis. No personal or sensitive information is processed as part of the algorithm, other than any such information that might happen to be part of theIMSC Document Instance being analysed. No information is exposed by the algorithm to any origin. No scripts are loaded or processed as part of the algorithm and no links to external resources are dereferenced.

C.2Implementation considerations

Implementers of this specification should capture and meet privacy and security requirements for their intended application. For example, an implementation could, when reporting on anerror encountered during processing of anIMSC Document Instance, include a section of the content of anIMSC Document Instance to elaborate the error. If that content could include sensitive or personal information, the implementation should ensure that any such output is provided using appropriately secure protocols. No such reporting is defined or required by this specification.

D.Error Reporting and Exception Handling

This section is non-normative.

D.1Error Reporting

This specification does not define how, or even if,errors should be reported.

For example, an implementation could stop on the first error encountered, or continue to process theIMSC Document Instance and report every error. Or an implementation could exit with an appropriate status code without reporting any details at all.

D.2Exception Handling

This specification does not define any runtime exceptions, or how such exceptions should be handled.

E.Acknowledgements

This section is non-normative.

The editor acknowledges the current and former members of the Timed Text Working Group, the members of otherW3C Working Groups, and industry experts in other forums who have contributed directly or indirectly to the process or content of this document.

The editor wishes to especially acknowledge the following contributions by members: Nigel Megitt (British Broadcasting Corporation) and Atsushi Shimono (W3C).

The editor also wishes to acknowledge Cyril Concolato (Netflix), Michael Dolan (Invited Expert) and Paul Londino (Warner Bros. Discovery) for contributing content producing implementations to the implementation report.

F.Summary of substantive changes

This section is non-normative.

F.1Changes since theFirst Public Working Draft

Reduced complexity of empty ISD to zero

In order to allow short (less than 100 ms) gaps between subtitles, which is common practice, the complexity of presentingempty ISDs has been reduced to zero: instead of being drawn into the Back Buffer, anempty ISD merely disconnects the Front Buffer from the display while it is presented.

Details at:https://github.com/w3c/imsc-hrm/issues/49

Applied complexity of clearing the Back Buffer to all non-empty ISDs

The firstIntermediate Synchronic Document is no longer treated differently and incurs a cost for clearing the Back Buffer.

Details at:https://github.com/w3c/imsc-hrm/issues/49

Clarified the mapping betweenText rendering performance factor values and script values

Details at:https://github.com/w3c/imsc-hrm/issues/38

Fixed an incorrect script value in the specification ofGCpy

Details at:https://github.com/w3c/imsc-hrm/issues/39

F.2Changes since thefirst Candidate Recommendation

Removed support for Image Profile

Support for IMSC Image Profile, which was an at-risk feature, was removed due to insufficient demonstrable implementation experience.

Details at:https://github.com/w3c/imsc-hrm/issues/63

G.References

G.1Normative references

[i18n-glossary]
Internationalization Glossary. Richard Ishida; Addison Phillips. W3C. 21 March 2024. W3C Working Group Note. URL:https://www.w3.org/TR/i18n-glossary/
[IMSC]
TTML Profiles for Internet Media Subtitles and Captions. World Wide Web Consortium (W3C). URL:https://www.w3.org/TR/ttml-imsc/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL:https://www.rfc-editor.org/rfc/rfc2119
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL:https://www.rfc-editor.org/rfc/rfc8174
[TTML2]
Timed Text Markup Language 2 (TTML2) (2nd Edition). Glenn Adams; Cyril Concolato. W3C. 9 March 2021. W3C Candidate Recommendation. URL:https://www.w3.org/TR/ttml2/
[UAX24]
Unicode Script Property. Ken Whistler. Unicode Consortium. 14 August 2023. Unicode Standard Annex #24. URL:https://www.unicode.org/reports/tr24/tr24-36.html

G.2Informative references

[CEA-608]
CTA 608-E, Line-21 Data Services. Consumer Technology Association. URL:https://www.techstreet.com/standards/cta-608-e-r2014?product_id=1815447
[CEA-708]
CTA 708-D, Digital Television (DTV) Closed Captioning. Consumer Technology Association. URL:https://www.techstreet.com/standards/cta-708-d?product_id=1815448
[iso14496-10]
Information technology — Coding of audio-visual objects — Part 10: Advanced video coding. ISO/IEC. Under development. URL:https://www.iso.org/standard/87574.html
[media-accessibility-reqs]
Media Accessibility User Requirements. Shane McCarron; Michael Cooper; Mark Sadecki. W3C. 3 December 2015. W3C Working Group Note. URL:https://www.w3.org/TR/2015/NOTE-media-accessibility-reqs-20151203/
[ttml-imsc1.2]
TTML Profiles for Internet Media Subtitles and Captions 1.2. Pierre-Anthony Lemieux. W3C. 4 August 2020. W3C Recommendation. URL:https://www.w3.org/TR/ttml-imsc1.2/


[8]ページ先頭

©2009-2025 Movatter.jp