CN107770565A - The apparatus and method of low latency Video coding - Google Patents

The apparatus and method of low latency Video coding Download PDF

Info

Publication number
CN107770565A
CN107770565A CN201710680674.4A CN201710680674A CN107770565A CN 107770565 A CN107770565 A CN 107770565A CN 201710680674 A CN201710680674 A CN 201710680674A CN 107770565 A CN107770565 A CN 107770565A
Authority
CN
China
Prior art keywords
video
module
data
memory
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201710680674.4A
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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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
Priority claimed from US15/642,586 external-priority patent/US20180020222A1/en
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN107770565A publication Critical patent/CN107770565A/en
Withdrawn legal-status Critical Current

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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • 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/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4342Demultiplexing isochronously with video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI

Abstract

A kind of apparatus and method of the Video coding with low latency.It is compressed video data that the device carrys out coding input video data comprising a video encoding module, one or more processing modules handle the video data of the compression from the video encoding module to provide the inputting video data to the video encoding module or further, and a data storage related to each processing module, to store or provide the data shared between the video encoding module and each processing module.The coding module is arranged to manage the data access of a data storage by coordinating the video encoding module with a processing module with each processing module, after being ready in another the target shared data in video encoding module and processing module in the data storage, the target shared data is received from the data storage.Video coding system provided by the invention, reduce the delay in the video link of recording/transmission end, broadcasting/receiving terminal or both ends.

Description

