CN106471810A - The method that difference motion vector (MVD) for screen content video data decodes - Google Patents

The method that difference motion vector (MVD) for screen content video data decodes Download PDF

Info

Publication number
CN106471810A
CN106471810A CN201580034973.XA CN201580034973A CN106471810A CN 106471810 A CN106471810 A CN 106471810A CN 201580034973 A CN201580034973 A CN 201580034973A CN 106471810 A CN106471810 A CN 106471810A
Authority
CN
China
Prior art keywords
binary number
mvd
video
binary
decoding
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
CN201580034973.XA
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN106471810A publication Critical patent/CN106471810A/en
Pending legal-status Critical Current

Links

Classifications

    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A kind of method of difference motion vector MVD for screen content video data decoding is disclosed herein.In an aspect, methods described comprises to determine the MVD between predicted motion vector and current motion vector, and produces the string of binary characters including n binary number via MVD described in binarization.Methods described comprises to determine whether the absolute value of described MVD is more than threshold value further, and is more than described threshold value and via the Exp- Golomb of the exponent number having more than, the subset of described n binary number is encoded in response to the described absolute value of described MVD.

Description

The method that difference motion vector (MVD) for screen content video data decodes
Technical field
The present invention relates to the field of video coding and compression, and exactly, relate to screen content video data The technology that vector difference (BVD) decodes is replicated in difference motion vector (MVD) and block.
Background technology
Digital video capabilities can be incorporated in broad range of device, comprises DTV, digital direct broadcast system, wireless Broadcast system, personal digital assistant (PDA), on knee or desktop PC, digital camera, digital recorder, digital matchmaker Body player, video game apparatus, video game console, honeycomb fashion or satellite radiotelephone, video conference call device And its fellow.Digital video apparatus implement video compression technology, for example by motion image expert group 2 (MPEG-2), MPEG-4, ITU Telecommunication Standardization Sector (ITU-T) H.263, ITU-T H.264/MPEG-4 the 10th partial higher The video pressure described in the extension of standard, high efficient video coding (HEVC) standard and this little standard that video coding (AVC) defines Contracting technology.Video-unit can more effectively be launched, receive, encode, decode and/or deposit by implementing this little video coding technique Storage digital video information.
The coding of difference motion vector (MVD) can improve the decoding efficiency of decoding current motion vector.For example, can be based on The motion vector that previously calculated produces predicted motion vector, and decodable code current motion vector and predicted motion vector it Between difference (that is, MVD).Similarly, in block, the decoding of copy block vector difference (BVD) can improve copy block vector in decoding current block Decoding efficiency.
Content of the invention
The system of the present invention, method and device each have some novel aspects, and no single one of which aspect is individually responsible for Required attribute disclosed herein.
In an aspect, can be operated by video encoder and include for the method encoding screen content:Via video The motion estimation unit of encoder determines the motion vector between the predicted motion vector of screen content and current motion vector Difference (MVD);Produce the string of binary characters including n binary number (bin) via binarization MVD;Via video encoder Entropy code unit operated encoding at least one of n binary number binary number by the first entropy coding;Determine that MVD's is absolute Whether value is more than threshold value;And in response to MVD absolute value be more than threshold value and via entropy code unit pass through second entropy coding operation To encode the subset of n binary number being associated with screen content, the second entropy coding operation inclusion has the exponent number more than Index decodes.
In another aspect, can be included for the method for decoding screen content by video decoder operation:Via video The entropy decoding unit of decoder receives the bit stream including encoded string of binary characters, and described string of binary characters includes and screen The n binary number that content is associated;Operate by the first entropy coding to decode in n binary number at least via entropy decoding unit One binary number, at least one binary number described indicates whether the absolute value of MVD is more than threshold value, and MVD is predicted motion vector Difference and current motion vector between;In response at least one binary number indicate MVD absolute value be more than threshold value and via entropy solution Code unit operates to decode the subset of n binary number by the second entropy coding, and the second entropy coding operation inclusion has more than one The index decoding of exponent number;And be at least partially based on decoded binary number and to produce screen via the prediction processing unit of Video Decoder The MVD of curtain content.
In another aspect, the device for encoding screen content includes:Memorizer, it is configured to store in screen Hold;And processor, it with described memory communication and is configured to:Determine that the predicted motion vector of screen content is transported with current MVD between moving vector;Produce the string of binary characters including n binary number via binarization MVD;Translate via the first entropy At least one of code operation n binary number of coding binary number;Determine whether the absolute value of MVD is more than threshold value;And in response to MVD Absolute value be more than threshold value and operate encoding the subset of n binary number being associated with screen content via the second entropy coding, Second entropy coding operation includes the index decoding with the exponent number more than.
In another aspect, memorizer, it is configured to store screen content;And processor, it is led to described memorizer Believe and be configured to:Receive the bit stream including encoded string of binary characters, described string of binary characters includes and screen content N associated binary number;Via the first entropy coding operation decoding at least one of n binary number binary number, described at least One binary number indicates whether the absolute value of MVD is more than threshold value, and MVD is between predicted motion vector and current motion vector Difference;The absolute value indicating described MVD in response at least one binary number is more than threshold value and operates to decode n via the second entropy coding The subset of individual binary number, the second entropy coding operation includes the index decoding with the exponent number more than;And be at least partially based on through Decoding binary number produces the MVD of screen content.
Brief description
Figure 1A is that explanation can conciliate code system using the instance video coding of the technology of aspect according to described in the present invention Block diagram.
Figure 1B is another instance video coding of the executable technology of aspect according to described in the present invention of explanation and decodes The block diagram of system.
Fig. 2 is the block diagram that explanation can implement the example of the video encoder of the technology of aspect according to described in the present invention.
Fig. 3 is the block diagram that explanation can implement the example of the Video Decoder of the technology of aspect described in the present invention.
Fig. 4 is the block diagram of the method for difference motion vector decoding that the aspect according to described in the present invention is described.
Fig. 5 is the figure of the string of binary characters illustrating to be produced according to aspect described in the present invention.
Fig. 6 is the flow chart that the method for difference motion vector decoding according to aspects of the present invention is described.
Fig. 7 is the flow chart that the method for difference motion vector decoding according to aspects of the present invention is described.
Specific embodiment
Generally, the present invention relates to the side of difference motion vector (MVD) video coding of screen content video data Method.For perhaps eurypalynous video data (video data that for example, camera is captured), there is current motion vector and warp The high probability of predicted motion vector height correlation.Therefore, the MVD of the video data of these types typically has smaller value.Therefore, In some various video coding standards of such as HEVC, can decode to decode MVD to utilize using the index Columbus with 1 rank The less meansigma methodss of MVD.But, for screen content (video or the video being presented that for example computer produces), predicted Accurately, described predicted motion vector leads to larger MVD to the video that motion vector may be captured not as camera.Due to index Digit required for Columbus's decoding increases with the size exponentially of MVD, so the decoding side conventional when decoding screen content Method can make decoding efficiency low.
In addition, in some decoding embodiments, the decoding of copy block vector difference (BVD) in MVD and block can be using difference Binarizing method.The different statistical natures having passed through between MVD and BVD traditionally promote this method.But, treating should More unified decoding technique for the decoding of both MVD and BVD there may be benefit.
Certain embodiments of the present invention solves the low efficiency problem of decoding screen content MVD and BVD mentioned above.Lift For example, certain aspects of the invention are directed to use with high-order index Columbus and decode to decode screen content.This can improve screen The decoding efficiency of the MVD of content.
In the following description, H.264/ advanced video decodes (AVC) technology related to some embodiments is described;Also discuss HEVC standard and correlation technique.Although herein in HEVC and/or H.264 some embodiments described in the context of standard, It will be appreciated by those skilled in the art that system and method disclosed herein are applicable to any suitable video coding Standard.For example, the embodiments described herein is applicable to one or more of following standard:International Telecommunication Union (ITU) telecommunication standard branch (ITU-T) H.261, International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) MPEG- 1Visual, ITU-T H.262 or ISO/IEC MPEG-2Visual, ITU-T H.263, ISO/IEC MPEG-4Visual and H.264 (also referred to as ISO/IEC MPEG-4AVC) ITU-T, comprises range expansion.
In many aspects, HEVC generally follows the framework of previous video coding standards.Predicting unit in HEVC is different from Predicting unit (for example, macro block) in some previous video coding standards.In fact, not existing in HEVC as some previous The concept of the macro block being understood in various video coding standard.Macro block is replaced by the hierarchy based on quaternary tree scheme, described layering Structure can provide high flexibility and other possible benefit.For example, in HEVC scheme, define the block of three types, for example Decoding unit (CU), predicting unit (PU) and converter unit (TU).CU can refer to distinguish the elementary cell split.CU can be considered as being similar to In the concept of macro block, but HEVC does not limit the largest amount of CU, and recurrence can be allowed to split into four equal-sized CU to change Enter context adaptive.PU can be considered as the elementary cell of interframe/infra-frame prediction, and single PU can divide containing multiple arbitrary shapes Area is effectively to decode irregular image pattern.TU is regarded as the elementary cell converting.TU can be defined independent of PU;However, The size of TU can be limited to the size of the CU that TU belongs to.This block structure be separated into three different concepts can allow corresponding according to unit Act on and to optimize each unit, this can obtain the decoding efficiency improving.
Various video coding standard
Such as video image, TV image, still image or the digital picture by videocorder or computer-generated image etc. Pixel or the sample being arranged to horizontal and vertical line can be comprised.The number of the pixel in single image generally has tens thousand of.Each Pixel usually contains lightness and chrominance information.In the case of no compressing, image decoder will be communicated to from image encoder The absolute magnitude of information will make real time imaging transmitting become unrealistic.In order to reduce the amount of armed information, develop example Several difference compression method such as such as JPEG, MPEG and H.263 standard.
Various video coding standard comprise ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 or ISO/ IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual and ITU-T H.264 (also referred to as ISO/ IEC MPEG-4AVC), and the HEVC comprising range expansion.
Additionally, there are a kind of various video coding standard, i.e. HEVC, its by ITU-T video coding expert group (VCEG) and Video coding associating cooperative groups (JCT-VC) exploitation of ISO/IEC MPEG.Bross is cited as completely to HEVC draft 10 Et al. file JCTVC-L1003, " high efficient video coding (HEVC) text preliminary specifications 10 (High Efficiency Video Coding (HEVC) Text Specification Draft 10) ", ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/ The video coding integration and cooperation group (JCT-VC) of WG11, the 12nd meeting:Geneva, Switzerland, on January 14th, 2013 to 2013 On January 23, in.The range expansion of HEVC is also just developed by JCT-VC.
Video decoding system
The various aspects of innovative system, Apparatus and method for are described more fully hereinafter with reference to the accompanying drawings.However, the present invention is permissible Many multi-forms are embodying, and should not be construed as limited to run through any given structure or function that the present invention is presented. On the contrary, providing these aspects so that the present invention will be thorough and complete, and fully will pass to those skilled in the art Reach the scope of the present invention.Based on teachings herein, it will be understood by one of ordinary skill in the art that the scope of the present invention is set covering Either implement independent of any other aspect of the present invention or novelty disclosed herein that is in combination and implementing System, any aspect of Apparatus and method for.For example, it is possible to use any number aspect set forth herein is implementing Equipment or put into practice method.In addition, the scope of the present invention is set covering using except the various aspects of the present invention set forth herein Outside or different from other structures of the various aspects of the present invention set forth herein, feature or structure with feature This equipment of practice or method.It should be understood that disclosed herein appointing can be embodied by one or more key elements of claim Where face.
While characterized as particular aspects, but many changes of these aspects and arrangement fall within the scope of the present invention. Although being referred to some benefits and the advantage of preferred aspect, scope of the invention is without wishing to be held to particular benefits, purposes or mesh Mark.But, the aspect of the present invention is set to be widely applicable for different radio technology, system configuration, network and transmission protocols, wherein Some be by mean of example and in figure and explanation in the following description of preferred aspect.Specific embodiment and schema are only The present invention is described, rather than limits by the scope of the present invention of appended claims and its equivalent thereof.
The some examples of brief description.Corresponded in the following description by identical by the element of the reference number instruction in accompanying drawing The element of reference number instruction.In the present invention, have and started with ordinal number (for example, " first ", " second ", " the 3rd " etc.) The element of title does not necessarily imply that described element has certain order.But, these ordinal numbers are only used for referring to same or like The different elements of type.
Figure 1A is that explanation can be using the frame of the instance video decoding system 10 of the technology of aspect according to described in the present invention Figure.Use as described in this article, term " video decoder " or " decoder " generally refer to video encoder and video solution Code both devices.In the present invention, term " video coding " or " decoding " can generically refer to Video coding and video decoding.Except Outside video encoder and Video Decoder, the aspect described in subject application extends to other relevant apparatus, for example, transcoder (for example, decodable code bit stream and recompile the device of another bit stream) and middle boxes (for example, can be changed, convert and/or in addition grasp The device of vertical bit stream).
As shown in Figure 1A, video decoding system 10 comprises source device 12, and described source device 12 produces after a while by purpose The encoded video data of ground device 14 decoding.In the example of Figure 1A, source device 12 and destination device 14 constitute independent dress Put.However, it should be noted that source device 12 and destination device 14 can a part in same apparatus or for same apparatus, such as scheme Shown in the example of 1B.
Refer again to Figure 1A, source device 12 and destination device 14 can include arbitrary in diversified device respectively Person, comprises desk computer, notebook (for example, on knee) computer, tablet PC, Set Top Box, for example so-called " intelligence The telephone handset of energy " phone, so-called " intelligent " plate, TV, video camera, display device, digital media player, video trip Play control station, video flowing device or its fellow.In various embodiments, source device 12 and destination device 14 may be equipped with For radio communication.
Destination device 14 can receive encoded video data to be decoded via link 16.Link 16 may include can be by Encoded video data moves to any kind of media or the device of destination device 14 from source device 12.Example in Figure 1A In, link 16 may include the communication matchmaker enabling source device 12 that encoded video data is transmitted into destination device 14 in real time Body.Encoded video data can be modulated according to communication standard (for example, wireless communication protocol), and be transmitted to destination's dress Put 14.Communication medium may include the transmitting of any wirelessly or non-wirelessly communication medium, such as radio frequency (RF) frequency spectrum or one or more physics Line.Communication medium can form the part of packet network (for example, LAN, wide area network or global network, such as the Internet).Communication Media can comprise router, switch, base station or can be used for promote arbitrary from source device 12 to the communication of destination device 14 Miscellaneous equipment.
Alternatively, encoded data can export storage device 31 (being optionally present) from output interface 22.Similarly, may be used Encoded data is accessed from storage device 31 by the input interface 28 of (such as) destination device 14.Storage device 31 can comprise Any one of multiple distributed or local access data storage medium, such as hard disk drive, flash memory, volatibility or Nonvolatile memory, or for storing any other suitable digital storage media of encoded video data.In another reality In example, another centre of the Encoded video that storage device 31 may correspond to file server or source device 12 can be kept to produce is deposited Storage device.Destination device 14 via crossfire or can be downloaded from the stored video data of storage device 31 access.File service Device can store encoded video data and encoded video data is transmitted into destination device 14 for any kind of Server.Instance file server comprise Web server (for example, for website), file transmission protocols (FTP) server, Network connection storage (NAS) device or local drive.Destination device 14 can be connected by any normal data and (comprise Internet connection) accessing encoded video data.This can comprise wireless channel, and (for example, WLAN (WLAN) connects Connect), wired connection (for example, Digital Subscriber Line (DSL), cable modem etc.) or be suitable for access and be stored in file service A combination of both of encoded video data on device.Encoded video data can be stream transmission from the transmitting of storage device 31 Transmitting, download transmitting or a combination of both.
The technology of the present invention is not limited to wireless application or setting.Described technology can be applicable to support in multiple multimedia application The video coding of any one, for example airborne television broadcast, cable television transmitting, satellite television transmitting, for example via the Internet Stream video transmitting (for example, HTTP (HTTP) dynamic self-adapting stream transmission etc.), be used for being stored in data and deposit The coding of digital video on storage media, the decoding of the digital video being stored on data storage medium, or other application.One In a little examples, video decoding system 10 can be configured to support unidirectional or two-way video to launch to support that for example video streaming is sent out Penetrate, video playback, the application such as video broadcasting and/or visual telephone.
In the example of Figure 1A, source device 12 comprises video source 18, video encoder 20 and output interface 22.In some feelings Under condition, output interface 22 can comprise modulator/demodulator (modem) and/or emitter.In source device 12, video source 18 can comprise source, such as video capture device (for example, video camera), containing the video archive of video previously having been captured, For receiving the video feed-in interface of video from video content provider and/or being used for producing computer graphics data using as source The computer graphics system of video, or the combination in such source.As an example, if video source 18 is video camera, that Source device 12 and destination device 14 can form so-called " camera phone " or " visual telephone ", such as described in the example of Figure 1B Bright.However, in general technology described in the present invention is applicable to video coding, and can be applicable to wireless and/or wired Application.
Can by video encoder 20 to being captured, the video that produces of pre-capture or computer encodes.Can fill via source Encoded video data is transmitted into destination device 14 by the output interface 22 putting 12.Also can (or alternatively) by Encoded video For being accessible for decoding and/or weight by destination device 14 or other device after a while on data Cun Chudao storage device 31 Put.In Figure 1A and 1B, the video encoder 20 of explanation may include video encoder 20 illustrated in fig. 2 or described herein One other video encoders.
In the example of Figure 1A, destination device 14 comprises input interface 28, Video Decoder 30 and display device 32.? Under certain situation, input interface 28 can comprise receptor and/or modem.The input interface 28 of destination device 14 can be through Receive encoded video data by link 16 and/or from storage device 31.Transmit via link 16 or above carry in storage device 31 For encoded video data can comprise produced by video encoder 20 multiple syntactic elements for being decoded by such as video The Video Decoder of device 30 grade is used for decoding video data.Such syntactic element with launching on communication medium, can be stored in and deposit Store up on media or the encoded video data of storage file server is included in together.The Video Decoder of explanation in Figure 1A and 1B 30 may include Video Decoder 30 illustrated in fig. 3 or arbitrary other Video Decoder described herein.
Display device 32 can be integrated with destination device 14 or outside destination device 14.In some instances, purpose Ground device 14 can comprise integrated display unit, and also can be configured to interface with exterior display device.In other examples, purpose Ground device 14 is probably display device.In general, decoded video data is shown to user by display device 32, and may include Any one of multiple display devices, such as liquid crystal display (LCD), plasma display, Organic Light Emitting Diode (OLED) Display or another type of display device.
In related fields, Figure 1B shows example decoding system 10 ', and wherein source device 12 and destination device 14 are in device On 11 or as one part.Device 11 can be telephone handset, such as " intelligent " phone or fellow.Device 11 can comprise with Controller/the processor device 13 (being optionally present) of source device 12 and destination device 14 operative communication.The video of Figure 1B Decoding system 10 ' and its assembly are otherwise similar to the video decoding system 10 of Figure 1A and its assembly.
Video encoder 20 and Video Decoder 30 can operate according to video compression standards such as such as HEVC, and may conform to HEVC test model (HM).Alternatively, video encoder 20 and Video Decoder 30 can according to other exclusive or industrywide standards or The extension of this class standard operating, described standard such as ITU-T H.264 standard, or be referred to as MPEG-4 the 10th part AVC. But, the technology of the present invention is not limited to any specific coding standard.Other examples of video compression standard comprise MPEG-2 and ITU-T H.263.
Although not showing in the example of Figure 1A and 1B, video encoder 20 and Video Decoder 30 can each be compiled with audio frequency Code device and decoder are integrated, and can comprise suitable multiplexer-demultiplexer unit or other hardware and software, to locate Put the coding to both the Voice & Videos in common data stream or separate data stream.In some instances, if applicable, So multiplexer-demultiplexer unit can meet ITU H.223 multiplexer agreement, or such as user datagram Other agreement such as agreement (UDP).
Video encoder 20 and Video Decoder 30 each can be embodied as any one of multiple suitable encoder circuits, Such as one or more microprocessors, digital signal processor (DSP), special IC (ASIC), field programmable gate array (FPGA), discrete logic, software, hardware, firmware or its any combinations.When partly described technology implemented in software, device can The instruction being used for described software is stored in suitable non-transitory computer-readable media and is used using one or more processors The technology to execute the present invention for the described instruction of hardware execution.Each of video encoder 20 and Video Decoder 30 can wrap It is contained in one or more encoders or decoder, any one of described encoder or decoder can be integrated into accordingly A part for combined encoder/decoder in device.
Video coding process
As briefly mentioned above, video encoder 20 coding video frequency data.Video data can include one or more pictures. Each of picture is the still image of the part forming video.In some cases, picture can be referred to as video " frame ".When During video encoder 20 coding video frequency data, video encoder 20 can produce bit stream.Bit stream can comprise to form video data A succession of position of decoded expression.Bit stream can comprise decoded picture and associated data.Decoded picture is picture Decoded expression.
In order to produce bit stream, video encoder 20 can be to each picture execution encoding operation in video data.Work as video When encoder 20 is to picture execution encoding operation, video encoder 20 can produce a series of decoded pictures and associated data. Associated data can comprise video parameter collection (VPS), sequence parameter set (SPS), image parameters collection (PPS), auto-adaptive parameter collection And other grammatical structure (APS).SPS can contain be applied to the zero of picture or the parameter of more multisequencing.PPS can contain be applied to zero Or the parameter of more picture.APS can contain be applied to zero or the parameter of more picture.Parameter in APS can be than in PPS The parameter of parameter more likely change.
In order to produce decoded picture, picture segmentation can be become equal-sized video block by video encoder 20.Video block It can be the two-dimensional array of sample.Each of video block is associated with tree block.In some cases, tree block can be referred to as maximum Decoding unit (LCU).The tree block of HEVC can be extensively similar to the macro block for example H.264/AVC waiting Previous standards.However, tree block is not It is necessarily limited to particular size, and one or more decoding units (CU) can be comprised.Video encoder 20 can using Quadtree Partition come by The video block (therefore entitled " tree block ") that the video block segmentation one-tenth of tree block is associated with CU.
In some instances, picture segmentation can be become multiple sections by video encoder 20.Each of section can comprise Integer number CU.In some cases, a section includes integer number tree block.In other cases, the border of section Can be in tree block.
As the part that picture is executed with encoding operation, video encoder 20 can be to each section execution coding behaviour of picture Make.When video encoder 20 to section execution encoding operation when, video encoder 20 can produce with cut into slices be associated encoded Data.The encoded data being associated with section is referred to alternatively as " decoded section ".
For producing decoded section, video encoder 20 can be to each tree block execution encoding operation in section.Work as video When encoder 20 is to tree block execution encoding operation, video encoder 20 can produce decoded tree block.Decoded tree block may include table Show the data of the encoded pattern of tree block.
When video encoder 20 produces decoded section, video encoder 20 can be according to raster scan order in section Tree block execution encoding operation (for example, encode).For example, video encoder 20 can carry out the tree block to section in the order Encoded:The far top row of tree block crossed in section is from left to right carried out, then cross over next lower rows of tree block from a left side to The right side is carried out, by that analogy, till video encoder 20 is encoded to each of the tree block in section.
As the result encoding tree block according to raster scan order, can encoded tree above given tree block with the left side Block, but not yet encode the tree block on lower section in given tree block and the right.Therefore, when encoding to given tree block, video is compiled Code device 20 may can access the information by the top of given tree block and the tree block on the left side are encoded and produced.However, When the given tree block of coding, video encoder 20 may not access the tree by coding in the lower section of given tree block and the right Block and the information that produces.
In order to produce decoded tree block, video encoder 20 video block of tree block recursively can be executed Quadtree Partition with Video block is divided into less and less video block.Can be associated from different CU compared with each of small video block.For example, The video block segmentation of tree block can be become four equal-sized sub-blocks, by one or more of described sub-block point by video encoder 20 It is slit into four equal-sized sub-blocks (sub-sub-block), by that analogy.Segmented CU can be divided for its video block Become the CU of the video block being associated with other CU.Undivided CU can not be divided into and regarding that other CU are associated for its video block The CU of frequency block.
One or more syntactic elements in bit stream may indicate that maximum time of the video block of the divisible tree block of video encoder 20 Number.The video block of CU can be square in shape.Size (for example, the size of the CU) scope of the video block of CU can be from 8 × 8 pictures The video block sizes (for example, the size of tree block) of the tree block up to maximum 64 × 64 pixels or bigger for the element.
Video encoder 20 can execute encoding operation (for example encoding) according to z scanning sequence to every CU of tree block.Change sentence Talk about, video encoder 20 can to upper left CU, upper right CU, lower-left CU and then bottom right CU encode in the sequence.When regarding When frequency encoder 20 is to segmented CU execution encoding operation, video encoder 20 can according to z scanning sequence pair with segmented The CU that the sub-block of the video block of CU is associated is encoded.In other words, video encoder 20 can be associated to top left sub-block The CU that is associated with lower-left sub-block of the CU that is associated with upper right sub-block of CU, and the CU being then associated with bottom right sub-block is by institute State order to be encoded.
As according to z scanning sequence encode tree block CU result, can encoded above given CU, upper left side, the right side Top, the CU of the lower left on the left side.Not yet the bottom-right CU of given CU is encoded.Therefore, when compiling to given CU During code, video encoder 20 may can access the information by some CUs adjacent with given CU are encoded and produced. However, as the given CU of coding, video encoder 20 may not access by other CU of the adjacent given CU of coding and produce Raw information.
When video encoder 20 encodes not segmented CU, video encoder 20 can produce one or more predictions of described CU Unit (PU).Each of PU of CU can be associated with the different video block in the video block of CU.Video encoder 20 can produce The predicted video block of raw every PU for CU.The predicted video block of PU can be sample block.Video encoder 20 can use Infra-frame prediction or inter prediction are producing the predicted video block of PU.
When video encoder 20 produces the predicted video block of PU using infra-frame prediction, video encoder 20 can be based on The decoded sample of the picture being associated with PU to produce the predicted video block of PU.If video encoder 20 uses frame in pre- Survey and to produce the predicted video block of the PU of CU, then CU is the CU through infra-frame prediction.When video encoder 20 uses interframe pre- When surveying the predicted video block to produce PU, video encoder 20 can based on different from the picture that is associated with PU one or more The decoded sample of picture and produce the predicted video block of PU.If video encoder 20 produces CU's using inter prediction The predicted video block of PU, then described CU is through inter prediction CU.
Additionally, when video encoder 20 produces the predicted video block of PU using inter prediction, video encoder 20 The movable information of PU can be produced.The movable information of PU may indicate that one or more reference blocks of PU.Each reference block of PU can be ginseng Examine the video block in picture.Reference picture can be the picture in addition to the picture being associated with PU.In some cases, the ginseng of PU Examine " sample for reference " that block is also known as PU.Video encoder 20 can based on PU reference block produce described PU prediction video Block.
After video encoder 20 produces the predicted video block of one or more PU of CU, video encoder 20 can be based on The predicted video block of the PU of CU and produce the residual data of CU.The residual data of CU may indicate that the prediction video of the PU for CU Difference between sample in block and the original video block of CU.
Additionally, as the part that undivided CU is executed with encoding operation, video encoder 20 can be to the residual data of CU Execution recurrence Quadtree Partition is to be divided into one or more being associated with the converter unit (TU) of CU residual the residual data of CU Remaining data block (for example, residual video block).Every TU of CU can be associated from different residual video blocks.
One or more conversion can be applied to the residual video block being associated with TU to produce and TU phase by video encoder 20 The transformation coefficient block (for example, transformation coefficient block) of association.Conceptually, transformation coefficient block can be two dimension (2D) square of conversion coefficient Battle array.
After producing transformation coefficient block, video encoder 20 can execute quantification treatment to described transformation coefficient block.Quantify Generally refer to conversion coefficient be quantified with the amount of the data to be likely to reduced to represent conversion coefficient thus providing into one The process of step compression.Quantizing process can reduce and some or all bit depth being associated in conversion coefficient.For example, can be in amount During change, n bit map coefficient is rounded down to m bit map coefficient, wherein n is more than m.
Video encoder 20 can make every CU be associated with quantization parameter (QP) value.The QP value being associated with CU be can determine that and regards How frequency encoder 20 is quantified to the transformation coefficient block being associated with CU.Video encoder 20 can be related to CU by adjusting The degree to adjust the quantization of the transformation coefficient block being applied to be associated with CU for the QP value of connection.
After video encoder 20 quantization transform coefficient block, video encoder 20 can produce expression quantified conversion coefficient The syntactic element collection of the conversion coefficient in block.Video encoder 20 can be by such as context adaptive binary arithmetically decoding (CABAC) operation constant entropy encoding operation is applied to some in these syntactic elements.Also can using such as context-adaptive Become other entropy coding skills of length decoding (CAVLC), probability interval segmentation entropy (PIPE) decoding or other binary arithmetic decoding Art.
The bit stream being produced by video encoder 20 can comprise a series of network abstract layers (NAL) unit.In described NAL unit Each can be the instruction containing the data type in NAL unit and the grammatical structure of the byte containing data.For example, NAL unit can contain and represent that video parameter collection, sequence parameter set, image parameters collection, decoded section, SEI, access unit separate The data of symbol, filling data or another type of data.Data in NAL unit can comprise various grammatical structures.
Video Decoder 30 can receive the bit stream being produced by video encoder 20.Bit stream can comprise to be compiled by video encoder 20 The decoded expression of the video data of code.When Video Decoder 30 receives bit stream, Video Decoder 30 can execute to bit stream Parsing operation.When Video Decoder 30 execution dissects operation, Video Decoder 30 can extract syntactic element from bit stream.Video solution Code device 30 can be based on the picture rebuilding video data from the bit stream syntactic element extracting.Rebuild video counts based on syntactic element According to process typically can with executed by video encoder 20 reciprocal with the process producing syntactic element.
After Video Decoder 30 extracts the syntactic element being associated with CU, Video Decoder 30 can be based on described grammer Element produces the predicted video block of the PU for CU.In addition, Video Decoder 30 can be to the transformation series being associated with the TU of CU Several piece carries out inverse quantization.Video Decoder 30 can be to transformation coefficient block execution inverse transformation to reconstruct the remnants being associated with the TU of CU Video block.After producing predicted video block and reconstructed residual video block, Video Decoder 30 can be based on predicted video block And residual video block reconstructs the video block of CU.In this way, Video Decoder 30 can rebuild CU based on the syntactic element in bit stream Video block.
Video encoder
Fig. 2 is the frame that explanation can implement the example of video encoder 20 of the technology of aspect according to described in the present invention Figure.Video encoder 20 can be configured to handle the monolayer (for example, for HEVC) of frame of video.Additionally, video encoder 20 can It is configured to execute any one of technology of the present invention or whole.In some instances, the technology described in the present invention can be Shared between the various assemblies of video encoder 20.In some instances, additionally or alternatively, processor (not shown) can be through joining Put to execute any one of technology described in the present invention or all.
For illustrative purposes, video encoder 20 described in the context that the present invention decodes in HEVC.However, the present invention Technology go for other coding standards or method.Example depicted in figure 2 is for single-layer codec.However, In certain embodiments, some or all in reproducible video encoder 20 are for the process of multilayer codec.
Video encoder 20 can be to the video block execution intra-coding in video segment and Interframe coding.Intra-coding relies on To reduce or to remove the spatial redundancy of the video in spatial redundancy of video in given frame or picture in spatial prediction.Interframe coding relies on time prediction To reduce or to remove the time redundancy in the video in the contiguous frames of video sequence or picture.Frame mode (I pattern) may refer to Any one of some decoding modes based on space.The such as interframe mould such as single directional prediction (P pattern) or bi-directional predicted (B-mode) Formula may refer to any one of some time-based decoding modes.
In the example of figure 2, video encoder 20 comprises multiple functional units.The functional unit of video encoder 20 comprises Prediction processing unit 100, residue generation unit 102, converting processing unit 104, quantifying unit 106, inverse quantization unit 108, anti- Converter unit 110, reconfiguration unit 112, filter cell 113, decoded picture buffer 114 and entropy code unit 116.Prediction Processing unit 100 comprises inter prediction unit 121, motion estimation unit 122, motion compensation units 124, intraprediction unit 126 and inter-layer prediction unit 128.In other examples, video encoder 20 can comprise more, less or difference in functionality assembly. Additionally, motion estimation unit 122 can be highly integrated with motion compensation units 124, but the example for illustrative purposes and in Fig. 2 In separate represent.
Video encoder 20 can receive video data.Video encoder 20 can receive video data from each introduces a collection.Citing comes Say, video encoder 20 can receive video data from video source 18 (for example, being shown in Figure 1A or 1B) or another source.Video counts According to a series of pictures can be represented.For coding video frequency data, video encoder 20 can be to each of picture execution encoding operation. As the part that picture is executed with encoding operation, video encoder 20 can be to each section execution encoding operation of picture.Make It is the part to section execution encoding operation, video encoder 20 can be to the tree block execution encoding operation in section.
As the part that tree block is executed with encoding operation, prediction processing unit 100 can be to video block execution four fork of tree block Tree segmentation is to be divided into, by described video block, the video block tapering into.Can be related from different CU compared with each of small video block Connection.For example, the video block segmentation of tree block can be become the sub-block of four equal sizes by prediction processing unit 100, by described son One or more of block is divided into the sub-block of four equal sizes, etc..
The magnitude range of the video block being associated with CU can be up to the tree block of maximum 64x64 pixel or bigger from 8x8 sample Size.In the present invention, " N × N " and " N takes advantage of N " are used interchangeably to refer to video block in terms of vertically and horizontally dimension Sample-size, for example, 16 samples taken advantage of by 16 × 16 samples or 16.In general, 16 × 16 video blocks have in vertical direction There are 16 samples (y=16), and there are 16 samples (x=16) in the horizontal direction.Equally, NxN block is typically in vertical direction On there is N number of sample, and there is N number of sample in the horizontal direction, wherein N represents nonnegative integral value.
In addition, as the part that tree block is executed with encoding operation, prediction processing unit 100 can produce for described tree block Hierarchy type quaternary tree data structure.For example, tree block may correspond to the root node of quaternary tree data structure.If prediction processing unit The video block segmentation of tree block is become four sub-blocks by 100, then root node has four child nodes in quaternary tree data structure.Institute State each of child node and correspond to the CU being associated with one of sub-block.If prediction processing unit 100 is by sub-block One of be divided into four sub-blocks, then the node corresponding to the CU being associated with sub-block can have four child nodes, wherein The CU each corresponding to be associated with one of sub-block.
Each node of quaternary tree data structure can contain syntax data (for example, the grammer unit for corresponding to tree block or CU Element).For example, the node in four points of trees can comprise to divide labelling, its instruction corresponding to the CU of described node video block whether by Segmentation (for example, dividing) becomes four sub-blocks.Syntactic element for CU can recursively define, and may depend on the video of described CU Whether block splits into sub-block.The not divided CU of video block may correspond to the leaf node in quaternary tree data structure.Decoded tree Block can comprise the data of four points of data tree structures based on corresponding tree block.
Video encoder 20 can be to each not segmented CU execution encoding operation of tree block.When video encoder 20 is not to When segmented CU executes encoding operation, video encoder 20 produces the data of the warp knit representation of CU representing not segmented.
As the part that CU is executed with encoding operation, prediction processing unit 100 can split CU between one or more PU of CU Video block.Video encoder 20 and Video Decoder 30 can support various PU sizes.It is assumed that the size of specific CU is 2N × 2N, Video encoder 20 and Video Decoder 30 can support the PU size of 2N × 2N or N × N, and 2N × 2N, 2N × N, N × 2N, N × N, 2N × nU, nL × 2N, nR × 2N or the inter prediction of similar symmetrical PU size.Video encoder 20 and Video Decoder 30 The asymmetric segmentation of the PU size for 2N × nU, 2N × nD, nL × 2N and nR × 2N also can be supported.In some instances, in advance Survey processing unit 100 can perform geometry segmentation and do not carry out the PU in CU by the border joined in the side at right angle and the video block of CU with edge Between split CU video block.
Inter prediction unit 121 can be to every PU execution inter prediction of CU.Inter prediction can provide the time to compress.In order to Inter prediction is executed to PU, motion estimation unit 122 can produce the movable information of PU.Motion compensation units 124 can be based on motion Information and the decoded sample of picture beyond the picture (for example, reference picture) that is associated with CU and produce the predicted of PU Video block.In the present invention, can be referred to as through inter-prediction video block by the predicted video block that motion compensation units 124 produce.
Section can be I section, P section, or B section.Motion estimation unit 122 and motion compensation units 124 may depend on PU is in I section, P section or B section and executes different operating to the PU of CU.In I section, all PU are through frame in Prediction.Therefore, if PU is in I section, then motion estimation unit 122 and motion compensation units 124 do not execute interframe to PU Prediction.
If PU is in P section, then the picture containing described PU is related to the reference picture list being referred to as " list 0 " Connection.Each of reference picture in list 0 contains the sample of the inter prediction that can be used for other pictures.When estimation list When unit 122 executes motion estimation operation with regard to the PU in P section, motion estimation unit 122 can search for the reference picture in list 0 To find out the reference block of PU.The reference block of PU can be one group of sample of the sample in the video block be most closely correspond to PU, for example Sample block.Using multiple tolerance, motion estimation unit 122 can determine that one group of sample in reference picture corresponds to the video of PU The tightness degree of the sample in block.For example, motion estimation unit 122 can pass through absolute difference summation (SAD), difference of two squares summation (SSD) or other difference measurement come to determine one group of sample in reference picture correspond to the sample in the video block of PU close to journey Degree.
After the reference block of the PU in identifying P section, motion estimation unit 122 can produce in instruction list 0 and contain The motion vector of the space displacement between the reference key of the reference picture of reference block, and instruction PU and reference block.Various In example, motion estimation unit 122 can produce motion vector with different precision.For example, motion estimation unit 122 is permissible A quarter sample precision, 1/8th sample precisions or other fractional samples degree of accuracy produce motion vector.In fraction In the case of sample precision, reference block value can integer position sample value interpolation from reference picture.Motion estimation unit 122 Reference key and motion vector can be output as the movable information of PU.Motion compensation units 124 can be based on the movable information by PU Identification reference block and produce the predicted video block of PU.
If PU is in B section, then the picture containing PU can be with two ginsengs being referred to as " list 0 " and " list 1 " Examine just list to be associated.In some instances, the picture containing B section can be with the list group combining for list 0 and list 1 Close associated.
If additionally, PU is in B section, then motion estimation unit 122 can execute single directional prediction or bi-directional predicted to PU. When motion estimation unit 122 is to PU execution single directional prediction, motion estimation unit 122 can search for the reference in list 0 or list 1 Picture is to find out the reference block for described PU.Motion estimation unit 122 can subsequently produce containing in instruction list 0 or list 1 There is the motion vector of the space displacement between the reference key of the reference picture of reference block and instruction PU and reference block.Estimation The exportable reference key of unit 122, prediction direction designator and motion vector are as the movable information of described PU.Prediction direction refers to Show that symbol may indicate that reference key indicates the reference picture in list 0 or list 1.Motion compensation units 124 can be based on by PU's The predicted video block to produce PU for the reference block of movable information instruction.
When motion estimation unit 122 is directed to PU and executes bi-directional predicted, motion estimation unit 122 can search in list 0 Reference picture is to find the reference block for described PU, and also can search for reference picture in list 1 to find for described PU Another reference block.Motion estimation unit 122 can subsequently produce instruction list 0 and list 1 in containing reference block with reference to figure The motion vector of the space displacement between the reference key of piece and instruction reference block and PU.The exportable PU of motion estimation unit 122 Reference key and motion vector as PU movable information.Motion compensation units 124 can be based on the movable information instruction by PU Reference block and produce the predicted video block of PU.
In some cases, the full set of the movable information of PU is not exported entropy code list by motion estimation unit 122 Unit 116.In fact, motion estimation unit 122 refers to the movable information of another PU and represents the movable information of PU with signal.Lift For example, motion estimation unit 122 can determine that the movable information of PU is sufficiently similar to the movable information of adjacent PU.In this example In, motion estimation unit 122 can indicate a value in the grammatical structure being associated with PU, described be worth indicate to Video Decoder 30 PU has and adjacent PU identical movable information.In another example, motion estimation unit 122 can recognize that the language being associated with PU Adjacent PU and MVD in method structure.MVD indicates the motion vector (that is, current motion vector) of PU and the fortune through indicating adjacent PU Difference between moving vector (that is, predicted motion vector).Video Decoder 30 can be using the motion vector of indicated adjacent PU And MVD is determining the motion vector of PU.By the motion letter with reference to a PU when representing the movable information of the 2nd PU with signal Breath, video encoder 20 may pass the movable information of letter the 2nd PU using less bits.
As the part that CU is executed with encoding operation, intraprediction unit 126 can execute infra-frame prediction to the PU of CU.Frame in Prediction can provide space compression.When intraprediction unit 126 is to PU execution infra-frame prediction, intraprediction unit 126 can be based on The decoded sample of the other PU in same picture is producing the prediction data for PU.For PU prediction data can comprise through Predicted video block and various syntactic element.Intraprediction unit 126 can be to the PU execution frame in I section, P section and B section Prediction.
In order to execute infra-frame prediction to PU, intraprediction unit 126 can be produced using multiple intra prediction modes and be used for Multiple set of the prediction data of PU.When intraprediction unit 126 produces the prediction data of PU using intra prediction mode During set, intraprediction unit 126 can cross over the video block of PU on the direction being associated with intra prediction mode and/or gradient Extend sample from the video block of adjacent PU.Adjacent PU can above described PU, upper right side, upper left side or left side it is assumed that for PU, CU and tree block are using coding orders from left to right, from top to bottom.Intraprediction unit 126 may depend on PU size and Using various number intra prediction modes, such as 33 directional intra-prediction patterns.
Prediction processing unit 100 can from by motion compensation units 124 be directed to PU produce prediction data or by infra-frame prediction Unit 126 is directed to the prediction data selecting in the middle of the prediction data that PU produces for PU.In some instances, prediction processing unit 100 rate/distortion based on prediction data set are measured and are selected the prediction data of PU.
If prediction processing unit 100 selects the prediction data being produced by intraprediction unit 126, then prediction processes single First 100 available signals represent to produce the intra prediction mode of the prediction data for PU, for example, selected infra-frame prediction mould Formula.Prediction processing unit 100 can represent selected intra prediction mode with signal in every way.It is for instance possible that it is selected Intra prediction mode is identical with the intra prediction mode of adjacent PU.In other words, the intra prediction mode of adjacent PU can be for The most probable pattern of current PU.Therefore, prediction processing unit 100 can produce to indicate selected intra prediction mode and adjacent PU Intra prediction mode identical syntactic element.
As discussed above, video encoder 20 can comprise inter-layer prediction unit 128.Inter-layer prediction unit 128 is configured With using one or more different layers (for example, basis or reference layer) prediction current block (for example, the working as in EL that can be used in SHVC Front piece).This prediction can be referred to as inter-layer prediction.Inter-layer prediction unit 128 is using Forecasting Methodology to reduce interlayer redundancy, Jin Ergai Enter decoding efficiency and reduce computing resource requirement.Some examples of inter-layer prediction comprise inter-layer intra prediction, inter-layer motion prediction And inter-layer residual prediction.Inter-layer intra prediction is predicted current in enhancement layer using the reconstruction of the colocated block in basal layer Block.Inter-layer motion prediction predicts the movable information in enhancement layer using the movable information of basal layer.Inter-layer residual prediction uses The remnants of basal layer are predicting the remnants of enhancement layer.
After the prediction data that prediction processing unit 100 selects for the PU of CU, residue generation unit 102 can by from The video block of CU deducts the predicted video block of the PU of (for example, being indicated by minus sign) CU and produces the residual data for CU.CU Residual data can comprise the 2D residual video block of the different sample components corresponding to the sample in the video block of CU.Citing comes Say, residual data can comprise the original video block of the lightness component of sample in the predicted video block of the PU corresponding to CU and CU In the lightness component of sample between difference residual video block.In addition, the residual data of CU can comprise the PU's corresponding to CU The remnants of the difference between the chromatic component of the sample in the original video block of the chromatic component of the sample in predicted video block and CU Video block.
Prediction processing unit 100 can perform Quadtree Partition so that the residual video block of CU is divided into sub-block.Each without The residual video block dividing can be associated from the different TU of CU.The size and location of the residual video block being associated with the TU of CU can Based on or the size and location of video block being associated with the PU of CU can be not based on.It is referred to as the four of " remaining quaternary tree " (RQT) Fork tree construction can comprise the node being associated with each of residual video block.The TU of CU can correspond to the leaf node of RQT.
Converting processing unit 104 can be by the residual video being applied to be associated with every TU of CU by one or more conversion Block and produce one or more transformation coefficient blocks for described TU.Each of transformation coefficient block can be the 2D square of conversion coefficient Battle array.Various conversion can be applied to the residual video block that is associated with TU by converting processing unit 104.For example, conversion process Discrete cosine transform (DCT), directional transform or conceptive similar conversion can be applied to be associated with TU residual by unit 104 Remaining video block.
After converting processing unit 104 produces the transformation coefficient block being associated with TU, quantifying unit 106 can quantify described Conversion coefficient in transformation coefficient block.Quantifying unit 106 can be based on the QP value being associated with CU to being associated with the TU of CU Transformation coefficient block is quantified.
Video encoder 20 can make QP value be associated with CU in every way.For example, video encoder 20 can to CU phase The tree block execution rate distortion analysis of association.In rate-distortion analysis, video encoder 20 can be by tree block execution repeatedly Encoding operation and produce the multiple decoded expression of tree block.When video encoder 20 produces the different warp knit representation of tree block, Video encoder 20 can make different Q P value be associated with CU.When given QP value and the tree block with minimum bit rate and distortion metrics Decoded expression in CU be associated when, video encoder 20 available signal represents that given QP value is associated with CU.
Inverse quantization unit 108 and inverse transformation unit 110 can respectively by inverse quantization and inverse transformation be applied to transformation coefficient block with From transformation coefficient block reconstructed residual video block.Reconstructed residual video block can be added to freely to predict by reconfiguration unit 112 The corresponding sample of one or more predicted video block that processing unit 100 produces, to produce the reconstructed video block being associated with TU. By reconstructing the video block of the every TU for CU, the video block of video encoder 20 restructural CU in this way.
After reconfiguration unit 112 reconstructs the video block of CU, filter cell 113 can perform deblocking operation to reduce and institute State the blocked false image in the video block that CU is associated.After executing one or more deblocking operations, filter cell 113 can be by CU Reconstructed video block be stored in decoded picture buffer 114.Motion estimation unit 122 and motion compensation units 124 can Using the reference picture containing reconstructed video block, inter prediction is executed to the PU of subsequent pictures.In addition, intraprediction unit 126 can be using the reconstructed video block in decoded picture buffer 114 to the other PU execution being in picture identical with CU Infra-frame prediction.
Entropy code unit 116 can be from other functional unit receiving datas of video encoder 20.For example, entropy code list Unit 116 can receive transformation coefficient block from quantifying unit 106 and can receive syntactic element from prediction processing unit 100.Work as entropy code When unit 116 receives data, entropy code unit 116 can perform one or more entropy code and operates to produce entropy encoded data. For example, video encoder 20 can operate, can change to the decoding of variable (V2V) length to data execution CAVLC operation, CABAC Operation, context adaptive binary arithmetically decoding (SBAC) operation based on grammer, probability interval segmentation entropy (PIPE) decoding Operation or the operation of another type of entropy code.The exportable bit stream comprising entropy encoded data of entropy code unit 116.
As the part that data is executed with entropy code operation, entropy code unit 116 may be selected context model.If entropy Coding unit 116 is just executing CABAC operation, then context model may indicate that specific binary number has estimating of the probability of particular value Meter.In the case of CABAC, term " binary bit " is in order to refer to the position of the binarization version of syntactic element.
Video Decoder
Fig. 3 is the block diagram of the example of Video Decoder 30 illustrating to implement the technology of the aspect described in the present invention.Depending on Frequency decoder 30 can be configured to handle the monolayer (being for example directed to HEVC) of frame of video.Additionally, Video Decoder 30 can be configured To execute any one of technology of the present invention or whole.In some instances, the technology described in the present invention can be in video solution Shared between the various assemblies of code device 30.In some instances, additionally or alternatively, processor (not shown) can be configured to hold Any one of technology described in the row present invention or whole.
For illustrative purposes, Video Decoder 30 described in the context that the present invention decodes in HEVC.However, the present invention Technology go for other coding standards or method.Example depicted in figure 3 is for single-layer codec.However, In certain embodiments, some or all in reproducible video encoder 30 are for the process of multilayer codec.
In the example of fig. 3, Video Decoder 30 comprises multiple functional units.The functional unit of Video Decoder 30 comprises Entropy decoding unit 150, prediction processing unit 152, inverse quantization unit 154, inverse transformation unit 156, reconstruction unit 158, wave filter Unit 159 and decoded picture buffer 160.Prediction processing unit 152 comprises motion compensation units 162, intraprediction unit 164 and inter-layer prediction unit 166.In some instances, Video Decoder 30 can perform general and with regard to Fig. 2 video encoder The coding of 20 descriptions is all over secondary reciprocal decoding time time.In other examples, Video Decoder 30 can comprise more, less or different Functional unit.
Video Decoder 30 can receive the bit stream including encoded video data.Described bit stream can comprise multiple grammer units Element.When Video Decoder 30 receives bit stream, entropy decoding unit 150 can dissect operation to the execution of described bit stream.Bit stream is held Row dissects operating as a result, entropy decoding unit 150 can extract syntactic element from described bit stream.Dissect the one of operation as execution Part, entropy decoding unit 150 can carry out entropy decoding to the syntactic element that is entropy encoded in bit stream.Prediction processing unit 152, inverse Change unit 154, inverse transformation processing unit 156, reconfiguration unit 158 and filter cell 159 and can perform reconstructed operation, reconstructed operation Decoded video data is produced based on the syntactic element extracting from bit stream.
As discussed above, bit stream may include a series of NAL unit.The NAL unit of bit stream can comprise video parameter collection NAL Unit, sequence parameter set NAL unit, image parameters collection NAL unit, SEI NAL unit etc..Dissect behaviour as to bit stream execution Make a part, entropy decoding unit 150 can perform dissect operation, described dissect operation from sequence parameter set NAL unit extract and Entropy decoding sequence parameter set, from image parameters collection NAL unit extract and entropy decoding image parameters collection, from SEI NAL unit extract And entropy decoding SEI data etc..
Additionally, the NAL unit of bit stream can comprise decoded section NAL unit.As the portion that bit stream execution is dissected with operation Point, entropy decoding unit 150 can perform and dissects operation, and described anatomy operation is extracted and entropy decoding warp from decoded section NAL unit Decoding section.Each of decoded section can comprise slice header and slice of data.Slice header can contain and is related to The syntactic element of section.Syntactic element in slice header can comprise to identify the picture being associated with the picture containing described section The syntactic element of parameter set.Entropy decoding unit 150 can be to the syntactic element execution entropy decoding operation (example in decoded slice header As CABAC decoding operate), to recover slice header.
As the part extracting slice of data from decoded section NAL unit, entropy decoding unit 150 can perform from number of slices According in decoded CU extract the anatomy operation of syntactic element.The syntactic element being extracted can comprise to be associated with transformation coefficient block Syntactic element.Entropy decoding unit 150 then can execute CABAC decoding operate to some in syntactic element.
After entropy decoding unit 150 dissects operation to undivided CU execution, Video Decoder 30 can be to undivided CU executes reconstructed operation.In order to execute reconstructed operation to undivided CU, Video Decoder 30 can execute reconstruct to every TU of CU Operation.By the every TU execution reconstructed operation to CU, the residual video block that Video Decoder 30 restructural is associated with CU.
As the part that TU is executed with reconstructed operation, inverse quantization unit 154 can be to the transformation coefficient block being associated with TU Carry out inverse quantization (for example, de-quantization).Inverse quantization unit 154 can be similar to for proposed by HEVC or by H.264 decoding mark The mode of the certainly de-quantization process of justice carries out inverse quantization to transformation coefficient block.Inverse quantization unit 154 can use by Video coding Device 20 to determine quantization degree for the quantization parameter QP of the CU calculating of transformation coefficient block, and similarly, determines inverse quantization unit The degree of the inverse quantization of 154 applications.
After inverse quantization unit 154 carries out inverse quantization to transformation coefficient block, inverse transformation unit 156 can produce and transformation series The residual video block of the TU that several piece is associated.Inverse transformation can be applied to transformation coefficient block to produce institute by inverse transformation unit 156 State the residual video block of TU.For example, inverse DCT, inverse integer transform, anti-card can be neglected Nan-La Wei by inverse transformation unit 156 (Karhunen-Loeve) conversion (KLT), despining conversion, opposite orientation conversion or another inverse transformation are applied to transformation coefficient block. In some instances, inverse transformation unit 156 can be determined and is applied to transformation coefficient block based on the signaling from video encoder 20 Inverse transformation.In these examples, inverse transformation unit 156 can be based on four forks in the tree block for being associated with transformation coefficient block Tree root node at bring determination inverse transformation with the change that signal represents.In other examples, inverse transformation unit 156 can be from for example One or more decoding characteristic such as block size, decoding mode or fellow infer inverse transformation.In some instances, inverse transformation unit 156 inverse transformations that can apply cascade.
In some instances, motion compensation units 162 can be pre- by the refine PU based on interpolation filter execution interpolation Survey video block.For the identifier of the interpolation filter being used for carrying out motion compensation with subsample degree of accuracy be can be included in grammer In element.Motion compensation units 162 can use the phase being used during producing the predicted video block of PU by video encoder 20 To calculate the interpolated value of the sub- integral sample of reference block with interpolation filter.Motion compensation units 162 can be according to the language receiving Method information determine by video encoder 20 using interpolation filter and produce predicted video using described interpolation filter Block.
If PU is to use intraframe predictive coding, then intraprediction unit 164 can perform infra-frame prediction and is used for producing The predicted video block of PU.For example, intraprediction unit 164 can determine the frame for PU based on the syntactic element in bit stream Inner estimation mode.Bit stream can comprise intra-framed prediction module 164 and may be used to determine the syntactic element of the intra prediction mode of PU.
In some cases, syntactic element may indicate that intraprediction unit 164 by the intra prediction mode using another PU To determine the intra prediction mode of current PU.For example, the intra prediction mode that may be possible to current PU is with adjacent PU's Intra prediction mode is identical.In other words, the intra prediction mode of adjacent PU can be the most probable pattern for current PU.Cause This, in this example, bit stream can comprise little syntactic element, and described little syntactic element indicates the intra prediction mode of PU and adjacent PU Intra prediction mode identical.Intraprediction unit 164 can subsequently using intra prediction mode based on spatially adjacent PU Video block and produce the prediction data (for example, predicted sample) for PU.
As discussed above, Video Decoder 30 also can comprise inter-layer prediction unit 166.Inter-layer prediction unit 166 is through joining Put so that be used in SHVC in available one or more different layers (for example, basal layer or reference layer) come to predict current block (for example, increase Current block in strong layer).This prediction can be referred to as inter-layer prediction.Inter-layer prediction unit 166 is using Forecasting Methodology to reduce interlayer Redundancy, thus improving decoding efficiency and reducing computing resource requirement.Some examples of inter-layer prediction comprise inter-layer intra prediction, layer Between motion prediction and inter-layer residual prediction.Inter-layer intra prediction predicts enhancing using the reconstruction of the colocated block in basal layer Current block in layer.Inter-layer motion prediction predicts the movable information in enhancement layer using the movable information of basal layer.Interlayer is residual The remnants of enhancement layer are predicted in remaining prediction using the remnants of basal layer.Hereinafter discuss inter-layer prediction schemes in further detail Each of.
Reconfiguration unit 158 can use the predicted video block of the PU of the residual video block being associated with the TU of CU and CU (for example, intra-prediction data or inter prediction data, if be suitable for) is reconstructing the video block of CU.Therefore, Video Decoder 30 Predicted video block and residual video block can be produced based on the syntactic element in bit stream, and can be based on predicted video block and residual Remaining video block and produce video block.
After reconfiguration unit 158 reconstructs the video block of CU, filter cell 159 can perform deblocking operation to reduce and institute State the blocked false image that CU is associated.Filter cell 159 execution deblocking operation with reduce the blocked false image being associated with CU it Afterwards, the video block of CU can be stored in decoded picture buffer 160 for Video Decoder 30.Decoded picture buffer 160 Reference picture can be provided to show dress for subsequent motion compensation, infra-frame prediction and the display device 32 in such as Figure 1A or 1B etc. That puts presents.For example, Video Decoder 30 can be based on the video block in decoded picture buffer 160 to other CU's PU execution infra-frame prediction or inter prediction operation.
MVD and BVD decodes
In the existing method with regard to HEVC, no matter the type (for example, screen content or camera capture content) of content is such as What, all to decode MVD in the same manner.For example, decodable code first labelling is to indicate whether the absolute value of MVD is zero.When When the absolute value of MVD is not zero, whether decodable code second labelling is more than one with the absolute value indicating MVD.When the absolute value of MVD is big In for the moment, the absolute value of MVD can be decoded using single order bypass index Columbus decoding and subtract one.
Additionally, in the existing method with regard to HEVC and its extension, decoding BVD using distinct methods from MVD.Citing comes Say, decodable code first labelling is to indicate whether BVD is zero.When BVD is not zero, can be using three rank bypass index Columbus decodings To decode the abslute residuals of BVD.For example, the abslute residuals of BVD can subtract one by the absolute value for BVD.
Exp- Golomb comprises prefix value and suffix value.Prefix value can decode through unitary and suffix value can be through regular length Decoding, the length of wherein regular length suffix value is based on corresponding prefix value.Table 1 below explanation is using the index with quadravalence Columbus's code is decoding the example of basic value.In Table 1, prefix value and suffix value are separated by strigula.
Table 1
As discussed above, encode screen content MVD using the index Columbus decoding with single order and may result in decoding Inefficient low.Exactly, the digit required for index Columbus decoding increases with the size exponentially of MVD.Camera is caught The MVD of the video data obtaining has the probability distribution for high level rapid decay.Therefore, using the index Columbus with single order Decoding is effective for the video data that camera is captured, because low order Exp- Golomb is more effective to smaller value.
By contrast, the MVD of screen content have substantially flat probability distribution (that is, the probability of every MVD value be phase As).This is because the content that the motion vector of screen content is not so good as camera capture is so reliably measurable.For example, Screen content can comprise one of alphabetic character and described alphabetic character and can be located at any position of the image in next frame. Therefore, when being decoded to encode higher MVD value using the index Columbus with single order, decoding efficiency reduces.Therefore, according to Each aspect of the present invention, when encoding screen content, can decode to encode the MVD more than threshold value using high-order index Columbus. High-order index Columbus decoding can more low value input decoding efficiency be cost have much higher value input (that is, MVD) raising Efficiency.
It is described below according to various embodiments of the present invention.These embodiments can be implemented separately or and the present invention Other side implement together.Additionally, embodiments of the invention are equally applicable to other decoding instruments, such as 1D dictionary, toning Plate etc..
Fig. 4 is the block diagram of the case technology of difference motion vector decoding that the aspect according to described in the present invention is described.Definitely Ground is said, Fig. 4 explanation can be used for the modified CABAC technology of MVD decoding.The block diagram of Fig. 4 comprises binarizer 201, up and down Civilian model 203, arithmetic decoder 205 and bypass decoding device 207.As demonstrated in Figure 4, syntactic element (for example, MVD) is as defeated Enter and received by binarizer 201.Binarizer 201 produces string of binary characters from MVD, and described string of binary characters comprises Multiple binary numbers.Binarizer 201 optionally each of binary number is sent to context model 203 or bypass is translated Code device 207.Context model 203 determines the context of each binary number receiving from binarizer 201.Following article is further Describe in detail, context can be the horizontal component of MVD or a part for vertical component based on binary number.Arithmetic decoder 205 Using arithmetically decoding, row decoding is entered to the binary number receiving from context model 203.Bypass decoding device 207 is not having context In the case of the binary number receiving from binarizer 201 is entered row decoding.In arithmetic decoder 205 and bypass decoding device 207 Each output accordingly decoded binary number to form output bit stream.Although the angle from CABAC coding techniques describes Fig. 4 Above description, but reversal technique can be used for decoding described bit stream.
Fig. 5 is the figure that example string of binary characters 300 according to produced by aspect described in the present invention is described.Two enter Character string 300 processed comprises multiple binary numbers b0、b1、b2、…、bi、…、bn-1And bn.Fig. 5 comprises to according to each aspect of the present invention Can be applicable to binary number b0To bnEach of CODEC description.Referring to Fig. 4, binarizer 201 is by binary number b0To bnEach of be sent to context model 203 or bypass decoding device 207.Can use in the case that there is context CABAC encodes to the binary number being sent to context model 203 via upper path.It is sent to bypass via lower path The binary number of decoder 207 can bypass and stay in the CABAC not having decoding in the case of context.
Encode the embodiment of the method for screen content MVD with reference to Figure 4 and 5 description according to the present invention.First binary number b0May indicate that whether the absolute value of MVD is more than 0.The first binary number b can be encoded using CABAC in the case that there is context0 (that is, via context model 203 and arithmetic decoder 205).In certain embodiments, MVD can be divided into and is encoded separately Horizontal component and vertical component.Therefore, in one aspect of the invention, context model 203 will depend upon that binary number is It is contained in the horizontal component of MVD or vertical component and decode the first binary number b using different contexts0.But, at it In its aspect, identical for the horizontal component of MVD and the context of vertical component.
Second binary number b1May indicate that whether the absolute value of MVD is more than threshold value k.For example, in certain embodiments, When using the Exp- Golomb with 4 ranks, described threshold value can be 16 (that is, 24).In certain embodiments, can pass through will Binary value one is to left dislocation index Columbus exponent number (EGOrder) (that is, 1<<EGOrder) determine the threshold of given EGOrder Value k.The second binary number b can be encoded using CABAC in the case that there is context1(that is, via context model 203 and calculation Art decoder 205).In one aspect of the invention, context model 203 will depend upon MVD be MVD horizontal component or Vertical component and decode the second binary number b using different contexts1.But, in other side, the level for MVD is divided Amount is identical with the context of vertical component.
In one embodiment, the second binary number b1It is less than threshold value in the absolute value of MVD and be equal to zero, and exhausted in MVD Value is more than during threshold value and is equal to one.In these embodiments, when the second binary number b1During equal to zero, binary number b2To bn-1Can make Encoded with fixed-length code.Fixed-length code can have the length equal to threshold value k.When the second binary number b1It is equal to for the moment, two Enter several b2To bn-1Can represent that the absolute value of MVD deducts threshold value k and subtracts 1.Can be used by bypass decoding device 207 and have more than one The index Columbus of exponent number decode and to encode binary number b2To bn-1.Additionally, modified Columbus's code (for example, this Columbus of Lay Code) can also be used for encoding binary number b2To bn-1.Most end binary number bnMay indicate that the sign of MVD and can there is no the feelings of context Encoded by bypass decoding device 207 under condition.
Context model 203 can determine that the context being ready to use in using in CABAC decoding.In one embodiment, phase Can be used for identical ordinal number binary number between the component of MVD with context (that is, in the horizontal component and vertical component of MVD The b of eachiCan have same context).In another embodiment, using binary number b of CABAC decoding0To bnIn every One shares context.
Although describing above disclosure in the context of decoding MVD, the invention is not restricted to this.Specifically Say, method disclosed herein also apply be applicable to BVD.Furthermore it is possible to it is inversely secondary with reference to the coding techniques described by Figure 4 and 5 Sequence is executing the decoding of bit stream.For example, bit stream can contain encoded binary number, and described encoded binary number can each freely be borrowed (that is, can decode to decode binary number b using CABAC with constructed the decoding respectively encoding them0And b1, can be using fixation Length or index Columbus decode and to decode binary number b2To bn-1And binary number b can be decoded using bypass decodingn).Below Middle combination Fig. 7 gives the more detailed description of the decoding technique according to the present invention.
MVD and BVD decoding using fixed-length code and Exp- Golomb
In the conventional method, BVD and MVD decodes BVD and MVD thus decoding vector using different binarization technology Difference.Exactly, MVD can be decoded using the estimation from time picture based on inter-frame forecast mode, and can be pre- based on frame in Survey and decode BVD using the estimation in same picture.Therefore, (that is, the expection of MVD and BVD value divides the statistical value of MVD and BVD Cloth) can have different statistical natures.But, there may be using to the interframe constituting these statistical discrepancies and the decoding of frame in vector difference The various benefits of the Uniting of pattern.Additionally, being used for the different binarizations of MVD and BVD of existing method to such unification Design applies to limit.The aspect of the present invention is related to improve BVD's and MVD decoding both (in view of their different statistical natures) Uniform technical.
In some embodiments, BVD and MVD can be executed using the combination of fixed-length code and Exp- Golomb to translate Code.Hereinafter, the MVD decoding as an example will be used to describe the example of these embodiments, but, these embodiment party Case applies also for BVD.
In one embodiment, n-th binary number bnMay be used to indicate from fixed-length code to Exp- Golomb Conversion.For example, when the value of MVD is more than 4, n-th binary number bnAvailable signal is expressed as equal to one, and can be using having The Exp- Golomb of predetermined order is decoding the surplus value (that is, the value of MVD subtracts four) of MVD.When the value of MVD is less than or equal to four When, MVD can be decoded using fixed-length code.
This technology can vague generalization to represent that MVD is more than threshold value N with signal.For example, when the value of MVD is more than N, n-th Individual binary number bnAvailable signal is expressed as equal to N, and can be decoded remaining using the Exp- Golomb with predetermined order MVD value (that is, the value of MVD subtracts N).When the value of MVD is less than or equal to N, MVD can be decoded using fixed-length code.Threshold value N is optional From N=0,1,2,3,4 ....Different N values may result in different binarization schemes, and each of binarization scheme can Different statistical value for MVD functions differently.
Additionally, the length of fixed-length code may depend on the value of N, for example, regular length code length length can through meter Calculate as log2N.In other embodiments, truncated code rather than fixed-length code can be adopted, for example, MVD value be less than or Equal to N and N be not two power when.
MVD and BVD hereinafter providing the exemplary combination using fixed-length code and Exp- Golomb decodes more Detailed example.
For MVD decoding, the first binary number b0Whether the value that may be used to indicate MVD is more than zero.Second binary number b1Can be used for Indicate whether the value of MVD is more than four.When the value of MVD is more than four, MVD can be decoded using the Exp- Golomb with quadravalence Value subtract five.When the value of MVD is less than or equal to four, can subtract one using the value that bypass fixed-length code decodes MVD, described side Road fixed-length code each has the length for two.
Similar techniques can be applied to BVD.First binary number b0Whether the value that may be used to indicate BVD is more than zero.Two or two Enter several b1Whether the value that may be used to indicate BVD is more than four.When the value of BVD is more than four, can be using index brother's human relations with quadravalence Cloth code subtracts 5 come the value to decode BVD.When the value of BVD is less than or equal to four, can decode BVD's using bypass fixed-length code Value subtracts one, and described bypass fixed-length code each has the length for two.
It should be noted that above-mentioned technology can be used separately for MVD and BVD decoding, or combine the system being used as MVD and BVD decoding One method.Additionally, the first and/or second binary number b0And/or b1Can in bypass mode or CABAC is decoding, as shown in Figure 5. When with CABAC decoding the first and/or second binary number b0And/or b1When, the first and/or second binary number b0And/or b1Upper and lower The different components that literary composition can be directed to BVD or MVD are similar and different.When decoding the first and second binary numbers b with CABAC0And b1Both When, the first and second binary numbers b0And b1Independent context or shared same context can be used.In addition, when with CABAC decoding When, first for BVD and MVD and/or the second binary number b0And/or b1Context can separate or shared.
One embodiment of above technology is showed in table 2 below, and described table illustrates for MVD and/or BVD decoding Corresponding binarization code:
Table 2
In above-mentioned table 2, subscript R represents rule decoding binary number (that is, using the binary number of context decoding).
Decoded using MVD and BVD blocking Exp- Golomb
In some embodiments of the present invention, BVD and MVD decoding technique can comprise using blocking Exp- Golomb. There are multiple differences in disclosed herein blocking between Exp- Golomb and existing index Columbus's code.
The prefix code of existing index Columbus's code may be modified such that blocking unitary code rather than being used for index brother of specific interval Unitary code in human relations cloth code.This interval available signal represents or can be fixed as entirely cutting into slices, picture and/or sequence.In addition, can wrap Containing binary number to indicate from the conversion blocking unitary prefix code to regularity index Columbus's prefix code.When letter is used in interval in bit stream Number represent when, described interval can with slice header, the granularity of PPS, SPS and/or VPS and represented with signal.In some embodiment party In case, interval can be determined via threshold value, for example, when the absolute value of MVD is less than or equal to threshold value, can use and block index brother Human relations cloth code.
Now description is used for parsing a kind of technology blocking Exp- Golomb.Input to resolving can be right for instruction There is the position of the request of the binarization of the syntactic element blocking index Columbus of zeroth order.To the output of resolving can be Have zeroth order after the binarization of syntactic element blocks index Columbus.
Be can begin to working as in bit stream using the resolving blocking the syntactic element that Exp- Golomb decodes The reading of the position starting at front position.An embodiment party of the resolving of Exp- Golomb is blocked in following false code explanation Case.Exp- Golomb is blocked for high-order, value leadingZeroBits can be higher order code, for example, 2,3,4 etc..
If the first binary number is zero, then the resolving of these syntactic elements continues up to MAX_BITS_TU_ The value of GROUP binary number, and count the number of null bit preamble.This process may be designated as follows:
The highest that the value wherein returning from read_bits (leadingZeroBits) can be interpreted as having write first has The binary representation of the signless integer of effect position.
If the first binary number is non-zero:
As described in previous embodiments, because Exp- Golomb has K rank, resolving can follow similar techniques.
Can specifying variable codeNum as follows:
CodeNum=2leadingZeroBits-1+read_bits(leadingZeroBits)+codeNum_Prefix
It should be noted that said process can use has the one or zero of relative meaning for prefix part and suffix portion.
And, what said process typically extended also to other ranks blocks Exp- Golomb.
The example of the MVD/BVD decoding of according to the use of the present invention blocking Exp- Golomb is described below.
For MVD decoding, the first binary number b0May indicate that whether the value of MVD is more than zero.Second binary number b1May indicate that MVD Value whether be more than N.When the value of MVD is more than N, can block, using what there is exponent number K, the value that Exp- Golomb decodes MVD Subtract N.When the value of MVD is less than or equal to N, can be using the bypass regular length with the length that may depend on N or block code Code subtracts one decoding the value of MVD.
Similar techniques can be used for BVD decoding.First binary number b0May indicate that whether the value of BVD is more than zero.Second binary number b1 May indicate that whether the value of BVD is more than N.When the value of BVD is more than N, can be using having blocking Exp- Golomb and translating of exponent number K The value of code BVD subtracts N.When the value of BVD is less than or equal to N, can be using the bypass with the length that may depend on N or block code Fixed-length code subtracts one come the value to decode BVD.
It should be noted that technique described above can be used separately for MVD and BVD decoding, or combine and be used as MVD and BVD The unified approach of decoding.First and/or second binary number b0And/or b1Can in bypass mode or CABAC is decoding, as institute in Fig. 5 Show.When with CABAC decoding the first and/or second binary number b0And/or b1When, the difference that context can be directed to BVD and/or MVD is divided Amount is similar and different.When decoding the first and second binary numbers b with CABAC0And b1Both when, the first and second binary numbers b0And b1Independent context or shared same context can be used.In addition, when being decoded with CABAC, for BVD and MVD first and/ Or second binary number b0And/or b1Context can separate or shared.
For the first binary number b at least one embodiment blocking Exp- Golomb0, can in bypass mode or CABAC is decoding the first binary number b0.When decoding the first binary number b with CABAC0When, context can for BVD or MVD not Similar and different with component.When decoding the first binary number b with CABAC0When, context can be directed to the different components of BVD or MVD Similar and different.With the first and/or second binary number b0And/or b1Shared same context or the use of independent context is also can Can.In addition, when to be decoded with CABAC, can separate or shared BVD and MVD proposed block in Exp- Golomb First binary number b0Context.
Example flow chart for MVD the or BVD coding of screen content
Referring to Fig. 6, the example procedure that the MVD (or BVD) of description screen content video data is encoded.Fig. 6 is that root is described Flow chart according to the method 400 of the MVD coding for screen content of the aspect of the present invention.Step illustrated in fig. 6 can be by Video encoder (for example, video encoder 20) or the execution of its one or more assembly.For convenience, method 400 is described as Executed by video decoder (also referred to as decoder), described video decoder can be video encoder 20 or another assembly.
Method 400 starts from frame 401.At frame 405, decoder be (video encoder 20 for example, shown in Fig. 2 Motion estimation unit 122) determine MVD between predicted motion vector and current motion vector.At frame 410, decoder warp String of binary characters including n binary number is produced by binarization MVD.The number n of binary number can be more than or equal to four.Figure The number n of the binary number described in 6 method can be different from reference to the index n described by Figure 4 and 5.
At frame 415, decoder (entropy code unit 116 of video encoder 20 for example, demonstrated in Figure 2) is via One entropy coding operation encodes at least one of n binary number binary number.First entropy code operation can be CABAC.? At frame 420, decoder determines whether the absolute value of MVD is more than threshold value.Described threshold value can be equal to 2k.At frame 425, in response to The absolute value of MVD be more than threshold value, decoder (entropy code unit 116 of video encoder 20 for example, demonstrated in Figure 2) via Second entropy coding operation encodes to the subset of n binary number.Second entropy coding operation can be the exponent number having more than Index decoded operation, for example, has the Exp- Golomb of the exponent number k more than.
Decoder also can be compiled to each of first, second and n-th binary number via CABAC or bypass decoding Code.First binary number can recognize that whether MVD is more than 1.Second binary number can recognize that whether MVD is more than 2k.N-th binary number can represent The sign of MVD.Method is terminating at frame 430.
In method 400, can remove one or more of (for example, not executing) frame demonstrated in Figure 6 and/or commutative The order of execution method.In certain embodiments, extra frame can be added to method 400.Embodiments of the invention are not limited to Fig. 6 The example of middle displaying or the not example by showing in Fig. 6 are limited, and can implement other changes according to the present invention.
In certain aspects of the invention, provide a kind of equipment, it includes:For determining the predicted motion of screen content The device of the difference motion vector (MVD) between vector and current motion vector;For producing including n via binarization MVD The device of the string of binary characters of individual binary number;For operating at least one of n binary number two via the first entropy coding Enter the device that number is encoded;Whether the absolute value for determining MVD is more than the device of threshold value;And for exhausted in response to MVD Threshold value is more than to value and via the second entropy coding operation, the subset of n binary number being associated with screen content is encoded Device, the second entropy coding operation includes the index decoding with the exponent number more than.
In other aspects of the invention, provide the non-transitory computer-readable storage medium being stored thereon with instruction, The processor making device when executed carries out following operation:Determine the predicted motion vector of screen content and work as Difference motion vector (MVD) between front motion vector;Produce the binary word including n binary number via binarization MVD Symbol string;Via the first entropy coding operation, at least one of n binary number binary number is encoded;Determine the absolute value of MVD Whether it is more than threshold value;And in response to MVD absolute value be more than threshold value and via second entropy coding operate to related to screen content The subset of n binary number of connection is encoded, and the second entropy coding operation includes the index decoding with the exponent number more than.
Example flow chart for MVD the or BVD decoding of screen content
Referring to Fig. 7, the example procedure that the MVD (or BVD) of description screen content video data is decoded.Fig. 7 is that root is described Flow chart according to the method 500 of the MVD decoding for screen content of the aspect of the present invention.Step illustrated in fig. 7 can be by Video Decoder (for example, Video Decoder 30) or the execution of its one or more assembly.For convenience, method 500 is described as Executed by video decoder (also referred to as decoder), described video decoder can be video encoder 30 or another assembly.
Method 500 starts from frame 501.At frame 505, the decoder (entropy of the Video Decoder 30 for example, shown in Fig. 3 Decoding unit 150) receive the bit stream including encoded string of binary characters, described string of binary characters includes n binary number.? At frame 510, decoder (entropy decoding unit 150 of Video Decoder 30 for example, demonstrated in Figure 3) is grasped via the first entropy coding Make at least one of n binary number binary number is decoded.First entropy code operation can be CABAC.At least one two enters Number may indicate that whether the absolute value of MVD is more than threshold value.MVD can be the difference between predicted motion vector and current motion vector. The number n of binary number can be more than or equal to four.The number n of the binary number described in the method for Fig. 7 can with reference to Figure 4 and 5 institute The index n of description is different.
At frame 515, the absolute value indicating MVD in response at least one binary number is more than threshold value, decoder (for example, Fig. 3 The entropy decoding unit 150 of the Video Decoder 30 of middle displaying) via the second entropy coding operation, the subset of n binary number is solved Code.Described threshold value can be equal to 2k.Second entropy coding operation may include the index decoding with the exponent number more than.Second entropy coding Operation for example, can have the Exp- Golomb of the exponent number k more than for having the index decoded operation of the exponent number more than. At frame 520, decoder (for example, in Fig. 3 show Video Decoder 30 prediction processing unit 152) be at least partially based on through Decoding binary number produces MVD.Method is terminating at frame 525.
In method 500, can remove one or more of the frame shown in (for example, not executing) Fig. 7 and/or commutative hold The order of row method.In certain embodiments, extra frame can be added to method 500.Embodiments of the invention are not limited in Fig. 7 The example of displaying or the not example by showing in Fig. 7 are limited, and can implement other changes according to the present invention.
In certain aspects of the invention, provide a kind of equipment, it includes:Include encoded binary-coded character for receiving The device of the bit stream of string, described string of binary characters includes n binary number being associated with screen content;For via the first entropy The device that decoded operation is decoded at least one of n binary number binary number, at least one binary number described indicates MVD Absolute value whether be more than threshold value, MVD is the difference between predicted motion vector and current motion vector;For in response at least One binary number indicates that the absolute value of MVD is more than threshold value and via the second entropy coding operation, the subset of n binary number is solved The device of code, the second entropy coding operation includes the index decoding with the exponent number more than;And be used for being at least partially based on through solution Code binary number and produce the device of the MVD of screen content.
In other aspects of the invention, provide the non-transitory computer-readable storage medium being stored thereon with instruction, The processor making device when executed carries out following operation:Receive the position including encoded string of binary characters Stream, described string of binary characters includes n binary number being associated with screen content;Via the first entropy coding operation decoding n At least one of binary number binary number, at least one binary number indicates whether the absolute value of MVD is more than threshold value, and MVD is through pre- Survey the difference between motion vector and current motion vector;The absolute value indicating MVD in response at least one binary number is more than threshold value And via the second entropy coding operation, the subset of n binary number is decoded, the second entropy coding operation inclusion has more than one The index decoding of exponent number;And it is at least partially based on the MVD that decoded binary number produces screen content.
Other Considerations
Information disclosed herein and signal can be represented using any one of multiple different technologies and skill.Citing For, can be expressd throughout the above by voltage, electric current, electromagnetic wave, magnetic field or magnetic particle, light field or light particle or its any combinations Data, instruction, order, information, signal, position, symbol and the chip that may refer in description.
Electronics can be embodied as in conjunction with the various illustrative components, blocks described by embodiment disclosed herein and algorithm steps hard Part, computer software, or a combination of both.For clearly demonstrating this interchangeability of hardware and software, generally close above Describe various Illustrative components, block and step in its feature.This feature is implemented as hardware or software depends on Application-specific and the design constraint putting on whole system.Those skilled in the art can for each concrete application by different way To implement described feature, but such implementation decision should not be interpreted as causing a departure from the scope of the present.
Technology described herein can be implemented with hardware, software, firmware or its any combination.Described technology can be implemented In any one of multiple devices, such as general purpose computer, wireless communication device handsets or IC apparatus, it has It is included in the multiple use of the application in wireless communication device handsets and other device.It is described as any of device or assembly Feature can in integrated logic device or individually be embodied as the discrete but logic device of interoperable by common implementing.If with soft Part is implemented, then described technology can be realized by the computer-readable data storage medium including program code at least in part, Described program code comprises to execute the instruction of one or more of method as described above upon execution.Mechanized data Storage media can form a part for computer program, and described computer program can comprise encapsulating material.Computer Readable media may include memorizer or data storage medium, such as random access memory (RAM) (for example, synchronous dynamic random Incoming memory (SDRAM)), read only memory (ROM), non-volatile random incoming memory (NVRAM), electric erasable can compile Journey read only memory (EEPROM), flash memory, magnetical or optical data storage medium, and fellow.Additionally or alternatively, Described technology can be realized by computer-readable communication medium at least in part, and described computer-readable communication medium carries or passes Reach the program code of the form in instruction or data structure and can be accessed by computer, read and/or execution (for example, propagation Signal or ripple).
Program code can be by computing device, and described processor can comprise one or more processors, for example, one or more numbers Word signal processor (DSP), general purpose microprocessor, special IC (ASIC), field programmable logic array (FPGA) or Other equivalent integrated or discrete logics.This processor can be configured to perform arbitrary in the technology described in the present invention Person.General processor can be microprocessor;But in replacement scheme, processor can be any conventional processor, controller, micro- Controller or state machine.Also processor can be embodied as the combination of computing device, the combining of such as DSP and microprocessor, multiple Microprocessor, one or more microprocessors with reference to DSP core, or any other such configuration.Therefore, as used herein Term " processor " may refer to any combinations of any one of aforementioned structure, aforementioned structure, or be applied to enforcement herein Any other structure of described technology or equipment.In addition, in certain aspects, feature described herein can be carried For being configured for use in coding and the special-purpose software decoding or hardware or being incorporated to the video encoder-decoder of combination (CODEC) in.And, described technology can be fully implemented in one or more circuit or logic element.
The technology of the present invention can be implemented in extensively multiple devices or equipment, comprises wireless handset, integrated circuit (IC) Or one group of IC (for example, chipset).Described in the present invention, various assemblies or unit are to emphasize to be configured to execute disclosed technology Device function aspects, but be not necessarily required to realize by different hardware unit.In fact, as described above, various lists Unit in conjunction with suitable software and/or firmware combinations in codec hardware unit, or can pass through the hardware cell that interoperates Set providing, described hardware cell includes one or more processors as described above.
Although describing above already in connection with various difference embodiments, can be in the case of without departing from teachings of the present invention To combine with other embodiment from the feature of an embodiment or element.However, the combination of the feature between corresponding embodiment It is not necessarily limited to this.Have been described above various embodiments of the present invention.These and other embodiment is in the scope of the appended claims Interior.

Claims (30)

1. a kind of method for being encoded to screen content can be operated by video encoder, methods described includes:
Determine that the motion vector MVD between predicted motion vector and current motion vector is poor;
Produce the string of binary characters including n binary number via MVD described in binarization;
Via the first entropy coding operation, at least one of described n binary number binary number is encoded;
Determine whether the absolute value of described MVD is more than threshold value;And
Described absolute value in response to described MVD is more than described threshold value and operates to described n binary number via the second entropy coding Subset encoded, described second entropy coding operation includes the index decoding with exponent number more than one.
2. method according to claim 1, wherein:
Described first entropy coding operation includes context adaptive binary arithmetically decoding CABAC;And
Described second entropy coding operation includes index Columbus decoding.
3. method according to claim 2, it further includes that based on described MVD be horizontal component MVD or vertical point Measure MVD and determine the context for each of at least one binary number described.
4. method according to claim 1, at least one binary number wherein said includes first and second binary number, described First binary number indicates whether the described absolute value of described MVD is more than zero.
5. method according to claim 4, wherein said second binary number indicates whether the described absolute value of described MVD is big In described threshold value.
6. method according to claim 4, the described subset of wherein said n binary number is included in described n binary number The three to the (n-1)th binary number, methods described its further include to be less than or equal in response to the described absolute value of described MVD Described threshold value and using fixed-length code, described three to the (n-1)th binary number is encoded, wherein said fixed-length code Described length be equal to described threshold value.
7. method according to claim 4, the described subset of wherein said n binary number is included in described n binary number The three to the (n-1)th binary number, the described coding of described three to the (n-1)th binary number is included in bypass mode to described Three to the (n-1)th binary number is encoded.
8. method according to claim 1, it further includes in bypass mode to n-th in described n two numbers processed Binary number is encoded, and described n-th binary number indicates the sign of described MVD.
9. method according to claim 1, wherein carries out binary system via with block vector difference BVD identical method to MVD Change and encode.
10. method according to claim 1, wherein said MVD includes multiple directions component, and methods described further includes Produce the multiple directions component binary-coded character corresponding respectively to described durection component via durection component described in binarization String, the corresponding ordinal number binary number of described durection component string of binary characters shares identical context.
11. methods according to claim 1, wherein said at least one binary number instruction is via described second entropy coding Operate or fixed-length code encodes to the described subset of described n binary number.
12. methods according to claim 1, it further includes to be less than in response to the described absolute value of described MVD or wait At least a portion of described subset is encoded via blocking index Columbus decoding in described threshold value.
A kind of 13. methods that can be by video decoder operation for being decoded to screen content, methods described includes:
Receive the bit stream including encoded string of binary characters, described string of binary characters includes n binary number;
Via first entropy coding operation at least one of described n binary number binary number is decoded, described at least one Binary number indicates whether the absolute value of difference motion vector MVD is more than threshold value, and described MVD is predicted motion vector and current kinetic Difference between vector;
The described absolute value indicating described MVD in response at least one binary number described is more than described threshold value and translates via the second entropy Code operation is decoded to the subset of described n binary number, and described second entropy coding operation inclusion has the exponent number more than Index decodes;And
It is at least partially based on described decoded binary number and produce described MVD.
14. methods according to claim 13, wherein:
Described first entropy coding operation includes context adaptive binary arithmetically decoding CABAC;And
Described second entropy coding operation includes index Columbus decoding.
15. methods according to claim 13, at least one binary number wherein said includes first and second binary number,
Described second binary number indicates whether the described absolute value of described MVD is more than described threshold value, described first binary number instruction Whether the described absolute value of described MVD is more than zero.
16. methods according to claim 13, it further includes described in response at least one binary number described instruction The described absolute value of MVD is less than or equal to described threshold value and using fixed-length code, the described subset of described n binary number is entered Row decoding, the described length of wherein said fixed-length code is equal to described threshold value.
17. methods according to claim 13, are wherein carried out to described MVD via with block vector difference BVD identical method Decoding.
A kind of 18. devices for encoding screen content, it includes:
Memorizer, it is configured to store at least a portion of described screen content;And
At least one processor, it with described memory communication and is configured to:
Determine the difference motion vector MVD between predicted motion vector and current motion vector;
Produce the string of binary characters including n binary number via binarization MVD;
Via the first entropy coding operation, at least one of described n binary number binary number is encoded;
Determine whether the absolute value of described MVD is more than threshold value;And
Described absolute value in response to described MVD is more than described threshold value and operates to described n two numbers processed via the second entropy coding Subset encoded, described second entropy coding operation includes the index decoding with exponent number more than one.
19. devices according to claim 18, wherein:
Described first entropy coding operation includes context adaptive binary arithmetically decoding CABAC;And
Described second entropy coding operation includes index Columbus decoding.
20. devices according to claim 18, at least one binary number wherein said includes first and second binary number, institute State the first binary number and indicate whether the described absolute value of described MVD is more than zero.
21. devices according to claim 20, whether the described absolute value of the wherein said second binary number described MVD of instruction More than described threshold value.
22. devices according to claim 20, the described subset of wherein said n binary number includes described n binary number In the three to the (n-1)th binary number, at least one processor described be configured to respond to further described MVD described absolutely Described threshold value is less than or equal to value and using fixed-length code, described three to the (n-1)th binary number is encoded, wherein The described length of described fixed-length code is equal to described threshold value.
23. devices according to claim 18, at least one processor wherein said be configured to further via with block Vector difference BVD identical method carries out binarization to described MVD and encodes.
24. devices according to claim 18, wherein said at least one binary number instruction is to translate via described second entropy Code operates or fixed-length code encodes to the described subset of described n binary number.
25. devices according to claim 18, at least one processor wherein said is configured to respond to institute further The described absolute value stating MVD is less than or equal to described threshold value and decodes to described subset at least one via blocking index Columbus Part is encoded thus encoding to the described subset of described n binary number.
A kind of 26. devices for decoding screen content, it includes:
Memorizer, it is configured to store at least a portion of described screen content;And
At least one processor, it with described memory communication and is configured to:
Receive the bit stream including encoded string of binary characters, described string of binary characters includes n binary number;
Via first entropy coding operation at least one of described n binary number binary number is decoded, described at least one Binary number indicates whether the absolute value of difference motion vector MVD is more than threshold value, and described MVD is predicted motion vector and current kinetic Difference between vector;
The described absolute value indicating described MVD in response at least one binary number described is more than described threshold value and translates via the second entropy Code operation is decoded to the subset of described n binary number, and described second entropy coding operation inclusion has the exponent number more than Index decodes;And
It is at least partially based on described decoded binary number and produce described MVD.
27. devices according to claim 26, wherein:
Described first entropy coding operation includes context adaptive binary arithmetically decoding CABAC;And
Described second entropy coding operation includes index Columbus decoding.
28. devices according to claim 26, at least one binary number wherein said includes first and second binary number, institute State the second binary number and indicate whether the described absolute value of described MVD is more than described threshold value, described first binary number indicates described MVD Described absolute value whether be more than zero.
29. devices according to claim 26, at least one processor wherein said is configured to respond to institute further State at least one binary number and indicate that the described absolute value of described MVD is less than or equal to described threshold value and uses fixed-length code to institute The described subset stating n binary number is decoded, and the described length of wherein said fixed-length code is equal to described threshold value.
30. devices according to claim 26, at least one processor wherein said be configured to further via with block Vector difference BVD identical method is decoded to described MVD.
CN201580034973.XA 2014-06-30 2015-06-26 The method that difference motion vector (MVD) for screen content video data decodes Pending CN106471810A (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201462019239P 2014-06-30 2014-06-30
US62/019,239 2014-06-30
US201462041527P 2014-08-25 2014-08-25
US62/041,527 2014-08-25
US14/750,935 2015-06-25
US14/750,935 US9854253B2 (en) 2014-06-30 2015-06-25 Method for motion vector difference (MVD) and intra block copy vector difference (BVD) coding of screen content video data
PCT/US2015/038076 WO2016003819A1 (en) 2014-06-30 2015-06-26 Method for motion vector difference (mvd) coding of screen content video data

Publications (1)

Publication Number Publication Date
CN106471810A true CN106471810A (en) 2017-03-01

Family

ID=54932005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580034973.XA Pending CN106471810A (en) 2014-06-30 2015-06-26 The method that difference motion vector (MVD) for screen content video data decodes

Country Status (5)

Country Link
US (1) US9854253B2 (en)
EP (1) EP3162061B1 (en)
JP (1) JP2017525262A (en)
CN (1) CN106471810A (en)
WO (1) WO2016003819A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615504A (en) * 2020-12-04 2022-06-10 腾讯科技(深圳)有限公司 Video decoding method, video encoding method, device and equipment

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107925774A (en) * 2015-08-24 2018-04-17 Lg 电子株式会社 Image processing method and its device based on a prediction mode
US11356693B2 (en) 2016-09-29 2022-06-07 Qualcomm Incorporated Motion vector coding for video coding
US10462462B2 (en) * 2016-09-29 2019-10-29 Qualcomm Incorporated Motion vector difference coding technique for video coding
US10701391B2 (en) * 2017-03-23 2020-06-30 Qualcomm Incorporated Motion vector difference (MVD) prediction
GB2589221B (en) * 2018-06-19 2023-03-22 Beijing Bytedance Network Tech Co Ltd Mode dependent MVD precision set
KR102608181B1 (en) * 2018-07-02 2023-11-30 엘지전자 주식회사 Method and apparatus for processing video signals using affine prediction
US12010336B2 (en) * 2019-01-01 2024-06-11 Lg Electronics Inc. Method and apparatus for processing video signal on basis of inter prediction
JP7303329B2 (en) 2019-04-25 2023-07-04 北京字節跳動網絡技術有限公司 Restrictions on motion vector differences
CN114026861B (en) 2019-06-25 2023-11-17 北京字节跳动网络技术有限公司 Constraint on motion vector differences
US11245920B2 (en) * 2019-08-23 2022-02-08 Qualcomm Incorporated Escape code coding for motion vector difference in video coding
US12020461B2 (en) * 2021-03-10 2024-06-25 Tencent America LLC Method and apparatus for Haar-based point cloud coding
EP4071717A1 (en) * 2021-04-08 2022-10-12 Beijing Xiaomi Mobile Software Co., Ltd. Method of encoding point cloud geometry data captured by a spinning sensors head
CN113259672B (en) * 2021-07-15 2021-10-22 腾讯科技(深圳)有限公司 Decoding method, encoding method, decoder, encoder, and encoding/decoding system
US20230116983A1 (en) * 2021-10-20 2023-04-20 Tencent America LLC Methods and devices for restriction on motion vector difference
US11936903B2 (en) 2022-04-19 2024-03-19 Tencent America LLC Bilateral matching based scaling factor derivation for JMVD

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012172113A1 (en) * 2011-06-16 2012-12-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Entropy coding of motion vector differences
CN103826128A (en) * 2014-02-25 2014-05-28 宁波工程学院 Encryption domain H.264/AVC video reversible data hiding method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6900748B2 (en) * 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
CN100466739C (en) * 2005-10-12 2009-03-04 华为技术有限公司 CABAC decoding system and method
US7777654B2 (en) * 2007-10-16 2010-08-17 Industrial Technology Research Institute System and method for context-based adaptive binary arithematic encoding and decoding
EP2559166B1 (en) * 2010-04-13 2017-11-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Probability interval partioning encoder and decoder
US10123053B2 (en) * 2011-05-23 2018-11-06 Texas Instruments Incorporated Acceleration of bypass binary symbol processing in video coding
US20130170553A1 (en) 2012-01-04 2013-07-04 Qualcomm Incorporated Coding motion vector difference
US9264706B2 (en) * 2012-04-11 2016-02-16 Qualcomm Incorporated Bypass bins for reference index coding in video coding
US9756354B2 (en) * 2014-03-17 2017-09-05 Qualcomm Incorporated Block vector predictor for intra block copying
US9900625B2 (en) * 2014-03-17 2018-02-20 Mediatek Inc. Method and apparatus for efficient information coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012172113A1 (en) * 2011-06-16 2012-12-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Entropy coding of motion vector differences
CN103826128A (en) * 2014-02-25 2014-05-28 宁波工程学院 Encryption domain H.264/AVC video reversible data hiding method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MARTA KARCZEWICZ: "Non-SCCE1: Block vector coding for Intra block copy,Document: JCTVC-R0181", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)》 *
SHIH-TA HSIANG, TZU-DER CHUANG: "Non-SCCE1: Unified BVD & MVD coding using a universal entropy coding scheme,Document: JCTVC-R0134", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615504A (en) * 2020-12-04 2022-06-10 腾讯科技(深圳)有限公司 Video decoding method, video encoding method, device and equipment

Also Published As

Publication number Publication date
US20150382010A1 (en) 2015-12-31
EP3162061A1 (en) 2017-05-03
WO2016003819A1 (en) 2016-01-07
US9854253B2 (en) 2017-12-26
EP3162061B1 (en) 2020-01-29
JP2017525262A (en) 2017-08-31

Similar Documents

Publication Publication Date Title
CN106471810A (en) The method that difference motion vector (MVD) for screen content video data decodes
CN106105197B (en) For the encoder searches based on hash of intra block duplication
CN106416255B (en) Method, equipment and computer-readable media for encoded video information
CN104380747B (en) Parameter set renewal in video coding
CN104396265B (en) From comprehensive arbitrary access of clear arbitrary access picture in video coding
CN104704843B (en) The instruction of video property
CN105637880B (en) The device and method of scalable decoding for video information
CN106664428B (en) Method and apparatus for pallet mode decoding
CN104662918B (en) Buffer circle and recovery point supplemental enhancement information message
CN105900429B (en) A kind of method, unit and the computer-readable media of coded video information
CN104471942B (en) Reuse parameter set and be used for video coding
CN106464909B (en) Bit stream accordance constraint in scalable video coding
CN105556967B (en) The device and method of scalable decoding for video information
CN104272742B (en) Weighted prediction parameters are decoded
CN107787583A (en) Reference picture list structure in block in replication mode
CN108781289A (en) It constrained piece of Hierarchical Optimization for video coding tool and is sent with signal
CN106537917B (en) Equipment, method and computer-readable medium for coded video information
CN105379278B (en) The device and method of scalable decoding for video information
CN106464919A (en) Profile, tier, level for the 0-th output layer set in video coding
CN105519116A (en) Scalable hevc device and method generating adapted motion vector candidate lists for motion prediction in enhancement layer
CN106165423B (en) Method, apparatus, equipment and computer-readable storage medium for video data
CN105052153B (en) Apparatus and method for the scalable decoding of video information
CN104956676B (en) The control of interlayer syntax prediction
CN106576174A (en) Methods incorporating extensions to copy-above mode for palette mode coding
CN106576167A (en) Sub-block palette mode

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

Application publication date: 20170301

WD01 Invention patent application deemed withdrawn after publication