A decoding apparatus for deriving a motion vector predictor of a current block, the decoding apparatus comprising: a memory; and at least one processor connected to the memory, the at least one processor configured to: derive a first motion vector predictor, mvp, candidate, wherein the first mvp candidate is derived from a motion vector of a bottom left block of the current block or a motion vector of a left block of the current block when there is an available block for predicting a motion vector of the current block among the bottom left block and the left block; derive a second mvp candidate, wherein the second mvp is derived from a motion vector of a top right block of the current block, a motion vector of a top block of the current block or a motion vector of a top left block of the current block when there is an available block for predicting the motion vector of the current block among the top right block, the top block and the top left block; derive a temporal mvp candidate from a temporal neighboring block of the current block using determination on whether the temporal neighboring block is available for predicting the motion vector of the current block; construct an mvp candidates list based on at least one of the first mvp candidate, the second mvp candidate and the temporal mvp candidate; determine the mvp of the current block, wherein the mvp of the current block is selected from mvp candidates in the mvp candidates list; and derive the motion vector for the current block based on the mvp of the current block, wherein the at least one processor is further configured to derive the first mvp candidate by scaling the motion vector of the available block among the bottom left block and the left block which has a different reference picture from a reference picture of the current block, characterized in that scaling is not applied in deriving the second mvp candidate if the scaling is applied to the motion vector of the available block among the bottom left block and the left block in deriving the first mvp candidate. a memory; and at least one processor connected to the memory, the at least one processor configured to: derive a first motion vector predictor, mvp, candidate, wherein the first mvp candidate is derived from a motion vector of a bottom left block of the current block or a motion vector of a left block of the current block when there is an available block for predicting a motion vector of the current block among the bottom left block and the left block; derive a second mvp candidate, wherein the second mvp is derived from a motion vector of a top right block of the current block, a motion vector of a top block of the current block or a motion vector of a top left block of the current block when there is an available block for predicting the motion vector of the current block among the top right block, the top block and the top left block; derive a temporal mvp candidate from a temporal neighboring block of the current block using determination on whether the temporal neighboring block is available for predicting the motion vector of the current block; construct an mvp candidates list based on at least one of the first mvp candidate, the second mvp candidate and the temporal mvp candidate; determine the mvp of the current block, wherein the mvp of the current block is selected from mvp candidates in the mvp candidates list; and derive the motion vector for the current block based on the mvp of the current block, derive a first motion vector predictor, mvp, candidate, wherein the first mvp candidate is derived from a motion vector of a bottom left block of the current block or a motion vector of a left block of the current block when there is an available block for predicting a motion vector of the current block among the bottom left block and the left block; derive a second mvp candidate, wherein the second mvp is derived from a motion vector of a top right block of the current block, a motion vector of a top block of the current block or a motion vector of a top left block of the current block when there is an available block for predicting the motion vector of the current block among the top right block, the top block and the top left block; derive a temporal mvp candidate from a temporal neighboring block of the current block using determination on whether the temporal neighboring block is available for predicting the motion vector of the current block; construct an mvp candidates list based on at least one of the first mvp candidate, the second mvp candidate and the temporal mvp candidate; determine the mvp of the current block, wherein the mvp of the current block is selected from mvp candidates in the mvp candidates list; and derive the motion vector for the current block based on the mvp of the current block, wherein the at least one processor is further configured to derive the first mvp candidate by scaling the motion vector of the available block among the bottom left block and the left block which has a different reference picture from a reference picture of the current block, characterized in that scaling is not applied in deriving the second mvp candidate if the scaling is applied to the motion vector of the available block among the bottom left block and the left block in deriving the first mvp candidate.