Method and apparatus for signaling and constructing a video coding reference picture list
Patent Information
- Application Number
- JP2025128932
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2012-01-19
- Filing Date
- 2025-07-31
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2033-01-10
AI Technical Summary
【0012】 時間予測に使用される参照ピクチャのシグナリングを改善するための柔軟性をもたらす方法およびシステムが提供される。
Smart Images

Figure 0007914304000007 
Figure 0007914304000008 
Figure 0007914304000009
Abstract
Description
Background Art
[0001] Video encoding systems are widely used to compress digital video signals to reduce the storage requirement and / or transmission bandwidth of the signals. Among various types of video encoding systems such as block-based, wavelet-based, and object-based systems, block-based hybrid video encoding systems are currently the most widely used and put into operation. Examples of block-based video encoding systems include international video coding standards such as the MPEG1 / 2 / 4 part 2, H.264 / MPEG-4 part 10 AVC (Non-Patent Documents 1, 3), and VC-1 (Non-Patent Document 2) standards.
[0002] Figure 1 is a block diagram of a general-purpose block-based hybrid video coding system. The input video signal 102 is processed in block units. In any existing video coding standard, a video block unit consists of 16x16 pixels, and such a block unit is generally called a "macroblock" or "MB". Currently, ITU-T / SG16 / Q.6 / VCEG and ISO / IEC / MPEG's JCT-VC (Joint Collaborative Team on Video Coding) are developing a next-generation video coding standard called High Efficiency Video Coding, or "HEVC" (Non-Patent Literature 4). HEVC uses an extended block size (called a "coding unit" or "CU") to efficiently compress high-resolution (1080p and above) video signals. In HEVC, a CU can be up to 64x64 pixels. A CU can be further divided into prediction units or PUs, and a separate prediction method is applied to each PU. For each input video block (MB or CU), spatial prediction (160) and / or temporal prediction (162) can be performed. Spatial prediction (or "intra-prediction") predicts the current video block using pixels from already encoded adjacent blocks within the same video picture / slice. Spatial prediction reduces the spatial redundancy inherent in video signals. Temporal prediction (also called "inter-prediction" or "motion-compensated prediction") predicts the current video block using pixels from an already encoded video picture (commonly called a "reference picture"). Temporal prediction reduces the temporal redundancy inherent in video signals. A temporal prediction signal for a given video block is typically signaled by one or more motion vectors indicating the amount and direction of motion between the current block and its predicted block in the reference picture. If multiple reference pictures are supported (as in modern video encoding standards such as H.264 / AVC or HEVC), the index of that reference picture is also transmitted for each video block.The reference picture index identifies the reference picture in the reference picture store (164) (also called the “decoded picture buffer” or “DPB”) from which the time prediction signal should be obtained in order to generate a prediction of the current picture block to be reconstructed. After spatial and / or time prediction, the encoder’s mode determination block (180) selects the best prediction mode based on, for example, a transmission rate-distortion optimization method. The prediction block is then subtracted from the current picture block (116), the prediction residue is transformed (104), and quantized (106). The quantized residue coefficients are inversely quantized (110) and inversely transformed (112) to form the reconstructed residue, which is then placed into the prediction block (126) to form the reconstructed picture block. Furthermore, in-loop filtering such as deblocking filters, sample-adaptive offsets, and adaptive loop filters is applied to the reconstructed picture block (166), after which the reconstructed picture block is placed into the reference picture store (164) and used to encode future picture blocks. To form the output video bitstream 120, the encoding mode (inter or intra), prediction mode information, motion information, and quantized residual coefficients are all sent to the entropy encoding unit (108), where they are further compressed and packed to form the bitstream.
[0003] Figure 2 is a schematic block diagram of a block-type video decoder. The video bitstream 202 is first unpacked and then entropy-decoded in the entropy decoding unit 208. The coding mode and prediction information are sent to either the spatial prediction unit 260 (in the case of intra coding) or the time prediction unit 262 (in the case of intercoding) to form a prediction block. In the case of intercoding, the prediction information includes the size of the prediction block, one or more motion vectors (indicating the direction and amount of motion), and one or more reference indices (indicating the reference picture from which the prediction signal should be obtained). Then, motion compensation prediction is applied in the time prediction unit 262 to form a time prediction block. The residual transformation coefficients are sent to the inverse quantization unit 210 and the inverse transformation unit 212 to reconstruct the residual block. Then, in 226, the prediction block and the residual block are added together. The reconstructed block may undergo further in-loop filtering before being stored in the reference picture store 264. The reconstructed image in the reference picture store is then sent out to drive the display device and is also used to predict future image blocks. [Prior art documents] [Non-patent literature]
[0004] [Non-Patent Document 1] ITU-T Rec H.264 and ISO / IEC / MPEG 4 part 10, Advanced video coding for generic audiovisual services, November 2007 [Non-Patent Document 2] SMPTE 421M, “VC-1 Compressed Video Bitstream Format and Decoding Process,” April 2006 [Non-Patent Document 3] JM reference software JM18.2, located at hypertext transfer protocol, colon, slash-slash iphome.hhi.de / suehring / tml / download / jml8.2.zip,November,2011 [Non-Patent Document 4] B.Bross,W.-J.Han,J.-R.Ohm,GJSullivan,T.Wiegand.WD5: Working Draft 5 of High-Efficiency Video Coding.Document no CTVC-Gl 103,November 2011 [Non-Patent Document 5] K.McCann,S.Sekiguci,B.Bross,W.-J.Han,HM5: HEVC Test Model 5 Encoder Description.Document no JCTVC-G1102,December 2011 [Non-Patent Document 6] J.Boyce, R.Sjoberg, YKWang, BoG report: Reference picture buffering and list construction.Document no JCTVC-G1002,November 2011 [Non-Patent Document 7] D.Flynn,R.Sjoberg,et al,JCTVC AhG report: Reference picture buffering and list construction.Document no JCTVC-G021,November 2011 [Non-Patent Document 8] Y.Suzuki,et al,Extension of uni-prediction simplification in B slices.Document no JCTVC-D421 ,January 2011 [Non-Patent Document 9] B.Bross,W.-J.Han,J.-R.Ohm,GJSullivan,T.Wiegand.WD9: Working Draft 9 of High-Efficiency Video Coding.Document no JCTVC-K1103,October 2012 [Overview of the Initiative] [Problems that the invention aims to solve]
[0005] This specification describes methods and systems that provide flexibility for improving the signaling of reference pictures used in time prediction (see block 162 in Figure 1 and block 262 in Figure 2). In particular, improvements are made to the signaling schemes and construction processes for various reference picture lists in WD5 (HEVC Working Draft 5) (Non-Patent Documents 4, 5). [Means for solving the problem]
[0006] According to one embodiment, a method for generating reference picture lists L0 and L1 for decoding predicted pictures in video data includes the steps of generating a first ordered list of reference pictures from a decoded picture buffer (DPB), wherein the list is ordered such that if there are reference pictures in the DPB that are temporally earlier than the current picture, those reference pictures are listed in order according to their temporal distance from the current picture; if there are reference pictures in the DPB that are temporally later than the current picture, those reference pictures are listed in order according to their temporal distance from the current picture; and if there are long-term reference pictures in the DPB, those reference pictures are listed in the order in which they are stored in the DPB. The steps include generating a second ordered list of reference pictures, wherein the list is ordered such that, if there are reference pictures in the DPB that are later in time than the current picture, those reference pictures are listed first in order according to their temporal distance from the current picture; if there are reference pictures in the DPB that are later in time than the current picture, those reference pictures are listed in order according to their temporal distance from the current picture; and if there are long-term reference pictures in the DPB, those reference pictures are listed in the order in which they are stored in the DPB; and generating at least one of lists L0 and L1 by selecting reference pictures from the first ordered list and the second ordered list, respectively.
[0007] According to another embodiment, a method for initializing a decoder of a reference picture list to decode a P or B slice header is: cIdx=0 NumRpsCurrTempList=NumRpsStCurr0+NumRpsStCurr1+NumRpsLtCurr for(i=0;i <NumRpsStCurr0;cIdx++,i++) RefPicSetCurrTempList0[cIdx]=RefPicSetStCurr0[i] for(i=0;i <NumRpsStCurr1;cIdx++,i++) RefPicSetCurrTempList0[cIdx]=RefPicSetStCurr1[i] for(i=0;i <NumRpsLtCurr;cIdx++,i++) RefPicSetCurrTempList0[cIdx]=RefPicSetLtCurr[i] This includes the step of constructing a first temporary list RefPicSetCurrTempList0.
[0008] In yet another embodiment, a method for signaling changes to multiple reference picture lists includes the step of signaling changes to multiple reference picture lists using a unified signaling syntax.
[0009] According to another embodiment, the method includes the steps of: determining the number of entries in a reference picture list; and generating a message containing a value that identifies an entry in the reference picture list, wherein the value is represented by one bit if there are two entries in the reference picture list; the value is represented by multiple bits if there are three or more entries in the reference picture list; and the message omits the value if there is one entry in the reference picture list.
[0010] According to another embodiment, a method of generating a combined list LC of reference pictures used for decoding a B slice from a first list L0 of reference pictures and a second list L1 of reference pictures comprises: determining whether L0 includes two or more entries; determining whether L1 includes two or more entries; indicating at least one entry of L0 and L1 to be added to LC using a syntax element ref_idx_list_curr if either L0 or L1 includes two or more entries; setting ref_idx_list_curr to 0 if L0 includes only one entry; setting ref_idx_list_curr to 0 if L1 includes only one entry; and generating LC using the value of ref_idx_list_curr.
[0011] A detailed understanding can be obtained from the following description given by way of example in conjunction with the accompanying drawings. Effects of the Invention
[0012] Methods and systems are provided that offer flexibility to improve signaling of reference pictures used for temporal prediction. Brief Description of the Drawings
[0013] [Figure 1] FIG. 1 is a block diagram of a block-based hybrid video encoding system that can incorporate an embodiment of the present invention. [Figure 2] FIG. 2 is a block diagram of a block-based video decoding system that can incorporate an embodiment of the present invention. [Figure 3] FIG. 3 is a diagram illustrating temporal unidirectional prediction from a reference picture store holding a plurality of reference pictures according to the prior art. [Figure 4] FIG. 4 is a diagram illustrating temporal bidirectional prediction using a plurality of reference pictures in the prior art. [Figure 5]This is a flowchart of the process for constructing a combined reference picture list using conventional technology. [Figure 6] This figure shows an example of the process of constructing a combined reference picture list by the process described in relation to Figure 5. [Figure 7] This figure shows an example of a modified process for constructing a combined reference picture list, based on the conventional technology. [Figure 8] This is a flowchart illustrating the modification of the reference picture lists L0 and L1 in the conventional technology, using L0 as an example. [Figure 9] This figure shows an example of the ref_pic_list_modification process applied to L0, as described in relation to Figure 8. [Figure 10] This is a flowchart of a reference picture list change using L0 as an example, according to an embodiment of the present invention. [Figure 11] This diagram shows the ref_pic_list_modification process for the same example as Figure 9, based on the principle of one embodiment of the present invention. [Figure 12A] This is a system diagram of an example of a communication system capable of implementing one or more disclosed embodiments. [Figure 12B] Figure 12A is a system diagram of an example of a wireless transceiver unit (WTRU) that can be used in the communication system shown. [Figure 12C] Figure 12A is a system diagram of an exemplary wireless access network and an exemplary core network that can be used within the communication system shown. [Figure 12D] Figure 12A is a system diagram of an exemplary wireless access network and an exemplary core network that can be used within the communication system shown. [Figure 12E] Figure 12A is a system diagram of an exemplary wireless access network and an exemplary core network that can be used within the communication system shown. [Modes for carrying out the invention]
[0014] As used herein, the terms “time prediction,” “motion prediction,” “motion compensation prediction,” and “interpretation” are used synonymously, and the terms “reference picture store,” “decoded picture buffer,” and “DPB” are used synonymously.
[0015] According to known techniques employed in H.264 and HEVC WD 5, time prediction of video blocks can be performed using unidirectional or bidirectional prediction techniques. To perform predictions with such techniques, a reference picture list is signaled and constructed. In the case of unidirectional prediction, there is only one list of reference pictures from which the block of the current picture is predicted. In the case of bidirectional prediction, there are two lists, L0 and L1, and one reference picture is selected from each list to form the prediction of the block of the current picture. Furthermore, a bidirectional prediction technique has been proposed (although it is no longer incorporated in the latest HEVC WD9 (Non-Patent Literature 9) at the time of writing), which combines the first two lists L0 and L1 and uses a third list, which is referred to herein as "list LC". Described herein are efficient and unified techniques for signaling the syntax of changes to all reference picture lists L0, L1 and / or LC, as well as methods and systems for signaling the combined reference picture list LC.
[0016] Figure 3 is a diagram illustrating unidirectional prediction using a single reference picture list 301, which can be performed by an interpretation processing unit (e.g., block 162 in Figure 1). According to the unidirectional prediction technique, the reference picture list 301 predicts the current video block by including a link to a video block in an adjacent already encoded video frame, e.g., block 304, and thus can leverage temporal correlations to eliminate the temporal redundancy inherent in the video signal. Such already encoded video frames are stored in a decoded picture buffer (DPB, e.g., reference picture store 164 in Figure 1). In H.264 / AVC and HEVC WD5, two or more reference pictures can be used. In Figure 3, ref n The video block 307 of the current picture 305 can be predicted using a list of N reference pictures 303 denoted as (n=0...N-1). The motion vector (mvx,mvy) is used as the criterion for predicting the current block 307. m It is assumed that this is selected. Time prediction is performed as follows. P(x,y)=ref m (x-mvx, y-mvy) Equation (1) ref m (x,y) is the reference picture ref m This is the pixel value at position (x,y) within the block where P(x,y) is predicted. Existing video coding systems can handle interpretation with fractional pixel precision (Non-Patent Documents 1, 2, 4). If the motion vector (mvx,mvy) has fractional pixel values, an interpolation filter is applied to obtain the pixel value at the fractional pixel position.
[0017] In equation (1), the time forecast is based on one source (i.e., ref n This is obtained from ), which is generally called unidirectional prediction. A picture or slice (a group of image blocks) in which all blocks are predicted using unidirectional prediction is typically called a P-picture or P-slice.
[0018] To improve the accuracy of time prediction, newer block-based video coding systems also support multi-hypothesis prediction, where multiple prediction signals from different reference pictures are combined to form a prediction signal. The commonly used form of multi-hypothesis prediction is called bidirectional prediction, where two prediction signals, each obtained from pictures in different reference picture lists, are combined to form the prediction for the current block. Figure 4 is a diagram that helps explain bidirectional prediction. In detail, two reference picture lists, list 0 401 and list 1 403, are used to predict the video block of the current picture. List 0 contains a total of N0 pictures 404, and list 1 contains a total of N1 pictures 404. In Figure 4, the reference of list 0 401 with motion vector (mvx0, mvy0) is shown. m0 And, the reference in List 1 403 has motion vectors (mvx1, mvy1) m1 This is selected to form a bidirectional prediction of the prediction block 410 of the current picture 412 as shown in equation (2).
[0019]
number
[0020] Here, P0(x,y) and P1(x,y) are the first and second prediction blocks 407 and 408, respectively. A picture or slice is typically called a B-picture or B-slice if at least some of the blocks within that picture or slice are predicted using bidirectional prediction (the other blocks can be predicted using unidirectional prediction). Bidirectional prediction is supported by all modern video coding standards, including MPEG2 / 4, VC1, H.264, and HEVC.
[0021] After the prediction, the prediction block P(x,y) is subtracted from the original video block in the first adder (see 116 in Figure 1) to form the prediction residual block. The prediction residual block is transformed in the transformation unit 104 and quantized in the quantization unit 106. The quantized residual transformation coefficient block is then sent to the entropy encoding unit 108 for entropy encoding, which further reduces the bitrate. The entropy-encoded residual coefficients are then packed to form part of the output video bitstream 120.
[0022] The structure of the reference picture list for P-pictures / slices is relatively simple because all blocks are predicted using unidirectional prediction, i.e., only one reference picture list is needed. On the other hand, for B-pictures / slices, some blocks may be predicted using bidirectional prediction, while others may be predicted using unidirectional prediction. In HEVC, the reference picture lists for bidirectional prediction, i.e., list 0 (or L0) 401 and list 1 (or L1) 403 in Figure 4, are the same as in H.264 / AVC. However, HEVC differs from H.264 / AVC in how it forms the reference picture list for unidirectional prediction for B-pictures / slices. In H.264 / AVC, unidirectional prediction for a video block in a B-picture / slice first requires indicating whether the prediction is made from L0 or L1, and then indicating the ref_idx of that particular list. In HEVC, the concept of a combined reference picture list was presented at the 4th JCT-VC meeting (Non-Patent Literature 8). The combined list referred to in this disclosure as "LC" is formed by combining L0 and L1 together, and the LC serves as the sole reference picture list for all blocks predicted using unidirectional prediction within the B picture / slice.
[0023] Currently, HEVC, by default, forms the join list LC by alternately taking non-duplicate pictures from L0 and L1, thereby ensuring minimal redundancy in the join list. Figure 5 shows the flowchart for the default join list generation. In detail, indices i, j, and k pointing to lists L0, L1, and LC, respectively, are initialized at 501, and the two lists L0 and L1 are also initialized. In the determination block 503, it is determined whether all reference pictures in L0 have been checked. If not all have been checked, the process proceeds to determination block 505, where it is determined whether the reference picture at index i in L0 is already in the join list LC. If it is not yet in the join list LC, it is added to list LC, and the index of the join list LC is incremented (507). Index i is also incremented (509). On the other hand, if the reference picture at index i in L0 is already in the join list LC, the process proceeds directly from 505 to 509. Then, essentially the same process is performed for the reference picture at index j in list L1. Specifically, in decision block 511, it is determined whether all reference pictures in L1 have been checked. If not all have been checked, the process proceeds to decision block 513, where it is determined whether the reference picture at index j in L1 is already in the combined list LC. If it is not yet in list LC, it is added, and the index in LC is incremented (515). The index j in L1 is also incremented (517). On the other hand, if the reference picture at index j in L1 is already in LC, the process proceeds directly from 513 to 517. As can be seen in decision block 519, this process is repeated by alternately checking the next reference picture in lists L0 and L1 until the end of both lists is reached.
[0024] Figure 6 shows an example of a combined list LC created by the process described in the flowchart of Figure 5. In this example, the current picture to be encoded is temporally between reference pictures 2 and 4. Also, L0 contains reference pictures Ref2, Ref1, and Ref4 in that order, and L1 contains reference pictures Ref4, Ref5, and Ref2 in that order. Following the flow in Figure 5, the example in Figure 6 forms the combined list LC by alternately checking whether each of the three reference pictures in L0 and L1 is already in the LC, and adding all reference pictures that have not yet been added to the LC. As a result, in the example in Figure 6, the combined list LC containing four reference pictures is formed by adding the first reference picture of L0 (Ref2), the first reference picture of L1 (Ref4), the second reference picture of L0 (Ref1), and the second reference picture of L1 (Ref5) to the LC in that order. The third reference picture of L0 (Ref4) is the same picture as the first reference picture of L1 and has already been added to the LC, so it is skipped. The third reference picture of L1 (Ref2) is the same picture as the first reference picture of L0 and has already been added to the LC, so it is skipped.
[0025] Note that the encoding order of reference pictures in lists L0, L1, and LC in Figure 6 differs from the display order because reference pictures Ref4 and Ref5 (which appear later in the display order) are encoded before the current picture. This default process of constructing LC by going back and forth between lists L0 and L1 ensures that each entry in LC represents a picture that does not overlap in the encoded video sequence, thus minimizing redundancy.
[0026] This default processing does not support sorting of reference pictures (i.e., changing the list size from the default, changing the order of list entries from the default, repeating some entries in the list, and / or deleting some entries from the list, etc.), so HEVC WD5 uses additional syntactic elements (see Table 1 below) to handle modifications to the combined list LC. Figure 7 shows two examples of combined list modification; the first example shows a sorted LC, and the second example shows an LC with repeated entries and a modified LC size (3 entries) different from the default LC size (4 entries). In HEVC WD5, the combined reference picture list LC is signaled using the syntactic table in Table 1.
[0027] [Table 1]
[0028] The meaning of the reference picture list combination is as follows: If ref_pic_list_combination_flag is equal to 1, it means that reference picture list 0 and reference picture list 1 are combined to generate an additional combined reference picture list to be used for blocks or other prediction units targeted for unidirectional prediction. If this flag is equal to 0, it means that reference picture list 0 and reference picture list 1 are exactly the same, and therefore reference picture list 0 can be used as the combined reference picture list. The combined reference picture list is set to empty at the start of the loop defined in Table 1. num_ref_idx_lc_active_minus1+1 specifies the number of reference pictures to be selected from reference picture list 0 or reference picture list 1 within the combined reference picture list. If ref_pic_list_modification_flag_lc is equal to 1, it indicates that the syntax elements pic_from_list_0_flag and ref_idx_list_curr exist to specify the mapping between entries in the combined reference picture list and entries in reference picture list 0 and reference picture list 1. If ref_pic_list_modification_flag_lc is equal to 0, it indicates that those syntax elements do not exist. The combined reference picture list is initialized as specified in subsection 8.2.2.4 of HEVC WD 5. The `pic_from_list_0_flag` flag indicates whether the current referenced picture being added to the combined referenced picture list is a picture from referenced picture list 0 or a picture from referenced picture list 1. If this flag is equal to 1, it is a picture from referenced picture list 0, and `CurrRefPicList` will be referenced picture list 0. If this flag is equal to 0, it is a picture from referenced picture list 1, and `CurrRefPicList` will be referenced picture list 1. ref_idx_list_curr indicates the reference index of the picture in CurrRefPicList, which should be appended to the end of the join of reference picture lists.
[0029] The reference picture lists L0 and L1 can be modified. To provide flexibility in using the reference picture lists L0 and L1, HEVC supports both default and modified construction processes. The current construction and modification processes for the reference picture lists L0 and L1 were presented at the 7th JCT-VC meeting in November 2011 (Non-Patent Documents 6 and 7) and adopted in HEVC WD5 (Non-Patent Document 4). The syntax for modifying the reference picture lists 0 and 1 in HEVC WD5 is shown in Table 2 below and represented in flowchart format in Figure 8.
[0030] [Table 2]
[0031] The meaning of changing the reference picture list is as follows:
[0032] The syntax elements list_modification_idc and ref_pic_set_idx specify the changes from the initial reference picture list to the reference picture list used to decode the slice.
[0033] If ref_pic_list_modification_flag_l0 is equal to 1, it indicates that a syntactic element list_modification_idc specifying reference picture list 0 exists; if ref_pic_list_modification_flag_l0 is equal to 0, it indicates that the syntactic element does not exist. When ref_pic_list_modification_flag_l0 is equal to 1, the number of times list_modification_idc is not equal to 3 after ref_pic_list_modification_flag_l0 must not exceed num_ref_idx_l0_active_minus1+1.
[0034] If ref_pic_list_modification_flag_l1 is equal to 1, it indicates that a syntactic element list_modification_idc specifying reference picture list 1 exists; if ref_pic_list_modification_flag_l1 is equal to 0, it indicates that the syntactic element does not exist. If ref_pic_list_modification_flag_l1 is equal to 1, the number of times after ref_pic_list_modification_flag_l1 that list_modification_idc is not equal to 3 must not exceed num_ref_idx_l1_active_minus1+1.
[0035] The `list_modification_idc` parameter, along with `ref_pic_set_idx`, specifies which reference picture to remap. The values for `list_modification_idc` are shown in Table 3. The first `list_modification_idc` value immediately following `ref_pic_list_modification_flag_l0` or `ref_pic_list_modification_flag_l1` must not be equal to 3.
[0036] [Table 3]
[0037] ref_pic_set_idx specifies the index of RefPicSetStCurr0, RefPicSetStCurr1, or RefPicSetLtCurr of the referenced picture referenced at the current index of the referenced picture list. The value of ref_pic_set_idx must be in the range of 0 or greater and max_num_ref_frames or less.
[0038] Figure 8 shows a flowchart illustrating the process of modifying the reference picture lists of L0 and L1, using L0 as an example. Detailed modification processes for L0 and L1, including the definition of the reference picture sets (RefPicSetStCurr0, RefPicSetStCurr1, and RefPicSetLtCurr), can be found in HEVC WD5 (Non-Patent Document 4) and the working draft portions of Non-Patent Documents 6 and 7. A simplified definition of the reference picture sets in Figure 8 is given below. RefPicSetStCurr0: Refers to short-term reference pictures that appear earlier in the display order, i.e., before the current picture (e.g., Ref1 and Ref2 in Figure 6). RefPicSetStCurr1: A short-term reference picture that appears later in the display order, i.e., after the current picture (e.g., Ref4 and Ref5 in Figure 6). RefPicSetLtCurr: Long-term reference picture (not shown in Figure 6)
[0039] In step 801, the index of list L0 is initialized to zero. In step 803, ref_modification_idc is read. ref_modification_idc can have four values: 0, 1, 2, and 3. A value of 3 means that no further changes will be made and the modification process can be terminated. (The expected changes signaled by ref_modification_idc having values of 0, 1, or 2 are described below in relation to steps 811, 813, and 815.) Therefore, in the determination step 805, if ref_modification_idc is set to 3, no further syntax is read. If the value is anything other than 3, ref_pic_set_idx is read in step 807. This is an index pointing to one of the three picture sets in the DPB (i.e., the set of pictures "before", "after", or long-running picture set of the current picture to be decoded). (As described below, a specific selection of one of the three sets is made in steps 811, 813, and 815). In determination step 809, it is determined whether ref_modification_idc is 0, 1, or 2. If it is 0, in 811, the entry in list L0 at the current index to list L0, RefIdxL0, is set to an earlier short-term reference picture (i.e., RefPicSetStCurr0) located at ref_pic_set_idc in a set of short-term, temporally earlier reference pictures in the DPB. Otherwise, if it is 1, in 813, the entry in list L0 at the current index to list L0, RefIdxL0, is set to an earlier short-term reference picture (i.e., RefPicSetStCurr1) located at ref_pic_set_idc in a set of short-term, temporally later reference pictures in the DPB. Finally, in case 2, the value is 815, and the entry in list L0 at RefIdxL0, which is the current index to list L0, is set to the long-term reference picture (i.e., RefPicSetLtCurr) at position ref_pic_set_idc in the set of long-term reference pictures within the DPB.
[0040] In all three cases, the process then proceeds to 817, where all entries in list L0 that follow the entry that was just modified and refer to the same picture as the modified entry are removed from L0. At 819, the index of list L0 is incremented, and the process returns to 803. This process continues until ref_modification_idc reaches a value of 3, indicating that no further changes will be made.
[0041] Using L0 as an example again, Figure 9 shows the result of the reference picture list modification process outlined in the flowchart of Figure 8 for a DPB that holds (1) a short-term, temporally earlier set of reference pictures, i.e., reference pictures Ref2 and Ref1 in RefPicSetStCurr0 (in that order), and (2) a short-term, temporally later set of reference pictures, i.e., reference pictures Ref4 and Ref5 in RefPicSetStCurr1 (in that order). For the sake of brevity and without loss of generality, the example in Figure 9 does not consider RefPicSetLtCurr, which is related to the use of long-term reference pictures, and only considers the use of short-term reference pictures indicated by RefPicSetStCurr1 and RefPicSetStCurr1.
[0042] As shown in Figure 9, the default list L0 consists of reference pictures Ref2, Ref1, Ref4, and Ref5 (in that order). In the example in Figure 9, a simple modification of the last entry in L0 is required. The process in Figure 8 requires looping through steps 803-819 once for each entry in L0, including the first three entries that do not require modification, signaling ref_modification_idc and ref_pic_set_idx for each entry, and then signaling completion of the process by further signaling another ref_modification_idc with a value of 3. Thus, 5 steps are used to reach the target modification list L0. In each step except the last step, two syntactic elements (list_modification_idc and ref_pic_set_idx) are signaled, and an additional variable RefIdx is maintained and incremented.
[0043] Furthermore, when comparing the processing of LC reference picture list changes (Table 1 above) with the processing of L0 / L1 changes (Tables 2 and 3 above), it should be noted that the processing of LC changes in HEVC WD5 differs from that of L0 and L1. In detail, the processing of LC changes is simpler. This is because each entry in the modified LC is explicitly signaled, rather than signaling two syntactic elements (list_modification_idc and ref_pic_set_idx) for each entry in that particular list.
[0044] A method for integrating these list modification processes and providing simpler modification processes for L0 and L1 with reduced signaling requirements is described herein.
[0045] In one embodiment, a method is provided to improve the efficiency of the process of joining reference picture lists. Table 4 shows pseudocode for forming a joined reference picture list according to one embodiment of the present invention. Changes from Table 1 (pseudocode for HEVC WD5 method of forming joined list LC) are indicated with an asterisk.
[0046] [Table 4]
[0047] Note that the syntax ref_idx_list_curr is signaled only when L0 (when pic_from_list_0_flag is 1) or L1 (when pic_from_list_1_flag is 0) contains two or more entries. This is because nothing needs to be sent if the corresponding list (L0 or L1) contains only one entry. Thus, the amount of signaling is reduced.
[0048] Furthermore, instead of using ue(v), te(v) is a more efficient means of signaling ref_idx_list_curr. This is because the entropy coding method te(v) (sub-clause 9.1 of H.264 (Non-Patent Literature 1)) is specifically designed to encode syntactic elements such as ref_idx. Ue(v) (known as the exponential Golomb code) can send the value 1 using 3 bits. On the other hand, using te(v), one can first determine the number of possible values in ref_idx_list_curr (by checking L0 and L1), and if there are only two values, the syntactic element can be sent using 1 bit. If there are three or more values, ue(v) can be used.
[0049] In other words, when a syntactic element is encoded as te(v), the range of possible values for the syntactic element is determined first. If the range of possible values for the syntactic element is 0 to 1, the syntactic element is encoded using only 1 bit, thereby reducing signaling overhead. Otherwise, if the range of the syntactic element is between 0 and x (x>1), the syntactic element is encoded using ue(v).
[0050] Thus, this system makes a determination based on the possible values of ref_idx_list_curr. If there is only one possible value for the syntax element ref_idx_list_curr, nothing is sent. This is because both the encoder and decoder can determine its value based on other values. If there are two possible values for the syntax element ref_idx_list_curr, one bit is sent. Otherwise, if there are three or more possible values for the syntax element ref_idx_list_curr, ue(v) is used to encode ref_idx_list_curr.
[0051] Therefore, a reduction in signaling overhead is achieved compared to HEVC WD5.
[0052] In yet another embodiment, a single, unified reference picture list modification process is disclosed that can be used to modify L0 and L1. According to this embodiment, the reference picture list modification processes for L0 and L1 use the syntax shown in Table 5. Changes compared to the pseudocode in Table 2 (i.e., the reference picture list modification syntax for List 0 and List 1 in HEVC WD5) are indicated with an asterisk.
[0053] [Table 5]
[0054] The meaning of changing the reference picture list is as follows: The syntax element ref_pic_set_idx is used to specify the change from the initial reference picture list to the modified reference picture list. When ref_pic_list_modification_flag_l0 is equal to 1, it indicates that the syntax element ref_pic_set_idx exists to specify reference picture list 0. When ref_pic_list_modification_flag_l0 is equal to 0, it indicates that this syntax element does not exist. When ref_pic_list_modification_flag_l1 is equal to 1, it indicates that the syntax element ref_pic_set_idx, which specifies reference picture list 1, exists. When ref_pic_list_modification_flag_l1 is equal to 0, it indicates that this syntax element does not exist.
[0055] `ref_pic_set_idx` specifies that the index of the picture in `RefPicSetCurrTempListX` should be placed at the current position in the reference picture list LX (where X is 0 if it relates to list L0, and 1 if it relates to list L1). The syntax `ref_pic_set_idx` must be in the range of 0 or greater and max_num_ref_frames-1 or less within list LX. If the syntax element `ref_pic_set_idx` does not exist, it is set to 0.
[0056] This new process significantly reduces signaling in some cases (and probably in most cases). In short, instead of signaling the type of change to be made for each list entry and the DPB index of the reference picture to be used, as in the syntax in Table 2 or the flowchart in Figure 8, the process of the present invention signals only the index to the DPB and does not require any additional signal to indicate the end of the list change process.
[0057] The process disclosed in Table 5 above uses the intermediate list RefPicSetCurrTempListX of the referenced pictures for L0 and / or L1 respectively, where X represents 0 or 1 depending on which modified list is being considered. This method provides a modified initialization process for the referenced picture list, which is called when decoding the header of a P or B slice. When decoding a P or B slice, there may be at least one referenced picture in RefPicSetStCurr0, RefPicSetStCurr1, or RefPicSetLtCurr.
[0058] The following steps are performed to construct RefPicSetCurrTempList0. cIdx=0 NumRpsCurrTempList=NumRpsStCurr0+NumRpsStCurr1+NumRpsLtCurr for(i=0;i <NumRpsStCurr0;cIdx++,i++) RefPicSetCurrTempList0[cIdx]=RefPicSetStCurr0[i] for(i=0;i <NumRpsStCurr1;cIdx++,i++) RefPicSetCurrTempList0[cIdx]=RefPicSetStCurr1[i] for(i=0;i <NumRpsLtCurr;cIdx++,i++) RefPicSetCurrTempList0[cIdx]=RefPicSetLtCurr[i]
[0059] If ref_pic_list_modification_flag_l0 is 0, no changes are made to the default list L0, and the default RefPicList0 is constructed by sequentially taking the first num_ref_idx_l0_active_minus1+1 entries from RefPicSetCurrTempList0. On the other hand, if ref_pic_list_modification_flag_l0 is 1, the process in Table 5 is called to modify the reference picture list L0, with RefPicSetCurrTempList0 and num_ref_idx_l0_active_minus1 as input and RefPicList0(L0) as output.
[0060] In short, the pseudocode above calculates the number of referenced pictures in the DPB (i.e., NumRpsCurrTempList) by adding up the number of "previous" pictures, "next" pictures, and long-term pictures, and then places them in the following order: first the "previous" pictures (in order from the closest to the furthest time distance from the current picture), then the "next" pictures (similarly in order from the closest to the furthest time distance from the current picture), and finally the long-term referenced pictures.
[0061] The following steps are performed to construct RefPicSetCurrTempList1. cIdx=0 NumRpsCurrTempList=NumRpsStCurr0+NumRpsStCurr1+NumRpsLtCurr for(i=0;i <NumRpsStCurr1;cIdx++,i++) RefPicSetCurrTempList1[cIdx]=RefPicSetCurr1[i] for(i=0;i <NumRpsStCurr0;cIdx++,i++) RefPicSetCurrTempList1[cIdx]=RefPicSetCurr0[i] for(i=0;i <NumRpsLtCurr;cIdx++,i++) RefPicSetCurrTempList1[cIdx]=RefPicSetLtCurr[i]
[0062] If ref_pic_list_modification_flag_l1 is 0, no changes are made to the default list L1, and the default RefPicList1 is constructed by taking the first num_ref_idx_l1_active_minus1+1 entries from RefPicSetCurrTempList1. On the other hand, if ref_pic_list_modification_flag_l1 is 1, the modification process in Table 5 is called to modify the reference picture list L1, with RefPicSetCurrTempList1 and num_ref_idx_l1_active_minus1 as input and RefPicList1 as output.
[0063] In short, the pseudocode above calculates the number of referenced pictures in the DPB (i.e., NumRpsCurrTempList) by adding up the number of "previous" pictures, "next" pictures, and long-term pictures, and then places the "next" pictures first (in order from the closest to the furthest time distance from the current picture), then the "previous" pictures (similarly in order from the closest to the furthest time distance from the current picture), and then the long-term referenced pictures.
[0064] It should be noted that creating two lists, RpsCurrTempLX, is beneficial even if no changes are made to the reference picture lists L0 and L1. This is because, in such cases, the first few entries of RpsCurrTempLX are already in the default order of lists L0 and L1 respectively, so the reference picture lists L0 and L1 can be created very easily by simply taking those entries.
[0065] The process for modifying the reference picture list, which is reflected in Table 5, accepts the above-mentioned array of reference pictures, RefPicSetCurrTempLX, and the size of the reference picture list, num_ref_idx_lX_active_minus1, as input (where X is 0 or 1 depending on the list being modified). The output of this process is an array containing the modified reference picture list, RefPicListX.
[0066] Figure 10 is a flowchart illustrating the list modification process in Table 5 for an example list L0. The process is the same for list L1. At 1001, the index of list L0 is initialized to zero. At 1003, it is determined whether the temporary list RefPicSetCurrTempL0 contains two or more entries. This is because signaling of ref_pic_set_idx is unnecessary if the list contains only one entry. If the list contains only one entry, proceed to 1004, where ref_pic_set_idx is not signaled and is instead set to 0 by default. Otherwise, proceed to 1005, where the index to the intermediate list RefPicSetCurrTempList0, ref_pic_set_idx, is read. At 1007, the entry at the current index of the modified list L0 is set to the value at the signaled index position ref_pic_set_idx in the RefPicSetCurrTempList0 list. Next, the index of the modified list L0 is incremented (1009). At 1011, it is determined whether the end of L0 has been reached. If the end has not been reached, the process returns to 1003. If the end has been reached, the process terminates.
[0067] As described above, if no change to the list is requested, the process shown in Figure 10 is not performed, and the first num_ref_idx_lx_active_minus1+1 entries in RefPicSetCurrTempListX simply become the corresponding list LX.
[0068] Figure 11 illustrates how the proposed reference picture list scheme of the present invention works, using the same example as in Figure 9. Comparing Figure 11 to Figure 9, the number of syntactic elements used in the modification process in Figure 11 is half that of Figure 9; that is, instead of signaling ref_pic_set_idx and list_modification_idc, only ref_pic_set_idx is signaled for each entry in list L0. Furthermore, the process described in the flowchart of Figure 10 is simpler than the process in the flowchart of Figure 8, as it explicitly signals each entry in the list and does not require the complex process of Figure 8.
[0069] The systems and methods described herein are suitable for the communication of video streams over both wired and wireless networks. Wired networks are well known. An overview of various wireless devices and infrastructure is provided in relation to Figures 12A-12B, and various elements of the network can utilize the systems and methods described herein. More specifically, base stations such as base transceiver stations (BTS), Node-B, eNodeB, Home NodeB, Home eNodeB, site controllers, access points (AP), wireless routers, media-aware network elements (MANE), and wireless transceiver units (WTRUs) can generate and / or process the above signaling to transmit encoded video data from one entity to another.
[0070] Figure 12A shows an exemplary communication system 100 in which one or more disclosed embodiments may be implemented. The communication system 100 may be a multiplexing system that provides content such as voice, data, video, messaging, and broadcast to multiple wireless users. The communication system 100 may enable multiple wireless users to access such content through the sharing of system resources such as wireless bandwidth. For example, the communication system 100 may use one or more channel access methods such as code division multiplexing (CDMA), time division multiplexing (TDMA), frequency division multiplexing (FDMA), quadrature FDMA (OFDMA), and single-carrier FDMA (SC-FDMA).
[0071] As shown in Figure 12A, the communication system 100 includes radio transmit / receive units (WTRUs) 102a, 102b, 102c and / or 102d, a radio access network (RAN) 104, a core network 106, a public switched telephone network (PSTN) 108, the internet 110 and other networks 112, but it will be understood that the disclosed embodiments intend any number of WTRUs, base stations, networks and / or network elements. Each WTRU 102a, 102b, 102c, 102d can be any type of device configured to operate and / or communicate in a radio environment. For example, WTRUs 102a, 102b, 102c, 102d are configured to transmit and / or receive radio signals and may include user equipment (UEs), mobile stations, fixed or mobile subscriber units, pagers, mobile phones, personal digital assistants (PDAs), smartphones, laptops, netbooks, personal computers, radio sensors, consumer electronics, etc.
[0072] The communication system 100 may also include base stations 114a and 114b. Each base station 114a, 114b may be any type of device configured to wirelessly interface with at least one of the WTRUs 102a, 102b, 102c, 102d to facilitate access to one or more communication networks such as the core network 106, the Internet 110, and / or network 112. For example, base stations 114a, 114b may be a base transceiver station (BTS), NodeB, eNodeB, home NodeB, home eNodeB, site controller, access point (AP), wireless router, etc. In the diagram, base stations 114a and 114b are shown as single elements, but it will be understood that base stations 114a and 114b can include any number of interconnected base stations and / or network elements.
[0073] Base station 114a can be part of RAN 104, which may also include other base stations and / or network elements (not shown) such as base station controllers (BSCs), radio network controllers (RNCs), and relay nodes. Base stations 114a and / or base stations 114b may be configured to transmit and / or receive radio signals within a specific geographic area also called a cell (not shown). A cell may be further divided into cell sectors. For example, a cell associated with base station 114a may be divided into three sectors. Thus, in one embodiment, base station 114a may include three transceivers, i.e., one transceiver per sector of the cell. In another embodiment, base station 114a may utilize multiple transceivers per sector of the cell using multiple-input multiple-output (MIMO) technology.
[0074] Base stations 114a and 114b can communicate with one or more WTRUs 102a, 102b, 102c, and 102d via an air interface 116, the air interface can be any suitable radio communication link (e.g., radio frequency (RF), microwave, infrared (IR), ultraviolet (UV), visible light, etc.). The air interface 116 can be established using any suitable radio access technology (RAT).
[0075] More specifically, as described above, the communication system 100 can be a multiplexing system and can use one or more channel access schemes such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA, etc. For example, base stations 114a and WTRUs 102a, 102b, and 102c in RAN 104 can implement radio technologies such as Integrated Mobile Telecommunications System (UMTS) Terrestrial Radio Access (UTRA), in which case they can establish an air interface 116 using broadband CDMA (WCDMA®). WCDMA can include communication protocols such as High Speed Packet Access (HSPA) and / or Advanced HSPA (HSPA+). HSPA can include High Speed Downlink Packet Access (HSDPA) and / or High Speed Uplink Packet Access (HSUPA).
[0076] In another embodiment, base stations 114a and WTRUs 102a, 102b, and 102c may implement radio technologies such as Advanced UMTS Terrestrial Radio Access (E-UTRA), in which case LTE and / or LTE-Advanced (LTE-A) may be used to establish the air interface 116.
[0077] In other embodiments, base stations 114a and WTRUs 102a, 102b, and 102c can implement wireless technologies such as IEEE 802.16 (i.e., WiMAX), CDMA2000, CDMA2000 1X, CDMA2000EV-DO, Provisional Standard 2000 (IS-2000), Provisional Standard 95 (IS-95), Provisional Standard 856 (IS-856), GSM (Registered Trademark) (Global System for Mobile Communications), EDGE (Enhanced Data rates for GSM Evolution), and GSM EDGE (GERAN).
[0078] The base station 114b in Figure 12A is, for example, a wireless router, home NodeB, home eNodeB, or access point, and can utilize an appropriate RAT to facilitate wireless connectivity within a limited area such as a workplace, home, vehicle, or facility premises. In one embodiment, the base station 114b and WTRU 102c, 102d can implement wireless technologies such as IEEE 802.11 to establish a wireless local area network (WLAN). In another embodiment, the base station 114b and WTRU 102c, 102d can implement wireless technologies such as IEEE 802.15 to establish a wireless personal area network (WPAN). In yet another embodiment, the base station 114b and WTRU 102c, 102d can utilize a cellular RAT (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, etc.) to establish a picocell or femtocell. As shown in Figure 12A, the base station 114b can have a direct connection to the internet 110. Therefore, base station 114b may not always need to access the internet 110 via core network 106.
[0079] RAN104 is in communication with core network 106, which can be any type of network configured to provide voice, data, applications, and / or Voice over Internet Protocol (VoIP) services to one or more WTRU102a, 102b, 102c, and 102d. For example, core network 106 may provide call control, billing services, mobile location services, prepaid calls, internet connectivity, video streaming, etc., and / or high-level security functions such as user authentication. Although not shown in Figure 12A, it will be understood that RAN104 and / or core network 106 may communicate directly or indirectly with other RANs using the same RAT as RAN104 or a different RAT. For example, in addition to being connected to RAN104 using E-UTRA radio technology, core network 106 may also be in communication with another RAN (not shown) using GSM radio technology.
[0080] Core network 106 can also serve as a gateway for WTRU 102a, 102b, 102c, and 102d to access PSTN 108, the Internet 110, and / or other networks 112. PSTN 108 may include a circuit-switched telephone network providing conventional telephone services (POTS). The Internet 110 may include a global system of interconnected computer networks and devices using common communication protocols such as TCP, UDP, and IP from the TCP / IP Internet Protocol Suite. Network 112 may include wired or wireless communication networks owned and / or operated by other service providers. For example, network 112 may include another core network connected to one or more RANs using the same RAT as RAN 104 or a different RAT.
[0081] Some or all of the WTRUs 102a, 102b, 102c, and 102d within the communication system 100 may have multimode capabilities. That is, WTRUs 102a, 102b, 102c, and 102d may include multiple transceivers for communicating with various radio networks through various radio links. For example, WTRU 102c, shown in Figure 12A, may be configured to communicate with base station 114a using cellular radio technology and base station 114b using IEEE 802 radio technology.
[0082] Figure 12B is a system diagram of an exemplary WTRU102. As shown in Figure 12B, the WTRU102 may comprise a processor 118, a transceiver 120, a transmit / receive element 122, a speaker / microphone 124, a keypad 126, a display / touchpad 128, non-removable memory 130, removable memory 132, a power supply 134, a GPS chipset 136, and other peripheral functions 138. It will be understood that the WTRU102 may include subcombinations of the above elements while maintaining consistency with the embodiments.
[0083] The processor 118 can be a general-purpose processor, a special-purpose processor, a conventional processor, a digital signal processor (DSP), multiple microprocessors, one or more microprocessors associated with a DSP core, a controller, a microcontroller, an ASIC, an FPGA circuit, any other type of integrated circuit (IC), a state machine, etc. The processor 118 can perform signal coding, data processing, power control, input / output processing, and / or other functions that enable WTRU 102 to operate in a wireless environment. The processor 118 can be coupled to a transceiver (transmitter / receiver) 120, and the transceiver (transmitter / receiver) 120 can be coupled to a transmit / receive element 122. Although the processor 118 and transceiver 120 are shown as separate components in Figure 12B, it will be understood that the processor 118 and transceiver (transmitter / receiver) 120 may be integrated together in an electronic package or chip.
[0084] The transmit / receive element 122 can be configured to transmit or receive signals to and from a base station (e.g., base station 114a) via the air interface 116. For example, in one embodiment, the transmit / receive element 122 may be an antenna configured to transmit and / or receive RF signals. In another embodiment, the transmit / receive element 122 may be an emitter / detector configured to transmit and / or receive, for example, IR, UV, or visible light signals. In yet another embodiment, the transmit / receive element 122 may be configured to transmit and receive both RF and optical signals. It will be understood that the transmit / receive element 122 may be configured to transmit and / or receive any combination of various radio signals.
[0085] Furthermore, although Figure 12B shows the transmit / receive element 122 as a single element, the WTRU 102 can include any number of transmit / receive elements 122. More specifically, the WTRU 102 can utilize MIMO technology. Therefore, in one embodiment, the WTRU 102 can include two or more transmit / receive elements 122 (e.g., multiple antennas) to transmit and receive radio signals through the air interface 116.
[0086] The transceiver 120 can be configured to modulate the signal to be transmitted from the transmit / receive element 122 and to demodulate the signal received by the transmit / receive element 122. As described above, the WTRU 102 can have multimode capabilities. Therefore, the transceiver 120 can include multiple transceivers that enable the WTRU 102 to communicate via multiple types of RATs, such as UTRA and IEEE 802.11.
[0087] The processor 118 of the WTRU102 is coupled to a speaker / microphone 124, a keypad 126, and / or a display / touchpad 128 (e.g., a liquid crystal display (LCD) or an organic light-emitting diode (OLED) display) and can receive user input data from them. The processor 118 can also output user data to the speaker / microphone 124, the keypad 126, and / or the display / touchpad 128. The processor 118 can also access information in any suitable memory of any type, such as non-removable memory 130 and / or removable memory 132, and store data. Non-removable memory 130 may include RAM, ROM, hard disk, or any other type of memory storage device. Removable memory 132 may include a subscriber identification module (SIM) card, a memory stick, a secure digital (SD) memory card, etc. In other embodiments, the processor 118 may access information in memory that is not physically present in the WTRU102, such as a server or a home computer (not shown), and store data.
[0088] The processor 118 can be configured to receive power from the power supply 134 and distribute and / or control that power to other components in the WTRU 102. The power supply 134 may be any device suitable for supplying power to the WTRU 102. For example, the power supply 134 may include one or more dry cell batteries (e.g., nickel-cadmium (NiCd), nickel-zinc (NiZn), nickel-metal hydride (NiMH), lithium-ion (Li-ion), etc.), a solar cell, a fuel cell, etc.
[0089] The processor 118 is also coupled to a GPS chipset 136, which can be configured to provide location information (e.g., longitude and latitude) about the current location of the WTRU 102. In addition to, or instead of, the WTRU 102 can receive location information from base stations (e.g., base stations 114a, 114b) via the air interface 116 and / or determine its own location based on the timing of signals received from two or more neighboring base stations. It will be understood that the WTRU 102 can acquire location information using any appropriate location determination method while maintaining consistency with the embodiments.
[0090] The processor 118 is further coupled to other peripheral functions 138, which may include one or more software and / or hardware modules that provide additional functions, capabilities, and / or wired or wireless connectivity. For example, the peripheral function 138 may include an accelerometer, an electronic compass, a satellite transceiver, a digital camera (for photography or video), a Universal Serial Bus (USB) port, a vibration device, a television transceiver, a hands-free headset, a Bluetooth® module, a frequency modulation (FM) radio unit, a digital music player, a media player, a video game player module, an internet browser, and the like.
[0091] Figure 12C is a system diagram of RAN104 and core network 106 according to an embodiment. As described above, RAN104 can communicate with WTRU102a, 102b, and 102c via air interface 116 using UTRA radio technology. RAN104 can also communicate with core network 106. As shown in Figure 12C, RAN104 includes NodeB140a, 140b, and 140c, each NodeB may have one or more transceivers to communicate with WTRU102a, 102b, and 102c via air interface 116. Each of NodeB140a, 140b, and 140c can be associated with a specific cell (not shown) within RAN104. RAN104 may also include RNC142a and 142b. It will be understood that RAN104 can include any number of NodeB and RNC while maintaining consistency with the embodiment.
[0092] As shown in Figure 12C, NodeB140a and 140b are in communication with RNC142a. NodeB140c can also be in communication with RNC142b. NodeB140a, 140b, and 140c can communicate with their respective RNC142a and 142b via the Iub interface. RNC142a and 142b can communicate with each other via the Iur interface. Each RNC142a and 142b can be configured to control the NodeB140a, 140b, and 140c to which it is connected. Each RNC142a and 142b can also be configured to perform or assist with other functions such as external loop power control, load control, admission control, packet scheduling, handover control, macro diversity, security functions, and data encryption.
[0093] The core network 106 shown in Figure 12C may include a media gateway (MGW) 144, a mobile switching center (MSC) 146, a serving GPRS support node (SGSN) 148, and / or a gateway GPRS support node (GGSN) 150. While each of the above elements is illustrated as part of the core network 106, it will be understood that any one of these elements may be owned and / or operated by an entity other than the operator of the core network.
[0094] The RNC142a in RAN104 can be connected to the MSC146 in the core network 106 via the IuCS interface. The MSC146 can be connected to the MGW144. The MSC146 and MGW144 provide the WTRU102a, 102b, and 102c with access to circuit-switched networks such as the PSTN108, thereby facilitating communication between the WTRU102a, 102b, and 102c and conventional terrestrial line communication equipment.
[0095] RNC142a within RAN104 can also connect to SGSN148 on core network 106 via the IuPS interface. SGSN148 can connect to GGSN150. SGSN148 and GGSN150 provide WTRU102a, 102b, and 102c with access to packet-switched networks such as the Internet 110, facilitating communication between WTRU102a, 102b, and 102c and IP-enabled devices.
[0096] As described above, the core network 106 is also connected to network 112, which may include other wired or wireless networks owned and / or operated by other service providers.
[0097] Figure 12D is a system diagram of RAN104 and core network 106 according to another embodiment. As described above, RAN104 can communicate with WTRU102a, 102b, and 102c via air interface 116 using E-UTRA wireless technology. RAN104 can also communicate with core network 106.
[0098] RAN104 includes eNodeB160a, 160b, and 160c, but it will be understood that RAN104 can include any number of eNodeB while maintaining consistency with the embodiment. Each of eNodeB160a, 160b, and 160c may include one or more transceivers for communicating with WTRU102a, 102b, and 102c via the air interface 116. In one embodiment, eNodeB160a, 160b, and 160c can implement MIMO technology. Thus, for example, eNodeB160a can send and receive radio signals to and from WTRU102a using multiple antennas.
[0099] Each eNodeB160a, 160b, and 160c is associated with a specific cell (not shown) and can be configured to handle decisions regarding radio resource management, handover decisions, uplink and / or downlink user scheduling, etc. As shown in Figure 12D, eNodeB160a, 160b, and 160c can communicate with each other through the X2 interface.
[0100] The core network 106 shown in Figure 12D may include a mobility management gateway (MME) 162, a serving gateway 164, and a packet data network (PDN) gateway 166. While the diagram shows each of these elements as part of the core network 106, it should be understood that any one of these elements may be owned and / or operated by an entity other than the operator of the core network.
[0101] The MME162 can connect to each of the eNodeB160a, 160b, and 160c within RAN104 via the S1 interface and act as a control node. For example, the MME162 is responsible for user authentication of WTRU102a, 102b, and 102c, activation / deactivation of bearers, and selection of a specific serving gateway during the initial attachment of WTRU102a, 102b, and 102c. The MME162 can also provide control plane functionality for switching between RAN104 and other RANs (not shown) using other radio technologies such as GSM or WCDMA.
[0102] The serving gateway 164 can be connected to each eNodeB 160a, 160b, and 160c in the RAN 104 via the S1 interface. The serving gateway 164 can generally send and forward user data packets to and from WTRU 102a, 102b, and 102c. The serving gateway 164 can also perform other functions, such as fixing the user plane during handovers between eNodeBs, triggering paging when there is available downlink data for WTRU 102a, 102b, and 102c, and managing and storing the context of WTRU 102a, 102b, and 102c.
[0103] The serving gateway 164 is also connected to the PDN gateway 166, facilitating communication between WTRUs 102a, 102b, and 102c and IP-enabled devices. The PDN gateway 166 can provide WTRUs 102a, 102b, and 102c with access to packet-switched networks such as the Internet 110.
[0104] The core network 106 can facilitate communication with other networks. For example, the core network 106 can provide WTRU 102a, 102b, and 102c with access to circuit-switched networks such as PSTN 108, thereby facilitating communication between WTRU 102a, 102b, and 102c and conventional land-line communication equipment. For example, the core network 106 may include or communicate with an IP gateway (e.g., an IP Multimedia Subsystem (IMS) server) that functions as an interface between the core network 106 and PSTN 108. The core network 106 can also provide WTRU 102a, 102b, and 102c with access to network 112, which may include other wired or wireless networks owned and / or operated by other service providers.
[0105] Figure 12E is a system diagram of RAN104 and core network 106 according to another embodiment. RAN104 can be an access service network (ASN) that communicates with WTRU102a, 102b, and 102c via air interface 116 using IEEE802.16 wireless technology. As further described below, communication links between different functional entities of WTRU102a, 102b, 102c, RAN104, and core network 106 can be defined as reference points.
[0106] As shown in Figure 12E, RAN104 may include base stations 170a, 170b, 170c and ASN gateway 172, but it will be understood that RAN104 can include any number of base stations and ASN gateways while maintaining consistency with the embodiment. Each base station 170a, 170b, and 170c is associated with a specific cell (not shown) within RAN104 and each may include one or more transceivers for communicating with WTRU102a, 102b, and 102c through the air interface 116. In one embodiment, base stations 170a, 170b, and 170c can implement MIMO technology. For example, base station 170a can use multiple antennas to send and receive radio signals to and from WTRU102a. Base stations 170a, 170b, and 170c can also provide mobility management functions such as triggering handoffs, establishing tunnels, managing radio resources, classifying traffic, and enforcing quality of service (QoS) policies. ASN Gateway 172 functions as a traffic aggregation point and can handle paging, subscriber profile caching, routing to the core network 106, and other related tasks.
[0107] The air interface 116 between WTRU102a, 102b, 102c and RAN104 can be defined as an R1 reference point implementing the IEEE802.16 specification. Additionally, WTRU102a, 102b, and 102c can each establish a logical interface (not shown) with the core network 106. These logical interfaces between WTRU102a, 102b, 102c and the core network 106 can be defined as an R2 reference point used for authentication, authorization, IP host configuration management, and / or mobility management.
[0108] The communication links between each base station 170a, 170b, and 170c can be defined as R8 reference points, which include protocols to facilitate WTRU handover and data transfer between base stations. The communication links between base stations 170a, 170b, and 170c and the ASN gateway 172 can be defined as R6 reference points. R6 reference points may include protocols to facilitate mobility management based on movement events associated with each WTRU 102a, 102b, and 102c.
[0109] As shown in Figure 12E, RAN 104 is connected to core network 106. The communication link between RAN 104 and core network 106 can be defined as an R3 reference point, including protocols that facilitate, for example, data transfer and mobility management functions. Core network 106 may include a Mobile IP Home Agent (MIP-HA) 174, an Authentication, Authorization, and Billing (AAA) server 176, and a gateway 178. While each of the above elements is illustrated as part of core network 106, it should be understood that any one of these elements may be owned and / or operated by an entity other than the operator of the core network.
[0110] The MIP-HA174 is responsible for IP address management, enabling WTRU102a, 102b, and 102c to move between different ASNs and / or different core networks. The MIP-HA174 provides WTRU102a, 102b, and 102c with access to packet-switched networks such as the Internet 110, facilitating communication between WTRU102a, 102b, and 102c and IP-enabled devices. The AAA server 176 can handle user authentication and support user services. The gateway 178 can facilitate interoperability with other networks. For example, the gateway 178 provides WTRU102a, 102b, and 102c with access to circuit-switched networks such as the PSTN 108, facilitating communication between WTRU102a, 102b, and 102c and conventional land-line communication equipment. Furthermore, gateway 178 can provide WTRU 102a, 102b, and 102c with access to network 112, which includes other wired or wireless networks owned and / or operated by other service providers.
[0111] Although not shown in Figure 12E, it will be understood that RAN104 can be connected to other ASNs, and core network 106 can be connected to other core networks. The communication link between RAN104 and other ASNs is defined as R4 reference point and may include protocols governing the mobility of WTRU102a, 102b, and 102c between RAN104 and other ASNs. The communication link between core network 106 and other core networks is defined as R5 reference point, and R5 reference point may include protocols facilitating interoperability between home core networks and visited core networks.
[0112] Embodiment In one embodiment, a method is implemented to generate reference picture lists L0 and L1 for decoding predicted pictures in video data, the method comprising the steps of generating a first ordered list RefPicSetCurrTempList0 of reference pictures from a decoded picture buffer (DPB), the list being ordered such that if there are reference pictures in the DPB that are temporally earlier than the current picture, those reference pictures are listed in order according to their temporal distance from the current picture, then if there are reference pictures in the DPB that are temporally later than the current picture, those reference pictures are listed in order according to their temporal distance from the current picture, and then if there are long-term reference pictures in the DPB, those reference pictures are listed in the order in which they are stored in the DPB, and the steps of generating a first ordered list RefPicSetCurrTempList0 of reference pictures from the DPB A step of generating a second ordered list RefPicSetCurrTempList1, the list being ordered such that, if there are referenced pictures in the DPB that are later in time than the current picture, those referenced pictures are first listed in order according to their temporal distance from the current picture, then if there are referenced pictures in the DPB that are later in time than the current picture, those referenced pictures are then listed in order according to their temporal distance from the current picture, and then if there are long-term referenced pictures in the DPB, those referenced pictures are listed in the order in which they are stored in the DPB; and a step of generating at least one of lists L0 and L1 by selecting referenced pictures from RefPicSetCurrTempList0 and RefPicSetCurrTempList1, respectively.
[0113] According to this embodiment, the method may further include a step of determining whether either list L0 or L1 should be a modification list, wherein if list L0 should be a modification list, the step of generating list L0 includes receiving a first index pointing to a first ordering list for each referenced picture in referenced picture list L0, and listing the referenced picture identified by that index in the first ordering list in the corresponding entry in L0, wherein if list L0 should be a modification list, the step of generating list L1 includes receiving a second index pointing to a second ordering list for each referenced picture entry in referenced picture list L1, and listing the referenced picture identified by that index in the second ordering list in the corresponding entry in L1.
[0114] In one or more of the above embodiments, if list L0 is not a change list, the step of generating list L0 includes the step of sequentially retrieving entries from RefPicSetCurrTempList0 up to a first specified number of entries, and if list L1 is not a change list, the step of generating list L1 includes the step of sequentially retrieving entries from RefPicSetCurrTempList1 up to a second specified number of entries.
[0115] One or more of the above embodiments may further include a determination step of reading the syntax element ref_pic_list_modification_flag_l0 with respect to list L0 and the syntax element ref_pic_list_modification_flag_l1 with respect to list L1.
[0116] One or more of the above embodiments may further include the fact that the first index and the second index range from zero to the number of pictures in the DPB.
[0117] One or more of the above embodiments may further include using the syntax element ref_pic_set_idx to specify a first index and a second index.
[0118] One or more of the above embodiments may further include the step of reading a syntax element ref_pic_list_modification_flag_l1, where if ref_pic_list_modification_flag_l1 is equal to a first value, it indicates that a syntax element ref_pic_set_idx specifying L1 exists, and if ref_pic_list_modification_flag_l1 is equal to a second value, it indicates that this syntax element specifying L1 does not exist.
[0119] One or more of the above embodiments may further include the step of reading a syntax element ref_pic_list_modification_flag_l0, where if ref_pic_list_modification_flag_l0 is equal to a first value, it indicates that a syntax element ref_pic_set_idx specifying L0 exists, and if ref_pic_list_modification_flag_l0 is equal to a second value, it indicates that this syntax element specifying L0 does not exist.
[0120] One or more of the above embodiments further include the step of reading a syntax element ref_pic_list_modification_flag_l1, where if ref_pic_list_modification_flag_l1 is equal to a first value, it indicates that a syntax element ref_pic_set_idx specifying L1 exists, and if ref_pic_list_modification_flag_l1 is equal to a second value, it indicates that this syntax element specifying L1 does not exist.
[0121] One or more of the above embodiments may further include the fact that if the first index does not exist, the first index is set to zero, and if the second index does not exist, the second index is set to zero.
[0122] In another embodiment, or in relation to any of the embodiments described above, a method comprising initializing a decoder for a reference picture list to decode a P or B slice header is: cIdx=0 NumRpsCurrTempList=NumRpsStCurr0+NumRpsStCurr1+NumRpsLtCurr for(i=0;i <NumRpsStCurr0;cIdx++,i++) RefPicSetCurrTempList0[cIdx]=RefPicSetStCurr0[i] for(i=0;i <NumRpsStCurr1;cIdx++,i++) RefPicSetCurrTempList0[cIdx]=RefPicSetStCurr1[i] for(i=0;i <NumRpsLtCurr;cIdx++,i++) RefPicSetCurrTempList0[cIdx]=RefPicSetLtCurr[i] This may include the step of constructing a first temporary list RefPicSetCurrTempList0.
[0123] One or more of the above embodiments may further include the step of constructing list L0 (RefPicList0) by taking the first num_ref_idx_10_active_minus1+1 entries of RefPicSetCurrTempList0 when the flag ref_pic_list_modification_flag_l0 is 0.
[0124] One or more of the above embodiments may further include the step of constructing list L0 by calling a picture list modification process with RefPicSetCurrTempList0 and num_ref_idx_l0_active_minus1 as inputs, if the flag ref_pic_list_modification_flag_l0 is 1.
[0125] One or more of the above embodiments, when decoding the B slice header, cIdx=0 NumRpsCurrTempList=NumRpsStCurr0+NumRpsStCurr1+NumRpsLtCurr for(i=0;i <NumRpsStCurr1;cIdx++,i++) RefPicSetCurrTempList1[cIdx]=RefPicSetCurr1[i] for(i=0;i <NumRpsStCurr0;cIdx++,i++) RefPicSetCurrTempList1[cIdx]=RefPicSetCurr0[i] for(i=0;i <NumRpsLtCurr;cIdx++,i++) RefPicSetCurrTempList1[cIdx]=RefPicSetLtCurr[i] This may further include the step of constructing a second temporary list, RefPicSetCurrTempList1.
[0126] One or more of the above embodiments may further include the step of constructing list L1 (RefPicList1) by taking the first num_ref_idx_ll_active_minus1+1 entries of RefPicSetCurrTempList1 when the flag (ref_pic_list_modification_flag_l1) is 0.
[0127] One or more of the above embodiments may further include the step of constructing list L1 (RefPicList1) by calling a reference picture list modification process with RefPicSetCurrTempList1 and num_ref_idx_ll_active_minus1 as inputs, when the flag (ref_pic_list_modification_flag_l1) is 1.
[0128] One or more of the above embodiments generate RefPicListX using a reference picture list modification process, where X specifies the corresponding list 0 or 1. Set refIdxLX as the index pointing to the reference picture list RefPicListLX, Until refIdxLX becomes greater than num_ref_idx_lX_active_minus1+1 RefPicListX[refIdxLX++]=RefPicSetCurrTempLX[ref_pic_set_idx] This can further include repeating the process.
[0129] In another embodiment, or in relation to any of the embodiments described above, a method for signaling changes to multiple reference picture lists may include the step of signaling changes to multiple reference picture lists using a unified signaling syntax.
[0130] In one or more of the above embodiments, the multiple reference picture lists may further include L0, L1, and a combined list LC.
[0131] In one or more of the embodiments described above, the unified signaling syntax may further include encoding the index of the reference picture using an entropy coding method.
[0132] In one or more of the above embodiments, the unified signaling syntax may further include encoding the index of the reference picture using te(v).
[0133] In another embodiment, or in relation to any of the embodiments described above, the method may include the steps of: determining the number of entries in a reference picture list; and generating a message containing a value that identifies an entry in the reference picture list, wherein the value is represented by one bit if there are two entries in the reference picture list; the value is represented by multiple bits if there are three or more entries in the reference picture list; and the message omits the value if there is one entry in the reference picture list.
[0134] In one or more of the above embodiments, the value can be ue(v) when the number of entries is 3 or more.
[0135] In one or more of the above embodiments, the index can be specified by the syntax element ref_idx_list_curr.
[0136] In another embodiment, or in relation to any of the embodiments described above, a method for creating a combined list LC of reference pictures used to decode a B slice from a first list of reference pictures L0 and a second list of reference pictures L1 may include the steps of: determining whether L0 contains two or more entries; determining whether L1 contains two or more entries; if either L0 or L1 contains two or more entries, indicating, using the syntax element ref_idx_list_curr, at least one of the entries from L0 and L1 to be added to the LC; if L0 contains only one entry, setting ref_idx_list_curr to 0; if L1 contains only one entry, setting ref_idx_list_curr to 0; and creating the LC using the value of ref_idx_list_curr.
[0137] In one or more of the above embodiments, the step of determining whether L0 contains two or more entries may include the step of determining whether the syntax element num_ref_idx_l0_active_minus1 is zero or greater, and the step of determining whether L1 contains two or more entries may include the step of determining whether the syntax element num_ref_idx_l1_active_minus1 is zero or greater.
[0138] knot While the features and elements have been described above in specific combinations, those skilled in the art will understand that each feature and element can be used alone or in combination with other features and elements. The methods described herein are implemented as computer programs, software, or firmware embedded in a computer-readable medium for execution by a computer or processor. Examples of non-temporary computer-readable storage media include, but are not limited to, ROM, RAM, registers, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto-optical media, and optical media such as CD-ROM disks and digital multipurpose disks (DVDs). A processor associated with the software can be used to implement a radio frequency transceiver for use in a WTRU, UE, terminal, base station, RNC, or host computer.
[0139] Furthermore, the embodiments described above include other devices incorporating processing platforms, computing systems, controllers, and processors. These devices may incorporate at least one central processing unit ("CPU") and memory. In accordance with the practice of those skilled in computer programming techniques, various CPUs and memories can provide references to the behavior and symbolic representation of operations or instructions. Such operations and operations or instructions may be described as "executed," "executed by the computer," or "executed by the CPU."
[0140] Those skilled in the art will understand that operations and symbolically represented operations or instructions involve the manipulation of electrical signals by the CPU. The electrical system reconfigures, or otherwise alters, the operation of the CPU and other processing of signals by resulting in the conversion or reduction of electrical signals and the representation of data bits that can be maintained in storage locations within the memory system. The storage location where a data bit is maintained is a physical location having specific electrical, magnetic, optical, or organic properties that corresponds to or represents that data bit.
[0141] The data bits may also be stored on a computer-readable medium, such as magnetic disks, optical disks, and other volatile (e.g., RAM) or non-volatile (e.g., ROM) mass storage systems readable by a CPU. Computer-readable mediums include collaborative or interconnected computer-readable mediums, such mediums residing exclusively in a processing system or distributed across multiple interconnected processing systems, local or remote to the processing system. Exemplary embodiments are not limited to the memory described above and may accommodate other platforms and memories in the manner described.
[0142] Any element, action, or instruction used in the description of this application should not be construed as essential or mandatory unless expressly stated otherwise. Furthermore, the article “a” as used herein shall include one or more items. When only one item is intended, the term “one” or similar wording shall be used. Furthermore, the term “any of” followed by an enumeration of multiple items and / or classifications of multiple items, as used herein, shall include, individually or in relation to other items and / or classifications, “any of,” “any combination of,” “any number of,” and / or “any combination of,” those items and / or classifications. Furthermore, the term “set” as used herein shall include any number of items, including zero. Furthermore, the term “number” as used herein shall include any number, including zero.
[0143] Furthermore, claims should not be limited to the order or elements described unless otherwise stated. Also, any use of the term “means” in a claim is invocation of § 112(6) of the U.S. Patent Act, and any claim that does not contain the word “means” is not intended to be such invocation.
[0144] Although the system and method have been described herein in relation to a UWB multiband communication system, it is intended that they can also be implemented as software on a microprocessor / general-purpose computer (not shown). In certain embodiments, one or more of the functions of the various components can be implemented as software that controls the general-purpose computer. [Industrial applicability]
[0145] This invention can be used for digital video coding. [Explanation of Symbols]
[0146] 100 Communication Systems 102a, 102b, 102c, 102d Wireless Transmitter / Receiver Unit 104 RAN 106 Core Network 108 PSTN 110 Internet 112 Other networks 118 processors 120 Transceivers (Transmitters and Receivers)
Claims
1. A processor configured to generate a temporary ordering list of reference pictures from a decoded picture buffer (DPB), wherein the DPB includes four short-term reference pictures Ref1, Ref2, Ref4, and Ref5, where reference pictures Ref1 and Ref2 are earlier in display order, reference pictures Ref4 and Ref5 are later in display order, and the current picture is temporally between reference picture Ref2 and reference picture Ref4. The temporary ordering list is a reference picture in the DPB that is temporally earlier than the current picture and is currently being decoded for the current picture, namely the short-term reference pictures Ref1 and Ref2, and the reference pictures are ordered by their temporal distance from the current picture such that the short-term reference picture Ref2 is ordered before the short-term reference picture Ref1. Next, there are reference pictures in the DPB that are temporally later than the current picture, namely the short-term reference pictures Ref4 and Ref5, which are ordered by their temporal distance from the current picture such that the short-term reference picture Ref4 is ordered before the short-term reference picture Ref5. Next, the DPB includes a processor, which is ordered by long-term reference pictures for the current picture, The processor is further configured to generate a list of reference pictures by selecting a reference picture from the temporary ordering list of reference pictures. If the aforementioned reference picture list becomes a modified list, generating the reference picture list means, at least for each entry in the aforementioned reference picture list, Read the index of the reference picture to the aforementioned temporary ordering list, and, For the entry in the aforementioned list of reference pictures, by selecting the reference picture identified by the index from the temporary ordering list of reference pictures. Video decoder device.
2. A method for generating a list of reference pictures, A step of generating a temporary ordering list of reference pictures from a decoded picture buffer (DPB), wherein the DPB includes four short-term reference pictures Ref1, Ref2, Ref4, and Ref5, where reference pictures Ref1 and Ref2 are earlier in display order, reference pictures Ref4 and Ref5 are later in display order, and the current picture is temporally between reference picture Ref2 and reference picture Ref4. The temporary ordering list is a reference picture in the DPB that is temporally earlier than the current picture and is currently being decoded for the current picture, namely the short-term reference pictures Ref1 and Ref2, and the reference pictures are ordered by their temporal distance from the current picture such that the short-term reference picture Ref2 is ordered before the short-term reference picture Ref1. Next, a reference picture located in the DPB and later in time than the current picture, namely the short-term reference pictures Ref4 and Ref5, which are ordered by their temporal distance from the current picture such that the short-term reference picture Ref4 is ordered earlier in time than the short-term reference picture Ref5, Next, the steps are ordered by the long-term reference pictures for the current picture within the DPB, A step of generating a list of reference pictures by selecting a reference picture from the temporary ordering list of reference pictures, If the aforementioned reference picture list will be a modified list, the step of generating the reference picture list will, at a minimum, for each entry in the aforementioned reference picture list, Read the index of the reference picture to the aforementioned temporary ordering list, and, For the entry in the aforementioned list of reference pictures, the step is to select the reference picture identified by the index from the temporary ordering list of reference pictures. A method for providing this.
Citation Information
Patent Citations
Method and arrangement for video coding
WO2011075071A1
Combined reference picture list construction for video coding
WO2012099656A1
Method and apparatus for encoding images and method and apparatus for decoding images
WO2012124961A2