throbber
an/st/in
`
`
`
`'s'nezeor \|l\\\l\|\\|\\\\|\l\\\\\\|\|\l\\\\\l\!\\0.Ld
`
`wt-IT/I/:L$K,0—V
`
`PROVISIONAL APPLICATION COVER SHEET
`This is a request for filing a PROVISIONAL APPLICATION under 37 CFR §l.53 (c).
`
`Attorney Docket No.: 5266-06200
`
`
`
`a
`
`T“'-«.m..P
`
`
`
`04/19/02
`
`31036u.s.
`
`60/373ee3”°IIIIHIIll!lllllllllllllflllllHllllllI
`
`
`LICANT(s)
`INVENTOR(s)/APP
`RESIDENCE (City and either State or Foreign Country)
`“““"“E
`
`
`INITIAL
`
`
`
`
`
`Illllllll
`
`jj
`
`Naemue. IL
`j Losmos, cA
`j Pans,
`j Naervme, IL
`j Redwooacu ,cA
`j samacramt cA
`
`
`
`
`
`CERTIFICATE OF EXPRESS MAIL
`
`
`
`UNDER 37 CFR. § 1.10
`
`
`
`
`
`“Express Mail” label number:
`EL 849601149 US
`
`DATE OF DEPOSIT:
`‘
`I hereby certify that this paper or fee is being deposited with the
`United States Postal Service “Express Mail Post Office to
`Addressee” Service Under 37 C.F.R. §1.1o on the date indicated
`above and is addressed to:
`BOX PROVISIONAL APPLICATION
`Assistant Commissioner for Patents
`
`TITLE OF THE INVENTION
`(280 characters max)
`SUPPORTING COMMON INTERACTIVE
`TELEVISION FUNCTIONALITY
`THROUGH PRESENTATION ENGHVE
`SYNTAX
`CORRESPONDENCE ADDRESS
`PH’ (512) 476- 14,00
`ROW D- Rankln
`Conley, Rose & Tayon
`P.O. Box 398
`ZIP CODE
`78767-0398
`
`
`
`
`ashington, DC. 202312%
`
`Derrick Brown
`
`
`
`
`
`
`
`ENCLOSED APPLICATION PARTS (check all that apply)
`Number of pages
`92
`
`COUNTRY
`U.S.A.
`
`
`
`
`
`CITY, STATE
`Austin, Texas
`
`
`
`
`|Z[
`
`Specification
`
`
`
`
`
`[2]
`
` METHOD OF PAYMENT (check one)
`A Fee Authorization is enclosed to cover the Provisional filing fees
`
`M The Commissioner is hereby authorized to charge filing fees and credit
`Deposit Account Number:
`$160.00
`PROVISIONAL FILfl\TG FEE AMOUNT:
`
`The invention was made by an agency of the United States Government or under a contract with an agency of the United States
`Govemment>
`
`501505/5266-06200/ARDR
`
`
`
`
`
`
`
`M No.
`
`I]
`
`Yes, the name of the U.S. Government agency and the Government contract number are:
`
`_
`Respectfully submittedefmw
`‘;t
`Signature
`, /I Date
`Typed or Printed Name: Rog D. Rankin
`Registration No.: 47,884
`
`
`
`I
`
`l (1
`
`I -5 7/
`
`I]
`
`Additional inventors are being named on separately numbered sheets attached hereto
`
`PROVISIONAL APPLICATION FILING ONLY
`
`Apple Ex. 1103, Page 1 of 94
`
`Apple Ex. 1103, Page 1 of 94
`
`

`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`Group Art Unit: Unknown
`
`Examiner: Unknown
`
`Atty. Dkt. No.: 5266-06200
`



`
`§ §
`
`CERTii:i:§§zF3,i)
`Express Mail Label No,: L 849601149 US
`
`
`
`States Postal Service “Express Mail Post Office to Addressee” Service.
`Under 37 C.F.R. §1.10 on the date indicated above and is addressed to.
`ASS‘ST“T§;?gg§:1g§§§;3RPATENTS —
`
`Derrick Brown
`



`
`§ §
`


`
`§ §
`

`
`In re Application of:
`
`Delpuch, er al.
`
`Filed: Concurrently Herewith
`
`SUPPORTING COMMON
`
`FU.N
`PRESENTATION ENGINE
`SYNTAX
`
`FEE AUTHORIZATION
`
`Commissioner for Patents
`
`Washington, D.C. 20231
`
`The Commissioner is hereby authorized to charge the following fee to Conley, Rose &
`
`Tayon, P.C. Deposit Account Number 501505/5266-06200/RDR:
`
`Fee:
`
`Amount:
`
`Provisional Application Filing Fee
`
`$160.00
`
`Attorney Docket No.2 5266-06200
`
`The Commissioner is also authorized to charge any extension fee or other fees which may
`
`be necessary to the same account number.
`
`Respectful
`
`mitted,
`
`ff Rory D. Rankin
`L Reg. No. 47,884
`Attorney for Applicants
`
`Conley, Rose & Tayon, P.C.
`P.O. Box 398
`
`Austin, Texas 78767-0398
`
`Ph: (512) 476-1400
`
`Date:
`
`l
`
`‘O’1/
`
`Apple Ex. 1103, Page 2 of 94
`
`
`
`
`
`QJ.d'S'fl8363f‘
`
`an/61/inllllIlllllllllllIIIIHIIIIMIIIHIIIH
`
`
`
`5
`352.
`
`Apple Ex. 1103, Page 2 of 94
`
`

`
`Supporting Common Interactive Television Functionality
`
`through Presentation Engine Syntax
`
`Alain Delpuch
`
`James Whitledge
`
`Jean—Rene Menand
`
`Emmanuel Barbier
`
`Kevin Hausman
`
`Debra Hensgen
`
`Danny Su
`
`
`
`Page 1
`
`Apple Ex. 1103, Page 3 of 94
`
`Apple Ex. 1103, Page 3 of 94
`
`

`
`0 TABLE OF CONTENTS
`
`0 Table Of Contents .......................................................................................................... .. 2
`
`1 Introduction .................................................................................................................... .. 4
`
`2 Controlling the Display and Playing of Video, Graphics, and Audio in HTML/JS ...... .. 5
`2.1 Color and transparency ........................................................................................... .. 5
`2.1.1 The clut property.............................................................................................. .. 7
`2.1.2 Alpha Properties............................................................................................... .. 8
`2.1.3 Problems with some lower-end receivers ...................................................... .. 10
`
`2.2 When to render the graphics ................................................................................. .. 10
`2.3 Video positioning and resizing ............................................................................. .. 11
`2.4 Support for MPEG stills........................................................................................ .. 12
`2.5 Control of Audio ................................................................................................... .. 13
`
`3 Tuning and Stream Selection ....................................................................................... .. 14
`3.1 Stream Selection Events ....................................................................................... .. 14
`
`3.2 URL which can be used for tuning and stream selection...................................... .. 14
`3.2.1 A/V MIME types associated with the broadcast: url ..................................... .. 15
`3.2.2 Examples ........................................................................................................ .. 16
`3.3 Simple Tuning and Stream Selection .................................................................... .. 17
`3.3.1 Usage of the URLs for Simple Tuning and Stream Selection ....................... .. 17
`3.4 Powerful Stream Control via the Pipes Javascript Object .................................... .. 17
`3.4.1 The Pipes Collection ...................................................................................... .. 18
`3.4.2 The TvComponent object .............................................................................. .. 19
`4 Obtaining Applications and Data ................................................................................. .. 21
`4.1 Access to Broadcast (non-AV) Resources ............................................................ .. 21
`4.1.1 Access using the Current Server Protocol ..................................................... .. 21
`Examples ..................................................................................................................... .. 22
`4.1.2 Http: URL Scheme and the broadcast stream ................................................ .. 23
`4.1.3 Relative URLs ................................................................................................ .. 24
`
`4.2 Modem Control ..................................................................................................... .. 25
`5 User Interaction ............................................................................................................ .. 27
`
`5.1 Navigation ............................................................................................................. .. 27
`5.1.1 Focus & focus highlight ................................................................................. .. 27
`5.2 Navigation properties ............................................................................................ .. 27
`5.3 Virtual Keyboard control ...................................................................................... .. 29
`5.4 Key Input .............................................................................................................. .. 30
`5.5 Key codes .............................................................................................................. .. 30
`5.6 Event handlers ....................................................................................................... .. 32
`
`ANNEX A. Fonnal syntax of Broadcast URL Scheme .................................................. .. 33
`ANNEX B: SUPPLEMENT - Supporting Common Interactive Television Functionality
`through Presentation Engine Syntax ............................................................................... .. 34
`ANNEX C: Positioning of Graphics on top of Video ..................................................... .. 80
`Positioning of Graphics on top of Video .................................................................... .. 80
`ANNEX D: Authoring for showstoppers and prefetch priorities in declarative content .. 83
`1 Background .................................................................................................................. .. 84
`2 Showstopper and prefetch requirements ...................................................................... .. 85
`
`
`
`jg
`
`1‘
`
`Page 2
`
`Apple Ex. 1103, Page 4 of 94
`
`Apple Ex. 1103, Page 4 of 94
`
`

`
`3 Current support within DASE and DVB MHP ............................................................ .. 86
`3.1 Support Within DASE ........................................................................................... .. 86
`3.2 Support within DVB-MHP ................................................................................... .. 86
`4 Proposal for authoring.................................................................................................. .. 87
`4.1 Showstoppers ........................................................................................................ .. 87
`4.1.1 Minimal proposal ........................................................................................... .. 87
`4.1.2 Additional proposed enhancements ............................................................... .. 87
`4.2 Prefetch prioritization ........................................................................................... .. 88
`ANNEX E: Extended Uniform Resource Identifiers for Television Broadcasts ............ .. 89
`
`
`
`Page 3
`
`Apple Ex. 1103, Page 5 of 94
`
`Apple Ex. 1103, Page 5 of 94
`
`

`
`
`
`1 INTRODUCTION
`
`This document includes a description of how authors may use HTML, Javascript,
`or other languages with television extensions to create viable interactive television
`content.
`
`
`
`Page 4
`
`Apple Ex. 1103, Page 6 of 94
`
`Apple Ex. 1103, Page 6 of 94
`
`

`
`
`
`2 CONTROLLING THE DISPLAY AND PLAYING OF VIDEO,
`GRAPHICS, AND AUDIO IN HTML/JS
`
`This section describes how graphics can be positioned and sized on top of video, how the
`video itself can be positioned and sized, and how the audio can be controlled.
`Transparency between the graphics plane and the video plane is also covered in this
`section. Additionally, palette-based color is defined in this section because it is required
`for HTML user agents that execute on the lower end set-top boxes. Also, because the
`MPEG I-Frame is generally rendered in the Video plane, its use is documented here as
`well.
`
`TV middleware should support multiple graphics and Video layers. Digital television
`differs from the PC environment in that the hardware is configured so that there is a
`bottommost layer which is used to display video, and an interactive layer on top of that,
`which is used to display text and graphics. The rendering of video, both stills (e.g., 1-
`frames) and in—motion video, is currently always supported by a hardware MPEG
`decoder. Although this document does not depend upon the decoding occurring in
`hardware, it does assume that there is a hard limit on the number of MPEG streams/stills
`that can be simultaneously rendered in real-time.
`
`There typically exists a layer on top of the OSD layer called the subtitle layer.
`Manipulation of the content of the subtitle layer is delayed until a later version of this
`document.
`
`There may also be a layer logically lying between the bottommost layer and the
`interactive layer called the multi-plane graphics layer. The multi-plane graphics layer is
`used to display still pictures, for example, to display JPEG images or MPEG images.
`This version of the document provides some support for MPEG images in this layer as
`documented under the section on MPEG I-frames below; however, the transparency
`between this layer and other layers may not be supportable on the lowest end receivers.
`
`
`
`2.1 Color and transparency
`
`Lower end set-top boxes do not have sufficient memory to support true color; therefore, a
`palette-based model is useful in such receivers. With a palette based model, the color of
`a pixel of an image or the color corresponding to characters of text is represented by an
`index into a color palette. Different content authors can then choose different sets of hues
`to place in their palette, thus lessening the restrictions upon creators while still
`minimizing the memory impact. The actual colors in a palette are typically represented
`as 48-bit numbers, the first three of those numbers representing the actual color and the
`fourth of the numbers representing the amount of transparency in the color. There are
`two different color hyperplanes, one known as RGB, which is commonly used for
`computer terminals and printers and the other is known as YUV, traditionally used for
`television. In a system where the number of colors supportable is limited and only a
`
`Page 5
`
`Apple Ex. 1103, Page 7 of 94
`
`Apple Ex. 1103, Page 7 of 94
`
`

`
`single application can run at a time, having the application declare its own color palette
`works well. However, in a system where multiple applications can run simultaneously, if
`each application declares its own color palette the viewer experience can be disturbing,
`particularly if both applications attempt to use different parts of the screen at the same
`time. In a system where there is sufficient memory to support true color, multiple
`applications can share the screen with no problem because the fixed color palette is large
`enough to accommodate the multiple different hues required by each application.
`Therefore, HTML user agents should support, when possible, true color. When memory
`constraints are such that true color is not supportable, they may support a combination
`fixed-variable palette, where the variable components are specified by the application.
`Depending upon the implementation, the first m of n colors may be fixed, with the 0m
`color being fully transparent. When there are 8 bits available for color (256 color
`palette), the first 188 colors may be as specified in the DVB MHP color palette. The
`remaining colors may be taken from the first colors specified by the color palette
`accompanying the image; hence an application content designer may ensure that the most
`important colors are placed first into the palette.
`If it is necessary to support multiple
`applications, each of which brings its own color palette, then the system may choose to
`place into the palette a mixture of the first colors in each of the application/image specific
`palettes. Therefore, pop-up applications, for example, may be written using only the
`fixed colors. Similarly, any time it is expected that multiple images will be sharing the
`screen, the author of those applications may get best results by using only the fixed colors
`in one of the images or the same palette for both of the images. The description of how
`an application identifies its palette is provided in the next sub-section entitled “The clut
`property.”
`
`Transparency between the graphics and video plane is extremely important in interactive
`television, as the viewer often wants to be able to see the video that is running under the
`interactive text or images. Since the underlying video is opaque, if the Porter-Duff rule
`were used for composing the graphics and video plane, the video would show through the
`graphics when the graphics are transparent. The Porter-Duff SRC rule is easy to compute
`because the transparency of one object over top of another chooses the alpha
`(transparency) value of the object on top as the transparency of the composed objects.
`This result in some cases may appear somewhat un-natural looking; however, graphic
`artists are accustomed to planning their layout with this rule in mind.
`
`Standards such as DVB MHP specify that the SRC-Over rule is the default rule for
`composing graphics over video; however, because it is computationally complex to
`compute the resulting alpha value, DVB MHP receivers are permitted to approximate the
`SRC-Over rule using the SRC rule (unless the object [or part thereof] on the top is
`completely transparent, in which case, they are not supposed to apply the pixel values for
`the transparent object [or part thereof]).
`It appears as though evolving W3C standards
`are leaning toward specifying SRC-Over as the default composition rule also. Therefore
`HTML tv user agents may use the defaults specified by the latest standards; however, in
`many cases receivers may not have sufficient computational power to actually compute
`the SRC-Over composition; hence, in those boxes, HTML user agents may be permitted
`to approximate SRC-Over using, for example, the Porter-Duff SRC rule. The palette
`
`
`
`Page 6
`
`Apple Ex. 1103, Page 8 of 94
`
`Apple Ex. 1103, Page 8 of 94
`
`

`
`
`
`
`
`
`
`format discussed below allows images whose colors are specified using an index into a
`palette to also specify per-pixel transparency values through the use of an alpha channel.
`However, for other images, backgrounds, etc., another method is required for specifying
`the transparency; therefore, new properties which allow the specification of these alpha
`values is described in the subsection below entitled “Alpha Properties.”
`
`2.1.1 The clut property
`
`An application author can specify that a particular palette (often referred to as a color
`lookup table or “clu ” for short) may be useful in rendering objects in the body of an
`HTML page. This palette could be used in one of several ways. One way is in a vertical
`network where the author may both specify a palette and specify colors of objects only
`using that palette because they have the knowledge that all receivers have identical,
`limited color capabilities. The other way is to serve as a hint as to the best colors to use
`on a receiver with limited color capabilities, when the author expects that their
`application would be used in a horizontal network that consists of a mixture of receivers
`of varying capabilities. The author specifies this by using the ‘clut’ property documented
`below. The <url> value is used to direct the OpenTV HTML product that contains the
`actual palette. If no <url> value is specified, or there is no ‘clut’ property in the style
`sheet or inline, the Netscape palette is used. The MIME type associate with a url that
`contains a palette in the format defined below may be “application/clut,” with an
`extension of “.clt”.
`
`Format of alettes of
`
`go a o lication/clut:
`
`
`
`
`
`
`
`
`
`——
`—__—
`—____——
`—— T
`
`
`
`
`
`he value of 1 for the color model is used to indicate RGB, whereas the color 2 is used to
`indicate YUV. The value in nb_colors is the number of colors in the palette. The first,
`second, and third amounts (amt_f1rst, etc.) refer to the amount of RGB or YUV,
`depending upon the value of color_model. The value in alpha represents transparency
`with 0 being transparent and 255 being opaque. The purpose of the first_color value is to
`allow multiple resources, each specifying their own palette, to share the color space.
`
`Page 7
`
`Apple Ex. 1103, Page 9 of 94
`
`Apple Ex. 1103, Page 9 of 94
`
`

`
`
`
`Additionally, HTML user agents may accept cluts in the format used by “png” images;
`the types of these cluts may be the same as entire png images.
`
`‘clut’
`
`Value:
`Initial:
`Applies to:
`Inherited:
`Percentage Values:
`Media type:
`
`<url>| none
`Netscape default
`body
`yes
`N/A
`tv
`
`<BODY style=”http://cnn.com/demoClut.clt”>
`
`Usage example (using inline style):
`
`2.1.2 Alpha Properties
`
`Use of an application-specific palette allows an author to specify the alpha channel
`corresponding to a particular index. However, currently W3C has no standard way of
`specifying an alpha Value. Therefore, we introduce the following alpha properties.
`In
`each of the properties, the value #FF is fully opaque and the value #00 is fully
`transparent.
`
`‘alpha’
`
`Value:
`<normalized—number>
`Initial:
`Applies to:
`Inherited:
`Percentage Values:
`Media type:
`
`<hexadecimal—integer> I <percentage> l
`
`#FF
`All elements
`yes
`percent opacity
`tv
`
`
`<BODY style=”background: black; background—alpha:#00”>
`
`Usage example:
`<EM color=#OO808O style=”alpha:#C0”>
`
`The normalized—number ranges between 0.0 (fully transparent) and 1.0
`(fully opaque). Similarly,
`0% means fully transparent and 100% means
`fully opaque. These same terms are used with the identical meaning in
`the properties below.
`
`‘background—alpha’
`
`Value:
`<normalized—number>
`
`<hexadecimal—integer>
`
`I <percentage> |
`
`Initial :
`Applies to:
`Inherited:
`
`#FF
`All elements
`no
`
`Percentage Values:
`tv
`
`percent opacity Media type:
`
`Usage example:
`
`Page 8
`
`Apple Ex. 1103, Page 10 of 94
`
`Apple Ex. 1103, Page 10 of 94
`
`

`
`Similarly, the following propetties are convenient.
`
`‘border—alpha’
`Value:
`<normalized—number>
`
`<hexadecimal—integer> | <percentage> I
`
`Initial:
`
`Applies to:
`Inherited:
`
`#FF
`All elements
`no
`
`Percentage Values:
`Media type:
`
`percent opacity
`tv
`
`‘border—top—alpha’
`Value:
`<normalized—number>
`
`<hexadecimal—integer>
`
`| <percentage> I
`
`Initial:
`
`Applies to:
`Inherited:
`
`#FF
`All elements
`no
`
`Percentage Values:
`tv
`
`percent opacity Media type:
`
`‘border—bottom-alpha’
`Value:
`<normalized—number>
`
`<hexadecimal-integer>
`
`I <percentage> |
`
`Initial:
`
`Applies to:
`Inherited:
`
`#FF
`All elements
`no
`
`Percentage Values:
`tV
`
`percent opacity Media type:
`
`‘border—left—alpha’
`Value:
`<normalized—number>
`
`<hexadecimal—integer>
`
`| <percentage> |
`
`Initial:
`
`Applies to:
`Inherited:
`
`#FF
`All elements
`no
`
`Percentage Values:
`tV
`
`percent opacity Media type:
`
`‘border—right—alpha’
`Value:
`<normalized—number>
`
`<hexadecimal—integer>
`
`| <percentage> (
`
`Initial:
`
`Applies to:
`Inherited:
`
`Percentage Values:
`Media type:
`
`#FF
`All elements
`no
`
`percent opacity
`tV
`
`Page 9
`
`Apple Ex. 1103, Page 11 of 94
`
`Apple Ex. 1103, Page 11 of 94
`
`

`
`‘outlir1e—alpha’
`
`Value:
`<normalized—number>
`
`<hexadecimal—integer>
`
`| <percentage> I
`
`tv
`
`Initial:
`Applies to:
`Inherited:
`
`#FF
`All elements
`no
`
`Percentage Values:
`
`percent opacity Media type:
`
`
`
`2.1.3 Problems with some lower-end receivers
`
`Some lower end receivers are unable to simultaneously play video and display a full OSD at the
`same time. Therefore, particular care is needed when writing interactive content for these boxes.
`An HTML product on one of these boxes should not attempt to interpret content on those boxes,
`unless a META element, as shown below, is used to indicate that the content was designed
`specifically for these boxes.
`
`Header meta-data:
`<META name="tv—use" content="full-screen">
`
`2.2 When to render the graphics
`
`When rendering graphics as they are downloaded, it sometimes makes sense to delay
`displaying to the Viewer until at least a subset of the resources, which have been deemed
`as essential by the content creator, have been downloaded. The proposed HTML content
`may allow a content creator to label the essential subset of resources by identifying them
`using a “prerequisite” meta—data header. For example, the following indicates that no
`rendering for the page should occur prior to acquiring “background.mpg”
`
`<META name=”prerequisite” content=”http: //www. cnn. com/background.mpg”>
`
`In addition to indicating that certain resources should be acquired prior to rendering, a
`content author may fiirther control the rendering through the use of the render—policy and
`render-timeout properties described below.
`
`The progressive rendering policy indicates that displaying can start as soon as the
`essential resources (those marked as prerequisites in meta—data headers) have been
`acquired. With this policy, as resources are acquired, they are incorporated into the rendered
`and displayed graphics.
`
`The layoutcomplete rendering policy indicates that the rendered image may not be
`displayed until the software has acquired sufficient information to determine the
`complete on-screen layout and has acquired those resources labeled as prerequisities.
`This policy prevents objects fiom appearing to move around as the rendered graphics
`incrementally appear onscreen.
`
`Page 10
`
`Apple Ex. 1103, Page 12 of 94
`
`Apple Ex. 1103, Page 12 of 94
`
`

`
`The loadcomplete rendering policy indicates that the graphics should not be
`displayed until all resources that will be used for rendering the display have been
`downloaded. The only difference between the loadComplete rendering policy and
`labeling all resources as prerequisites, is that in the first case the OnLoad event may have
`been delivered to the appropriate handler, if any, prior to rendering, and hence may affect
`the rendered view.
`
`render-policy: progressive | |ayoutComplete | loadcomplete
`Applies to: Body
`initial: progressive
`Inherited: no
`
`Percentage: N/A
`
`It is possible, in unusual circumstances, that the specified rendering policy may not be
`possible, i.e., if a prerequisite resource is not available in a broadcast and acquisition via
`a modem has been denied by the viewer. If no timeout for this loading has been
`specified, then the timeout will default to 15 seconds as shown in the render-timeout
`property below. If a timeout occurs, and at least all of the prerequisite resources have
`been acquired, what is available for the new page may be displayed, independent of the
`specified rendering policy. If some of the prerequisite resources have not been acquired,
`then it is preferable, if possible, for the display to show the previous page, if any. If this
`is not possible, then either an error message, which is customizable, may appear or the
`box may render and display those resources which it has been able to acquire.
`
`render-timeout
`initial
`
`none I <time>
`155
`
`In any case, while the box is acquiring the resources for the new page, it is preferable to continue
`to display the old page, and, if possible, allow the viewer to interact with the old page.
`
`2.3 Video positioning and resizing
`
`This section identifies how the html/js (or similar language) developer can control the
`placement, and scaling of the currently tuned video stream(s). How the developer can
`choose particular video (and audio) streams is covered in the TV Tuning and Service
`Selection Section.
`
`The location and size of the currently playing video stream can be controlled by using
`“broadcast:” as the “src” or as the source of “data” of an HTML element for which
`
`location and/or size are specified. In particular, the location can be specified through the
`use of CSS.
`
`If a content designer wishes to zoom inon a particular part of the video, they could
`enlarge the entire video and use a graphics overlay to clip the part of the video that is not
`desired. A clipping property might also be useful in this case.
`
`
`
`
`
`; 37.1:
`
`
`
`Page 11
`
`Apple Ex. 1103, Page 13 of 94
`
`Apple Ex. 1103, Page 13 of 94
`
`

`
`The examples below demonstrate how a “broadcast” url can be used in an IMG or
`OBJECT element to request a particular scaling size.
`
`<IMG height=300 width=400 style="position:absolute;lefi:200px;top:80px”
`src="broadcast:
`">
`
`<OBJECTheight=300 width=4OO data=”broadcast: “></OBJECT>
`
`Both of the examples above request that the currently tuned channel (identified by the url,
`“broadcast:”) be scaled to the size of 300 by 400. The first example also demonstrates
`how CSS properties can be used to position the resulting video box. Although the actual
`size and position of the video may be partly determined by the capabilities of both the
`set-top box and the drivers supplied for given hardware, HTML user agents should
`attempt to position and scale the video as specified by the content author.
`
`The CSS3 fit and fit-position properties can be used by the content author to indicate
`desired behavior in the event that the set-top box is unable to re-size the video to exactly
`fit the specified height and width. As indicated above for sealing and placement, not all
`boxes may be able to support all of the values for these properties. Also, HTML user
`agents should not support scrolling for video. Two particularly usefiil values for the fit
`property are meet and slice. They can be used to indicate whether, when the video cannot
`be exactly scaled to the requested sizes, a larger or smaller size may be chosen. In the
`case that a larger size is chosen (slice), an overflow property can be used to indicate
`whether the part of the video that lies outside of the originally specified rectangle may be
`visible or hidden. Because video scrolling is not desirable, other values for the overflow
`treatment need not be supported. The remaining values for the fit property and all of the
`values for the fit-position property pertain to positioning within the specified box, in the
`event that the requested size is unavailable. These values may be supported on receivers
`where capabilities exist and may be silently ignore them where they are not supported.
`
`If the set-top box is unable to re-size the video to exactly fit the specified height and
`width, and fit and fit-position properties do not specify otherwise, then user agents may
`guarantee that the display size will be no larger than the specified size and the video.
`
`
`
`2.4 Support for MPEG stills
`
`HTML user agents may support displaying of MPEG stills, or I-Frames, in either the
`video plane or in the multi-plane graphics layer. Because set-top boxes almost
`exclusively have special purpose hardware for efficient rendering of MPEG, MPEG
`images are particularly appropriate for the television environment. The decoding of the I-
`Frames is done by calls from the user agent to the appropriate drivers and therefore is
`typically not expected to be done in software by user agents. It is expected that user
`agents may support displaying of l\/EPEG stills in the video plane on all set-top boxes,
`and, on those set-top boxes that support MultiP1ane graphics, displaying of MPEG stills
`in the MultiP1ane graphics plane may also be supported.
`
`Page 12
`
`Apple Ex. ll03, Page 14 of 94
`
`—v—«Cv»-a~i:i»i~ill~§:’-"‘”i€j
`
`K
`
`I
`
`Apple Ex. 1103, Page 14 of 94
`
`

`
`MPEG I-frames can be recognized by the MIME type of image/mpeg and may have an
`extension of mpg
`
`The following example demonstrates the use of an MPEG I~Frame.
`
`<html>
`<head>
`
`<title>example</title>
`</head>
`
`</html>
`
`<body style=”background—image:url(http://pepsi.com/pepsi—ad.mpg)">
`
`</body>
`
`2.5 Control of Audio
`
`
`
`Selection of particular audio streams, when multiple ones are available on the same
`channel, is described in the Tuning and Stream Selection section. This section instead
`deals with playing of audio from memory and controlling the audio stream after it has
`been selected. The CSS aural properties can be used to control the audio stream and
`audio being played from memory. Aural style sheets allow content developers to control
`the volume, allow the presentation of audio icons (cues), and even allow the developer to
`control spatial properties and mixing. User agents may support these properties,
`including: the volume properties, the pause properties, and the mixing properties. HTML
`itself provides a way to specify an audio element using the <bgsound> tag. There are
`currently a few events defined on this element: onlayoutcomplete, onmouseenter,
`onmouseleave, onreadystatechange. OpenTV’s HTML products may support
`onlayoutcomplete as well as onreadystatechange.
`In addition to an attribute that allows
`looping of the associated recording, the <bgsound> element also supports a starts
`attribute.
`
`Although CSS provides a way to support volume control, a Javascript object may be used
`to implement ‘mute.’ The reason for this is that the object needs to remember the
`previous volume setting, so that when the sound it turned back on, it may immediately be
`set back to the volume to which it was set prior to muting.
`
`Page 13
`
`Apple Ex. 1103, Page 15 of 94
`
`Apple Ex. 1103, Page 15 of 94
`
`

`
`3 TUNING AND STREAM SELECTION
`
`User agents may provide two different ways for tuning and stream selection. One is quite
`simple, uses HTML only, and assumes that the content author has sufficient a priori
`knowledge as described below. The other way uses Javascript, does not assume the same
`a priori knowledge, and is generic enough to be applicable to stream selection from a
`local hard drive or VOD. Both make use of a new URL defined here known as the
`“broadcast” URL.
`
`First, the URL which is used in both methods is described. In this section, only an
`informal description o

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket