[imsc] HRM and screen clearing after empty ISD (#575)

cconcolato has just created a new issue for https://github.com/w3c/imsc:

== HRM and screen clearing after empty ISD ==
I've tried to run one example of subtitles in https://github.com/sandflow/imscHRM and ran into the following problem.  Consider the following case:
```
<p xml:id="subtitle3" begin="20.062s" end="22.940s" region="region1" style="style1">このトランプ<br/>おしっこの臭いがする</p>
<p xml:id="subtitle4" begin="23.023s" end="24.024" region="region1" style="style1">嗅いでみて</p>
```
imscHRM produces:
```
ERROR:imschrm.hrm:Rendering time exceeded at 23.023s (doc #7)
  available time: 0.083s | HRM time: 0.101
  Glyph copy count: 0 | render count: 5 | Background draw count: 0

Validation failed
```
The XML produces at least 3 ISD:
* one from 20.062s to 22.940s
* one from 22.940s to 23.023s (i.e. 2-frame duration at 24fps), empty ISD
* one from 23.023s to 23.023s

After discussion with @palemieux it seems that the problem is that the HRM always assumes that a clear operation has to be performed prior to painting the new ISD text. The IMSC spec says:

> DUR(En) = S(En) / BDraw + DURT(En) + DURI(En)
> S(En) = CLEAR(En) + PAINT(En )
> where CLEAR(E0) = 0 and CLEAR(En | n > 0) = 1, i.e. the Root Container Region in its entirety.

In the above case, ISD2 already has cleared the screen, therefore there should be no need to clear the screen again to paint ISD3.

Please view or discuss this issue at https://github.com/w3c/imsc/issues/575 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 12 August 2021 22:18:04 UTC