The apparatus and method of low latency Video coding
Prioity claim
The application advocate the U.S. Provisional Patent Application filed an application on the 15th of August in 2016 the 62/374,966th with The right of the U.S. Patent Application No. filed an application on July 6th, 2017 15/642,586, and above-mentioned U.S. Patent application is to draw It is incorporated herein with mode.
Technical field
The present invention is related to Video coding.Specifically, the present invention is on by managing between multiple processing modules Data access and the very low latency of processing time (low-latency) Video coding.
Background technology
Video data needs larger memory space to store or need wider bandwidth to transmit.With high-resolution With the development of higher frame per second, if video data is stored and transmitted in the form of uncompressed, it is stored will with demand of transmission It is reluctant.Therefore, video data typically uses video coding technique in compressed form to store and transmit.Pass through Using newer video compression format, for example, H.264/AVC, VP8, VP9 and enhancing HEVC (High Efficiency Video Coding) standard, code efficiency are significantly improved.In order to keep accessible complexity, image is conventionally divided into multiple areas Block, such as macro zone block (MB, macroblock) or LCU/CU apply Video coding.Video encoding standard is typically based on block To be applied to interframe/infra-frame prediction (Inter/Intra prediction).
In video coding system, involved coding usually requires largely to calculate with decoding process.Those are calculated may Cause some delays in encoder-side and decoder end.Apply, such as broadcast live in real time for some, would not want to grow Delay.For interactive application, such as remote processing (tele-presence), long delay is offensive and will caused poor Consumer's Experience.Therefore, it is necessary to design a kind of video coding system with very low latency.
Fig. 1 is for example, containing the Video coding in source from a video link of a source a to receiving terminal With the video decoding in receiving terminal.Video link source can be corresponded to a video record or Transmission system, to produce compression Video data, to record or transmit.Video receiver can correspond to video player or reception system to produce regarding for decoding Frequency plays according to this.For recording application either via the transmission application of Wi-Fi, internet or other transmission environments, compression Video can be stored in multi storage.In Fig. 1, the corresponding recording of system 110 or Transmission system, and system 120 Corresponding broadcasting or reception system.In recording or Transmission system 110, the video source is compiled using video encoder 112 Code, to produce the video of compression.Generally, the system is also comprising related voice data.Video/audio (Audio/Video, A/ V) signal is combined using A/V multiplexers (A/V MUX) 114.The audio & video data of the multiplexing can be recorded or transmitted. In Fig. 1, it is shown that the audio & video data of multiplexing are transmitted using Wi-Fi MAC 116.In broadcasting or reception system In 120, video bit stream is decoded using Video Decoder 122, comes in display driving 124 to show to produce the video of decoding Show.A/V demultiplexing (A/V DEMUX) 126 can be used to demultiplex for related voice data.In Fig. 1, it is shown that use Wi- Fi MAC 128 receive the example of the audio & video data of multiplexing.
The video data is typically to be produced and played with a predetermined frame per second.For example, the video can have frame per second 120fps (frame is per second, frames per second).In this case, each frame period it is corresponding 8.33 milliseconds (ms, millisecond).For processing in real time, each frame is needed to be encoded in 8.33ms interior decoding.Fig. 2A is to record Video record path in system is regarded with producing for example, wherein the video source is encoded using video encoder 210 Frequency bit stream.The video bit stream is then together multiplexed by MUX212 with voice data, to produce compression volume A/V data, To store or transmit.Video encoder 210 and MUX212 will need the time to carry out processing data.Enter from the block of video data Start to stop at the time of leaving MUX212 to corresponding compressed data at the time of video encoder 210, during which there is processing delay.Should Delay be referred to as record or transmission delay.Fig. 2 B are in the display system video playback paths for example, wherein should The A/V data of compression are demultiplexed by demultiplexer (DEMUX) 220, and to extract video bit stream, it is supplied to video solution Code device 222 produces reconstruction frames, there is provided to display 224.Demultiplexer 220, Video Decoder and display 224 will need the time Processing data.Exist at the time of the A/V data related to the block of video data enter DEMUX 220 to corresponding reconstruction data At the time of display in display 224, processing delay be present.The delay is referred to as playing or receives delay.In a video link, End to end delay (namely (recording delay+playout-delay) or (transmission delay+reception delay)) has in some Video Applications There is consequence, such as application in real time.The design object of the present invention is that end to the end minimized in a video link is prolonged Late.For example, the delay can be measured in units of the frame period.Therefore, it is an object of the present invention to minimize the delay, yes The delay is less than the N frame periods.In another example, the delay is measured in units of millisecond.Therefore, target of the invention It is to minimize the delay, the delay for being is less than x milliseconds.
Fig. 3 is the citing of adaptability interframe/intraframe video coding system with reference to loop processed (loop processing) Explanation.Source images buffer 311 stores inputting video data.For inter prediction, estimation (ME)/motion compensation (MC) 312 be for providing prediction data based on the video data from other images or other multiple images.The selection of switch 314 Infra-frame prediction 310 or inter prediction data, and the prediction data selected is to provide to adder 316, is missed to form prediction Difference, also referred to as remaining (residues).The prediction error is then transformed and (Transform, is abbreviated as T) 318 and follow-up amount Change (Quantization, being abbreviated as Q) 320 to handle.The conversion is available to rate-distortion optimization (Rate with the remnants of quantization Distortion Optimization, RDO)/mode decision unit (Mode Decision unit) 321 comes with rate and distortion The related coding mode of angle estimation cost.The encoder then selects a pattern, and obtains with rate-distortion cost The optimum performance of (rate-distortion cost) measurement.The conversion is then coded by entropy device 322 with the remnants quantified and encoded, With included in a video bit stream of the video data to that should compress.Should with conversion coefficient related bits stream then by with side Side information, such as motion, coding mode and other information related to image-region, together package.The avris information is also led to Entropy code is crossed to compress, to reduce required bandwidth.When using an inter-frame forecast mode, a reference picture or multiple references Image is also required to rebuild in decoder end.So as to which the remnants of, the conversion and quantization are by re-quantization (Inverse Quantization, be abbreviated as IQ) 324 with inverse transformation (Inverse Transformation, be abbreviated as IT) 326 come handle with Recover remaining.Using adder 328, the remnants are then added back to prediction data, to rebuild video data.The reconstruction video counts According to being storable in reference picture buffers 334 and for the prediction of other frames.However, reconstruction from REC (reconstruction) 428 Video data can due to it is a series of processing and cause a variety of damages.Therefore, generally stored in reconstruction video data to reference Before frame buffer 334, using loop filter 330 (such as deblocking (De-blocking)) to video data is rebuild, to carry High video quality.For example, de-blocking filter (deblocking filter, DF) adaptively offsets (Sample with sample Adaptive Offset, SAO) it is to make in high efficiency Video coding (High Efficiency Video Coding, HEVC) With.The loop filter information is contained within the bit stream, so as to which a decoder can correctly recover required information.Cause This, loop filter information is available to entropy coder 322 to be incorporated into the bit stream.In figure 3, (the example of loop filter 330 Such as de-blocking filter) it is to be applied before reconstruction sample is stored to reference picture buffers 334 to reconstruction video.In figure 3 System is the signal of the example arrangement of an exemplary video encoder.It can correspond to HEVC systems or H.264.
Fig. 4 is the systematic square frame schematic diagram of Video Decoder corresponding to encoder system in Fig. 3.This it is total solution code system be It is divided into two parts:Syntax parsing 410 and back end decoders (post decoder) 420.Because the encoder also includes one Local decoder rebuilds the video data, and some decoder components (except entropy decoder 412) use in the encoder.More Further, only motion compensation 422 is needed for decoder end.The selection infra-frame prediction of switch 424 or inter prediction, and The prediction data of the selection is to provide to reconstruction unit (REC) 428, is combined with the remnants of recovery.Except for the residual of compression Remaining execution entropy decoding, entropy decoding 412 also are responsible for entropy decoding avris information and provide the avris information (such as frame mode information With inter-frame mode information) to an other block.For example, motion vector is to decode and be stored in MV buffers 414.It is the plurality of MV is then provided to motion compensation 422 to position reference block.The remnants are by IQ324, IT326 and follow-up reconstruction journey Sequence is handled, to rebuild the video data.Again, the video data experience such as Fig. 4 of the reconstruction from reconstruction unit REC428 A series of shown processing (including IQ324 and IT326), and it is projected to coding artifact.The video data of the reconstruction is further Handled by loop filter 330.
In video coding system, a frame is conventionally divided into multiple sections (slice) to provide the ability of parallel processing.And And the piece cutting structure can limit data dependence in each section.It is wide in various video coding standard to be somebody's turn to do " section " noun General use, for example, in MPEG2/4, H.264, HEVC, RM, AVS/AVS2 etc..Further, the basic coding unit is in video Used in standard.For example, macro zone block (Macroblock, MB) is used in AVC, MPEG4 etc..Superzone block (Super Block, SB) it is to be used in VP9 standards.Code tree unit (Coding Tree Unit, CTU) is used in HEVC.More Further, using a coding structure, CTU rows, SB rows and MB rows.In order to promote video compression ratio, georeferencing data and time Reference data is for predicting.Fig. 5 is the schematic diagram of space and time prediction, and wherein frame 510 is handled before frame 520.Often One frame is to be divided into multiple tiles (tile), and each tile is to be divided into multiple PU.For frame 510, PU_A (pu_x=0, Pu_y=y it) can be used as PU_B (pu_x=0, pu_y=y+1) georeferencing data (namely upper adjacent).Also, PU_A can use Make PU_C (pu_x=0, pu_y=y) time reference data (position identical data).
For entropy code, it has diversified forms.Variable length code (Variable length coding) is that entropy is compiled A kind of form of code, and it is widely used in source code.Generally, variable-length codes (VLC) table is to be used for variable length code With decoding.Arithmetic coding (such as based on context adaptability binary arithmetic coding (context-based adaptive Binary arithmetic coding, CABAC)) it is a newer entropy coding, it can use " context " and utilize bar Part possibility.Further, arithmetic coding can be simply adapted to source statistics, and compared to variable length code provide compared with High compression efficiency.Arithmetic coding is an efficient entropy coding instrument, and is widely used in advanced video coding system, arithmetic The operation of coding is more complicated than variable length code.The two types of entropy coding method are relatively time consuming.Accordingly, entropy code/ Decoding usually becomes the bottleneck of system.
As it is known in the art, higher bit rate will cause preferable video quality.At higher bit rate, back end decoders Reason is relatively bit rate dependence.However, in higher bit rate, the non-zero quantised residual of entropy code will be needed with greater number of It is remaining.Therefore, for higher bit rate, entropy code and the calculated load increase of decoding.Therefore, the calculated load of entropy decoding be for Bit rate is sensitive, and entropy decoding turns into the efficiency bottleneck of video decoding, particularly in high bit rate.Accordingly, upper bit Rate bit stream causes larger delay.Therefore, it is necessary to be designed using with the entropy decoding that the Maximum Bit Rate according to its ability limits. When the bit stream of video bit stream is higher than a limitation, it is necessary to develop other solutions, and not use single entropy solution Code design.
Fig. 6 is HEVC wavefront parallel processing (wavefront parallel processing, WPP) schematic diagram.It is each Frame is divided into multiple sections, the corresponding CTU rows of each of which section.WPP reduce grammatical tagging between multiple CTU rows according to Rely.CTU rows can the parallel processing by using WPP methods.In HEVC standard, when bit stream is according to WPP codings, grammer " entropy_coding_sync_enabled_flag " is set as 1.According to WPP, it is processed in multiple blocks of a previous CTU Afterwards, current CTU the first block can be processed.In the example shown in Fig. 6, in the 3rd CTU of a previous CTU rows area After block (A0) is processed, the first CTU of current CTU rows the first block (such as B0) is processed.For in CTU rows 1 Current block 610, the block can use the adjacent block in the identical CTU rows for carrying out the comfortable post processing for handling the current block Information.Also, the current block in CTU rows 1 can use the letter from the adjacent block 620 in previous CTU rows Breath.
In order to reduce in recording/transmission end, the broadcasting/receiving terminal or the delay at both ends, there is provided a kind of system, it is assisted Adjust the data access and processing time in different disposal module and/or each processing module.
The content of the invention
The device of Video coding with low latency is provided.The device carrys out coding input video comprising a video encoding module Data for compression video data, one or more processing modules come provide the inputting video data to the video encoding module or The further video data of compression of the processing from the video encoding module, and a data related to each processing module are deposited Reservoir, to store or provide the data shared between the video encoding module and each processing module., should according to the present invention Coding module is arranged to manage a data by coordinating the video encoding module with a processing module with each processing module The data access of memory, to exist in another the target shared data in the video encoding module and a processing module After being ready in the data storage, the target shared data is received from the data storage.
One or more processing modules include a front end processing block, and the data related to the front end processing block The corresponding first memory of memory.In this case, the front end processing block provides the one first of a corresponding video section First pixel data of coded data collection, to store to the first memory, and when the first coding data of the video section One or more blocks of collection are when being ready in the first memory, and the video encoding module is received and encoded to should video area Second pixel data of one or more blocks of the first coding data collection of block.The first coding data of the video block Collection is to be encoded to one first bit stream by the video encoding module.In this case, the size limitation of first bit stream For equal to or less than a full-size, and wherein the full-size is to encode the first coding data of the video section Determined before collection.Further, the full-size is based on the decoder capabilities related to a target video decoder and a mesh Mark the related recording ability of video recording device or the network related to being capable of an objective network of compressed video data processing Ability determines.
In one embodiment, the corresponding image signal processing blocks of the front end processing block, the first memory corresponding one Source buffer, and the corresponding block column of the first coding data collection of the video section, and wherein the picture signal is handled Module provides first pixel data based on by-line, and the video encoding module the block column first pixel data all Store to the first memory, start to encode one or multiple blocks of the first coding data collection of the video section. The image signal processing blocks may be based on block district by district and provide first pixel data, and the video encoding module is in multiple areas First pixel data of block is stored to the first memory, starts to encode the first coding data collection of the video section A block.
The corresponding ring buffer of the first memory, the ring buffer have a fixed dimension, and the fixed dimension is less than one Video section.Each frame of video includes one or more video sections.The first coding data collection of the video section includes multiple Coding unit.The corresponding code tree cell row of the first coding data collection of the video section, a coding unit row, one independently cut Piece or an attached section.
One or more processing modules are further comprising a back end processing module and related to the back end processing module The corresponding second memory of the data storage.In this case, the video encoding module provides a corresponding video section First bit stream of the package of the data of the compression of the first coding data collection, to be stored in the second memory, and should Back end processing module handles the bit stream of package first after the bit stream of package first is ready in the second memory To record or transmit.The corresponding Multiplexing module of the back end processing module, and the wherein Multiplexing module is by the first of the package Bit stream is together multiplexed with the data of multiplexing with other data comprising voice data, to record or transmit.The Multiplexing module Obtain a video channel index or to should video area section timestamp, with the data of the multiplexing.This second is deposited The corresponding ring buffer of reservoir.The size of the second memory can gamble the source chi for two coding unit rows for winning a video section It is very little.
In one embodiment, the end position for one first data cell for being written to a data storage is corresponded to One write-in pointer or instruction, is transmitted to the video encoding module from the front end processing block signal, or from the Video coding mould Block signal is transmitted to the back end processing module.Further, the corresponding number of one second in a data storage read A reading pointer or instruction according to the end position of unit, are transmitted to the front-end processing mould from the video encoding module signal Block, or transmitted from the back end processing module signal to the video encoding module.
In one embodiment, a handshake module be coupled to the video encoding module with this per one by one or multiple processing Module.In one example, only the handshake module is directly accessed the data storage, in this case, by being coupled to The video encoding module and the handshake module of the front end processing block, the front end processing block are write to the first memory simultaneously And the video encoding module is read from the data storage, or the video encoding module is by being coupled to the Video coding mould The handshake module of block and the back end processing module writes to the second memory and the back end processing module is by being coupled to The video encoding module and the handshake module of the back end processing module are read from the second memory.In another example In, the handshake module and the indirect access data storage, in this case, the front end processing block write direct this One memory and the video encoding module are directly read from the first memory, or the video encoding module is write direct Directly read to the second memory and the back end processing module from the second memory.In another example, only The handshake module and the video encoding module are directly accessed the data storage with one or more processing module one of both, In this case, one or more processing modules are related to the data storage, and the front end processing block writes direct Should by be coupled to the video encoding module and the front end processing block to the first memory and the video encoding module Handshake module is read from the first memory;Or the video encoding module is write direct to the second memory and this End processing module is by being coupled to the handshake module of the video encoding module and the back end processing module from the second memory Middle reading.In addition, wherein the front end processing block is held by coupling with this of the video encoding module and the front end processing block Fingerprint block is write to the first memory, and the video encoding module is directly read from the first memory, or this is regarded Frequency coding module is write to this by being coupled to the handshake module of the video encoding module and the back end processing module and second deposited Reservoir, and the back end processing module is directly read from the second memory.
In another embodiment, the first handshake module is coupled to the video encoding module and one second handshake module It is coupled to one or more processing modules.Further, only first handshake module is directly deposited with second handshake module Take the first memory or the second memory.In this case, the front end processing block passes through second handshake module Write-in is to the first memory, and the video encoding module is read by first handshake module from the first memory, Or the video encoding module is write to the second memory by first handshake module, and the back end processing module passes through Second handshake module is read from the second memory.
The present invention separately provides a kind of method for video coding, comprising:Video source is handled to driving into video counts using front-end module According to, and store the inputting video data in the first memory;The of the inputting video data is received from the first memory One input data, and using video encoding module encode the inputting video data to compress video data, wherein this first The data access of memory is arranged to after first input data is write to the first memory by the front-end module, So that the video encoding module reads first input data;The compression is provided from the video encoding module to second memory Video data;And the video data of the first compression of the video data of the compression is received from the second memory, and use Multiplexer handles the video data of the compression to record or transmit with other data-reusings comprising video data, wherein should The data access of second memory is placed so that the multiplexer passes through the Video coding in the video data of first compression Module is write to the second memory, reads the video data of first compression.
Video coding system provided by the invention, its data coordinated between multiple different disposal modules of the system are deposited Take and processing time, reduce the delay in the video link of recording/transmission end, broadcasting/receiving terminal or both ends.
Brief description of the drawings
Fig. 1 be included in source Video coding and the decoding of receiving terminal video source to receiving terminal video link Illustrate.
Fig. 2A is video record path for example, wherein the video source is to use Video coding in recording system Device encodes, to produce video bit stream.
Fig. 2 B are video playback path for example, wherein the compression video/audio data is in play system Demultiplexed by demultiplexer, to extract the video bit stream, it is supplied to Video Decoder to produce reconstruction frames to show.
Fig. 3 is the schematic diagram of the exemplary interframe of the adaptability comprising a loop processed/intraframe video coding system.
Fig. 4 is the system block diagram of the Video Decoder corresponding to encoder system shown in figure 3.
Fig. 5 is the schematic diagram of space and time prediction.
Fig. 6 is the schematic diagram of the illustration of HEVC wavefront parallel processings.
Fig. 7 A are the coded treatments for example, wherein the video is defeated of the video encoder according to embodiments of the invention Enter is that the mode of by-line writes to holder and the CTU sizes and is assumed to be 32X32.
Fig. 7 B are the decoding process for example, wherein the video is defeated of the Video Decoder according to embodiments of the invention Enter is to write to holder and the CTU sizes by CTU mode and be assumed to be 32X32.
Fig. 8 is using the output of the video encoder based on section of ring buffer and showing for the illustration of multiplexer input It is intended to.
Fig. 9 is the schematic diagram that ring buffer is mapped to for 8 slice of datas for inputting section ring buffers.
Figure 10 is the exemplary coding system based on encoder shown in figure 3, and wherein the system is based on CTU comprising one Source buffer and a schematic diagram based on section ring buffer.
Figure 11 is the schematic diagram for applying the present invention to a video coding system with wavefront parallel processing feature.
Figure 12 is included in ISP and the data sharing access of video encoder the first holder and included in video The schematic diagram of the video coding system for the second holder that the data sharing of encoder and multiplexer accesses.
Figure 13 A are the schematic diagram of the handshake mechanism according to embodiments of the invention, the wherein primary module and the handshake module Handshaking information with notice, and the primary module from/to the data storage access data.
Figure 13 B are the schematic diagram of the handshake mechanism according to embodiments of the invention, the wherein primary module and the handshake module Handshaking information with notice, and only the handshake module from/to the data storage access data.
Figure 14 is the another of handshake mechanism for example, wherein common handshake resume module is for primary module A and primary module B Handshake mechanism, and only the handshake module accesses the data storage.
Figure 15 is the another for example, a wherein common handshake module quilt of the handshake mechanism according to embodiments of the invention Use, and only the common handshake module is directly accessed the data storage.
Figure 16 is the another for example, a wherein common handshake module quilt of the handshake mechanism according to embodiments of the invention Use, and only the common handshake module is directly accessed the data storage with primary module B.
Figure 17 is the another for example, a wherein common handshake module quilt of the handshake mechanism according to embodiments of the invention Use, and only the common handshake module is directly accessed the data storage with primary module A.
Figure 18 is the another for example, the mould of shaking hands of two of which respectively of the handshake mechanism according to embodiments of the invention Block handles the handshake mechanism for primary module A and primary module B respectively.
Figure 19 is the flow chart of the exemplary coding system for realizing low latency according to embodiments of the invention.
Embodiment
Follow-up explanation is to realize highly preferred embodiment of the present invention.The explanation is used merely to illustrate the general of the present invention Spirit, and be not a limitation.The scope of the present invention is determined with reference to attached claims.
In order to reduce the delay in the video link of recording/transmission end, broadcasting/receiving terminal or both ends, the present invention provides A kind of system, it coordinates the data access and processing time between multiple different disposal modules of the system.
Fig. 7 A are the coded treatments for example, wherein the video is defeated of the video encoder according to embodiments of the invention It is the write buffer in a manner of by-line to enter, and the CTU sizes are assumed to be 32x32.In fig. 7, source buffer state It is picture signal processing (image signal during this period during (source buffer state) 710 corresponding one Processing, ISP) module writes view data to image in the one 32 line (first 32lines) with scanning sequency by-line During buffer 710.After the one 32 line of the buffer fills up, when ISP persistently writes data to 2 32 line, depending on Frequency encoder can start first CTU of the coding in the first CTU rows, as shown in source buffer state 720.The of the buffer After 2 32 lines fill up, when ISP persistently writes data to 3 32 line, video encoder can start coding in the 2nd CTU The first CTU in row, as shown in source buffer state 730.Fig. 7 A are the acts that tightly (tightly) couples source buffer control Example explanation, wherein when one or multiple CTU are ready to, the encoder starts the coded treatment in a CTU, and it is in the present invention Also referred to as encoder source race (encoder source racing).It is noted that source buffer need not retain whole figure Picture.When a CTU rows are handled by encoder, the space of the CTU rows is releasable and re-uses.
Fig. 7 B are the coded treatments for example, wherein the video is defeated of the video encoder according to embodiments of the invention It is the write buffer in a manner of by CTU to enter, and the CTU sizes are 32x32.In figure 7b, the ISP is in first a small amount of CTU Period writes video data to source buffer, as shown in source buffer state 740.When one or more CTU in the buffer of source it is accurate Get ready, the encoder can first CTU of the start to process in CTU rows, as shown in source buffer state 750.One is write in ISP Simultaneously, both ISP and video encoder continuous processing data, the CTU encoded have multiple CTU to CTU before.Source buffers Device state 760 shows that the ISP is written in the 2nd CTU rows when video encoder coding changes the CTU in the first CTU rows again In a CTU.
After video data encoding, the bit stream is together multiplexed with voice data.The present invention further discloses management Data access and the technology of processing time between the coder module and the Multiplexing module.Fig. 8 is for based on section Video frequency output uses a ring buffer (ring buffer) 810 with multiplexer input.Encoder write-in is every for a section One bit flow to the individual buffer input (independent buffer entry) of the ring buffer.Multiple sections it is multiple Bit stream be continuously write the ring buffer multiple bufferings input (such as by one or more encoder core write ratio Spy's stream).When the bit stream of a section is completed, the write-in pointer renewal of the multiplexer (alternatively referred to as Multiplexing module).For example, work as When section #N data 812 are multiplexed into handled by device 820, the write-in pointer points to the input 1 of the section ring buffer.Cutting Piece #N data 812 are multiplexed into after the processing of device 820, and the write-in pointer is updated to next input (inputting 2).The multiplexer 820 immediately read out one or more slice of data from the section ring buffer 810, and send to coffret.Now, One or more slice of datas are considered as completing and the multiplexer updates and notifies the reading pointer (read pointer) extremely The encoder.Output 830 from multiplexer 820 also illustrates in fig. 8.The input can correspond to sequence output (serial Output) 832 or parallel output (parallel output) 834.
Fig. 9 is to be directed to the slice of data image of a 8- outputting cutting loop buffers to the illustration of the ring buffer.From The slice of data 910 caused by the encoder is shown in left-hand side.Ring buffer input 920 for the image of slice of data exists Right-hand side is shown.As shown in this example, CTU rows #7 slice of data is write-in ring buffer input #7.CTU rows #7's is next Slice of data (namely #8) is the ring buffer input #0 of write-in (as shown in arrow 922).In this example, every CTU rows It is considered as a section.
Figure 10 is the schematic diagram based on the encoder system shown in Fig. 3, and wherein current system contains a source based on CTU Ring buffer 1030 of the buffer 1010 and one based on section.Further, a context buffer (context buffer) 1020 be the data from a previous CTU rows that the context based on context entropy code is formed for storing.
Figure 11 be apply the present invention to wavefront parallel processing (wave-front parallel processing, WPP) the schematic diagram of a video coding system of frame.Frame 1110 is divided into multiple coding units or arbitrary encoded block, Each of which block of cells is to the data cell applied to coded treatment.As known in field of video encoding, the data cell can A corresponding macro zone block (MB), a superzone block (SB), a code tree unit (CTU) or a volume as defined in HEVC coding standards Code unit (CU).The corresponding coding unit row of the first coding unit collection.Different volumes can be come from according to what WPP feature parallels encoded The plurality of coding unit of code cell row is by point (1111,1112 or 1113) Suo Shi.
Carry out shared data using source buffer between the ISP module and the video encoder to access, as already identified above.And And between the video encoder and the multiplexer module using based on section ring buffer come shared data block, as above It is described.For the Video coding path, the ISP is considered as the front-end module (front-end module) of the video encoder, and And the multiplexer is considered as the rear module (post-end module) of the video encoder.Figure 12 is to include a first memory 1210 and one second memory 1240 video coding system schematic diagram, the first memory 1210 be the ISP1220 with The data sharing access of the video encoder 1230, and the second memory 1240 is with being somebody's turn to do in the video encoder 1230 The data sharing access of multiplexer 1250.For example, as described above, the first memory 1210 can to should source buffer, and And the second memory 1240 can be to that should be based on ring buffer of cutting into slices.However, shared memory access is realized to realize that this is low The other kinds of reservoir designs of delayed video coding can be used as.
It can realize that the operation of the video coding system of the foundation embodiments of the invention of low latency will be as described below.For The image signal processing blocks 1220, it writes the data of the first coding unit collection to the first memory 1210, and leads to Handshake mechanism (handshaking mechanism) is crossed to link up with the video encoder 1230.When the first coding unit collection DSR is read out, and notifies the video encoder 1230.For video encoder 1230, it is single that it encodes first coding Metaset is first bit stream, and writes first bit and flow to the second memory 1240.First bit stream can package To network abstraction layer unit, and the first bit stream of the package writes a second memory.The video encoder 1230 also with Multiplexing module 1250 is linked up by handshake mechanism, and when first bit stream is ready to be read out, the Multiplexing module 1250 are notified.For the Multiplexing module 1250, it reads the first bit stream of the package from the second memory 1240, and And transmit first bit and flow to an interface, such as Wi-Fi module, to carry out network transmission.The video link can correspond to one and regard Frequency is recorded and audio/video player system.In this example, the Multiplexing module 1250 reads the envelope from the second memory 1240 First bit stream of bag, and stored to a memory cell.
In fig. 11, a frame of video is divided into multiple coding unit rows or multiple block columns.One is less than regarding for a frame Frequency section (video segment), such as a tile, it is also possible to make an input block of the coded system.Therefore, a frame of video Multiple video sections can be included.Each coding unit collection (alternatively referred to as coded data collection) can correspond to an individual slices or one Individual attached section.In fig. 12, the video encoder 1220 can be completed first coding is single in the front-end module (such as ISP) The all pixels data of metaset are write after the first memory, start to encode the pixel data of the first coding unit collection.To the greatest extent Pipe ISP is the illustration as the front-end module, it is possible to use other kinds of FEP.
The size of first bit stream can be limited to a full-size and the full-size can encode a video area Determined before section.The full-size can be according to the Video Decoder, related to a target video record device recording ability or The ability of person's network determines.
The corresponding source buffer of the first memory.According to one embodiment of the invention, the ring with a fixed dimension delays Device is rushed to be used.The fixed dimension is less than a video section.When the first memory of front-end module write-in video data, The video data can be in a manner of by-line or block mode writes district by district.In situation about being write based on line (line-based) data Under, when all video lines of block column video encoder is ready in all video lines of a block column, can start Encode multiple blocks.In the case where being write based on block (block-based) data, when one or more blocks of the block column When being ready to, coding first block in a block column can be started.The block can correspond to a CTU, a CU, a SB or MB. The video data buffer of the corresponding compression of the second memory.According to the embodiment, the ring buffer with a fixed dimension It can be used as the second memory.The rear module can drive to should video area section the video index.Also, the rear module The timestamp (time stamp) of a corresponding video section can be obtained.
In fig. 12, two processing modules (namely ISP and video encoder) are coupled to the first memory.Also, two Individual processing module (namely video encoder and multiplexer) is coupled to the second memory.Two modules provided below are (simple For, referred to as modules A and module B) between handshake mechanism support the low latency.It is corresponding for the first memory, modules A The ISP and module B are to should video encoder.For the second memory, modules A is to should video encoder and module B is to should multiplexer.In one example, handshake mechanism is as described below:
Modules A writes one first data a to data storage;
● the write-in pointer of modules A transmission one to module B, wherein write-in pointer instruction in a data storage one the The end position of one data;
● module B receives the write-in pointer from the modules A;
● module B reads one first data from a data storage;And
● module B transmits the reading pointer to modules A, wherein reading pointer instruction in a data storage one the The end position of one data.
In another example, handshake mechanism is as described below:
● modules A writes one first data a to data storage;
● the write-in pointer of modules A transmission one to module B, wherein write-in pointer instruction in a data storage one the One data;
● module B receives a write-in instruction from the modules A;
● module B reads one first data from a data storage;And
● module B transmission one reads instruction to modules A, wherein reading and indicates that indicating module B have read the first data.
Another handshake mechanism according to the present invention, the wherein primary module and handshake module has been illustrated in Figure 13 A and Figure 13 B Communication, exchanged with entering row information with notice.In figure 13a, the primary module 1310 from/to data storage 1320 access the number According to, and the primary module 1310 communicates with the handshake module 1330, to exchange information and notice.In this example, Jin Jinzhu The direct accessing data memory 1320 of modules A 1310.In Figure 13 B, the handshake module 1330 from/to the data storage 1320 The data are accessed, and the primary module 1310 communicates with the handshake module 1330, to exchange information and notice.In this example In, only handshake module 1330 is directly accessed from data storage 1320.
Figure 14 is the another for example, wherein one public handshake module of the handshake mechanism according to embodiments of the invention Handshake mechanism of 1430 processing for primary module A1410 and primary module B1420.When the data storage 1440 is corresponding in fig. 12 During the shown first memory, primary module A1410 to should front-end module and primary module B1420 to should Video coding Device.When the corresponding second memory in fig. 12 of the data storage 1440, primary module A1410 is to should Video coding Device, and primary module B1420 is to should multiplexer.In this example, only the handshake module 1430 is directly accessed the data Memory 1440.
Figure 15 is another illustration of the handshake mechanism according to embodiments of the invention.In this example, one is public Handshake mechanism of the processing of handshake module 1530 for primary module A1510 and primary module B1520.When the correspondence of data storage 1540 In fig. 12 during the shown first memory, primary module A1510 to should front-end module and primary module B1520 to that should regard Frequency encoder.When the corresponding second memory in fig. 12 of the data storage 1540, primary module A1510 is to should video Encoder, and primary module B1520 is to should multiplexer.In this example, primary module A1510 and primary module B1520 are direct Access the data storage 1540.
Figure 16 is another illustration of the handshake mechanism according to embodiments of the invention.In this example, one is public Handshake mechanism of the processing of handshake module 1630 for primary module A1610 and primary module B1620.When the correspondence of data storage 1640 In fig. 12 during the shown first memory, primary module A1610 to should front-end module and primary module B1620 to that should regard Frequency encoder.When the corresponding second memory in fig. 12 of the data storage 1640, primary module A1610 is to should video Encoder, and primary module B1620 is to should multiplexer.In this example, both primary module B1620 and handshake module 1630 It is directly accessed the data storage 1640.
Figure 17 is another illustration of the handshake mechanism according to embodiments of the invention.In this example, one is public Handshake mechanism of the processing of handshake module 1730 for primary module A1710 and primary module B1720.When the correspondence of data storage 1740 In fig. 12 during the shown first memory, primary module A1710 to should front-end module and primary module B1720 to that should regard Frequency encoder.When the corresponding second memory in fig. 12 of the data storage 1740, primary module A1710 is to should video Encoder, and primary module B1720 is to should multiplexer.In this example, both primary module A1710 and handshake module 1730 It is directly accessed the data storage 1740.
Figure 18 is another illustration of the handshake mechanism according to embodiments of the invention.In this example, two points Other handshake module (1830 and 1840) handles the handshake mechanism with primary module B1820 for primary module A1810 respectively.Shake hands mould Block A1830 be coupled to primary module A handle from/to modules A exchange information with notice.On the other hand, handshake module B1840 is coupled In primary module B1820 come handle from/to module B1820 exchange information with notice.When the data storage 1850 is corresponding in Figure 12 Shown in the first memory when, primary module A1810 to should front-end module and primary module B1820 to should Video coding Device.When the corresponding second memory in fig. 12 of the data storage 1850, primary module A1810 is to should Video coding Device, and primary module B1820 is to should multiplexer.In this example, both handshake module A1830 and handshake module B1840 It is directly accessed the data storage 1850.
Figure 19 is foundation embodiments of the invention to realize the flow chart of the exemplary coding system of low latency.According to the reality Example is applied, in step 1910, it using front-end module processing is inputting video data that video source, which is, and stores the input video number According in a first memory.Figure 12 is to produce the signal of inputting video data using a front-end module (namely ISP 1220) Figure.In step 1920, the first input data of inputting video data receives from the first memory, and the input video number According to being to be encoded to compressed video data using a video encoding module, the data access of the wherein first memory is arranged to After first inputting video data is write to the first memory by the front-end module, the video encoding module is caused to be read Take first input data.Figure 12 is the illustration of video encoder 1230 and first memory 1210.A variety of handshake mechanisms Illustrated in Figure 13 into Figure 18.In step 1930, the video data of the compression from the video encoding module is supplied to one second Memory.In step 1940, the first compressed video data of the compressed data receives from the second memory, and the compression Video data be together to be multiplexed using a multiplexer with other data (including voice data) to record or transmit, wherein The data access of the second memory, be arranged to this first compression video data by the video encoding module write to After the second memory, the multiplexer is caused to read the video data of first compression.The data access may be configured as using Handshake module as shown in Figure 13 to Figure 18.
Described above causes those skilled in the art such as content of the concrete application of offer and its demand to realize this hair It is bright.A variety of modifications of above-described embodiment can all obtain for those skilled in the art, and generic principles defined here can Using to other embodiment.Therefore, the present invention is not limited to shown specific embodiment, and should be and the principle and novelty The consistent widest scope of feature.In above-mentioned illustrate, whole detail be for provide for the present invention deep reason Solution.However, one skilled in the art can be appreciated that the present invention can be achieved.
Described embodiment is used merely to for example, and being not the limitation of the present invention.The scope of the present invention, by asking Ask indicated by the scope of protection, and be not limited only to above-described embodiment.Modification with claimed scope equivalents is all wrapped It is contained within the scope of it.

Claims (24)

1. a kind of video coding apparatus, comprising:
Video encoding module, it is compressed video data to carry out coding input video data;
One or more processing modules, come from and be somebody's turn to do to provide the inputting video data to video encoding module or further processing The video data of the compression of video encoding module;And
The data storage related to each one or more processing modules, storage or offer are in the video encoding module with being somebody's turn to do The data shared between one or more each processing modules;And
Wherein the video encoding module and one or more each processing modules be for by coordinate the video encoding module with One or more each processing modules, to manage the data access of the data storage, with from the video encoding module with After the target shared data of one or more each processing modules is ready in the data storage, from the data storage Receive the target shared data.
2. video coding apparatus according to claim 1, it is characterised in that before wherein one or more processing modules include Processing module, and the data storage corresponding first memory related to the front end processing block are held, and wherein before this Processing module is held to provide the first pixel data of the first coding data collection of corresponding video section, to store to first storage Device, and when one or more blocks of the first coding data collection of the video section are ready in the first memory, this is regarded Frequency coding module receive and encode to should video area section the first coding data collection one or more blocks second Pixel data.
3. video coding apparatus according to claim 2, it is characterised in that wherein first coded number of the video section It is that the first bit stream is encoded to by the video encoding module according to collection.
4. video coding apparatus according to claim 3, it is characterised in that the size of wherein first bit stream is limited to Equal to or less than full-size, and wherein the full-size be encode the video section the first coding data collection it Preceding decision.
5. video coding apparatus according to claim 4, it is characterised in that wherein the full-size is to be based on regarding with target The related decoder capabilities of frequency decoder, the recording ability related to target video record device regard with that can handle compression The objective network of frequency evidence related network capabilities determines.
6. video coding apparatus according to claim 2, it is characterised in that wherein the front end processing block correspondence image is believed Number processing module, the first memory corresponding source buffer, and the first coding data collection of the video section corresponds to block OK, and wherein the image signal processing blocks provide first pixel data based on by-line, and the video encoding module exists First pixel data of the block column is all stored to the first memory, starts to encode first volume of the video section One or multiple blocks of code data set.
7. video coding apparatus according to claim 2, it is characterised in that the wherein corresponding image of the front end processing block Signal processing module, the corresponding source buffer of the first memory, and the first coding data collection of the video section is corresponding Block column, and wherein the image signal processing blocks provide first pixel data, and the Video coding based on block district by district Module after first pixel data of multiple blocks is stored to the first memory, start to encode the video section this One block of one coded data collection.
8. video coding apparatus according to claim 2, it is characterised in that the wherein corresponding ring buffering of the first memory Device, the ring buffer have a fixed dimension, and the fixed dimension is less than a video section.
9. video coding apparatus according to claim 2, it is characterised in that each of which frame of video regards comprising one or more Frequency section.
10. video coding apparatus according to claim 2, it is characterised in that wherein first coding of the video section Data set includes multiple coding units.
11. video coding apparatus according to claim 2, it is characterised in that first coding of a wherein video section Data set corresponding a code tree cell row, a coding unit row, an individual slices or an attached section.
12. video coding apparatus according to claim 2, it is characterised in that one or more processing modules are further wrapped Containing a back end processing module and the corresponding second memory of the data storage related to the back end processing module, and its In the video encoding module provide to should video area section the first coding data collection compression data package first Bit stream, to be stored in the second memory, and the back end processing module the package the first bit stream this second After being ready in memory, the first bit stream of the package is handled to record or transmit.
13. video coding apparatus according to claim 12, it is characterised in that the corresponding multiplexing mould of the back end processing module Block, and wherein the first bit stream of the package and other data comprising voice data are together multiplexed with by the Multiplexing module Data, to record or transmit.
14. video coding apparatus according to claim 13, it is characterised in that the Multiplexing module obtains a video channel rope Draw or to should video area section timestamp, with the data of the multiplexing.
15. video coding apparatus according to claim 13, it is characterised in that the corresponding ring buffering of the second memory Device.
16. video coding apparatus according to claim 13, it is characterised in that corresponding to be written to data storage The write-in pointer of the end position of first data cell or instruction, transmitted from the front end processing block signal to the Video coding mould Block, or transmitted from the video encoding module signal to the back end processing module.
17. video coding apparatus according to claim 16, it is characterised in that it is corresponding reading in data storage In the second data cell end position reading pointer or instruction, transmitted from the video encoding module signal to the front end Processing module, or transmitted from the back end processing module signal to the video encoding module.
18. video coding apparatus according to claim 12, it is characterised in that handshake module is coupled to the Video coding Module with this per one by one or multiple processing modules.
19. video coding apparatus according to claim 18, it is characterised in that only the handshake module is directly accessed the number According to memory, and by being coupled to the handshake module of the video encoding module and the front end processing block, the front-end processing Module writes to the first memory and the video encoding module and read from the data storage, or the Video coding mould Block write to the second memory by being coupled to the handshake module of the video encoding module and the back end processing module and The back end processing module second is deposited by being coupled to the handshake module of the video encoding module and the back end processing module from this Read in reservoir.
20. video coding apparatus according to claim 18, it is characterised in that the handshake module and the indirect access number According to memory, and wherein the front end processing block writes direct the first memory and the video encoding module directly from this Read in first memory, or the video encoding module write direct to the second memory and the back end processing module from Directly read in the second memory.
21. video coding apparatus according to claim 18, it is characterised in that only the handshake module and the video are compiled Code module is directly accessed the data storage with one or more processing module one of both, wherein one or more processing modules It is related to the data storage, and the front end processing block is write direct to the first memory and the video encoding module Read by being coupled to the video encoding module with the handshake module of the front end processing block from the first memory;Or The video encoding module writes direct to the second memory and the back end processing module is by being coupled to the Video coding mould The handshake module of block and the back end processing module is read from the second memory.
22. video coding apparatus according to claim 18, it is characterised in that only the handshake module and the video are compiled Code one of module and one or more processing modules are directly accessed the data storage, and
Wherein the front end processing block is write to the first memory by the handshake module, and the video encoding module is direct Read from the first memory, wherein the handshake module is coupled to the video encoding module and the front end processing block;Or Person
Wherein the video encoding module is write to the second memory by the handshake module, and the back end processing module is direct Read from the second memory, wherein the handshake module is coupled to the video encoding module and the back end processing module.
23. video coding apparatus according to claim 12, it is characterised in that the first handshake module is coupled to the video Coding module and the second handshake module are coupled to one or more processing modules, wherein the front end processing block by this Two handshake modules are write to the first memory, and the video encoding module by first handshake module from this first storage Read in device, or the video encoding module is write to the second memory by first handshake module, and the rear end Module is managed to read from the second memory by second handshake module.
24. a kind of method for video coding, comprising:
Video source is handled to driving into video data using front-end module, and stores the inputting video data in first memory In;
The first input data of the inputting video data is received from the first memory, and should using video encoding module coding Inputting video data to the video data compressed, the data access of the wherein first memory is arranged in the first input number Write according to by the front-end module to the first memory so that the video encoding module reads first input data;
The video data of the compression is provided from the video encoding module to second memory;And
The video data of the first compression of the video data of the compression is received from the second memory, and should using multiplexer The video data of compression is handled with other data-reusings comprising video data to record or transmit, wherein the second memory Data access be placed so that the multiplexer this first compression video data by the video encoding module write to After the second memory, the video data of first compression is read.
CN201710680674.4A 2016-08-15 2017-08-10 The apparatus and method of low latency Video coding Withdrawn CN107770565A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662374966P 2016-08-15 2016-08-15
US62/374,966 2016-08-15
US15/642,586 2017-07-06
US15/642,586 US20180020222A1 (en) 2016-07-12 2017-07-06 Apparatus and Method for Low Latency Video Encoding

Publications (1)

Publication Number Publication Date
CN107770565A true CN107770565A (en) 2018-03-06

Family

ID=61265745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710680674.4A Withdrawn CN107770565A (en) 2016-08-15 2017-08-10 The apparatus and method of low latency Video coding

Country Status (1)

Country Link
CN (1) CN107770565A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109040520A (en) * 2018-07-20 2018-12-18 西安交通大学 Estimation storage architecture design method based on data compression and search range prediction
CN113766235A (en) * 2021-08-30 2021-12-07 聚好看科技股份有限公司 Panoramic video transmission method and device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1039668A (en) * 1988-07-26 1990-02-14 成都科技大学 Parallel priority resolving communication interface for multi-microprocessor system
CN101243690A (en) * 2005-08-17 2008-08-13 Nxp股份有限公司 Method video encoding and decoding preserving cahe localities
CN103780908A (en) * 2014-02-25 2014-05-07 成都佳发安泰科技股份有限公司 Efficient H264 decoding method
US20140317316A1 (en) * 2013-04-17 2014-10-23 Advanced Micro Devices, Inc. Minimizing latency from peripheral devices to compute engines
US20150078456A1 (en) * 2013-07-31 2015-03-19 Nokia Corporation Method and apparatus for video coding and decoding
CN104854870A (en) * 2012-12-19 2015-08-19 高通股份有限公司 Low-delay buffering model in video coding
CN104954798A (en) * 2015-06-24 2015-09-30 福州瑞芯微电子有限公司 Direct displaying method and device for video decoding
CN105027570A (en) * 2013-01-07 2015-11-04 微软技术许可有限责任公司 Syntax and semantics for buffering information to simplify video splicing

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1039668A (en) * 1988-07-26 1990-02-14 成都科技大学 Parallel priority resolving communication interface for multi-microprocessor system
CN101243690A (en) * 2005-08-17 2008-08-13 Nxp股份有限公司 Method video encoding and decoding preserving cahe localities
CN104854870A (en) * 2012-12-19 2015-08-19 高通股份有限公司 Low-delay buffering model in video coding
CN105027570A (en) * 2013-01-07 2015-11-04 微软技术许可有限责任公司 Syntax and semantics for buffering information to simplify video splicing
US20140317316A1 (en) * 2013-04-17 2014-10-23 Advanced Micro Devices, Inc. Minimizing latency from peripheral devices to compute engines
US20150078456A1 (en) * 2013-07-31 2015-03-19 Nokia Corporation Method and apparatus for video coding and decoding
CN103780908A (en) * 2014-02-25 2014-05-07 成都佳发安泰科技股份有限公司 Efficient H264 decoding method
CN104954798A (en) * 2015-06-24 2015-09-30 福州瑞芯微电子有限公司 Direct displaying method and device for video decoding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109040520A (en) * 2018-07-20 2018-12-18 西安交通大学 Estimation storage architecture design method based on data compression and search range prediction
CN113766235A (en) * 2021-08-30 2021-12-07 聚好看科技股份有限公司 Panoramic video transmission method and device
CN113766235B (en) * 2021-08-30 2023-10-17 聚好看科技股份有限公司 Panoramic video transmission method and equipment

Similar Documents

Publication Publication Date Title
CN1136736C (en) Multi-mode data reduction for MPEG decoder
KR101747065B1 (en) Method for decoding video
JP6412910B2 (en) Method for decoding video, method for encoding video, decoder, encoder, computer readable recording medium recording decoding program, and computer readable recording medium recording encoding program
US8995524B2 (en) Image encoding method and image decoding method
TWI499275B (en) Method and system for frame buffer compression and memory resource reduction for 3d video
RU2341911C2 (en) Video data coding system and video data decoding system
CN103718555B (en) Low latency rate control system and method
CN101341757B (en) Local macroblock information buffer
CN1170314A (en) Memory management system for television receiver
EP1478186B1 (en) Decoding of arbitrarily ordered and interleaved macroblocks
TWI739042B (en) A method for encoding video
JP6588507B2 (en) Decoding method, decoding apparatus, encoding method, and encoding apparatus.
KR101147744B1 (en) Method and Apparatus of video transcoding and PVR of using the same
CN110121065B (en) Multi-directional image processing in spatially ordered video coding applications
TW201813387A (en) Apparatus and method for low latency video encoding
EP2077670A1 (en) Transcoder, transcoding method, decoder, and decoding method
JP5768180B2 (en) Image decoding method and image decoding apparatus
CN102655593B (en) Video decoder with general video decoding device and methods for use therewith
CN107770565A (en) The apparatus and method of low latency Video coding
CN110731083A (en) Coding block bitstream structure and syntax in video coding systems and methods
US20110216830A1 (en) Moving image encoder and moving image decoder
CN101888545A (en) Compression coding method for signal source with low code rate
KR100780844B1 (en) Decoder, processing system and processing method for multi-view frame data, and recording medium having program performing this
KR101054644B1 (en) Motion Estimation Based Image Coding / Decoding Apparatus and Method
JP2005159832A (en) Signal processor

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20180306

WW01 Invention patent application withdrawn after publication