CN109005160A - Video encoding/decoding method, device and computer readable storage medium, terminal - Google Patents

Video encoding/decoding method, device and computer readable storage medium, terminal Download PDF

Info

Publication number
CN109005160A
CN109005160A CN201810753482.6A CN201810753482A CN109005160A CN 109005160 A CN109005160 A CN 109005160A CN 201810753482 A CN201810753482 A CN 201810753482A CN 109005160 A CN109005160 A CN 109005160A
Authority
CN
China
Prior art keywords
video
frequency domain
block
tinter
image block
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.)
Pending
Application number
CN201810753482.6A
Other languages
Chinese (zh)
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.)
Guangzhou Huya Information Technology Co Ltd
Original Assignee
Guangzhou Huya Information 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 Guangzhou Huya Information Technology Co Ltd filed Critical Guangzhou Huya Information Technology Co Ltd
Priority to CN201810753482.6A priority Critical patent/CN109005160A/en
Publication of CN109005160A publication Critical patent/CN109005160A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The present invention relates to field of video applications, more particularly to a kind of video encoding/decoding method, device and computer readable storage medium, terminal, the described method includes: obtaining live video stream to be processed, the frequency domain video frame of the live video stream is divided into the frequency domain image block of preset quantity;The frequency domain image block of the live video stream is decoded using tinter is calculated, obtains yuv video block;The yuv video block is synthesized into time-domain video frame.The present invention provide it is a kind of using calculate tinter auxiliary carry out the decoded method of video, using calculate tinter using graphics processor as parallel processor processing video decoding process in some or all of process, raising the decoded efficiency of video.

Description

Video encoding/decoding method, device and computer readable storage medium, terminal
Technical field
The present invention relates to field of video applications, and in particular to a kind of video encoding/decoding method, device and computer-readable storage Medium, terminal.
Background technique
With the development of mobile Internet and stream media technology, more and more people are easily and quickly carried out by mobile terminal Live streaming and viewing live video, and mobile terminal is due to terminal hardware and the difference of configuration, the Video Applications of most of mobile terminals Be all made of unified software codec rule to video carry out encoding and decoding, such as it is widely used H.264 and continue to develop H.265 encoding and decoding are carried out to video using software codec and need CPU (Central Processing Unit, central processing Device) a large amount of operation is carried out, the consumption of a large amount of cpu resources causes video to decode phenomena such as slow, terminal fever is hot.In movement Many equipment is held to support hard decoder, hard decoder has the advantages that the fast power consumption of decoding is low etc., can liberate CPU, enables CPU Enough handle other affairs.But hard decoder is not sufficiently stable, to allow the viewer to normally watch live video, it is often necessary to hard Decoding is switched to soft decoding.Therefore how to optimize the problem of soft decoding is current field of video applications urgent need to resolve.
Summary of the invention
The problem of to overcome the above technical problem, especially optimizing soft decoding in the prior art, spy propose following technical side Case:
In a first aspect, the present invention provides a kind of video encoding/decoding methods, comprising:
Live video stream to be processed is obtained, the frequency domain video frame of the live video stream is divided into the frequency of preset quantity Area image block;
The frequency domain image block of the live video stream is decoded using tinter is calculated, obtains yuv video block;
The yuv video block is synthesized into time-domain video frame.
Further, described to be decoded the frequency domain image block of the live video stream using calculating tinter, it obtains Yuv video block, comprising:
The frequency domain image block is transmitted to calculating tinter, it will be described in graphics processor by the calculating tinter Frequency domain image block is converted into time-domain image block;
The time-domain image block is decoded in graphics processor by the calculating tinter and is converted to yuv video block.
Further, it is described by the frequency domain video frame of the live video stream be divided into preset quantity frequency domain image block it Before, comprising:
Obtain the grade of graphics processor;
If the grade of the graphics processor is the first predetermined level, the live video is streamed to calculating coloring Device is split the frequency domain video frame of the live video stream in graphics processor by the calculating tinter, obtains pre- If the frequency domain image block of quantity.
Further, after the synthesis time-domain video frame by the yuv video block, further includes:
Using tinter is calculated the time-domain video frame is subjected to deblocking filtering in graphics processor, obtains deblocking filtering Video image afterwards;
Export the video image.
Further, after the output video image, further includes:
It scores the video image;
According to the grade of the graphics processor of the scoring modification terminal.
Second aspect, the present invention provide a kind of video encoding/decoding method, comprising:
Central processing unit obtains live video stream to be processed, the frequency domain video frame of the live video stream is divided into pre- If the frequency domain image block of quantity;
The frequency domain image block is transmitted to calculating tinter by central processing unit;
It calculates tinter to be decoded the frequency domain image block on image processor, obtains yuv video block;
Central processing unit obtains the yuv video block from the calculating tinter, by yuv video block synthesis time domain view Frequency frame.
The third aspect, the present invention provide a kind of video decoder, comprising:
Stream process module: for obtaining live video stream to be processed, by the frequency domain video frame of the live video stream point It is cut into the frequency domain image block of preset quantity;
First decoder module: for the frequency domain image block of the live video stream to be decoded using calculating tinter, Obtain yuv video block;
Second decoder module: for the yuv video block to be synthesized time-domain video frame.
Further, first decoder module further includes being used for:
The frequency domain image block is transmitted to calculating tinter, it will be described in graphics processor by the calculating tinter Frequency domain image block is converted into time-domain image block;
The time-domain image block is decoded in graphics processor by the calculating tinter and is converted to yuv video block.
Fourth aspect, the present invention also provides a kind of computer readable storage medium, the computer readable storage medium On be stored with computer program, which realizes above-mentioned video encoding/decoding method when being executed by processor.
5th aspect, the present invention also provides a kind of terminal, the terminal include one or more processors, memory, One or more application program, wherein one or more of application programs be stored in the memory and be configured as by One or more of processors execute, and one or more of programs are configured to carry out above-mentioned video encoding/decoding method.
Compared with the prior art, the present invention has the following beneficial effects:
The decoded method of video is carried out using calculating tinter auxiliary the present invention provides a kind of, it is to be processed getting After live video stream, the frequency domain video frame of the live video stream is divided into the frequency domain image block of preset quantity, is then passed through Some or all of a large amount of operations process will be needed to be transplanted in video decoding process and calculate tinter (Compute Shaders) In, GPU (Graphics Processing Unit, graphics processor) is subject to as parallel processor based on tinter is calculated It utilizes, the calculating of assignment procedure during live video stream decodes is completed using the operational capability of GPU, passes through and calculates tinter pair GPU is efficiently used, and the decoded efficiency of video is improved, and is reduced consumption of the video decoding to CPU, is avoided due to consuming too much Video caused by CPU falls phenomena such as frame.
The additional aspect of the present invention and advantage will be set forth in part in the description, these will become from the following description Obviously, or practice through the invention is recognized.
Detailed description of the invention
Above-mentioned and/or additional aspect and advantage of the invention will become from the following description of the accompanying drawings of embodiments Obviously and it is readily appreciated that, in which:
Fig. 1 is an embodiment flow diagram of video encoding/decoding method of the present invention;
Fig. 2 is another embodiment flow diagram of video encoding/decoding method of the present invention;
Fig. 3 is an embodiment schematic diagram of video decoder of the present invention;
Fig. 4 is an example structure schematic diagram of terminal of the present invention.
Specific embodiment
The embodiment of the present invention is described below in detail, examples of the embodiments are shown in the accompanying drawings, wherein from beginning to end Same or similar label indicates same or similar element or element with the same or similar functions.Below with reference to attached The embodiment of figure description is exemplary, and for explaining only the invention, and is not construed as limiting the claims.
Those skilled in the art of the present technique are appreciated that unless expressly stated, singular " one " used herein, " one It is a ", " described " and "the" may also comprise plural form.It is to be further understood that being arranged used in specification of the invention Diction " comprising " refers to that there are the feature, integer, step, operations, but it is not excluded that in the presence of or addition it is one or more other Feature, integer, step, operation.
Those skilled in the art of the present technique are appreciated that unless otherwise defined, all terms used herein (including technology art Language and scientific term), there is meaning identical with the general understanding of those of ordinary skill in fields of the present invention.Should also Understand, those terms such as defined in the general dictionary, it should be understood that have in the context of the prior art The consistent meaning of meaning, and unless idealization or meaning too formal otherwise will not be used by specific definitions as here To explain.
It will be appreciated by those skilled in the art that of the invention so-called " application ", " application program ", " computer program " and The concept of similar statement, is same concept well known to those skilled in the art, refers to and is instructed by series of computation machine and dependency number According to the computer software for being suitable for electronics operation of the organic construction of resource.Unless specified, this name itself is not by programming language Say type, rank, the operating system of operation of also not rely by it or platform are limited.In the nature of things, this genus also not by Any type of terminal is limited.
The embodiment of the present invention provides a kind of video encoding/decoding method, based on the net cast application of operation on mobile terminals Body, by calling the configured program code of application, hardware module to execute, realizing following function, as shown in Figure 1, the method The following steps are included:
S10: obtaining live video stream to be processed, and the frequency domain video frame of the live video stream is divided into preset quantity Frequency domain image block.
The embodiment of the present invention is illustrated with the visual angle of the net cast application on mobile terminal, with net cast application The central processing unit (CPU) called is executing subject, and the live video acquired to camera may be implemented in net cast application Stream is decoded, and the video image of camera shooting is presented, and can also be realized from distal end and be received live video flow data, then lead to It crosses decoding and shows the corresponding video image of live video stream, it is preferred that the present embodiment to be from distal end reception live video stream Example is illustrated, and the net cast on mobile terminal applies from distal end and receives live video stream, that is, obtains live streaming view to be processed Frequency flows.Then the flow data of the live video stream is handled, which mainly passes through central processing unit (CPU) and counted It calculates, the frequency domain video frame of the live video stream is obtained after calculating, the frequency domain video frame is then divided into preset quantity Frequency domain image block, frequency domain image block are also referred to as video macro block data, and the frequency domain image block contains motion vector array And macro block frequency domain value array, the stream process which being defined as in video decoding process.
S20: the frequency domain image block of the live video stream is decoded using tinter is calculated, obtains yuv video block.
The decoded process of video is related to a large amount of operations, it is contemplated that fast with speed to video decoding using graphics processor, The advantages that saving electric power resource, in the present embodiment, by the frequency domain video frame of live video stream divide to obtain frequency domain image block it Afterwards, the frequency domain image block of the live video stream is decoded using calculating tinter (Compute Shaders), specifically , net cast application configuration is added to tinter is calculated in soft decoding application program, and will need in video decoding process Some or all of a large amount of operations process, which is transplanted to, to be calculated in tinter (Compute Shaders), will based on tinter is calculated GPU (Graphics Processing Unit, graphics processor) is used as parallel processor, utilizes the operation of GPU Ability completes the calculating of assignment procedure during live video stream decodes, and can finally obtain from calculating tinter and be calculated, solved by GPU The yuv video block that code obtains, the YUV image block are a kind of image datas determined with YUV coding rule, and YUV is a kind of view The coding method of frequency color of image, wherein Y indicates the brightness (Luminance, Luma) of video image, and U and V are then difference Coloration, the concentration (Chrominance, Chroma) for indicating video image, the color that image can be depicted by obtaining yuv data Color and saturation degree and a certain pixel of specified image color.
S30: the yuv video block is synthesized into time-domain video frame.
It, will after obtaining yuv video block since live video stream is made of the image of one frame of time domain previous frame The yuv video block synthesizes time-domain video frame, just decodes the live video stream at this time and obtains the corresponding frame of live video stream The video image of one frame, which, which mainly realizes, carries out motion compensation to image block, determines one frame of front in live video stream How each fritter moves some position in next frame, reduces the spatial redundancy in video sequence with this, obtains more accurate Video frame.
Present embodiments provide it is a kind of using calculate tinter auxiliary carry out the decoded method of video, it is to be processed getting Live video stream after, the frequency domain video frame of the live video stream is divided into the frequency domain image block of preset quantity, is then led to Crossing will need some or all of a large amount of operations process to be transplanted in video decoding process calculates tinter (Compute Shaders in), GPU (Graphics Processing Unit, graphics processor) is located as parallel based on tinter is calculated Reason device is used, and the calculating of assignment procedure during live video stream decodes is completed using the operational capability of GPU, by calculating Color device efficiently uses GPU, improves the decoded efficiency of video, reduces consumption of the video decoding to CPU, avoids due to excessive Phenomena such as video caused by ground consumption CPU falls frame.
A kind of embodiment of the invention, it is described to be carried out the frequency domain image block of the live video stream using calculating tinter Decoding obtains yuv video block, comprising:
The frequency domain image block is transmitted to calculating tinter, it will be described in graphics processor by the calculating tinter Frequency domain image block is converted into time-domain image block;
The time-domain image block is decoded in graphics processor by the calculating tinter and is converted to yuv video block.
In the present embodiment, the frequency domain image block of the live video stream is decoded using tinter is calculated, specifically The frequency domain image block is transmitted to calculating tinter, the partial routine is then transferred to graphics processor by calculating tinter In, the frequency domain image block is calculated in graphics processor, is converted into time-domain image block, from the calculating tinter Get the time-domain image block;Then, then by obtained time-domain image block be similarly transferred to image processor calculate, by Graphics processor decoding is converted to yuv video block, can get the yuv video block from the calculating tinter, thus It realizes for the process of a large amount of operations involved in video decoding process to be transferred to and is calculated, handled by graphics processor, discharge centre Manage the calculating pressure of device.
A kind of embodiment of the invention, the frequency that the frequency domain video frame of the live video stream is divided into preset quantity Before area image block, comprising:
Obtain the grade of graphics processor;
If the grade of the graphics processor is the first predetermined level, the live video is streamed to calculating coloring Device is split the frequency domain video frame of the live video stream in graphics processor by the calculating tinter, obtains pre- If the frequency domain image block of quantity.
In view of the hardware configuration of different terminals is not identical, the grade of especially graphics processor is different, computing capability not Together, in the present embodiment, before the frequency domain video frame of the live video stream is divided into the frequency domain image block of preset quantity, sentence The grade of the graphics processor of disconnected terminal, determines whether the graphics processor of terminal can complete the stream process in video decoding process Process determines that the graphics processor can be completed to live video if the grade of the graphics processor is the first predetermined level The frequency domain video frame of stream is split this process, then spreads live video received by central processing unit in the present embodiment Calculating tinter is transported to, the frequency domain video frame is split in graphics processor by the calculating tinter, is obtained pre- If the frequency domain image block of quantity, the calculating that video frame is split will be gone in graphics processor by central processing unit originally Upper completion discharges the calculating pressure of central processing unit;In addition, if the graphics processor is the second predetermined level, the grade Graphics processor is unable to complete the segmentation to frequency domain video frame, then still by central processing unit by the frequency domain video frame of live video stream It is divided into the frequency domain image block of preset quantity.
A kind of embodiment of the invention, it is described by the yuv video block synthesize time-domain video frame after, further includes:
Using tinter is calculated the time-domain video frame is subjected to deblocking filtering in graphics processor, obtains deblocking filtering Video image afterwards;
Export the video image.
When yuv video block is synthesized time-domain video frame, transition is unsmooth between yuv video block and yuv video block, is easy There is mosaic phenomenon, in the present embodiment, after the time-domain video frame for obtaining the synthesis of yuv video block, pass through calculate tinter will The time-domain video frame carries out deblocking filtering in graphics processor, removes the mosaic phenomenon occurred in time-domain video frame, very Original video image is gone back on the spot.
A kind of embodiment of the invention, after the output video image, further includes:
It scores the video image;
According to the grade of the graphics processor of the scoring modification terminal.
It is required in order to which whether the video image judged meets preset viewing, in the present embodiment, to the video of output Image scores, specifically, whether the image quality of the video image of output is met the requirements, the linking between video image whether Smoothness scores, and when the scoring, which could not reach preset viewing, to be required, illustrates that the terminal is utilized by calculating tinter Graphics processor is not ideal enough to the result of the auxiliary decoder of live video stream, at this time according to the figure of the scoring adjustment terminal Original grade of processor, more processes when the terminal being allowed to carry out video decoding are completed by central processing unit;When the scoring Preset viewing can be reached when requiring, illustrate the terminal by calculating tinter using graphics processor to live video stream The result of auxiliary decoder reaches requirement, maintains original grade of the graphics processor of terminal at this time, to allow the subsequent terminal to carry out The decoded most of process of video is crossed calculating tinter and is completed using graphics processor, and the decoded efficiency of video is improved.
It in the embodiment of the present invention, is created by OpenGL programming language and calculates tinter, call glShaderSource () function setup calculates the source parameter of tinter, the calculating tinter is attached in software decoding program, net cast is answered It is integrated with the software decoding for being calculated as the measure of guaranteeing the minimum with central processing unit in, and introduces and calculates in software decoding program Tinter is used under the auxiliary for calculating tinter using GPU as parallel processor, during decoded to video, if It needs a large amount of operations then to carry out calculation processing, others using GPU to be handled using CPU, realizes and revealed all the details, schemed with software decoding Shape processor accelerates the video encoding/decoding method of processing, not only guarantees the decoded success rate of video, while guaranteeing the decoded height of video Effect property.
As shown in Fig. 2, in another embodiment, the present invention from central processing unit, calculate tinter, graphics processor Collaborative work visual angle provides a kind of video encoding/decoding method, the described method comprises the following steps:
S100: central processing unit obtains live video stream to be processed, by the frequency domain video frame of the live video stream point It is cut into the frequency domain image block of preset quantity;
S200: the frequency domain image block is transmitted to calculating tinter by central processing unit;
S300: it calculates tinter and the frequency domain image block is decoded on image processor, obtain yuv video block;
S400: central processing unit obtains the yuv video block from the calculating tinter, and the yuv video block is synthesized Time-domain video frame.
Net cast on mobile terminal applies from distal end and receives live video flow data, and central processing unit obtains to be processed Live video stream, then the frequency domain video frame of the live video stream is divided into the frequency domain image block of preset quantity, the mistake Journey can be calculated by central processing unit and be completed, and can also be controlled by central processing unit and be calculated tinter completion, then central processing unit The frequency domain image block is transmitted to calculating tinter, tinter is calculated and the frequency domain image block is then transmitted to graphics process Device is decoded the frequency domain image block using image processor, obtains yuv video block, and be transmitted to calculating tinter, in Central processor obtains the yuv video block from the calculating tinter, and the yuv video block is synthesized time-domain video frame.
As shown in figure 3, in another embodiment, being based on modularized thoughts, the present invention provides a kind of decodings of video to fill It sets, comprising:
Stream process module 10: for obtaining live video stream to be processed, by the frequency domain video frame of the live video stream It is divided into the frequency domain image block of preset quantity;
First decoder module 20: for being solved the frequency domain image block of the live video stream using calculating tinter Code obtains yuv video block;
Second decoder module 30: for the yuv video block to be synthesized time-domain video frame.
Further, a kind of embodiment of the invention, first decoder module 20 further includes being used for:
The frequency domain image block is transmitted to calculating tinter, it will be described in graphics processor by the calculating tinter Frequency domain image block is converted into time-domain image block;The time-domain image block is decoded in graphics processor by the calculating tinter Be converted to yuv video block.
A kind of embodiment of the invention, first decoder module further include for executing the live video stream Frequency domain video frame is divided into before the frequency domain image block of preset quantity, obtains the grade of graphics processor;If the graphics process The grade of device is the first predetermined level, and the live video is streamed to calculating tinter, is being schemed by the calculating tinter The frequency domain video frame of the live video stream is split on shape processor, obtains the frequency domain image block of preset quantity.
A kind of embodiment of the invention, it is described by the yuv video block synthesize time-domain video frame after, further includes:
Using tinter is calculated the time-domain video frame is subjected to deblocking filtering in graphics processor, obtains deblocking filtering Video image afterwards;
Export the video image.
After the output video image, further includes:
It scores the video image;
According to the grade of the graphics processor of the scoring modification terminal.
In another embodiment, the present invention provides a kind of computer readable storage medium, computer-readable storage mediums Computer program is stored in matter, which realizes video decoding side described in above-described embodiment when being executed by processor Method.Wherein, the computer readable storage medium includes but is not limited to any kind of disk (including floppy disk, hard disk, CD, CD- ROM and magneto-optic disk), ROM (Read-Only Memory, read-only memory), RAM (Random AcceSS Memory, immediately Memory), EPROM (EraSable Programmable Read-Only Memory, Erarable Programmable Read only Memory), (Electrically EraSable Programmable Read-Only Memory, electric erazable programmable is read-only to be deposited EEPROM Reservoir), flash memory, magnetic card or light card.It is, storage equipment includes by equipment (for example, computer, mobile phone) with energy Any medium for the form storage or transmission information enough read can be read-only memory, disk or CD etc..
A kind of computer readable storage medium provided in an embodiment of the present invention is, it can be achieved that obtain live video to be processed The frequency domain video frame of the live video stream, is divided into the frequency domain image block of preset quantity by stream;Using calculating tinter for institute The frequency domain image block for stating live video stream is decoded, and obtains yuv video block;The yuv video block is synthesized into time-domain video frame. It is a kind of using the tinter auxiliary progress decoded method of video is calculated by providing, getting live video stream to be processed Afterwards, the frequency domain video frame of the live video stream is divided into the frequency domain image block of preset quantity, then by decoding video It needs some or all of a large amount of operations process to be transplanted in the process to calculate in tinter (Compute Shaders), based on It calculates tinter GPU (Graphics Processing Unit, graphics processor) is used as parallel processor, utilize The operational capability of GPU completes the calculating of assignment procedure during live video stream decodes, and is carried out effectively by calculating tinter to GPU It utilizes, improves the decoded efficiency of video, reduce consumption of the video decoding to CPU, avoid due to being consumed caused by CPU too much Video falls phenomena such as frame.
The embodiment of above-mentioned video encoding/decoding method may be implemented in computer readable storage medium provided in an embodiment of the present invention, Concrete function realizes the explanation referred in embodiment of the method, and details are not described herein.
In addition, the present invention also provides a kind of terminals in another embodiment, as shown in figure 4, the terminal includes processing The devices such as device 403, memory 405, input unit 407 and display unit 409.It will be understood by those skilled in the art that Fig. 4 shows Structure devices out do not constitute the restriction to all terminals, may include than illustrating more or fewer components, or combination Certain components.Memory 405 can be used for storing application program 401 and each functional module, and the operation of processor 403 is stored in storage The application program 401 of device 405, thereby executing the various function application and data processing of equipment.Memory 405 can be memory Reservoir or external memory, or including both built-in storage and external memory.Built-in storage may include read-only memory (ROM), programming ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash Device or random access memory.External memory may include hard disk, floppy disk, ZIP disk, USB flash disk, tape etc..It is disclosed in this invention to deposit Reservoir includes but is not limited to the memory of these types.Memory 405 disclosed in this invention is only used as example rather than as limit It is fixed.
Input unit 407 is used to receive the input of signal, and receives the keyword of user's input.Input unit 407 can Including touch panel and other input equipments.Touch panel collects the touch operation of user on it or nearby and (for example uses Family uses the operations of any suitable object or attachment on touch panel or near touch panel such as finger, stylus), and root According to the corresponding attachment device of preset driven by program;Other input equipments can include but is not limited to physical keyboard, function One of key (such as broadcasting control button, switch key etc.), trace ball, mouse, operating stick etc. are a variety of.Display unit 409 can be used for showing the information of user's input or be supplied to the information of user and the various menus of computer equipment.Display is single The forms such as liquid crystal display, Organic Light Emitting Diode can be used in member 409.Processor 403 is the control centre of computer equipment, benefit With the various pieces of various interfaces and the entire computer of connection, by running or executing the software being stored in memory 403 Program and/or module, and the data being stored in memory are called, perform various functions and handle data.Shown in Fig. 4 One or more processors 403 are able to carry out, realize stream process module 10 shown in Fig. 3, the first decoder module 20, second solution The function of code module 30.
In one embodiment, the terminal includes one or more processors 403, and one or more memories 405, one or more application program 401, wherein one or more of application programs 401 are stored in memory 405 simultaneously Be configured as being executed by one or more of processors 403, one or more of application programs 401 be configured to carry out with Video encoding/decoding method described in upper embodiment.
A kind of terminal provided in an embodiment of the present invention is, it can be achieved that obtain live video stream to be processed, by live streaming view The frequency domain video frame of frequency stream is divided into the frequency domain image block of preset quantity;Using calculating tinter for the frequency of the live video stream Area image block is decoded, and obtains yuv video block;The yuv video block is synthesized into time-domain video frame.By providing a kind of utilization It calculates tinter auxiliary and carries out the decoded method of video, after getting live video stream to be processed, by the live video The frequency domain video frame of stream is divided into the frequency domain image block of preset quantity, then by will need a large amount of operations in video decoding process Some or all of process be transplanted to and calculate in tinter (Compute Shaders), based on calculating tinter for GPU (Graphics Processing Unit, graphics processor) is used as parallel processor, utilizes the operational capability of GPU The calculating for completing assignment procedure during live video stream decodes efficiently uses GPU by calculating tinter, improves video Decoded efficiency reduces consumption of the video decoding to CPU, avoids falling frame etc. now due to consuming video caused by CPU too much As.
The embodiment of the video encoding/decoding method of above-mentioned offer, concrete function may be implemented in terminal provided in an embodiment of the present invention Realize the explanation referred in embodiment of the method, details are not described herein.
The above is only some embodiments of the invention, it is noted that for the ordinary skill people of the art For member, various improvements and modifications may be made without departing from the principle of the present invention, these improvements and modifications are also answered It is considered as protection scope of the present invention.

Claims (10)

1. a kind of video encoding/decoding method characterized by comprising
Live video stream to be processed is obtained, the frequency domain video frame of the live video stream is divided into the frequency domain figure of preset quantity As block;
The frequency domain image block of the live video stream is decoded using tinter is calculated, obtains yuv video block;
The yuv video block is synthesized into time-domain video frame.
2. the method according to claim 1, wherein described utilize calculates tinter for the live video stream Frequency domain image block is decoded, and obtains yuv video block, comprising:
The frequency domain image block is transmitted to calculating tinter, by the calculating tinter by the frequency domain in graphics processor Image block is converted into time-domain image block;
The time-domain image block is decoded in graphics processor by the calculating tinter and is converted to yuv video block.
3. the method according to claim 1, wherein the frequency domain video frame by the live video stream is divided Before the frequency domain image block of preset quantity, comprising:
Obtain the grade of graphics processor;
If the grade of the graphics processor is the first predetermined level, the live video is streamed to calculating tinter, by The calculating tinter is split the frequency domain video frame of the live video stream in graphics processor, obtains preset quantity Frequency domain image block.
4. the method according to claim 1, wherein it is described by the yuv video block synthesis time-domain video frame it Afterwards, further includes:
The time-domain video frame is subjected to deblocking filtering in graphics processor using tinter is calculated, after obtaining deblocking filtering Video image;
Export the video image.
5. according to the method described in claim 4, it is characterized in that, after the output video image, further includes:
It scores the video image;
According to the grade of the graphics processor of the scoring modification terminal.
6. a kind of video encoding/decoding method characterized by comprising
Central processing unit obtains live video stream to be processed, and the frequency domain video frame of the live video stream is divided into present count The frequency domain image block of amount;
The frequency domain image block is transmitted to calculating tinter by central processing unit;
It calculates tinter to be decoded the frequency domain image block on image processor, obtains yuv video block;
Central processing unit obtains the yuv video block from the calculating tinter, and the yuv video block is synthesized time-domain video Frame.
7. a kind of video decoder characterized by comprising
Stream process module: for obtaining live video stream to be processed, the frequency domain video frame of the live video stream is divided into The frequency domain image block of preset quantity;
First decoder module: it for being decoded the frequency domain image block of the live video stream using calculating tinter, obtains Yuv video block;
Second decoder module: for the yuv video block to be synthesized time-domain video frame.
8. device according to claim 7, first decoder module further includes being used for:
The frequency domain image block is transmitted to calculating tinter, by the calculating tinter by the frequency domain in graphics processor Image block is converted into time-domain image block;
The time-domain image block is decoded in graphics processor by the calculating tinter and is converted to yuv video block.
9. a kind of computer readable storage medium, which is characterized in that be stored with computer on the computer readable storage medium Program realizes claim 1 to 5 or claim 6 described in any item video solutions when the computer program is executed by processor Code method.
10. a kind of terminal characterized by comprising
One or more processors;
Memory;
One or more application program, wherein one or more of application programs are stored in the memory and are configured To be executed by one or more of processors, one or more of application programs are configured to carry out according to claim 1 To any one of 5 or claim 6 institute video encoding/decoding method.
CN201810753482.6A 2018-07-10 2018-07-10 Video encoding/decoding method, device and computer readable storage medium, terminal Pending CN109005160A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810753482.6A CN109005160A (en) 2018-07-10 2018-07-10 Video encoding/decoding method, device and computer readable storage medium, terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810753482.6A CN109005160A (en) 2018-07-10 2018-07-10 Video encoding/decoding method, device and computer readable storage medium, terminal

Publications (1)

Publication Number Publication Date
CN109005160A true CN109005160A (en) 2018-12-14

Family

ID=64598914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810753482.6A Pending CN109005160A (en) 2018-07-10 2018-07-10 Video encoding/decoding method, device and computer readable storage medium, terminal

Country Status (1)

Country Link
CN (1) CN109005160A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113034629A (en) * 2021-05-17 2021-06-25 腾讯科技(深圳)有限公司 Image processing method, image processing device, computer equipment and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611361B1 (en) * 1998-11-13 2003-08-26 Lg Electronics Inc. Method for restoring compressed image of image processing system and apparatus therefor
CN1868211A (en) * 2003-03-28 2006-11-22 微软公司 Accelerating video decoding using a graphics processing unit
CN101123723A (en) * 2006-08-11 2008-02-13 北京大学 Digital video decoding method based on image processor
CN101404773A (en) * 2008-11-25 2009-04-08 江苏大学 Image encoding method based on DSP
US20090285307A1 (en) * 2008-05-14 2009-11-19 Arcsoft, Inc. Video Concatenation for MPEG-4 and H.263 Bit Streams
CN101904174A (en) * 2007-12-07 2010-12-01 彩升集团有限公司 Intra frame encoding using programmable graphics hardware
CN106973298A (en) * 2008-11-04 2017-07-21 先进微装置公司 The software video transcoder accelerated with GPU

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611361B1 (en) * 1998-11-13 2003-08-26 Lg Electronics Inc. Method for restoring compressed image of image processing system and apparatus therefor
CN1868211A (en) * 2003-03-28 2006-11-22 微软公司 Accelerating video decoding using a graphics processing unit
CN101123723A (en) * 2006-08-11 2008-02-13 北京大学 Digital video decoding method based on image processor
CN101904174A (en) * 2007-12-07 2010-12-01 彩升集团有限公司 Intra frame encoding using programmable graphics hardware
US20090285307A1 (en) * 2008-05-14 2009-11-19 Arcsoft, Inc. Video Concatenation for MPEG-4 and H.263 Bit Streams
CN106973298A (en) * 2008-11-04 2017-07-21 先进微装置公司 The software video transcoder accelerated with GPU
CN101404773A (en) * 2008-11-25 2009-04-08 江苏大学 Image encoding method based on DSP

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
网络用户: "深入浅出理解视频编码H264结构", 《HTTPS://WWW.JIANSHU.COM/P/9522C4A7818D》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113034629A (en) * 2021-05-17 2021-06-25 腾讯科技(深圳)有限公司 Image processing method, image processing device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
CN110855904B (en) Video processing method, electronic device and storage medium
CN106031172B (en) For Video coding and decoded adaptive transmission function
KR101564521B1 (en) Techniques to display multimedia data during operating system initialization
US11184646B2 (en) 360-degree panoramic video playing method, apparatus, and system
CN110519638A (en) Processing method, processing unit, electronic device and storage medium
CN107480153A (en) A kind of page data processing method, client and terminal device
CN110012336B (en) Picture configuration method, terminal and device of live interface
US8581924B2 (en) Method and mobile terminal for enabling animation during screen-switching
CN108989804A (en) The coding method of image and device
CN104781845A (en) Processing video content
CN109005160A (en) Video encoding/decoding method, device and computer readable storage medium, terminal
US20180176550A1 (en) Method, processing device, and computer system for video preview
CN113115108A (en) Video processing method and computing device
WO2023125553A1 (en) Frame interpolation method and apparatus and electronic device
EP4199505A1 (en) Methods and apparatus to process video frame pixel data using artificial intelligence video frame segmentation
CN113271494B (en) Video frame processing method and device and electronic equipment
US10846142B2 (en) Graphics processor workload acceleration using a command template for batch usage scenarios
TWI543107B (en) System, apparatus and method for connected component labeling in graphics processors
TW201340030A (en) Content adaptive video processing
CN111192365A (en) Virtual scene positioning method based on ARkit and two-dimensional code
CN113038179A (en) Video encoding method, video decoding method, video encoding device, video decoding device and electronic equipment
CN111526420A (en) Video rendering method, electronic device and storage medium
Melles The Omniscope-Multimedia Streaming and Computer Vision for Applications in the Virtuality Continuum
CN112270765A (en) Information processing method, device, terminal, electronic device and storage medium
WO2017052392A1 (en) Facilitating efficient detection of patterns in graphics display streams prior to their display at computing devices

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181214