EP2761396A1 - Displaying hardware accelerated video on x window systems - Google Patents
Displaying hardware accelerated video on x window systemsInfo
- Publication number
- EP2761396A1 EP2761396A1 EP11873371.6A EP11873371A EP2761396A1 EP 2761396 A1 EP2761396 A1 EP 2761396A1 EP 11873371 A EP11873371 A EP 11873371A EP 2761396 A1 EP2761396 A1 EP 2761396A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- plane
- video
- window
- transparency
- perform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims description 10
- 239000003973 paint Substances 0.000 claims description 9
- 239000002131 composite material Substances 0.000 abstract 1
- 239000000203 mixture Substances 0.000 description 4
- 238000002156 mixing Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/12—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
- G09G2340/125—Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
Definitions
- Video and window systems run on separate planes. Thus, users need to look through a plane to view the underlying video. For example, for hardware accelerated flash/HTML5 playback, video is rendered on the back plane. Generally, the video needs to be copied to the current plane. But this operation may be expensive for rapidly changing video frames .
- Figure 1 is a schematic depiction of one embodiment of the present invention
- Figures 2a-2e show the stack up of planes in one embodiment of a multi-plane hardware accelerated video system; and Figure 3 is a flow chart for one embodiment of the present invention.
- a computer system may be an embedded or non-embedded system in one embodiment, such as a set top box, a mobile Internet device, a cellular telephone, a tablet computer, a netbook, a laptop, a personal computer, or a Blu-ray disk player, to mention a few examples .
- an X window system may be utilized.
- the X window system may provide graphical user interfaces for networked computers .
- Software may be written using generalized command sets so that programs may be reused on other X window system computers .
- the X window system follows a modified client-server model wherein the X server communicates with the client level programs.
- the X window system provides display and
- X.ORG is one implementation of the X window system. See X11R7.6 (Dec. 20, 2010), available from X.ORG Foundation. Flash and HTML5 video may be supported in a browser, as well as various types of media center client software. However, it would be desirable to display hardware accelerated videos on the X window system. In accordance with one embodiment, hardware
- accelerated videos can be displayed on X window systems without copying video from a back plane to the current plane.
- the video is generally rendered on the lower plane with designated origin and size.
- the X desktop and windows are rendered.
- the window for video playback needs to tell the video renderer its origin and size.
- the X window system does not support multi-plane scenarios.
- a "plane” is a hardware unit that can read pixel data from a memory buffer and perform transformations on that pixel data. Both graphics and video can be output to planes.
- a hardware accelerated video processing pipeline can render directly to a plane. Multi-planes are blended in a hardware blender. Different planes may have different capabilities and may support different pixel formats. Generally, plane level transparency would be needed to support hardware accelerated videos in the X window system.
- the X server does run on ARGB_32 format plane.
- ARGB- 32 is also known as Red Green Blue Alpha 32 bit that uses the RGB color model.
- an alpha channel may be used to achieve plane level transparency.
- the X server does not handle the alpha channel by default .
- Another problem is that everything on the X window system is transparent to the desktop. Thus, even if you create a 32 bit window, the alpha channel is used for windows compositing, so all of the windows will blend eventually with the desktop.
- the default behavior of the window manager is to blend all windows with background, no matter whether the window was transparent or not.
- the background is always opaque, so there is no plane level transparency .
- solutions to these problems can involve the use of ARGB_32 format by defining the alpha blending for all X system elements.
- the default Xfont cursor does not define an alpha value, leaving the mouse cursor area transparent. This problem may be overcome by replacing the transparent mouse cursor with an opaque cursor theme.
- a window manager is used to manage the alpha channel.
- the ARGB_32 plane may be enabled in X.ORG, for example.
- the behavior of translucency depends on whether X applications use 32 bit pixel formats and how the windows are composited by the window manager.
- the alpha value of the window is recalculated and replaced by the window manager with 1.0, which results in an opaque depiction, regardless of what alpha values the window has.
- the window manager treats all 24 bit windows as completely opaque windows, which means their alpha value is 255. For 32 bit windows, some of them need to be blended with the desktop and some need to be blended with lower planes.
- a compositing window manager may reserve the alpha channel of the overlying window to make the plane transparent .
- the compositing window manager may be enhanced to support plane level transparency.
- plane level transparency is per-pixel transparency, meaning that each pixel can have its own value.
- plane level transparency is forced transparency, where each pixel in a rectangle has a zero or transparent alpha value.
- the window manager For X client applications, the window manager provides hints to communicate with the window manager. The X applications tell the window manager which behavior they expect, per-pixel or forced, and which area of the window is to be transparent, using window manager hints.
- cursor themes are used so that the cursor has a non-zero alpha value so that it will be visible.
- the target area may look translucent to video.
- the alpha value is variable from zero to 255, depending on the window's alpha values painted into the target area.
- the contents may be painted in a 32 bit window.
- the alpha values in the window are used to blend with video.
- a typical application is that the video player renders some transparent control buttons on the video .
- the target area in the X plane is transparent to the video plane. All contents in the area are ignored and are assigned an alpha value of zero. Thus, it appears that there is a hole in the X plane.
- a frame buffer 12 may be implemented by random access memory (RAM) . It communicates with a system bus 16 which may include multiple planes, including index-alpha planes (IAP) 22 and universal pixel planes (UPP) 24.
- the system bus may communicate with a video display controller 18 that includes a hardware blender 26 and pipe 28.
- a dedicated media processor implements hardware accelerated video.
- the display controller provides an output 20 for video display.
- the video display may be a monitor, a television screen, or a touch screen, to mention a few examples.
- the application also tells the window manager where to apply plane level transparency.
- a full window the entire window is transparent, except for a decoration area.
- the cut out area may be defined by x and y coordinates with a width, height.
- the x,y coordinates may be referenced to the top left coordinate relative to the window, in one embodiment.
- FIG. 2 the planes of a multi-plane video, in accordance with one embodiment, are illustrated.
- the plane containing the video 30 is
- video is on a lower of two planes.
- a paint window 34 is provided in the higher plane.
- a cut out area or window 36 is formed in the paint window 34.
- the stack up of the cut out area 36, paint window 34, and on-screen 32 is depicted, such that the cut out area 36 allows the underlying video 30 to be viewed, as shown in Figure 2e.
- a flow chart for one embodiment of a sequence for implementing hardware accelerated video in X window systems may be implemented using hardware, software and/or firmware.
- a sequence of instructions may be stored in a non-transitory computer readable medium, such as an optical, magnetic, or semiconductor memory.
- the sequence of instructions may be stored within the video display
- the blender 26 is a processor that off loads the blending task from the central processing unit of the system.
- the cursor theme sets the cursor to be opaque so that it is visible, as indicated in block 40.
- the location and dimensions of the cutout area may be acquired by the window manager, as indicated in block 42.
- the X application controls where to apply the plane level transparency and indicates whether full window or cutout is utilized.
- the cutout area is drawn (block 44) so that it may be transparent via forced transparency or using per-pixel translucency .
- the window manager supports plane level transparency and implements one of per-pixel translucency or forced
- MeeGo is a Linux-based open
- manager mutter in the MeeGo vertical segment may be
- git.gnome.org/browse/mutter It is the default window manager for GNU Network Object Model Environment (GN0ME3) graphical user interface that runs on top of an operating system. See GNOME3, available at gnome.org. Mutter is based on the graphics library Clutter and also supports
- the video frame In the lower plane, the video frame is painted in the right place for hardware blending. In the upper plane, the desktop and some other windows may have already been
- Cleanup before drawing works to achieve per-pixel trans lucency .
- a desktop background and some windows have already been drawn.
- the target area is cleared with zero alpha values and then the window is drawn.
- the current window's value is completely reserved. If it has translucent alpha values, they have also been reserved.
- the cleanup occurs after drawing the desktop background and some windows have already been drawn. This time, the window is drawn first. Then it blends with the other windows in the desktop. After that, certain areas of the target are cleaned up with alpha value zero, so those areas will be transparent .
- Multi-plane applications may be written using legacy applications. If they do not set hints, the window manager takes the default behavior.
- the 24 bit windows are opaque and 32 bit windows are composited with X elements, but not the lower planes.
- a cutout area may be specified or the full screen may be transparent.
- the applications tell the window manager whether per-pixel translucency or forced
- the chart shows a combination of four hints.
- the first column specifies a cutout area. The cutout areas in the second and fourth rows of the chart are ignored since full screen is defined.
- the second column specifies whether the cutout area is per-pixel translucent, and the third column specifies whether the plane level of
- the key point is to define target areas for forced transparency and per-pixel translucency and to paint the alpha values when using per-pixel translucency.
- the alpha value is redrawn directly.
- the redraw operation can be handled by OpenGL (see OpenGL 4 . 1 ,
- graphics processing techniques described herein may be implemented in various hardware architectures. For example, graphics functionality may be integrated within a chipset. Alternatively, a discrete graphics processor may be used. As still another embodiment, the graphics
- functions may be implemented by a general purpose processor, including a multicore processor.
- connection with the embodiment is included in at least one implementation encompassed within the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
Claims
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2011/001660 WO2013044417A1 (en) | 2011-09-30 | 2011-09-30 | Displaying hardware accelerated video on x window systems |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| EP2761396A1 true EP2761396A1 (en) | 2014-08-06 |
| EP2761396A4 EP2761396A4 (en) | 2015-04-29 |
Family
ID=47994098
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP20110873371 Withdrawn EP2761396A4 (en) | 2011-09-30 | 2011-09-30 | Displaying hardware accelerated video on x window systems |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP2761396A4 (en) |
| WO (1) | WO2013044417A1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101513568B1 (en) | 2013-06-18 | 2015-04-22 | 주식회사 휴원 | X-Window System in Embeded system with Graphic Card, and thereof Execution method |
| GB201410314D0 (en) * | 2014-06-10 | 2014-07-23 | Advanced Risc Mach Ltd | Display controller |
| CN108196805B (en) * | 2017-12-29 | 2021-03-09 | 威创集团股份有限公司 | Spliced wall display method and device |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2512250B2 (en) * | 1991-09-13 | 1996-07-03 | 松下電器産業株式会社 | Video display workstation |
| US7852339B2 (en) * | 2006-10-23 | 2010-12-14 | Intel Corporation | Video composition optimization by the identification of transparent and opaque regions |
| JP2009081540A (en) * | 2007-09-25 | 2009-04-16 | Toshiba Corp | Information processing apparatus and synthetic video generation method |
-
2011
- 2011-09-30 EP EP20110873371 patent/EP2761396A4/en not_active Withdrawn
- 2011-09-30 WO PCT/CN2011/001660 patent/WO2013044417A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2013044417A1 (en) | 2013-04-04 |
| EP2761396A4 (en) | 2015-04-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9373308B2 (en) | Multi-viewport display of multi-resolution hierarchical image | |
| US7911481B1 (en) | Method and apparatus of graphical object selection | |
| US9355493B2 (en) | Device and method for compositing video planes | |
| EP2245598B1 (en) | Multi-buffer support for off-screen surfaces in a graphics processing system | |
| JP6062438B2 (en) | System and method for layering using a tile-by-tile renderer | |
| US20120206471A1 (en) | Systems, methods, and computer-readable media for managing layers of graphical object data | |
| US8928694B2 (en) | Image Processing apparatus receiving editing operation, image display device, and image processing method thereof | |
| US20150243257A1 (en) | Cross-Platform Rendering Engine | |
| US10133711B2 (en) | Display apparatus and control method thereof | |
| US20130135339A1 (en) | Subpixel Compositing on Transparent Backgrounds | |
| KR100458543B1 (en) | Comparing method of 2d cad file using graphic type | |
| CN112541960A (en) | Three-dimensional scene rendering method and device and electronic equipment | |
| Moser et al. | Interactive volume rendering on mobile devices | |
| US20140215383A1 (en) | Parallax scrolling user interface | |
| US20150310833A1 (en) | Displaying Hardware Accelerated Video on X Window Systems | |
| US20050156938A1 (en) | Screen display processing apparatus, screen display processing method and computer program | |
| EP2761396A1 (en) | Displaying hardware accelerated video on x window systems | |
| CN105556570A (en) | Generating screen data | |
| US20110090258A1 (en) | Device and method for animating a graphic digital document | |
| KR20110102428A (en) | Method and apparatus for presenting overlay image | |
| US20130063475A1 (en) | System and method for text rendering | |
| CN106709965B (en) | Text display method and device based on shared surface | |
| US8754908B2 (en) | Optimized on-screen video composition for mobile device | |
| US20170147537A1 (en) | Method, apparatus and system for reproducing a document defined in a page description language | |
| CN117234655B (en) | Method, device, equipment and medium for running Linux desktop program based on android system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20131125 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAX | Request for extension of the european patent (deleted) | ||
| RA4 | Supplementary search report drawn up and despatched (corrected) |
Effective date: 20150401 |
|
| RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 3/00 20060101AFI20150326BHEP Ipc: G09G 5/14 20060101ALI20150326BHEP |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20151028 |