CN108093293A - A kind of Video Rendering method and system - Google Patents

A kind of Video Rendering method and system Download PDF

Info

Publication number
CN108093293A
CN108093293A CN201810034814.5A CN201810034814A CN108093293A CN 108093293 A CN108093293 A CN 108093293A CN 201810034814 A CN201810034814 A CN 201810034814A CN 108093293 A CN108093293 A CN 108093293A
Authority
CN
China
Prior art keywords
data
empty slot
decoding
video
rendered
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.)
Granted
Application number
CN201810034814.5A
Other languages
Chinese (zh)
Other versions
CN108093293B (en
Inventor
黄为庆
刘小辉
陈建生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201810034814.5A priority Critical patent/CN108093293B/en
Publication of CN108093293A publication Critical patent/CN108093293A/en
Application granted granted Critical
Publication of CN108093293B publication Critical patent/CN108093293B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA

Abstract

This application provides a kind of Video Rendering method, including:When receive have available empty slot in video requency frame data to be decoded and empty slot queue when, the video requency frame data to be decoded is decoded, obtains decoding data, the empty slot queue includes multiple empty slots;The data message of the decoding data and attribute information are saved in first available empty slot in the empty slot queue;When there are during the data message of decoding data to be rendered, extracting the decoding data to be rendered in the empty slot queue, and the empty slot for the data message for preserving the decoding data to be rendered is updated to available empty slot;Data texturing is loaded according to the attribute information of the decoding data to be rendered;The decoding data to be rendered is rendered according to the data texturing.Multiple empty slots in empty slot queue ensure that decoding multi-frame video data latency renders in advance, avoids influence of the bitstreams switching to video playing fluency, improves user experience.

Description

A kind of Video Rendering method and system
Technical field
The present invention relates to multimedia technology field, more particularly to a kind of Video Rendering method and system.
Background technology
Due to the otherness of different user bandwidth, video playing needs that there are one opposite flat in high image quality and low delay Weighing apparatus, therefore, the code stream for often providing a user a variety of resolution ratio are selected for user, with net during user watches video Speed variation generally requires switching code stream.
The general processing mode of existing video playing is based on the generic structure for decoding and rendering, if user under this architecture Bitstreams switching operation is carried out, is related to the opening of audio/video decoder, closes.Due to decoded particularity, i.e. just opened sound and regarded During frequency decoder, decoder generally requires several frame data of caching, and user can just get a frame data, that is to say, that user sees During picture, solved a few frame videos, it is time-consuming very big due to single frames, cache several frame data take can bigger, when with Time-consuming for the video of acquisition first frame after family progress bitstreams switching.The stream of audio and video playing can be influenced by being taken caused by bitstreams switching Smooth property, the direct feel of user are exactly the appearance of interim card or blank screen.
The content of the invention
In view of this, the present invention provides a kind of Video Rendering method and system, the video of certain frame number is decoded in advance Etc. to be rendered, influence of the bitstreams switching to video playing fluency is avoided.
In order to realize foregoing invention purpose, specific technical solution provided by the invention is as follows:
A kind of Video Rendering method, including:
When receive have available empty slot in video requency frame data to be decoded and empty slot queue when, to the video to be decoded Frame data are decoded, and obtain decoding data, wherein, the empty slot queue includes multiple empty slots;
The first available sky data message of the decoding data and attribute information being saved in the empty slot queue In slot, and the decoding data is determined as decoding data to be rendered;
When there are during the data message of decoding data to be rendered, extracting the solution yardage to be rendered in the empty slot queue According to, and the empty slot that will preserve the data message of the decoding data to be rendered is labeled as available empty slot;
Data texturing is loaded according to the attribute information of the decoding data to be rendered;
The decoding data to be rendered is rendered according to the data texturing.
Preferably, when not obtaining decoding data after being decoded to the video requency frame data to be decoded, the side Method further includes:
Judge whether there is available empty slot in the empty slot queue;
If so, the video requency frame data received after the video requency frame data to be decoded is decoded, until To decoding data;
If no, into wait state, return execution is described to judge whether there is available empty slot in the empty slot queue.
Preferably, the data message of the decoding data and attribute information are saved in the empty slot queue described After in first available empty slot, the method further includes:
Judge whether all video requency frame datas of current video code stream have all decoded;
If so, the corresponding decoder of current video code stream is closed, and according under the next video code flow opening having received The corresponding decoder of one video code flow returns and performs that described have in video requency frame data to be decoded and empty slot queue can when receive During with empty slot, the video requency frame data to be decoded is decoded;
If it is not, perform it is described when receive have available empty slot in video requency frame data to be decoded and empty slot queue when, to institute Video requency frame data to be decoded is stated to be decoded.
Preferably, the attribute information of the decoding data includes:Decoding process, the height of video frame, video frame width and regard Frequency frame format.
Preferably, when the decoding process of the decoding data is hard decoder, the data message of the decoding data is institute State the pointer information of decoding data;When the decoding process of the decoding data is soft decoding, the data letter of the decoding data It ceases for the total data of the decoding data.
Preferably, when the decoding process of the decoding data is hard decoder, in the data by the decoding data After information and attribute information are saved in first available empty slot in the empty slot queue, the method further includes:
The decoding data is copied to the predeterminable area in video memory, and to decoding data described in the empty slot queue Pointer information is accordingly updated.
Preferably, it is described that data texturing is loaded according to the attribute information of the decoding data to be rendered, including:
Obtain existing data texturing;
Judge that whether existing data texturing met the attribute information of the decoding data to be rendered renders demand;
If so, load existing data texturing;
If it is not, configuration and the corresponding data texturing of attribute information of the decoding data to be rendered, and load to match somebody with somebody and postpone Data texturing.
A kind of Video Rendering system, including:
Decoding unit, for when receive have available empty slot in video requency frame data to be decoded and empty slot queue when, to institute It states video requency frame data to be decoded to be decoded, obtains decoding data, wherein, the empty slot queue includes multiple empty slots;
Storage unit, for the data message of the decoding data and attribute information to be saved in the empty slot queue In first available empty slot, and the decoding data is determined as decoding data to be rendered;
Extraction unit, for when in the empty slot queue there are during the data message of decoding data to be rendered, described in extraction Decoding data to be rendered, and the empty slot that will preserve the data message of the decoding data to be rendered is labeled as available empty slot;
Loading unit, for loading data texturing according to the attribute information of the decoding data to be rendered;
Rendering unit, for being rendered according to the data texturing to the decoding data to be rendered.
Preferably, the system also includes:
Judging unit for judging whether all video requency frame datas of current video code stream have all decoded, is worked as if so, closing The corresponding decoder of preceding video code flow, and the corresponding decoding of next video code flow is opened according to the next video code flow having received Device, and trigger the decoding unit;If it is not, directly trigger the decoding unit.
Preferably, the loading unit includes:
Subelement is obtained, for obtaining existing data texturing;
Judgment sub-unit, for judging whether existing data texturing meets the attribute information of the decoding data to be rendered Render demand, if so, triggering loading subelement, if it is not, triggering configuration subelement;
The loading subelement, for loading existing data texturing;
The configuration subelement, for configuring the corresponding texture number of attribute information with the decoding data to be rendered According to, and load with the data texturing postponed.
Compared with the prior art, beneficial effects of the present invention are as follows:
A kind of Video Rendering method provided by the invention, Decode engine and rendering engine are dependent on empty slot queue and carry out work Make, empty slot queue includes multiple empty slots, and Decode engine is responsible for being decoded video requency frame data, and empty slot is responsible for storing decoding data Data message and attribute information, rendering engine, which is responsible for extracting decoding data to be rendered from empty slot, to be rendered.Empty slot queue In multiple empty slots ensure in advance decoding multi-frame video data latency render, avoid bitstreams switching to video playing fluency It influences, seamlessly transitting when realizing bitstreams switching improves user experience.
Description of the drawings
It in order to illustrate more clearly about the embodiment of the present invention or technical scheme of the prior art, below will be to embodiment or existing There is attached drawing needed in technology description to be briefly described, it should be apparent that, the accompanying drawings in the following description is only this The embodiment of invention, for those of ordinary skill in the art, without creative efforts, can also basis The attached drawing of offer obtains other attached drawings.
Fig. 1 is a kind of Video Rendering method flow diagram disclosed by the embodiments of the present invention;
Fig. 2 is another Video Rendering method flow diagram disclosed by the embodiments of the present invention;
Fig. 3 is a kind of Video Rendering system structure diagram disclosed by the embodiments of the present invention.
Specific embodiment
Below in conjunction with the attached drawing in the embodiment of the present invention, the technical solution in the embodiment of the present invention is carried out clear, complete Site preparation describes, it is clear that described embodiment is only part of the embodiment of the present invention, instead of all the embodiments.It is based on Embodiment in the present invention, those of ordinary skill in the art are obtained every other without making creative work Embodiment belongs to the scope of protection of the invention.
Referring to Fig. 1, Fig. 1 is a kind of Video Rendering method flow diagram disclosed in the present embodiment, following steps are specifically included:
S101:When receive have available empty slot in video requency frame data to be decoded and empty slot queue when, to described to be decoded Video requency frame data be decoded, obtain decoding data, wherein, the empty slot queue include multiple empty slots;
Empty slot queue is a kind of specific implementation form of buffering queue, and empty slot queue is disposed in memory, to video frame number It is required for relying on empty slot queue progress according to being decoded and rendering.
Empty slot sum dynamic in the corresponding empty slot queue of different decoding processes changes, and existing video playing platform has Android, IOS, MAC and Windows, each video playing platform are divided into as hard decoder mode and soft decoding process, e.g., can be with Empty slot sum under the hard decoder mode of ios platform is arranged to 5.
The empty slot that any data are not preserved in empty slot queue can be referred to empty slot.
Decode engine relies on empty slot queue and works, and has when receiving in video requency frame data to be decoded and empty slot queue When can use empty slot, Decode engine is decoded the video requency frame data to be decoded.
S102:First that the data message of the decoding data and attribute information are saved in the empty slot queue can With in empty slot, and the decoding data is determined as decoding data to be rendered;
Specifically, empty slot queue includes multiple empty slots, multiple empty slots arrange in order, and the empty slot for not storing data is Empty slot can be used.The data message of the decoding data and attribute information are saved in first available empty slot in the empty slot queue In after, can subtract 1 with empty slot quantity, next available empty slot in empty slot queue after the empty slot become empty slot queue in first Empty slot can be used.
One video code flow includes many not decoded video frame, and an empty slot preserves the decoding that a video frame decodes The data message and attribute information of data.
The attribute information of the decoding data includes:Decoding process, the height of video frame, the width of video frame and video frame lattice Formula.Video frame formats include YUV420 and NV12 etc..
Empty slot queue is disposed in memory.
When the decoding process of the decoding data is hard decoder, the data message of the decoding data is the solution yardage According to pointer information, the decoding data under hard decoder mode is stored in video memory, the solution can be obtained according to the pointer information Address of the code data in video memory.
When the decoding process of the decoding data is soft decoding, the data message of the decoding data is the solution yardage According to total data, it is necessary to which explanation, the decoding data under soft decoding process are stored in memory.
S103:When there are during the data message of decoding data to be rendered, extracting the solution to be rendered in the empty slot queue Code data, and the empty slot that will preserve the data message of the decoding data to be rendered is labeled as available empty slot;
Rendering engine relies on empty slot queue and works, when there are the data messages of decoding data to be rendered in empty slot queue When, rendering engine execution renders work.
As long as receive in video requency frame data to be decoded and empty slot queue have available empty slot Decode engine as long as be decoded Work, as long as in empty slot queue there are decoding data rendering engine to be rendered as long as render work, Decode engine and rendering is drawn It holds up and is completely independent parallel execution, multiple empty slots in empty slot queue ensure that decoding multi-frame video data latency renders in advance, avoids In the prior art video decoding caused by one frame data of Decode engine decoding one-frame video data render engine renders, close solution Code device takes with opening decoder.
When decoding process is hard decoder, according to the pointer there are decoding data to be rendered in the empty slot queue from video memory The middle extraction decoding data to be rendered, when decoding process is soft decoding, is directly extracted described to be rendered from empty slot queue Decoding data.
Preferably, when the decoding process of the decoding data is hard decoder, the method further includes after S102:
The decoding data is copied to the predeterminable area in video memory, and to decoding data described in the empty slot queue Pointer information is accordingly updated.
Due to the particularity of hard decoder, decoding data is stored in video memory, if decoding data is excessive and is not rendered in time When, decoded decoding data may cause video playing mistake by rear decoded data cover at first.The present embodiment is directed to this Decoding data is copied to the predeterminable area in video memory by problem, which is by system independent maintenance, will not cause to solve The problem of code data are capped.
When decoding data to be copied to the predeterminable area in video memory, the preservation address modification of decoding data, at this time to sky The pointer information of decoding data described in slot queue is accordingly updated, and allows rendering engine root when rendering the decoding data The decoding data is accurately extracted according to the pointer information of the decoding data.
S104:Data texturing is loaded according to the attribute information of the decoding data to be rendered;
Specifically, obtain existing data texturing;The texture that the existing data texturing loads when being rendered for the last time Data.
Judge that whether existing data texturing met the attribute information of the decoding data to be rendered renders demand;Specifically , according to the decoding process of decoding data to be rendered, the height of video frame, video frame width and video frame formats, judge existing What whether data texturing met decoding data to be rendered renders demand.
If so, load existing data texturing;
If it is not, configuration and the corresponding data texturing of attribute information of the decoding data to be rendered, and load to match somebody with somebody and postpone Data texturing.
S105:The decoding data to be rendered is rendered according to the data texturing.
A kind of Video Rendering method provided in this embodiment, Decode engine and rendering engine are dependent on empty slot queue and carry out work Make, empty slot queue includes multiple empty slots, and Decode engine is responsible for being decoded video requency frame data, and empty slot is responsible for storing decoding data Data message and attribute information, rendering engine, which is responsible for extracting decoding data to be rendered from empty slot, to be rendered.Empty slot queue In multiple empty slots ensure in advance decoding multi-frame video data latency render, avoid bitstreams switching to video playing fluency It influences, seamlessly transitting when realizing bitstreams switching improves user experience.
Based on a kind of Video Rendering method disclosed in above-described embodiment, to be regarded referring to Fig. 2, present embodiment discloses another kinds Frequency rendering intent, specifically includes following steps:
S201:When receive have available empty slot in video requency frame data to be decoded and empty slot queue when, to described to be decoded Video requency frame data be decoded;
S202:When not obtaining decoding data after being decoded to the video requency frame data to be decoded, described in judgement Whether available empty slot is had in empty slot queue;If so, performing S203, if not having, S204 is performed;
S203:The video requency frame data received after the video requency frame data to be decoded is decoded, until To decoding data;
In bitstreams switching, a frame decoding data can just be obtained by generally requiring decoding multi-frame video frame data, be needed at this time It constantly treats the video requency frame data received after decoded video requency frame data to be decoded, until obtaining decoding data.
S204:Into wait state, return and perform S202;
S205:When obtaining decoding data after being decoded to the video requency frame data to be decoded, by the solution yardage According to data message and attribute information be saved in first available empty slot in the empty slot queue;
S206:Judge whether all video requency frame datas of current video code stream have all decoded, if so, S207 is performed, if it is not, Perform S201;
S207:The corresponding decoder of current video code stream is closed, and according under the next video code flow opening having received The corresponding decoder of one video code flow returns and performs S201;
Each code stream corresponds to a decoder, and general current video code stream, which does not decode completion, will receive next video Bit stream data at this point, after the completion of current video code stream decoding, closes current stream decoder, opens next video code flow solution Code device, ensures the smooth transition between video code flow.
Video encoding/decoding method disclosed in the present embodiment when all video requency frame datas of current video code stream have all decoded, closes Current video stream decoder is closed, and opens next video code flow decoder, ensures that only there are one decoders in work all the time Make, ensure that the suitable environment of system operation, improve video decoding efficiency.
Based on a kind of Video Rendering method disclosed in above-described embodiment, the present embodiment correspondence discloses a kind of Video Rendering system System, referring to Fig. 3, the video decoding system specifically includes:
Decoding unit 101, for when receive have available empty slot in video requency frame data to be decoded and empty slot queue when, it is right The video requency frame data to be decoded is decoded, and obtains decoding data, wherein, the empty slot queue includes multiple empty slots;
Storage unit 102, for the data message of the decoding data and attribute information to be saved in the empty slot queue In first available empty slot in, and the decoding data is determined as decoding data to be rendered;
Extraction unit 103, for when there are during the data message of decoding data to be rendered, extracting institute in the empty slot queue Decoding data to be rendered is stated, and the empty slot that will preserve the data message of the decoding data to be rendered is labeled as available empty slot;
Loading unit 104, for loading data texturing according to the attribute information of the decoding data to be rendered;
Rendering unit 105, for being rendered according to the data texturing to the decoding data to be rendered.
Preferably, the loading unit 104 includes:
Subelement is obtained, for obtaining existing data texturing;
Judgment sub-unit, for judging whether existing data texturing meets the attribute information of the decoding data to be rendered Render demand, if so, triggering loading subelement, if it is not, triggering configuration subelement;
The loading subelement, for loading existing data texturing;
The configuration subelement, for configuring the corresponding texture number of attribute information with the decoding data to be rendered According to, and load with the data texturing postponed.
Preferably, the video decoding system further includes:
Judging unit for judging whether all video requency frame datas of current video code stream have all decoded, is worked as if so, closing The corresponding decoder of preceding video code flow, and the corresponding decoding of next video code flow is opened according to the next video code flow having received Device, and trigger the decoding unit;If it is not, directly trigger the decoding unit.
A kind of Video Rendering system provided in this embodiment, Decode engine and rendering engine are dependent on empty slot queue and carry out work Make, empty slot queue includes multiple empty slots, and Decode engine is responsible for being decoded video requency frame data, and empty slot is responsible for storing decoding data Data message and attribute information, rendering engine, which is responsible for extracting decoding data to be rendered from empty slot, to be rendered.Empty slot queue In multiple empty slots ensure in advance decoding multi-frame video data latency render, avoid bitstreams switching to video playing fluency It influences, seamlessly transitting when realizing bitstreams switching improves user experience.
Each embodiment is described by the way of progressive in this specification, the highlights of each of the examples are with other The difference of embodiment, just to refer each other for identical similar portion between each embodiment.For device disclosed in embodiment For, since it is corresponded to the methods disclosed in the examples, so description is fairly simple, related part is said referring to method part It is bright.
It should also be noted that, herein, relational terms such as first and second and the like are used merely to one Entity or operation are distinguished with another entity or operation, without necessarily requiring or implying between these entities or operation There are any actual relationship or orders.Moreover, term " comprising ", "comprising" or its any other variant are intended to contain Lid non-exclusive inclusion, so that process, method, article or equipment including a series of elements not only will including those Element, but also including other elements that are not explicitly listed or further include as this process, method, article or equipment Intrinsic element.In the absence of more restrictions, the element limited by sentence "including a ...", it is not excluded that Also there are other identical elements in process, method, article or equipment including the element.
It can directly be held with reference to the step of method or algorithm that the embodiments described herein describes with hardware, processor The combination of capable software module or the two is implemented.Software module can be placed in random access memory (RAM), memory, read-only deposit Reservoir (ROM), electrically programmable ROM, electrically erasable ROM, register, hard disk, moveable magnetic disc, CD-ROM or technology In any other form of storage medium well known in field.
The foregoing description of the disclosed embodiments enables professional and technical personnel in the field to realize or use the present invention. A variety of modifications of these embodiments will be apparent for those skilled in the art, it is as defined herein General Principle can be realized in other embodiments without departing from the spirit or scope of the present invention.Therefore, it is of the invention The embodiments shown herein is not intended to be limited to, and is to fit to and the principles and novel features disclosed herein phase one The most wide scope caused.

Claims (10)

  1. A kind of 1. Video Rendering method, which is characterized in that including:
    When receive have available empty slot in video requency frame data to be decoded and empty slot queue when, to the video frame number to be decoded According to being decoded, decoding data is obtained, wherein, the empty slot queue includes multiple empty slots;
    The data message of the decoding data and attribute information are saved in first available empty slot in the empty slot queue, And the decoding data is determined as decoding data to be rendered;
    When there are during the data message of decoding data to be rendered, extracting the decoding data to be rendered in the empty slot queue, and The empty slot that the data message of the decoding data to be rendered will be preserved is labeled as available empty slot;
    Data texturing is loaded according to the attribute information of the decoding data to be rendered;
    The decoding data to be rendered is rendered according to the data texturing.
  2. 2. according to the method described in claim 1, it is characterized in that, after being decoded to the video requency frame data to be decoded When not obtaining decoding data, the method further includes:
    Judge whether there is available empty slot in the empty slot queue;
    If so, the video requency frame data received after the video requency frame data to be decoded is decoded, until being solved Code data;
    If no, into wait state, return execution is described to judge whether there is available empty slot in the empty slot queue.
  3. 3. according to the method described in claim 1, it is characterized in that, in the data message and attribute by the decoding data After information is saved in first available empty slot in the empty slot queue, the method further includes:
    Judge whether all video requency frame datas of current video code stream have all decoded;
    If so, closing the corresponding decoder of current video code stream, and next regard is opened according to the next video code flow having received The corresponding decoder of frequency code stream, returning to work as to receive described in performing has available sky in video requency frame data to be decoded and empty slot queue During slot, the video requency frame data to be decoded is decoded;
    If it is not, perform it is described when receive have available empty slot in video requency frame data to be decoded and empty slot queue when, treated to described Decoded video requency frame data is decoded.
  4. 4. according to the method described in claim 1, it is characterized in that, the attribute information of the decoding data includes:Decoding process, The height of video frame, the width of video frame and video frame formats.
  5. 5. according to the method described in claim 1, it is characterized in that, when the decoding data decoding process be hard decoder when, The data message of the decoding data is the pointer information of the decoding data;When the decoding process of the decoding data is soft solution During code, the data message of the decoding data is the total data of the decoding data.
  6. 6. according to the method described in claim 5, it is characterized in that, when the decoding data decoding process be hard decoder when, In first available empty slot being saved in the data message of the decoding data and attribute information in the empty slot queue In after, the method further includes:
    The decoding data is copied to the predeterminable area in video memory, and to the pointer of decoding data described in the empty slot queue Information is accordingly updated.
  7. 7. the according to the method described in claim 1, it is characterized in that, attribute information according to the decoding data to be rendered Data texturing is loaded, including:
    Obtain existing data texturing;
    Judge that whether existing data texturing met the attribute information of the decoding data to be rendered renders demand;
    If so, load existing data texturing;
    If it is not, configuration and the corresponding data texturing of attribute information of the decoding data to be rendered, and load with the line postponed Manage data.
  8. 8. a kind of Video Rendering system, which is characterized in that including:
    Decoding unit, for when receive have available empty slot in video requency frame data to be decoded and empty slot queue when, treated to described Decoded video requency frame data is decoded, and obtains decoding data, wherein, the empty slot queue includes multiple empty slots;
    Storage unit, for the data message of the decoding data and attribute information to be saved in first in the empty slot queue In a available empty slot, and the decoding data is determined as decoding data to be rendered;
    Extraction unit, for when, there are during the data message of decoding data to be rendered, wash with watercolours being treated described in extraction in the empty slot queue Decoding data is contaminated, and the empty slot that will preserve the data message of the decoding data to be rendered is labeled as available empty slot;
    Loading unit, for loading data texturing according to the attribute information of the decoding data to be rendered;
    Rendering unit, for being rendered according to the data texturing to the decoding data to be rendered.
  9. 9. system according to claim 8, which is characterized in that the system also includes:
    Judging unit for judging whether all video requency frame datas of current video code stream have all decoded, works as forward sight if so, closing The corresponding decoder of frequency code stream, and the corresponding decoder of next video code flow is opened according to the next video code flow having received, And trigger the decoding unit;If it is not, directly trigger the decoding unit.
  10. 10. system according to claim 8, which is characterized in that the loading unit includes:
    Subelement is obtained, for obtaining existing data texturing;
    Judgment sub-unit, for judging whether existing data texturing meets the wash with watercolours of the attribute information of the decoding data to be rendered Dye demand, if so, triggering loading subelement, if it is not, triggering configuration subelement;
    The loading subelement, for loading existing data texturing;
    The configuration subelement, for configuring the corresponding data texturing of attribute information with the decoding data to be rendered, and Loading is with the data texturing postponed.
CN201810034814.5A 2018-01-15 2018-01-15 Video rendering method and system Active CN108093293B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810034814.5A CN108093293B (en) 2018-01-15 2018-01-15 Video rendering method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810034814.5A CN108093293B (en) 2018-01-15 2018-01-15 Video rendering method and system

Publications (2)

Publication Number Publication Date
CN108093293A true CN108093293A (en) 2018-05-29
CN108093293B CN108093293B (en) 2021-01-22

Family

ID=62182105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810034814.5A Active CN108093293B (en) 2018-01-15 2018-01-15 Video rendering method and system

Country Status (1)

Country Link
CN (1) CN108093293B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194960A (en) * 2018-11-13 2019-01-11 北京奇艺世纪科技有限公司 A kind of picture frame rendering method, device and electronic equipment
CN110636370A (en) * 2018-06-25 2019-12-31 阿里巴巴集团控股有限公司 Video processing method and device, electronic equipment and readable medium
WO2020019140A1 (en) * 2018-07-23 2020-01-30 深圳市大疆创新科技有限公司 Video processing method, terminal device and machine-readable storage medium
CN110753265A (en) * 2019-10-28 2020-02-04 北京奇艺世纪科技有限公司 Data processing method and device and electronic equipment
CN112492384A (en) * 2019-09-12 2021-03-12 曙光信息产业(北京)有限公司 Video decoding method and device and computer equipment
CN113407325A (en) * 2021-06-30 2021-09-17 深圳市斯博科技有限公司 Video rendering method and device, computer equipment and storage medium
CN114222185A (en) * 2021-12-10 2022-03-22 洪恩完美(北京)教育科技发展有限公司 Video playing method, terminal equipment and storage medium
CN114359017A (en) * 2021-12-27 2022-04-15 阿波罗智联(北京)科技有限公司 Multimedia resource processing method and device and electronic equipment

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101067827A (en) * 2007-06-14 2007-11-07 上海创图网络科技发展有限公司 Three-dimensional web page realizing method based on browser
CN102461168A (en) * 2009-06-04 2012-05-16 韩国科亚电子股份有限公司 Apparatus and method for processing video data
CN103391414A (en) * 2013-07-24 2013-11-13 杭州趣维科技有限公司 Video processing device and processing method applied to mobile phone platform
CN103942823A (en) * 2014-02-27 2014-07-23 优视科技有限公司 Game engine rendering method and device
CN104137563A (en) * 2012-02-28 2014-11-05 高通股份有限公司 Customized buffering at sink device in wireless display system based on application awareness
CN104185062A (en) * 2013-05-27 2014-12-03 中兴通讯股份有限公司 Method for processing video streams by terminal and terminal
US20150371354A1 (en) * 2014-06-19 2015-12-24 Vmware, Inc. Host-Based GPU Resource Scheduling
CN105389159A (en) * 2014-09-03 2016-03-09 优视科技有限公司 Picture rendering method, device and mobile terminal
CN105992005A (en) * 2015-03-04 2016-10-05 广州市动景计算机科技有限公司 Video decoding method and device and terminal device
CN106959897A (en) * 2017-02-16 2017-07-18 福建天泉教育科技有限公司 A kind of optimization method and system based on Unity3D image renderings
US20170359607A1 (en) * 2016-06-10 2017-12-14 Apple Inc. Distributed and synchronized media switching

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101067827A (en) * 2007-06-14 2007-11-07 上海创图网络科技发展有限公司 Three-dimensional web page realizing method based on browser
CN102461168A (en) * 2009-06-04 2012-05-16 韩国科亚电子股份有限公司 Apparatus and method for processing video data
CN104137563A (en) * 2012-02-28 2014-11-05 高通股份有限公司 Customized buffering at sink device in wireless display system based on application awareness
CN104185062A (en) * 2013-05-27 2014-12-03 中兴通讯股份有限公司 Method for processing video streams by terminal and terminal
CN103391414A (en) * 2013-07-24 2013-11-13 杭州趣维科技有限公司 Video processing device and processing method applied to mobile phone platform
CN103942823A (en) * 2014-02-27 2014-07-23 优视科技有限公司 Game engine rendering method and device
US20150371354A1 (en) * 2014-06-19 2015-12-24 Vmware, Inc. Host-Based GPU Resource Scheduling
CN105389159A (en) * 2014-09-03 2016-03-09 优视科技有限公司 Picture rendering method, device and mobile terminal
CN105992005A (en) * 2015-03-04 2016-10-05 广州市动景计算机科技有限公司 Video decoding method and device and terminal device
US20170359607A1 (en) * 2016-06-10 2017-12-14 Apple Inc. Distributed and synchronized media switching
CN106959897A (en) * 2017-02-16 2017-07-18 福建天泉教育科技有限公司 A kind of optimization method and system based on Unity3D image renderings

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110636370A (en) * 2018-06-25 2019-12-31 阿里巴巴集团控股有限公司 Video processing method and device, electronic equipment and readable medium
CN110636370B (en) * 2018-06-25 2022-02-01 斑马智行网络(香港)有限公司 Video processing method and device, electronic equipment and readable medium
WO2020019140A1 (en) * 2018-07-23 2020-01-30 深圳市大疆创新科技有限公司 Video processing method, terminal device and machine-readable storage medium
CN109194960B (en) * 2018-11-13 2020-12-18 北京奇艺世纪科技有限公司 Image frame rendering method and device and electronic equipment
CN109194960A (en) * 2018-11-13 2019-01-11 北京奇艺世纪科技有限公司 A kind of picture frame rendering method, device and electronic equipment
CN112492384A (en) * 2019-09-12 2021-03-12 曙光信息产业(北京)有限公司 Video decoding method and device and computer equipment
CN110753265B (en) * 2019-10-28 2022-04-19 北京奇艺世纪科技有限公司 Data processing method and device and electronic equipment
CN110753265A (en) * 2019-10-28 2020-02-04 北京奇艺世纪科技有限公司 Data processing method and device and electronic equipment
CN113407325A (en) * 2021-06-30 2021-09-17 深圳市斯博科技有限公司 Video rendering method and device, computer equipment and storage medium
CN114222185A (en) * 2021-12-10 2022-03-22 洪恩完美(北京)教育科技发展有限公司 Video playing method, terminal equipment and storage medium
CN114222185B (en) * 2021-12-10 2024-04-05 洪恩完美(北京)教育科技发展有限公司 Video playing method, terminal equipment and storage medium
CN114359017A (en) * 2021-12-27 2022-04-15 阿波罗智联(北京)科技有限公司 Multimedia resource processing method and device and electronic equipment
CN114359017B (en) * 2021-12-27 2023-11-17 阿波罗智联(北京)科技有限公司 Multimedia resource processing method and device and electronic equipment

Also Published As

Publication number Publication date
CN108093293B (en) 2021-01-22

Similar Documents

Publication Publication Date Title
CN108093293A (en) A kind of Video Rendering method and system
US8824560B2 (en) Virtual frame buffer system and method
CN104461632B (en) A kind of Web App loading methods and device
CN110366033A (en) A kind of video broadcasting method, device, equipment and storage medium
CN103827818B (en) FIFO loading instructions
CN102883218B (en) Method and equipment for decoding multiple video files
EP1587227A3 (en) Method for controlling a memory for time deinterleaving in a receiver for Digital Multimedia Broadcast (DMB)
US6105124A (en) Method and apparatus for merging binary translated basic blocks of instructions
CN104408761B (en) A kind of methodology in computer graphics based on automatic batch Rendering
CN105791952A (en) Screen shooting method and device for streaming media video data, and electronic device
TW200844898A (en) Method and apparatus for graphics processing unit
US20060288188A1 (en) Translating a string operation
EP2199916A1 (en) Method of controlling a page open time for a memory device, storage medium and memory system
CN103744800A (en) Cache operation method and device for replay mechanism
US7542046B1 (en) Programmable clipping engine for clipping graphics primitives
CN101527844A (en) Method for block execution of data to be decoded
KR20230130756A (en) Error concealment in segmented rendering using shading atlases.
CN110087142A (en) A kind of video segment method, terminal and storage medium
CN105118020A (en) Image fast processing method and apparatus
FR2780184A1 (en) METHOD AND DEVICE FOR DECODING IMAGES, ALLOWING A REDUCED NUMBER OF MEMORY PAGE OPENINGS IN PREDICTION PROCESSING
FR2780186A1 (en) METHOD AND DEVICE FOR DECODING AN IMAGE, COMPRESSED IN PARTICULAR ACCORDING TO MPEG STANDARDS, IN PARTICULAR A BIDIRECTIONAL IMAGE
KR101861621B1 (en) Apparatus of progressively parsing bit stream based on removal emulation prevention byte and method of the same
CN111512631A (en) Data processing method and related product
CN110399883A (en) Image characteristic extracting method, device, equipment and computer readable storage medium
CN113724276A (en) Polyp image segmentation method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant