- 25 Jan, 2018 2 commits
-
-
Yunqing Wang authored
mode_context[ref_frame] is calculated in find_mv_refs_idx(), but is set to 0 in setup_ref_mv_list. Therefore, the calculation in find_mv_refs_idx() is not needed. Change-Id: I65ca06a2000278ad21c2eaa81eb12c48a7c1fcb8
-
Frank Bossen authored
This change is not normative and produces the same results as before. TPL_MV_REF data structure is about 5x smaller. Observed overall decoder run time reduction is about 4%. No observed change in encoder run time. Change-Id: Id68a492bac3bf28f48b7ceeedf85cd29981238ee
-
- 22 Jan, 2018 1 commit
-
-
Frederic Barbier authored
Change-Id: I591badb15e714e23f2c8a2c2df8514fdd75fc880
-
- 09 Jan, 2018 2 commits
-
-
Jingning Han authored
Avoid potential out of boundary buffer access issue. Change-Id: Ic3766cd5bc2c1c8b4e1cbf38310fe6689aa38b59
-
Jingning Han authored
When the reference frame size differs from the current coding frame, skip the use of its motion information for motion field estimation. BUG=aomedia:1194 Change-Id: I1a32395367228f4ac86a21099b6b7b2c25e60270
-
- 04 Jan, 2018 2 commits
-
-
Yunqing Wang authored
To calculate wmmat[2] to wmmat[5], we don't need the absolute coordinates which include the global offset components. Hence, while finding samples, we only need to gather the relative coordinates that are the neighbor block center point's coordinates relative to the left-top pixel of current block. This patch won't change bitstream. Change-Id: Ifbe7769effe6253b27cf97ea9c942a3a29eb7f50
-
Yunqing Wang authored
The original sample selection process involves finding best 8 sorted samples according to motion vector difference(MVD) between neighbor block and current block, and then trimming samples. To reduce the complexity, use the current block width/height as the MVD threshold, and trim the samples without sorting. This gives slightly less gain than the original method. AWCY result: PSNR PSNR HVS SSIM Average -0.07 -0.13 -0.12 Borg test result: avg_psnr ovr_psnr ssim cam_lowres: -0.112 -0.112 -0.180 lowres: -0.068 -0.073 -0.125 Change-Id: Ic2f79a170441d5bcb04ea87dddf490ef7fbba8bc
-
- 27 Dec, 2017 3 commits
-
-
Yaowu Xu authored
Change-Id: I69916bb6390dd9275341d8cd3fae2d8961e1cae3
-
Jingning Han authored
Sub8x8 blocks will not check the extended region in motion field. For regular block sizes, limit the extended region to be 3 points, down from 9 points check. Change-Id: I70f2631aa726ad01ee6bb83fffdf71ef82505888
-
Jingning Han authored
When either component of a motion vector is above 4096, drop this motion vector from the motion vector reference frame for later motion field projection use. The coding performance change is close to 0 for lowres and midres. This ensures that the motion vector and reference frame tuple can be efficiently stored within 32 bits. Change-Id: I9ae60a5caab2d3f49200abb5415532d82986839f
-
- 24 Dec, 2017 1 commit
-
-
Yunqing Wang authored
Part2 of ext-warped-motion experiment was removed. Change-Id: I1b7aebad1fd7cb60d92c3ce959d5101228addae2
-
- 23 Dec, 2017 1 commit
-
-
Jingning Han authored
Reduce the reference motion vector search region over the spatial neighbor blocks for sub8x8 block sizes, in order to reduce the worst case context model parsing latency. Change-Id: I77a2a25483836cc02cf1784c93566fa7cff40fc8
-
- 22 Dec, 2017 1 commit
-
-
Jingning Han authored
Removing the drl dependency on the candidate list length appears to incur more than 0.3% compression performance loss. Hence remove this option from opt-ref-mv to allow better latency vs compression performance trade off. Change-Id: I6edaeb2d437996082b7bdd6cda7351426c5584b9
-
- 21 Dec, 2017 1 commit
-
-
Angie Chiang authored
This is a bitstream simplification. It will reduce motion vector context model generating latency. Change-Id: I98a496f5d72402ff51a478d5387a0653fa306dc1
-
- 20 Dec, 2017 2 commits
-
-
Zoe Liu authored
For ext-skip, if a partition block uses the new skip mode, NEAREST_NEARESTMV is the prediction mode. Other predictions were once tried out but did not show noticeable coding gains. Change-Id: I76c0aa0c68fe71f95cc4a09ef0de533e4ceb2f60
-
Frederic Barbier authored
This experiment has been abandonned for AV1. Change-Id: Ic706b3533ecf502ab316505ba0a9a8eeeb296612
-
- 18 Dec, 2017 1 commit
-
-
Zoe Liu authored
All compound predicted frames now have the choice to either turn on or off the use of the skip mode. The current encoder design only turns on the use of skip mode when the temporal distances of the two reference frames to the current frame are only different by 1. This patch also includes a fix on the calculating of the temporal distance between the two reference frames to the current frame for skip mode. Performance wise, this patch does not have noticeable impact as the encoder stays with the same choice with the frame-level skip mode flag. Change-Id: I34f370940b3b25d2ab429b8721344133ae6288ad
-
- 16 Dec, 2017 1 commit
-
-
Zoe Liu authored
For both low delay and high delay scenarios, the reference pair in skip mode are specified as the closest fwd ref, together with the closest bwd ref if there is any bwd ref, otherwise with the two closest fwd refs. Skip mode by default uses COMPOUND_AVERAGE. When all the reference frames are on the same side, temporal-distance weighted compound is considered, and a compound index is signaled to indicate whether distance-weighted compound or compound-average is usd. Whether to use distance-weighted compound for skip mode is still under experimenting, hence a flag is temporarily added: SKIP_MODE_WITH_JNT_COMP. Following experimental results are obtained over 30 frames, using the setup of --disable-ext-partition --disable-ext-partition-types --disable-txmg --enable-jnt-comp --enable-mfmv --enable-ext-skip: (1) High Latency: For Google test sets (lowres/midres), the BDRate coding gain is ~0.2%; For AWCY, the coding gain is ~0.1%. (2) Low Latency: No gain has been observed over Google sets and ~0.1% gain is obtained only when temporal-distance weighted prediction is used. Change-Id: I8c433357adebed0126ebfdd5c4d51aa71e64be57
-
- 14 Dec, 2017 2 commits
-
-
Jingning Han authored
Make the force reset condition under the opt-ref-mv flag. Change-Id: I2c5f317e064d9517abee98937f3982c8e50dcfa5
-
Luc Trudeau authored
The get_y_mode function, is superfluous, not used consistently, and requires a useless block_idx parameter than gets pass around a lot inside the codebase for no apparent reason. The block parameter is misleading, as it could cause people to think all these functions actually use this value. Change-Id: I7ae0a8d1282c009b9114c83771cce10f5c2ee397
-
- 13 Dec, 2017 1 commit
-
-
Jingning Han authored
Support the motion field projection for both interpolation and extrapolation situations. Change-Id: I74e2d3c8956e62a2731f342f0d7a60dbc6b91ed1
-
- 12 Dec, 2017 2 commits
-
-
Jingning Han authored
Make the motion field projection process independent of the reference frame type syntax. Change-Id: Ie5d024d76ddb990fe623c83b3f4b4b6fadc72d2c
-
Jingning Han authored
The motion vector storage location in the reference frame is set to be dependent on the relative frame position, instead of the reference frame index. Change-Id: Id8f7d1e6ba32a5ed9e182194178fd2a70094a309
-
- 09 Dec, 2017 1 commit
-
-
Luc Trudeau authored
Change-Id: Idac0e6f4928e18c115c1055ca43f5b817ca51518
-
- 06 Dec, 2017 1 commit
-
-
Sebastien Alaiwan authored
Also, make them const when appropriate. Change-Id: I96d544e2cc9a0bce4d52fd33e44a4eaa40edda3c
-
- 05 Dec, 2017 3 commits
-
-
Sebastien Alaiwan authored
This experiment has been abandonned for AV1. Change-Id: Ief159fa7cf41dafa1e71b140f585cbc5a7d0a67d
-
Jingning Han authored
Re-design the dynamic motion vector index coding system to remove the context parsing dependency on the reconstructed motion vectors. Change-Id: I01dd6eda239a0bed32d8dc98f0f10f18249a76d4
-
Jingning Han authored
BUG=aomedia:1098 Change-Id: If7086930520d740d2610adeb699b68cdafab3ed3
-
- 04 Dec, 2017 1 commit
-
-
Jingning Han authored
This commit resolves the inter mode context model dependency on the reconstructed motion vectors. Change-Id: I3fd885dba6c10be8b1dcd072c1a5b3925ef4d1f5
-
- 20 Nov, 2017 1 commit
-
-
Yunqing Wang authored
Multiple above rows and left columns are checked while generating reference MV candidate list for the current block. But, for warped ref_mv, we only generate warped reference MV for current block if one neighbor block is WARPED_CAUSAL mode and is located in the immediate above row or left column. Change-Id: Ia9e9c2b7f97b61e0e4d2eeffd8d91e9e5f93d1a0
-
- 18 Nov, 2017 1 commit
-
-
Zoe Liu authored
A new block mode, referred to as skip_mode is added. If a block is coded as skip_mode, it will be inter-coded, with its references and motion vectors derived from its neighboring blocks with zero-residue. Otherwise, the block can be coded in the current intra or inter mode. The computational load on skip_mode evaluation at the encoder should be kept minimum. No transform size / type evaluations are needed. Change-Id: I5aef0159c7d5ecd64258510835903375d6c536d6
-
- 17 Nov, 2017 1 commit
-
-
Yunqing Wang authored
If a block's motion_mode is WARPED_CAUSAL and its mode is NEARESTMV, search its immediate above and left neighbors to get the set of neighbor blocks using WARPED_CAUSAL motion mode, pick the one with largest block size, and use that neighbor's warped motion parameters directly for the current block. If none of the neighbors uses WARPED_CAUSAL motion mode, we estimate the current block's warped motion parameters. Before this patch, for every block, we estimate its warped motion parameters. With this patch, we reduce the number of blocks doing parameter estimation. Here are results by testing on clips with camera motions. WARPED_CAUSAL blocks blocks reusing parameters station2_240p(30f): 3857 1678 netflix_arieal(30f): 692 223 No noticable changes in coding gain. Borg test result showed a PSNR change of +0.006% on cam_lowres set, and -0.014% on lowres set. Change-Id: If12387ad0ca8a1996ea4c3f1bedcb269ebf78c6c
-
- 15 Nov, 2017 2 commits
-
-
Jingning Han authored
This does not affect the coding performance or hw throughput. It prepares for sw decoder speed up. Change-Id: I5965ba2269e8d843f562b63ccaade7df3429f4f5
-
RogerZhou authored
Change-Id: Icd0a8c4a9cf47cb93e8329ed0bdc0f79787baaaf
-
- 14 Nov, 2017 1 commit
-
-
Zoe Liu authored
The numerator in the mv projection can be negative, e.g. cur_to_bwd or cur_to_alt2, since either bwdref or altref2 can be a forward predictive reference, whereas the denominator always stays positive. The rounding inside mv projection hence should use signed operation. Change-Id: I42a105835754a002dd31fcfa7c845e4c105ec54f
-
- 07 Nov, 2017 1 commit
-
-
Hui Su authored
When generating ref mv list, only consider neighbor blocks that use intrabc. Change-Id: I69f838a38478ce118f936dbf431048d3d42d4f34
-
- 04 Nov, 2017 1 commit
-
-
Jingning Han authored
The control of using reference frame motion vector is a separate factor from the existence of previous frame motion vectors. This commit decouples these two, such that the encoder can control the use of reference motion vector. When it is used, one can further identify if the previous frame exists or not, then to decide if need to force use_prev_frame_mvs to be zero. This solves the issue where the previous frame mvs is set to be 0 and it accidentally shuts off the access to all other existing referece frames mvs in the mfmv system. It brings back the coding performance gains to normal. Change-Id: I2531f73e55582a9bb5b3e0ff47e361a199ec8082
-
- 01 Nov, 2017 3 commits
-
-
Sarah Parker authored
This name better reflects the functionality of the mode. Change-Id: Idc2372e7c7b226f70f63fa4f272a88cb4d857089
-
Zoe Liu authored
The experiment of mfmv has already extensively leveraged the use of the motion vectors from the reference frames, hence there is no need to further add the motion vectors from the previous frame to serve as the motion vector reference candidates, let alone such motion vectors have not taken into account of the use of frame offsets. Experimental results collected so far have shown this patch has zero coding performance impact. Change-Id: I57a2f8b60797bd5e8f0a95206689b6e443b28ed1
-
Angie Chiang authored
Change-Id: Ie9152c5a631cd53ac69cc09469682505a88b045d
-