Patent Publication Number: US-9854238-B2

Title: Video encoding apparatus, video encoding method, and video encoding computer program

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2014-048934, filed on Mar. 12, 2014, the entire contents of which are incorporated herein by reference. 
     FIELD 
     The embodiments discussed herein are related to a video encoding apparatus, video encoding method, and video encoding computer program for encoding a picture by dividing the picture into a plurality of regions. 
     BACKGROUND 
     Generally, the amount of data used to represent video data is very large. Accordingly, an apparatus handling such video data encodes the video data by using high-efficiency coding before transmitting the video data to another apparatus or before storing the video data in a storage device. “High-efficiency coding” refers to a coding process that converts a certain data stream into another data stream by compressing the amount of data of the data stream. 
     One known coding method employed in high-efficiency coding for video data is the intra-picture (intra-predictive) coding. This coding method exploits high spatial correlation existing within video data, and encodes a picture without using encoded images of other pictures. A picture encoded by the intra-picture predictive coding method can be decoded by using only information from itself. 
     Another known coding method employed in high-efficiency coding is the inter-picture (inter-predictive) coding. This coding method exploits the property that video data has high temporal correlation. Generally, in video data, a picture at a given instant in time and a picture that follows it are often highly similar to each other. The inter-predictive coding exploits this property of the video data. Generally, a video encoding apparatus encodes an original picture by dividing it into a plurality of coding blocks. The video encoding apparatus obtains a reference picture by decoding a previously encoded picture, searches the reference picture on a block-by-block basis for a region that is similar to the coding block, and calculates a prediction error image representing the difference between the reference region and the coding block and thereby removes temporal redundancy. The video encoding apparatus achieves a high compression ratio by encoding the prediction error image and the motion vector information indicating the location of the reference region. Generally, the inter-predictive coding provides higher compression efficiency than the intra-predictive coding. 
     Typical video coding schemes that employ the above described predictive coding methods and that are widely used today include the Moving Picture Experts Group Phase 2 (MPEG-2), MPEG-4, and H.264 MPEG-4 Advanced Video Coding (H.264 MPEG-4 AVC) defined by the International Standardization Organization/International Electrotechnical Commission (ISO/IEC). In these coding schemes, which predictive coding method, the intra-predictive coding or the inter-predictive coding, was selected to encode a picture is explicitly indicated, for example, in a video stream containing the encoded video data. The selected predictive coding method is referred to as the coding mode. When the selected coding mode is the intra-predictive coding mode, the video encoding apparatus can select only the intra-predictive coding method as the prediction method to be actually used. On the other hand, when the selected coding mode is the inter-predictive coding mode, the video encoding apparatus can select the inter-predictive coding method as the prediction method to be actually used. Further, when the inter-predictive coding method is selected, the video encoding apparatus can select any one vector mode from among a plurality of vector modes that differ in the method of encoding motion vectors. 
     In the above video coding schemes, an I picture, P picture, and B picture are defined. The I picture is a picture that is encoded using only information within the picture. The P picture is a picture that is inter-encoded using information of one of previously encoded pictures. The B picture is a picture that is bidirectionally predictive encoded using information of two of previously encoded pictures. The time directions pointing to the two reference pictures to which the B picture refers are designated L 0  and L 1 , respectively. One of the two reference pictures to which the B picture refers may be a picture that is earlier in time than the B picture, and the other may be a picture that is later in time than the B picture. In this case, the direction L 0  is a direction that points forward in time from the picture to be encoded, i.e., the B picture, and the direction L 1  is a direction that points backward in time from the picture to be encoded. Alternatively, the two reference pictures may be pictures both of which are earlier in time than the B picture. In this case, the directions L 0  and L 1  are directions that both point forward in time from the picture to be encoded. Further, the two reference pictures may be pictures both of which are later in time than the B picture. In this case, the directions L 0  and L 1  are directions that both point backward in time from the picture to be encoded. 
     In the most recently developed High Efficiency Video Coding (HEVC), the method of dividing a picture into blocks differs from the existing coding schemes.  FIG. 1  is a diagram illustrating one example of how a picture is divided according to HEVC. 
     As illustrated in  FIG. 1 , the picture  100  is divided into coding blocks referred to as Coding Tree Units (CTUs), and the CTUs  101  are encoded in raster scan order. The size of each CTU  101  is selectable from among sizes of 64×64 to 16×16 pixels. However, the size of each CTU  101  is the same within the same sequence unit. 
     Each CTU  101  is further divided into a plurality of Coding Units (CUs)  102  using a quadtree structure. The CUs  102  in each CTU  101  are encoded in Z scan order. The size of each CU  102  is variable and is selected from among CU partitioning modes of 8×8 to 64×64 pixels. The CU  102  is the unit at which a decision is made as to whether to select the intra-predictive coding mode or the inter-predictive coding mode as the coding mode. Each CU  102  is partitioned into Prediction Units (PUs)  103  or Transform Units (TUs)  104  for processing. The PU  103  is the unit at which the prediction is performed in accordance with the selected coding mode. For example, in the intra-predictive coding mode, the PU  103  is the unit at which a prediction mode is applied and, in the inter-predictive coding mode, the PU  103  is the unit at which motion compensation is performed. The size of the PU  103  is selectable from among PU partitioning modes PartMode=2N×2N, N×N, 2N×N, N×2N, 2N×U, 2N×nD, nR×2N, and nL×2N. On the other hand, the TU  104  is the orthogonal transform unit, and the size of the TU  104  is selected from among sizes of 4×4 to 32×32 pixels. The TUs  104  are formed by partitioning using a quadtree structure and are processed in Z scan order. For convenience, in the present specification, the prediction unit will be referred to as the first sub-block, and the coding unit as the second sub-block. 
     Generally, the amount of computation needed for encoding video data increases as the number of pixels contained in a picture increases. In view of this, a study is being conducted on reducing the time needed for encoding by dividing each picture contained in video into a plurality of regions and by encoding each region using a separate encoder. 
     In one known method of dividing a picture into a plurality of regions, the picture is divided into basic units referred to as slices. In this case, the encoders encode the input slices independently of one another by regarding each slice as one picture, and the encoded data output from the respective encoders are multiplexed together for output. By thus using different encoders for different slices, the encoders can each be constructed using a processing unit having a low processing capability; this may serve, for example, to reduce the production cost of the encoding apparatus as a whole. 
     In a system that uses a plurality of encoders to encode respectively different regions, encoded data of the entire picture encoded in the past is stored as shared information accessible from the respective encoders. In this case, in order to reduce the hardware resources needed, a study has been conducted on reducing the memory capacity for temporarily storing the shared information by reducing the amount of shared information data (for example, refer to Japanese Laid-open Patent Publication Nos. H07-135654, H10-276437, and 2000-165883). 
     SUMMARY 
     In HEVC, the CTUs in each slice are encoded in raster scan order. The plurality of CTUs contained in each slice are treated as one group, and when encoding any CTU contained in a given slice, predicting the CTU from other slices in the same picture is prohibited. 
     A structure referred to as tiles is introduced along with the slices in HEVC as basic units into which a picture is to be divided. Unlike the slices, the tiles can be set so as to divide the picture vertically as well as horizontally. For examples, the tiles are each set in a rectangular shape. 
       FIG. 2  is a diagram illustrating one example of how the tiles are set to partition a picture. In the illustrated example, the picture  203  is partitioned in a grid pattern into four rectangular tiles  201  by horizontal and vertical tile boundaries  203 . The CTUs  202  are grouped together for each rectangular tile  201 . The tiles  201  in the picture  200  are encoded in raster scan order. The CTUs  202  in each tile  201  also are encoded in raster scan order. 
     When encoding any CTU contained in a given tile, predicting the CTU from other tiles in the same picture across the tile boundaries is prohibited. On the other hand, when encoding any CTU contained in a given tile, the video encoding apparatus is allowed to predict the CTU from other tiles in already encoded other pictures. 
     Therefore, when encoding a video image by using a different encoder for each tile, the characteristics of the tiles such as described above need to be considered in order to reduce the amount of shared information to be shared among the respective encoders. 
     According to one embodiment, a video encoding apparatus for encoding a picture contained in video data is provided. The video encoding apparatus includes: a divider which divides the picture into a plurality of regions; a plurality of encoders each of which encodes a corresponding one of the plurality of regions to generate encoded data; and a multiplexer which takes as inputs the encoded data output from the plurality of encoders, and generates encoded data of the picture by arranging the input encoded data in a prescribed order. A first one of the plurality of encoders includes: an inhibited block identifying unit which identifies as a first inhibit target sub-block a first sub-block that is contained in a first region to be encoded by the first encoder, the first region being among the plurality of regions, and that may select a motion vector of a referenced block contained in a second region encoded by a second one of the plurality of encoders, the second region being among the plurality of regions in another picture already encoded, as a prediction vector for the motion vector of the first sub-block when encoding the first sub-block by using an inter-predictive coding mode that refers to the picture already encoded; a predictive encoding unit which generates encoded data by encoding a second inhibit target sub-block either by using the inter-predictive coding mode by selecting as the prediction vector a motion vector other than the motion vector of the referenced block selected for the first inhibit target sub-block or by using an intra-predictive coding mode that refers only to the picture being encoded, wherein the second inhibit target sub-block is a second sub-block containing the first inhibit target sub-block and is selected from among a plurality of second sub-blocks into which the first region is divided and at each of which a decision is made as to whether to apply the inter-predictive coding mode or the intra-predictive coding mode; and an entropy encoding unit which entropy-encodes the encoded data. 
     The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. 
     It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a diagram illustrating one example of how a picture is divided according to HEVC. 
         FIG. 2  is a diagram illustrating one example of how tiles are set to partition a picture. 
         FIG. 3  is an operation flowchart illustrating a prediction vector determining procedure in an AMVP mode. 
         FIG. 4  is a diagram depicting a sequence for registering spatial prediction vectors in the AMVP mode. 
         FIGS. 5A to 5C  are diagrams each illustrating one example of the positional relationship between a block to be encoded and a block ColPU. 
         FIG. 6  is an operation flowchart illustrating a procedure for constructing a prediction vector candidate list mergeCandList in a merge mode. 
         FIG. 7  is a diagram depicting a sequence for registering spatial prediction vectors in the merge mode. 
         FIG. 8  is a diagram illustrating a table that provides a mapping of prediction vector candidates in directions L 0  and L 1  to combined bi-predictive vector candidates mvLXcombCand. 
         FIG. 9  is a diagram illustrating the relationship between a tile and a temporal prediction vector. 
         FIG. 10  is a diagram schematically illustrating the configuration of a video encoding apparatus according to a first embodiment. 
         FIG. 11  is a diagram for explaining the positions of tile boundaries. 
         FIG. 12  is a diagram schematically illustrating the configuration of an encoder. 
         FIG. 13  is a diagram illustrating how a horizontal index is assigned to each CTU. 
         FIG. 14A to 14D  are diagrams each illustrating how an index is assigned to each CU contained in one CTU for each CU hierarchical structure. 
         FIGS. 15A and 15D  are maps indicating inter-prediction inhibit target CUs when the CU size is 64×64 pixels, 32×32 pixels, 16×16 pixels, and 8×8 pixels, respectively. 
         FIGS. 16A to 16H  are diagrams illustrating how an index is assigned to each PU contained in one CU. 
         FIGS. 17A to 17H  are examples of maps indicating inter-prediction inhibit target PUs when the PU partitioning mode PartMode is 2N×2N, N×N, 2N×N, N×2N, 2N×U, 2N×nD, nR×2N, and nL×2N, respectively. 
         FIGS. 18A to 18H  are alternative examples of maps indicating inter-prediction inhibit target PUs when the PU partitioning mode PartMode is 2N×2N, N×N, 2N×N, N×2N, 2N×U, 2N×nD, nR×2N, and nL×2N, respectively. 
         FIG. 19  is an operation flowchart illustrating a procedure for determining a prediction vector for a prediction inhibit target PU in the AMVP mode. 
         FIG. 20  is an operation flowchart illustrating a procedure for determining a prediction vector for a prediction inhibit target PU in the merge mode. 
         FIG. 21  is a diagram for explaining an encoding mode determining procedure. 
         FIG. 22  is an operation flowchart of a video encoding process. 
         FIG. 23  is a diagram schematically illustrating the configuration of a video encoding apparatus according to a second embodiment. 
         FIG. 24  is a diagram illustrating the configuration of a computer that operates as the video encoding apparatus by executing a computer program for implementing the functions of the various units constituting the video encoding apparatus according to any one of the above embodiments or their modified examples. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     A video encoding apparatus according to one embodiment will be described below with reference to the drawings. The video encoding apparatus divides a picture into a plurality of regions, and a plurality of encoders encode the respective regions. This video encoding apparatus reduces the memory capacity needed to store information to be shared among the respective encoders when encoding the respective regions. 
     More specifically, when predictive-encoding the motion vector for a CTU located in the neighborhood of a region boundary, the video encoding apparatus reduces the amount of the information to be referred to across the boundary defined between the regions to be encoded using different encoders. In the present embodiment, the video encoding apparatus employs HEVC as the video coding scheme. Alternatively, the video encoding apparatus may encode video data in accordance with some other suitable video coding scheme that can individually encodes the video data on a tile-by-tile basis. 
     First, a motion vector predictive-coding scheme in HEVC will be described. In HEVC, the motion vector can be obtained on a PU-by-PU basis. Further, HEVC defines an adaptive motion vector prediction (AMVP) mode in which an error vector is encoded using a prediction vector to encode the motion vector, and a merge mode in which the motion vector of an already encoded PU is copied as the motion vector of the PU to be encoded. These modes are referred to as the inter-prediction modes. In the inter-prediction modes, the following modes are defined as the vector modes that define the method of prediction vector construction.
         Spatial vector mode which uses the motion vectors of blocks spatially neighboring the block to be encoded. Prediction vector candidates selected by the spatial vector mode from among the motion vectors of the blocks spatially neighboring the block to be encoded will hereinafter be referred to as spatial prediction vectors.   Temporal vector mode which uses the motion vectors of blocks located in the neighborhood of the same region as the block to be encoded and contained in an already encoded picture that temporally precedes the current picture containing the block to be encoded. Prediction vector candidates selected by the temporal vector mode from among the motion vectors of the blocks contained in the already encoded picture will hereinafter be referred to as temporal prediction vectors.   Combined bi-directive vector mode which uses a vector constructed from a combination of a spatial vector and a temporal vector.   Zero vector mode which uses a zero vector whose magnitude is zero.       

     In the AMVP mode, a prediction vector candidate list mvpListLX is constructed which contains a maximum of two vector candidates usable as prediction vectors for each prediction direction. 
       FIG. 3  is an operation flowchart illustrating a prediction vector determining procedure in the AMVP mode. First, the video encoding apparatus selects prediction vector candidates from the motion vectors of the already encoded blocks neighboring the block to be encoded. 
     More specifically, the video encoding apparatus selects the motion vector of a block neighboring on the left side of the block to be encoded as a spatial prediction vector mvLXA in accordance with a prescribed sequence (step S 101 ). 
     The procedure for selecting spatial prediction vectors will be described in detail with reference to  FIG. 4 .  FIG. 4  is a diagram depicting a sequence for registering spatial prediction vectors in the AMVP mode. For the block  400  to be encoded, the video encoding apparatus examines first the block A 0  neighboring on the lower left side and then the block A 1  neighboring on the upper side of the block A 0 , as indicated by arrow  401 , to determine whether or not the motion vector of the examined block is to be registered as a spatial prediction vector. 
     The video encoding apparatus identifies whether the block A 0  is already encoded or not. When the block A 0  is already encoded, the video encoding apparatus then determines whether the block A 0  is inter-predictive encoded in the same direction as the block  400  to be encoded. When the block A 0  is inter-predictive encoded in the same direction as the block  400  to be encoded, the video encoding apparatus proceeds to determine whether the reference picture refIdxLXA 0  for the block A 0  matches the reference picture refIdxLX for the block  400  to be encoded. When the reference picture refIdxLXA 0  matches the reference picture refIdxLX, the video encoding apparatus selects the motion vector of the block A 0  as the first spatial prediction vector mvLXA. 
     On the other hand, when the block A 0  is not encoded yet, or when the reference picture refIdxLXA 0  does not match the reference picture refIdxLX, the video encoding apparatus performs the same processing on the block A 1 . When the block A 1  is already encoded, and when the reference picture refIdxLXA 1  to which the block A 1  refers matches the reference picture refIdxLX, the video encoding apparatus selects the motion vector of the block A 1  as the spatial prediction vector mvLXA. 
     When neither the reference picture refIdxLXA 0  nor the reference picture refIdxLXA 1  matches the reference picture refIdxLX, and when the block A 0  is inter-predictive encoded in the same direction as the block  400  to be encoded, the video encoding apparatus selects the motion vector of the block A 0 . Then, the video encoding apparatus multiples the motion vector of the block A 0  by the ratio of the time between the current picture containing the block  400  to be encoded and the reference picture refIdxLX to the time between the current picture and the reference picture refIdxLXA 0 . The video encoding apparatus takes the resulting vector as the spatial prediction vector mvLXA. 
     When the above process fails to obtain the spatial prediction vector mvLXA, and when the block A 0  is inter-predictive encoded in the same direction as the block  400  to be encoded, the video encoding apparatus selects the motion vector of the block A 1 . Then, the video encoding apparatus multiples the motion vector of the block A 1  by the ratio of the time between the current picture and the reference picture refIdxLX to the time between the current picture and the reference picture refIdxLXA 1 . The video encoding apparatus takes the resulting vector as the spatial prediction vector mvLXA. When neither of the blocks A 0  and A 1  is inter-predictive encoded in the same direction as the block  400  to be encoded, no spatial prediction vector mvLXA is selected. 
     Next, the video encoding apparatus selects the motion vector of a block neighboring on the upper side of the block to be encoded as a spatial prediction vector mvLXB in accordance with a prescribed sequence (step S 102 ). 
     Referring back to  FIG. 4 , the video encoding apparatus examines the blocks B 0 , B 1 , and B 2  neighboring on the upper side of the block  400  in the order indicated by arrow  402 , in the same manner as described above for the blocks A 0  and A 1 . Then, the video encoding apparatus determines whether the motion vector of the examined block is to be selected as the spatial prediction vector mvLXB. The block B 0  is a block neighboring on the upper right side of the block  400  to be encoded, and the block B 1  is a block neighboring on the left side of the block B 0 . The block B 2  is a block neighboring on the upper left side of the block  400  to be encoded. 
     More specifically, the video encoding apparatus examines the block B 0  to B 2  in sequence, and selects as the spatial prediction vector mvLXB the motion vector of the first block whose reference picture matches the reference picture refIdxLX of the block  400  to be encoded. When none of the reference pictures of the blocks B 0  to B 2  do not match the reference picture refIdxLX, then the video encoding apparatus examines the block B 0  to B 2  in sequence, and identifies the first block for which the motion vector was obtained. Then, the motion vector of the identified block is multiplied by the ratio of the time between the current picture and the reference picture refIdxLX to the time between the reference picture to which the identified block refers and the current picture, and the resulting vector is taken as the spatial prediction vector mvLXB. 
     When none of the blocks B 0  to B 2  are inter-predictive encoded in the same direction as the block  400  to be encoded, the video encoding apparatus substitutes the spatial prediction vector mvLXA for the spatial prediction vector mvLXB. In this case, when no spatial prediction vector mvLXA is selected, no spatial prediction vector mvLXB will be selected either. 
     The video encoding apparatus registers the spatial prediction vectors mvLXA and mvLXB in the prediction vector candidate list mvpListLX (step S 103 ). When the spatial prediction vectors mvLXA and mvLXB are the same, the spatial prediction vector mvLXB is deleted from the candidate list mvpListLX. 
     The video encoding apparatus checks to see when at least two prediction vector candidates are registered in the candidate list mvpListLX (step S 104 ). When at least two prediction vector candidates are registered in the candidate list mvpListLX (Yes in step S 104 ), the video encoding apparatus terminates the prediction vector candidate list construction procedure. On the other hand, when the number of spatial prediction vectors registered in the candidate list mvpListLX is less than 2 (No in step S 104 ), the video encoding apparatus proceeds to perform the temporal vector mode processing. The video encoding apparatus can selectively disable the temporal vector mode processing on a slice-by-slice basis by using a syntax sliceTemporalMvpEnableFlag. 
     In the temporal vector mode processing, the video encoding apparatus selects a block ColPU located at a prescribed position in an already encoded picture. Then, the video encoding apparatus checks to see when the motion vector mvCol of that block ColPU can be used as a prediction vector candidate (step S 105 ). 
     The video encoding apparatus selects a candidate picture from among the already encoded pictures to which the block to be encoded may refer. Then, the video encoding apparatus identifies, from within the selected picture ColPic, the block ColPU neighboring the block located at the same position as the block to be encoded. 
     A syntax collocatedFromL 0 Flag is used to indicate whether the picture ColPic containing the block ColPU is selected from the direction L 0  or from the direction L 1 . A syntax collocatedRefIdx is used to indicate the picture selected as the ColPic. 
     The positional relationship between the block to be encoded and the block ColPU will be described with reference to  FIGS. 5A to 5C .  FIGS. 5A to 5C  each depict one CTU  500  within a picture. Basically, a PU neighboring on the lower right side of the PU to be encoded, i.e., the block to be encoded, is selected as the ColPU. For example, when there is no CTU boundary between the block to be encoded and the PU neighboring on the lower right side, a PU containing the pixel at the upper left edge of a grid of 16×16 pixels including the pixel neighboring on the lower right side of the block to be encoded is selected as the ColPU. 
     For example, when the PU  510  as the block to be encoded is a block larger than a 16×16 pixel block located in the upper left corner of the CTU  500 , as depicted in  FIG. 5A , the pixel  511  neighboring on the lower right side of the PU  510  is located at the same corresponding position in the 16×16 pixel grid unit. Therefore, in the picture ColPic  501 , the PU  512  neighboring on the lower right side of the PU  510  is selected as the ColPU. On the other hand, when the PU  520  as the block to be encoded is a block occupying the upper left quarter of a 16×16 pixel block, as depicted in  FIG. 5B , the pixel  521  neighboring on the lower right side thereof is located near the center of the 16×16 pixel grid  522 . Therefore, in the picture ColPic  501 , a PU  524  containing the pixel  523  at the upper left edge of the grid  522  is selected as the ColPU. 
     When there is a CTU boundary between the block to be encoded and the PU neighboring on the lower right side, then the position of the pixel located to the upper left of the center of the block to be encoded is obtained, and a 16×16 pixel grid containing that pixel is identified. Then, a PU that is contained in the ColPic, and that contains the pixel at the upper left edge of the identified grid, is selected as the ColPU. 
     For example, when the PU  530  as the block to be encoded is located at the lower right of the CTU  500 , as depicted in  FIG. 5C , there is a CTU boundary between the PU  530  and the pixel  531  located to the lower right thereof. In this case, the pixel  532  located at the center of the PU  530  is obtained, and a 16×16 pixel grid  533  containing that pixel  532  is identified. Then, in the picture ColPic  501 , a PU  535  containing the pixel  534  at the upper left edge of the grid  533  is selected as the ColPU. 
     When the ColPU is an intra-predictive encoded block, there is no motion vector associated with the ColPU; therefore, the video encoding apparatus is unable to use the motion vector of the ColPU as the prediction vector. When there is no motion vector in the direction L 0  for the ColPU, the video encoding apparatus uses the motion vector defined in the direction L 1 . Conversely, when there is no motion vector in the direction L 1  for the ColPU, the video encoding apparatus uses the motion vector defined in the direction L 0 . When there are motion vectors in both directions L 0  and L 1  for the ColPU, and when the pictures to which the block to be encoded refers are all past pictures or the picture to which the block to be encoded belongs, then the video encoding apparatus uses the motion vector defined in the direction specified by the syntax collocatedFromL 0 Flag. On the other hand, when there are motion vectors in both directions L 0  and L 1  for the ColPU, and when the pictures to which the block to be encoded refers includes a future picture, then the video encoding apparatus uses the motion vector defined in the direction opposite to the direction specified by the syntax collocatedFromL 0 Flag. 
     When the motion vector mvCol can be used (Yes in step S 105 ), the video encoding apparatus registers the time-scaled version of the motion vector mvCol as the temporal prediction vector mvLXB in the candidate list mvpListLX (step S 106 ). More specifically, the video encoding apparatus multiplies the motion vector mvCol by the ratio of the time between the current picture containing the block to be encoded and the picture to which the block to be encoded refers to the time between the picture containing the Col block and the picture to which the Col block refers. When the temporal prediction vector mvLXB is equal to one or the other of the two vectors mvLXA registered in the candidate list mvpListLX, the video encoding apparatus deletes the temporal prediction vector mvLXB from the candidate list mvpListLX. 
     After step S 106 , or when it is determined in step S 105  that the motion vector mvCol is not usable (No in step S 105 ), it is determined whether at least two prediction vector candidates are registered in the candidate list mvpListLX (step S 107 ). When the number of prediction vector candidates registered in the candidate list mvpListLX is less than 2 (No in step S 107 ), the video encoding apparatus registers a zero vector as a prediction vector candidate in the candidate list mvpListLX (step S 108 ). The zero vector is a vector in which the value of the element indicating the amount of motion in the horizontal direction and the value of the element indicating the amount of motion in the vertical direction are both zero. 
     After step S 108 , the video encoding apparatus selects as the prediction vector mvpLX the candidate whose error relative to the motion vector of the block to be encoded is the smaller of the two candidates (step S 109 ). When it is determined in step S 107  that at least two prediction vector candidates are registered in the candidate list mvpListLX (Yes in step S 107 ), the video encoding apparatus proceeds to carry out the step S 109 . Then, the video encoding apparatus terminates the prediction vector determining procedure. 
     The vector selected as the prediction vector mvpLX is expressed by a syntax mvpLXFlag which indicates the position of the selected vector in the candidate list mvpListLX. The syntax mvpLXFlag and the error vector representing the difference between the prediction vector and the motion vector of the block to be encoded are entropy-encoded. 
     When the current picture is a P picture, the video encoding apparatus carries out the above process only for the motion vector in the direction L 0 . On the other hand, when the current picture is a B picture, the video encoding apparatus carries out the above process for the motion vectors in both the direction L 0  and the direction L 1 . 
     Next, the merge mode will be described. 
       FIG. 6  is an operation flowchart illustrating a procedure for constructing a prediction vector candidate list mergeCandList in the merge mode. In the merge mode, the video encoding apparatus selects one vector as a merge vector mvLXN from usable merge vector candidates the number of which (five at maximum) is specified by a syntax MaxNumMergeCand, and expresses the selected vector by a syntax mergeIdx which indicates the position in the candidate list mergeCandList. 
     The video encoding apparatus selects the motion vector of a block neighboring on the left side or upper side of the block to be encoded as a spatial prediction vector candidate in accordance with a prescribed sequence (step S 201 ). 
     The procedure for selecting spatial prediction vectors will be described in detail with reference to  FIG. 7 .  FIG. 7  is a diagram illustrating a sequence for registering spatial prediction vectors in the merge mode. For the PU  700  which is the block to be encoded, the video encoding apparatus examines the blocks A 1 , B 1 , B 0 , A 0 , and B 2  in sequence, as indicated by arrows  701  to  704 , to determine whether or not the motion vector of the examined block is to be registered as a spatial prediction vector candidate. 
     When there are a plurality of spatial prediction vector candidates having the same value, all of such spatial prediction vector candidates except one are deleted. For example, when a certain block is partitioned, and when the block uses the vector of another block as a candidate, then it is deleted because there is no need for portioning. In the case of the block B 2 , when already four spatial prediction vector candidates have been selected, the motion vector of the block B 2  is excluded from the spatial prediction vector candidates. The spatial prediction vector candidates for the respective blocks are designated mvLXA 0 , mvLXA 1 , mvLXB 0 , mvLXB 1 , and mvLXB 2 , respectively. 
     Next, the video encoding apparatus performs the temporal vector mode processing to select a temporal prediction vector candidate mvLXCol (step S 202 ). The temporal vector mode processing in the merge mode is the same as the temporal vector mode processing in the AMVP mode, and therefore, the temporal vector mode processing will not be further described herein. 
     The video encoding apparatus registers the selected prediction vector candidates in the candidate list mergeCandList (step S 203 ). Then, the video encoding apparatus counts the number, numOrigMergeCand, of prediction vector candidates registered in the candidate list mergeCandList (step S 204 ). 
     Next, the video encoding apparatus determines whether the condition that the current picture containing the block to be encoded is a B picture and the condition that numOrigMergeCand is not smaller than 2 but smaller than MaxNumMergeCand are both satisfied (step S 205 ). When the conditions are both satisfied in step S 205 , the video encoding apparatus derives a combined bi-predictive vector by combining prediction vector candidates registered in the candidate list mergeCandList, and adds it as a prediction vector candidate (step S 206 ). The video encoding apparatus repeats the processing of step S 206  a predetermined number of times given by numOrigMergeCand×(numOrigMergeCand−1) or until the number of prediction vector candidates reaches MaxNumMergeCand. The computed vector candidate is designated mvLXcombCand. 
       FIG. 8  illustrates a table that provides a mapping of the prediction vector candidates in the directions L 0  and L 1  to the combined bi-predictive vector candidates mvLXcombCand when MaxNumMergeCand is 4. In the table  800 ,  10 CanIdx indicates the order in which the prediction vector candidates in the direction L 0  are registered in the candidate list mergeCandList, and  11 CanIdx indicates the order in which the prediction vector candidates in the direction L 1  are registered in the candidate list mergeCandList. On the other hand, comIdx indicates mvLXcombCand derived from a combination of the prediction vector candidate in the direction L 0  and the prediction vector candidate in the direction L 1 . 
     After step S 206 , or when the conditions are not satisfied in step S 205 , the video encoding apparatus proceeds to determine whether the number of prediction vector candidates is smaller than MaxNumMergeCand or not (step S 207 ). When the number, numOrigMergeCand, of prediction vector candidates is smaller than MaxNumMergeCand (Yes in step S 207 ), the video encoding apparatus registers zero vectors as prediction vector candidates in the candidate list mergeCandList until the number of prediction vector candidates reaches MaxNumMergeCand (step S 208 ). 
     After step S 208 , the video encoding apparatus selects as the merge vector mvLXN the candidate whose error relative to the motion vector of the block to be encoded is the smallest among the prediction vector candidates (step S 209 ). When it is determined in step S 207  that the number, numOrigMergeCand, of prediction vector candidates is not smaller than MaxNumMergeCand (No in step S 207 ), the video encoding apparatus proceeds to carry out the step S 209 . After that, the video encoding apparatus terminates the candidate list mergeCandList construction procedure. 
     Next, consider the case where the AMVP mode or the merge mode is applied when encoding a picture using different encoders for different tiles. 
       FIG. 9  is a diagram illustrating the relationship between the tile and the temporal prediction vector. In  FIG. 9 , it is assumed for simplicity that the picture  900  is partitioned into the left-side tile  901  and right-side tile  902 . The CTU  904  contained in the tile  901  and the CTU  905  contained in the tile  902  are each 64×64 pixels in size, and are adjacent to each other across a tile boundary  903 . The CTUs  904  and  905  are each divided into CUs or TUs for each of which a motion vector is generated. 
     To obtain a temporal prediction vector for the PU  906  located in the upper right section of the CTU  904 , the video encoding apparatus refers to the motion vector of the ColPU  911  located at the same position in the already encoded picture ColPic  910  as the PU  907  located to the lower right of the PU  906 . The ColPU  911  belongs to the tile  902  that is located across the tile boundary  903  from the PU  906 . When encoding the tiles  901  and  902  by using separate encoders, the data needed for the computation of the temporal prediction vector for the PU  906  needs to be shared between the encoder responsible for encoding the tile  902  and the encoder responsible for encoding the tile  901 . 
     In the case of a CTU located in the neighborhood of a tile boundary, as described above, information pertaining to a region encoded by another encoder is needed to compute the temporal prediction vector for the motion vector of a PU contained in the CTU. Therefore, when determining the temporal prediction vector, the video encoding apparatus identifies a block that needs information within the neighboring tile in order to reduce the memory capacity needed to store information to be shared between the encoders while maintaining picture quality as high as possible. Then, the video encoding apparatus prohibits the application of the temporal vector mode to the block that needs information within the neighboring tile. However, in this case, the application of the temporal vector mode is prohibited in such a manner that the video data encoded by the video encoding apparatus can be decoded by an HEVC-compliant video decoding apparatus. 
       FIG. 10  is a diagram schematically illustrating the configuration of a video encoding apparatus according to a first embodiment. The video encoding apparatus  1  includes a dividing unit (divider)  10 , a plurality of encoders  11 - 1  to  11 - n  (n is an integer not smaller than 2), and a multiplexing unit (multiplexer)  12 . 
     These units constituting the video encoding apparatus  1  are constructed as separate circuits. Alternatively, these units constituting the video encoding apparatus  1  may be implemented on the video encoding apparatus  1  in the form of a single integrated circuit on which the circuits corresponding to the respective units are integrated. Further alternatively, these units constituting the video encoding apparatus  1  may be implemented as functional modules by a computer program which is executed on a processor or a plurality of processors incorporated in the video encoding apparatus  1 . 
     Pictures are sequentially input to the dividing unit  10  in accordance with a picture sequence specified by a control unit (not depicted) that controls the entire operation of the video encoding apparatus  1 . Each time a picture is input, the dividing unit  10  divides the picture into a number, n, of regions in accordance with picture dividing information supplied from the control unit. In the present embodiment, each region contains one tile. The dividing unit  10  divides each picture in such a manner that a boundary between each region defines a tile boundary. The positions of the tile boundaries are the same throughout the sequence. Each region of the picture divided by the dividing unit  10  is input to a corresponding one of the encoders  11 - 1  to  11 - n.    
     The positions of the tile boundaries will be explained with reference to  FIG. 11 . In the picture  1100 , the horizontal and vertical size of each individual CTU is designated CTUSIZE (for example, 64 pixels). Further, the number of pixels in the vertical direction of the picture  1100  is designated PictureSizeV, and the number of pixels in the horizontal direction is designated PictureSizeH. The picture dividing information includes, for example, the number of divisions in the vertical direction, DivNumV, and the number of divisions in the horizontal direction, DivNumH. In the illustrated example, DivNumV=DivNumH=2. In other words, the picture  1100  is divided into two regions horizontally and two regions vertically. 
     Further, the number of CTUs in the vertical direction of the picture  1100  is designated CTUNumV (=PictureSizeV/CTUSIZE), and the number of CTUs in the horizontal direction is designated CTUNumH (=PictureSizeH/CTUSIZE). In this case, when the picture is divided vertically into regions of equal size, the number of CTUs in the vertical direction, TileCTUNumV, in each region is given as PicCTUNumV/DivNumV. When PicCTUNumV is not an integral multiple of DivNumV, the lowermost tile may contain extra CTUs the number of which is smaller than TileCTUNumV. Likewise, when the picture is divided horizontally into regions of equal size, the number of CTUs in the vertical direction, TileCTUNumH, in each region is given as PicCTUNumH/DivNumH. When PicCTUNumH is not an integral multiple of DivNumH, the rightmost tile may contain extra CTUs the number of which is smaller than TileCTUNumH. For simplicity, it is assumed here that PicCTUNumV is an integral multiple of DivNumV and PicCTUNumH is an integral multiple of DivNumH. 
     In the illustrated example, the picture  1100  is partitioned into four tiles  1103  to  1106  by the vertical tile boundary  1101  and the horizontal tile boundary  1102 . Then, for example, the upper left tile  1103  is input to the encoder  11 - 1 , and the upper right tile  1104  is input to the encoder  11 - 2 . Further, the lower left tile  1105  is input to the encoder  11 - 3 , and the lower right tile  1106  is input to the encoder  11 - 4 . 
     The encoders  11 - 1  to  11 - n  generate encoded data by encoding the input regions independently of one another. The encoders  11 - 1  to  11 - n  supply the encoded data to the multiplexing unit  12 . The details of the encoders  11 - 1  to  11 - n  will be described later. 
     The multiplexing unit  12 , which received the encoded data of the respective regions from the encoders  11 - 1  to  11 - n , arranges the encoded data in raster scan order, and generates encoded data for one picture by appending prescribed header information conforming to HEVC. Then, the multiplexing unit  12  outputs the encoded data of each picture in accordance with a prescribed picture sequence. 
     The details of the encoders  11 - 1  to  11 - n  will be described below. Since the encoders  11 - 1  to  11 - n  are identical in configuration and function, the following description deals only with the encoder  11 - 1 . 
     The encoder  11 - 1  encodes the plurality of CTUs contained in the input region on a CTU-by-CTU basis in raster scan order. 
       FIG. 12  is a diagram schematically illustrating the configuration of the encoder  11 - 1 . The encoder  11 - 1  includes an inhibited block identifying unit  21 , a vector mode determining unit  25 , an encoding mode determining unit  26 , a predictive encoding unit  27 , and an entropy encoding unit  28 . 
     The inhibited block identifying unit  21  identifies a PU that may select, as the temporal prediction vector for the motion vector to be used when inter-predictive encoding the PU, the motion vector of a PU contained in a region encoded by another encoder in an already encoded picture. For this purpose, the inhibited block identifying unit  21  includes an inter-prediction inhibit target CTU determining unit  22 , an inter-prediction inhibit target CU determining unit  23 , and an inter-prediction inhibit target PU determining unit  24 . 
     Based on the position of the boundary between two regions that are input to respectively different encoders (i.e., the position of the tile boundary), the inter-prediction inhibit target CTU determining unit  22  determines a CTU containing a PU for which the application of the temporal vector mode is prohibited. The CTU containing a PU for which the application of the temporal vector mode is prohibited will hereinafter be referred to as the inter-prediction inhibit target block. 
     Referring back to  FIG. 11 , the tile  1103 , for example, is bounded by tile boundaries at the bottom and right side of the tile  1103 . On the other hand, the tile  1104  is bounded by tile boundaries at the bottom and left side of the tile  1104 . Likewise, the tile  1105  is bounded by tile boundaries at the top and right side of the tile  1105 . The tile  1106  is bounded by tile boundaries at the top and left side of the tile  1106 . 
     A characteristic of the temporal vector mode is that, in the already encoded picture to be referred to in the inter-predictive coding mode, the PU neighboring on the lower right side of the current PU is referred to. A further characteristic is that the PU located across the horizontal CTU boundary from the current PU is not referred to. Accordingly, of the tiles to be encoded by the respective encoders, only the tiles that are bounded on their right side by a tile boundary contain inter-prediction inhibit target blocks. In the illustrated example, the tiles  1103  and  1105  contain inter-prediction inhibit target blocks. The following description is given by taking the tile  1103  as an example. 
     To facilitate an understanding how the inter-prediction inhibit target block is identified, an index assigned to each CTU to identify the CTU will be described below with reference to  FIG. 13 . In  FIG. 13 , the tile  1300  is divided into a plurality of CTUs  1301 . It is assumed that the CTU size CTUSIZE is 64 pixels. As earlier described, the plurality of CTUs contained in a picture are encoded in raster scan order. Therefore, the indexes CTUIDX for identifying the respective CTUs are set in the encoding order. Further, a horizontal index CTUHIDX to each CTU is assigned in sequence starting with the leftmost CTU. In other words, the CTUHIDX of the leftmost CTU is 0, and the CTUHIDX of the (N+1)th CTU from the leftmost CTU is N. The CTUHIDX of the rightmost CTU is (TileCTUNumH−1). 
     From the definition of the behavior of the temporal vector mode, the CTU that may be referred to across the tile boundary as described above is the CTU whose right side contacts the vertical tile boundary. Therefore, the inter-prediction inhibit target CTU determining unit  22  identifies the CTU whose horizontal index CTUHIDX is (TileCTUNumH−1) and determines it as being the inter-prediction inhibit target block. 
     The inter-prediction inhibit target CU determining unit  23  identifies from within the inter-prediction inhibit target block any PU that, from the definition of the behavior of the temporal vector mode, can refer to a motion vector contained in a tile that is not located at the same position in the already encoded picture as the tile to be encoded. The PU that can refer to the motion vector contained in the tile that is not located at the same position as the tile to be encoded is the PU that can refer to the region encoded by another encoder. Then, the inter-prediction inhibit target CU determining unit  23  prohibits the application of the temporal vector mode to the CU containing the identified PU. For convenience of explanation, the CU containing the PU for which the application of the temporal vector mode is prohibited will hereinafter be referred to as the inter-prediction inhibit target CU. 
     As illustrated in  FIG. 1 , in HEVC, the selectable CU size is 64×64 pixels at the maximum, and 32×32 pixels, 16×16 pixels, and 8×8 pixels in a quadtree structure. This represents the hierarchical CU structure, and the inter-prediction inhibit target CU is determined for each hierarchical CU structure in order for the encoding mode determining unit  26  to determine the CU size. 
     A CU identifying index CUIDX assigned to each CU contained in one CTU  1400  for each hierarchical CU structure will be described below with reference to  FIGS. 14A to 14D . In  FIGS. 14A to 14D , each block  1401  represents one CU, and the numeric value within each block indicates the CU index CUIDX. Each numeric value above the CTU  1400  indicates the horizontal CU index CUHIDX.  FIG. 14  indicates the CU index CUIDX when the CU size is 64×64 pixels. Likewise,  FIGS. 14B to 14D  indicate CU indexes CUIDX when the CU size is 32×32 pixels, 16×16 pixels, and 8×8 pixels, respectively. 
     The CU index CUIDX is assigned in encoding order, for example, in raster scan order. In the present embodiment, the horizontal CU index CUHIDX to each CU in the horizontal direction is assigned in sequence from left to right in the horizontal direction. 
     For convenience, a coordinate system is defined for the CTU identified as the inter-prediction inhibit target block by taking the left edge of the CTU as the reference position. In this coordinate system, when the tile boundary coordinate (pixel resolution) located at the right edge of the tile is denoted as tb, tb is given as tb=(TileCTUNumH*CTUSIZE−1). It is assumed that the pixel coordinate at the left edge of the tile is 0. 
     The inter-prediction inhibit target CU determining unit  23  identifies the CU contacting the tile boundary at the left edge of the tile and having CUHIDX=tb/CUSIZE, and determines it as being the inter-prediction inhibit target CU. However, in the case of the CU corresponding to the PU to be encoded for which there is a CTU boundary between the PU to be encoded and the PU located to the lower right thereof, as depicted in  FIG. 5C , i.e., in the case of the CU whose CUIDX is {(CTUSIZE/CUSIZE)*(CTUSIZE/CUSIZE)−1)}, the position of the ColPU is corrected. Therefore, as an exception, the inter-prediction inhibit target CU determining unit  23  may not set such a CU as an inter-prediction inhibit target CU. 
       FIGS. 15A and 15D  are maps indicating the inter-prediction inhibit target CUs in the CTU  1500  as the inter-prediction inhibit target block when the CU size is 64×64 pixels, 32×32 pixels, 16×16 pixels, and 8×8 pixels, respectively. Each block  1501  represents one CU. Of the numeric values “0” to “2” within each CU, “0” indicates that the CU is not an inter-prediction inhibit target CU. On the other hand, “1” indicates that the CU is an inter-prediction inhibit target CU. Further, “2” indicates that the CU is an inter-prediction inhibit target CU for which, as an exception, the application of the temporal vector mode is not prohibited. As illustrated in  FIGS. 5A to 5D , the CUs located at the right edge of the inter-prediction inhibit target block are the inter-prediction inhibit target CUs. However, the CU located at the lower right corner of the inter-prediction inhibit target block is excluded as an exception. To simplify the setting, the inter-prediction inhibit target CU determining unit  23  may treat all the CUs contained in the inter-prediction inhibit target block as the inter-prediction inhibit target CUs. 
     The inter-prediction inhibit target CU determining unit  23  may limit the selectable CU size. For example, by providing a value indicating a disabled state as a CU inhibiting index, the inter-prediction inhibit target CU determining unit  23  can limit the number of CU divisions to be selected within each CTU. As previously described, the CU is the unit at which the encoding mode is determined, and the video encoding apparatus  1  can select the intra-predictive coding mode or the inter-predictive coding mode as the encoding mode for each CU. Though the details will be described later, there is the possibility that the CU containing the PU to be referred to in the temporal vector mode is intra-predictive encoded. Since the compression efficiency of the intra-predictive coding mode is generally lower than that of the inter-predictive coding mode, it is preferable that the CU size to be employed when the intra-predictive coding mode is applied is set to the smallest size among the selectable CU sizes. For example, the inter-prediction inhibit target CU determining unit  23  is adapted so that a CU for which the application of the temporal vector mode is prohibited (i.e., a CU whose CU inhibiting index is not 0) is selected when the CU size is the smallest, i.e., when CUSIZE is 8. To achieve this, when the CU size is larger than 8, the inter-prediction inhibit target CU determining unit  23  sets the value of the CU inhibiting index of any CU containing the same position as the smallest size CU whose CU inhibiting index is not 0 to a value indicating a disabled state, for example, to “3”. 
     The inter-prediction inhibit target PU determining unit  24  prohibits the application of the temporal vector mode to the PU in the inter-prediction inhibit target CU that can refer, in the temporal vector mode, to the region encoded by another encoder. For convenience of explanation, the PU for which the application of the temporal vector mode is prohibited will hereinafter be referred to as the inter-prediction inhibit target PU. 
     As illustrated in  FIG. 1 , in HEVC, the selectable CU size is 64×64 pixels at the maximum, and 32×32 pixels, 16×16 pixels, and 8×8 pixels in a quadtree structure. The CU of each size is divided into a plurality of PUs in accordance with the PU partitioning mode PartMode=2N×2N, N×N, 2N×N, N×2N, 2N×U, 2N×nD, nR×2N, or nL×2N as illustrated in  FIG. 1 . In other words, the hierarchical CU structure is also applied to the PUs. Therefore, the inter-prediction inhibit target PU is determined for each hierarchical CU structure. 
     The PU identifying index PUIDX assigned to each PU contained in one CU  1600  will be described below with reference to  FIGS. 16A to 16H .  FIGS. 16A to 16H  indicate the indexes PUIDX when the PU partitioning mode PartMode is 2N×2N, N×N, 2N×N, N×2N, 2N×U, 2N×nD, nR×2N, and nL×2N, respectively. In  FIGS. 16A to 16H , each block  1601  represents one PU, and the numeric value within each block indicates the PU index PUIDX. Each numeric value above the CU  1600  indicates the horizontal PU index PUHIDX. 
     The index PUIDX is assigned to each PU in encoding order. The horizontal PU index PUHIDX is assigned to each PU in sequence from left to right in the horizontal direction. 
     The inter-prediction inhibit target PU determining unit  24  refers to a CU inhibiting map, i.e., a map of CU inhibiting indexes, that indicates inter-prediction inhibit target CUs, and selects a CU whose CU inhibiting index is “1” or “2” as an attention CU. Then, for each PU contained in the attention CU, the inter-prediction inhibit target PU determining unit  24  determines whether the PU refers, in the temporal vector mode, to a PU contained in the region encoded by another encoder. 
     More specifically, the inter-prediction inhibit target PU determining unit  24  identifies any PU whose PUHIDX is tb/PUHSIZE from among the PUs contained in the CU whose inhibiting index is “1”, and determines the identified PU as being the inter-prediction inhibit target PU. PUHSIZE represents the horizontal size of the PU. 
       FIGS. 17A to 17H  are maps indicating the inter-prediction inhibit target PUs when the PU partitioning mode PartMode is 2N−2N, N×N, 2N×N, N×2N, 2N×U, 2N×nD, nR×2N, and nL×2N, respectively. In  FIGS. 17A to 17H , each block  1701  represents one PU. The numeric value within each PU indicates the value of the PU inhibiting flag set for the PU. The value of the PU inhibiting flag is “0” when the PU is not an inter-prediction inhibit target PU. On the other hand, the value of the PU inhibiting flag is set to “1” when the PU is an inter-prediction inhibit target PU. As illustrated in  FIGS. 17A and 17H , any PU neighboring on the left side of the tile boundary, i.e., the boundary between different regions to be encoded by different encoders, is set as the inter-prediction inhibit target PU. 
     When the PU is a PU contained in a CU whose CU inhibiting index is “2”, and when there is a CTU boundary between that PU and the PU located to the lower right thereof, the inter-prediction inhibit target PU determining unit  24  may not, as an exception, set the PU as the inter-prediction inhibit target PU (in that case, the value of the PU inhibiting flag for that PU is set to “0”). The reason is that, when there is a CTU boundary between that PU and the PU located to the lower right thereof, the ColPU is set so as to overlap the PU and the prediction vector candidate selected by the temporal vector mode does not refer to the region encoded by another encoder. In this case, the maps indicating the inter-prediction inhibit target PUs when the PU partitioning mode PartMode is 2N×2N, N×N, 2N×N, N×2N, 2N×U, 2N×nD, nR×2N, and nL×2N, respectively, are as illustrated in  FIGS. 18A to 18H . In  FIGS. 18A to 18H , each block  1801  represents one PU. The numeric value within each PU indicates the value of the PU inhibiting flag set for the PU. 
     The vector mode determining unit  25  determines the prediction vector for the motion vector of the PU to be encoded. However, in the case of the prediction inhibit target PU, the vector mode determining unit  25  prohibits the application of the temporal vector mode by identifying the vector mode of the inter-prediction mode selectable for the prediction inhibit target PU, and the spatial prediction vectors selected by the spatial vector mode are used as the prediction vector candidates. Then, the vector mode determining unit  25  determines the prediction vector from among the spatial prediction vectors. 
       FIG. 19  is an operation flowchart illustrating a procedure by which the vector mode determining unit  25  determines the prediction vector for the prediction inhibit target PU in the AMVP mode. After carrying out the process of steps S 101  to S 103  in the flowchart of  FIG. 3 , the vector mode determining unit  25  carries out the process starting from step S 301  in  FIG. 19 . For any PU other than the prediction inhibit target PU, the vector mode determining unit  25  determines the prediction vector in accordance with the flowchart of  FIG. 3 . 
     The vector mode determining unit  25  checks to see when mvLXA or mvLXB is registered in the prediction vector candidate list mvpListLX (step S 301 ). When mvLXA or mvLXB is registered in the prediction vector candidate list mvpListLX (Yes in step S 301 ), the vector mode determining unit  25  sets mvLXA or mvLXB, whichever is registered in the prediction vector candidate list mvpListLX, as the prediction vector mvpLX (step S 302 ). When both mvLXA and mvLXB are registered, the vector mode determining unit  25  may select, as the prediction vector mvpLX, mvLXA or mvLXB whichever is smaller in terms of the error relative to the motion vector of the PU to be encoded, i.e., in terms of the amount of information. The vector selected as the prediction vector mvpLX is expressed by the syntax mvpLXFlag which indicates the position of the selected vector in the candidate list mvpListLX. The syntax mvpLXFlag and the error vector representing the difference between the prediction vector and the motion vector of the PU to be encoded are entropy-encoded. 
     On the other hand, when neither mvLXA nor mvLXB is registered (No in step S 301 ), the vector mode determining unit  25  disables the prediction vector mvpLX (step S 303 ). After step S 302  or S 303 , the vector mode determining unit  25  terminates the prediction vector determining procedure. 
       FIG. 20  is an operation flowchart illustrating a procedure by which the vector mode determining unit  25  determines the prediction vector for the prediction inhibit target PU in the merge mode. After carrying out the process of steps S 201  and S 203  in the flowchart of  FIG. 6 , the vector mode determining unit  25  carries out the process starting from step S 401  in  FIG. 20 . For any PU other than the prediction inhibit target PU, the vector mode determining unit  25  determines the prediction vector in accordance with the flowchart of  FIG. 6 . 
     After constructing the merge vector candidate list mergeCandList (which contains a maximum of five candidates), the vector mode determining unit  25  checks to see when the spatial prediction vector candidate mvLXAn or mvLXBn selected by the spatial vector mode is registered in the candidate list mergeCandList (step S 401 ). When either mvLXAn or mvLXBn is registered in the prediction vector candidate list mergeCandList (Yes in step S 401 ), the vector mode determining unit  25  sets mvLXAn or mvLXBn, whichever is registered, as the prediction vector mvpLX (step S 402 ). When more than one mvLXAn/mvLXBn is registered, the vector mode determining unit  25  may select, as the prediction vector mvpLX, the registered mvLXAn or mvLXBn that yields the smallest error relative to the motion vector of the PU to be encoded, i.e., the smallest amount of information. The vector selected as the prediction vector mvpLX is expressed by the syntax mergeIdx which indicates the position of the selected vector in the candidate list mergeCandList. The syntax mergeIdx is entropy-encoded. 
     On the other hand, when neither mvLXAn nor mvLXBn is registered (No in step S 401 ), the vector mode determining unit  25  disables the prediction vector mvpLX (step S 403 ). After step S 402  or S 403 , the vector mode determining unit  25  terminates the prediction vector determining procedure. The vector mode determining unit  25  may perform the prediction vector determining procedure for the PU concurrently with the process that the encoding mode determining unit  26  performs for the PU. 
     Since the application of the temporal vector mode is prohibited for the prediction inhibit target PU, as earlier described, the process for determining the temporal prediction vector may be omitted. This serves to reduce the amount of computation needed to determine the prediction vector in the case of the prediction inhibit target PU. 
     The encoding mode determining unit  26  determines the encoding mode for each CU contained in the current picture. Further, the encoding mode determining unit  26  determines the inter-prediction mode for each PU. 
     When the prediction vector mvpLX is disabled for any particular PU in  FIG. 19 or 20 , the encoding mode determining unit  26  may decide that the CU containing the particular PU to be encoded by using the intra-predictive coding. 
     The encoding mode determining unit  26  selects one combination from among the various combinations of the CU partitioning mode (CU size) and the PU partitioning mode for the CTU to be encoded in the current picture, and determines the inter-prediction mode appropriate to the selected combination. Further, for the selected combination, the encoding mode determining unit  26  determines which coding mode, the intra-predictive coding or the inter-predictive coding, is to be applied. 
     To determine the CU partitioning mode and the PU partitioning mode, the encoding mode determining unit  26  calculates the coding cost, i.e., an estimate of the amount of coding, for each combination of the CU partitioning mode and the PU partitioning mode, and selects the combination that minimizes the coding cost. To calculate the coding cost, the encoding mode determining unit  26  calculates the prediction error, i.e., the sum of the absolute differences between pixels, SAD, in accordance with the following equation.
 
 SAD =Σ|OrgPixel−PredPixel|
 
where OrgPixel represents the pixel value of the attention block in the current picture, for example, the value of the pixel contained in the PU, and PredPixel is the value of the pixel contained in the prediction block corresponding to the attention block, which is obtained in the HEVC standard. However, instead of calculating SAD, the encoding mode determining unit  26  may calculates, for example, the sum of the absolute transformed differences, SAID, taken between pixels after applying a Hadamard transform to the difference image between the prediction block and the CTU to be encoded.
 
     When the amount of information needed to encode the error vector MVD=(Prediction vector)−(Motion vector) is denoted by MVDCost, the coding cost Cost is expressed by the following equation.
 
Cost= SAD+λ*MVD Cost
 
where λ is a scaler for adjusting the balance between SAD and MVDCost.
 
     Referring to  FIG. 21 , the process performed by the encoding mode determining unit  26  will be described in further detail below. Since no selection is made for any disabled CU, the encoding mode determining unit  26  does not calculate the coding cost for any combination containing such CUs. For simplicity, the following description is given by assuming that CUSIZE=32 and CUSIZE=16 are enabled. 
     First, the encoding mode determining unit  26  sets CUSIZE to 32 for the CTU  2100 . Then, to obtain the cost PuSizeCost for each PU partitioning mode PartMode in the CU to be encoded, the encoding mode determining unit  26  calculates the PuCost for each PU  2102  contained in the CU  2101 . In determining the inter-prediction mode, the encoding mode determining unit  26  calculates the PU cost for each of the AMVP and merge modes. In this case, the encoding mode determining unit  26  uses the prediction vector selected by the vector mode determining unit  25 . As earlier described, for the inter-prediction inhibit target PU, the prediction vector is selected from among the spatial prediction vectors selected by the spatial vector mode. In the case of a PU for which the prediction vector is disabled in both the AMVP mode and the merge mode, i.e., in the case of a PU for which there is no spatial prediction vector, the encoding mode determining unit  26  disables the inter-prediction mode, and sets the PU cost PuCost to an invalid value, i.e., to a very large value. 
     When the AMVP mode is disabled, and the merge mode is enabled, i.e., when the prediction vector is selected from among the spatial prediction vectors in the merge mode, the encoding mode determining unit  26  selects the merge mode as the inter-prediction mode. Then, the encoding mode determining unit  26  takes the merge mode cost MergeCost as the PU cost PuCost. Conversely, when the AMVP mode is enabled, i.e., when the prediction vector is selected from among the spatial prediction vectors in the AMVP mode, and when the merge mode is disabled, the encoding mode determining unit  26  selects the AMVP mode as the inter-prediction mode. Then, the encoding mode determining unit  26  takes the AMVP mode cost AMVPCost as the PU cost PuCost. On the other hand, when the AMVP mode and the merge mode are both enabled, the encoding mode determining unit  26  selects as the inter-prediction mode the AMVP mode or the merge mode whichever is smaller in terms of the mode cost AMVPCost or MergeCost. Then, the encoding mode determining unit  26  takes the smaller cost as the PU cost PuCost. 
     After calculating the PU cost PuCost for all the PUs contained in the CU, the encoding mode determining unit  26  calculates the sum of the PU costs PuCost of all the PUs contained in the CU, i.e., PuSizeCost=Σ PuCost, as the PU partitioning cost for each PU partitioning mode. Then, the encoding mode determining unit  26  selects the PU partitioning mode that yields the smallest PU partitioning cost among all possible PU partitioning modes. The encoding mode determining unit  26  takes the smallest PU partitioning cost as the inter-predictive coding mode cost InterCu 32 Cost for the attention CU size (in this example, 32). 
     Further, the encoding mode determining unit  26  calculates the intra-predictive coding mode cost IntraCu 32 Cost expected to be incurred when encoding the CU of CUSIZE=32 by intra-predictive coding. In this case, the encoding mode determining unit  26  generates prediction blocks, for example, in accordance with a prediction block creation method defined in the HEVC standard and selectable in the intra-predictive coding mode, and calculates the cost for each prediction block in accordance with the earlier given SAD-calculating equation. Then, the encoding mode determining unit  26  determines the cost IntraCu 32 Cost by selecting the smallest cost among the costs calculated for the respective prediction images. 
     The encoding mode determining unit  26  selects, as the encoding mode to be applied to the CU size, the intra-predictive coding mode that yields the mode cost IntraCu 32 Cost or the inter-predictive coding mode that yields the mode cost InterCu 32 Cost, whichever is smaller in terms of the mode cost. The selected encoding mode is indicated by a flag predModeFlag (=intra-predictive coding mode or inter-predictive coding mode). The encoding mode determining unit  26  takes the smaller cost as the cost Cu 32 Cost for CUSIZE=32. When any one of the PUs contained in the CU is disabled, InterCu 32 Cost is set to an invalid value. In this case, the encoding mode determining unit  26  selects the intra-predictive coding mode for the CU of CUSIZE=32. 
     Next, the encoding mode determining unit  26  sets CUSIZE to 16, and repeats the same process as described above. Lastly, the encoding mode determining unit  26  compares the cost Cu 32 Cost for CUSIZE=32 with the sum of the costs of the four CUs of CUSIZE=16, and selects the smaller cost. Then, the encoding mode determining unit  26  determines the CU size, PU partitioning mode, and encoding mode (in the case of the inter-predictive coding mode, the inter-prediction mode) corresponding to the smaller cost. 
     In this way, when there is no spatial prediction vector for any one of the PUs contained in the CU, the encoding mode determining unit  26  determines the intra-predictive coding mode as the encoding mode to be applied to the CU containing such a PU. 
     According to a modified example, for any CU whose CU inhibiting index is not “0”, the encoding mode determining unit  26  may forcefully set the encoding mode for that CU to the intra-predictive coding mode. This serves to reduce the amount of computation needed for the selection of the encoding mode. 
     The predictive encoding unit  27  generates a prediction block for each PU in accordance with the encoding mode determined by the encoding mode determining unit  26  on a CU-by-CU basis, and generates encoded data for each CU by quantizing the prediction errors between the prediction blocks and the respective PUs. 
     More specifically, the predictive encoding unit  27  calculates the difference between the PU to be encoded and the prediction block. Then, the predictive encoding unit  27  generates a prediction error signal by taking the difference value obtained by the difference calculation for each pixel in the PU. 
     The predictive encoding unit  27  orthogonal-transforms the prediction error signal of the TU to be encoded and thereby obtains frequency signals representing the horizontal and vertical frequency components of the prediction error signal. For example, the predictive encoding unit  27  obtains a set of DCT coefficients as the frequency signals for each TU by applying DCT (Discrete Cosine Transform) as the orthogonal transform to the prediction error signal. 
     Next, the predictive encoding unit  27  quantizes the frequency signals to calculate the quantized coefficients of the frequency signals. The quantization is a process for representing the signal values contained within a given section by one signal value. The size of this given section is referred to as the quantization step size. For example, the predictive encoding unit  27  quantizes each frequency signal by dropping from the frequency signal a predetermined number of low-order bits corresponding to the quantization step size. The quantization step size is determined by a quantization parameter. For example, the predictive encoding unit  27  determines the quantization step size to be used, in accordance with a function that expresses the quantization step size as a function of the value of the quantization parameter. A function monotonically increasing with the value of the quantization parameter may be used as the above function, and this function is set in advance. 
     Alternatively, a plurality of quantization matrices for defining the quantization step sizes for the horizontal and vertical frequency components are constructed in advance and stored in a memory maintained within the predictive encoding unit  27 . Then, in accordance with the quantization parameter, the predictive encoding unit  27  selects a specific quantization matrix from among the quantization matrices stored in the memory. The predictive encoding unit  27  may then determine the quantization step size for each frequency component of the frequency signal by referring to the selected quantization matrix. 
     The predictive encoding unit  27  may determine the quantization parameter by using one of the various quantization parameter determining methods defined in video coding standards such as HEVC. For example, the predictive encoding unit  27  may use a quantization parameter computing method defined for the MPEG-2 Standard Test Model 5. For the quantization parameter computing method defined for the MPEG-2 Standard Test Model 5, refer, for example, to the URL designated by http://www.mpeg.org/MPEG/MSSG/tm5/Ch10/Ch10.html. 
     The predictive encoding unit  27  can reduce the amount of information contained in the TU to be encoded, because the number of bits used to represent each frequency component of the frequency signal can be reduced by quantization. The predictive encoding unit  27  supplies the quantized coefficients as encoded data to the entropy encoding unit  28 . 
     Using the quantized coefficients of the TU to be encoded, the predictive encoding unit  27  generates a reference region to be used for encoding subsequent blocks. To that end, the predictive encoding unit  27  inverse-quantizes each quantized coefficient by multiplying it with a predetermined number corresponding to the quantization step size determined by the quantization parameter. By this inverse quantization, the frequency signals of the TU to be encoded, for example, a set of DCT coefficients, are reconstructed. After that, the predictive encoding unit  27  applies an inverse orthogonal transform to the frequency signals. For example, when the frequency signals are computed by the predictive encoding unit  27  using a DCT process, the predictive encoding unit  27  applies an inverse DCT to the reconstructed frequency signals. By thus applying the inverse quantization and inverse orthogonal transform to the quantized signals, the prediction error signal is reconstructed that has approximately the same information as the original prediction error signal. 
     The predictive encoding unit  27  adds, to the value of each pixel in the prediction block, the reconstructed prediction error signal corresponding to the pixel. By applying the above processing operations to each block, the predictive encoding unit  27  generates a reference block which is used to generate a prediction block for the PU to be encoded thereafter. 
     Each time a reference block is generated, the predictive encoding unit  27  stores the reference block in a memory maintained within the predictive encoding unit  27 . 
     The memory maintained within the predictive encoding unit  27  temporarily stores the sequentially generated reference blocks. The reference region to be referred to when encoding subsequent pictures is obtained by splicing all the reference blocks contained in the region encoded by one encoder in the same order as the blocks are encoded. The memory maintained within the predictive encoding unit  27  stores a predetermined number of reference regions to which the picture to be encoded may refer; then, as the number of reference regions exceeds the predetermined number, the reference regions are discarded in the same order as they were encoded. 
     According to a modified example, the video encoding apparatus may include a shared memory that stores a reference picture created by splicing together the reference regions obtained from the respective encoders and that can be accessed from the respective encoders. In this case, since each encoder can use the reference picture to generate the prediction block and motion vector when encoding each CU/PU by inter-predictive coding, the encoder can also use information pertaining to a region contained in the already encoded picture and encoded by another encoder. 
     The memory maintained within the predictive encoding unit  27  further stores a motion vector for each of the inter-coded reference blocks. 
     Further, the predictive encoding unit  27  performs block matching between the PU to be encoded and the reference region or reference picture in order to generate the prediction block for inter-coding. Then, the predictive encoding unit  27  obtains the motion vector by determining the reference region or reference picture that best matches the PU to be encoded and the position in the reference region or reference picture. 
     The predictive encoding unit  27  generates the prediction block in accordance with the encoding mode selected by the encoding mode determining unit  26 . When the PU is to be encoded by inter-predictive coding, the predictive encoding unit  27  generates the prediction block by performing motion compensation on the reference region or reference picture by using the motion vector. 
     On the other hand, when the PU is to be encoded by intra-predictive coding, the predictive encoding unit  27  generates the prediction block from the block adjacent to the PU to be encoded. In this case, the predictive encoding unit  27  generates the prediction block in accordance with the intra-mode determined by the encoding mode determining unit  26  from among, for example, the various intra-modes defined in HEVC. 
     The entropy encoding unit  28  outputs bitstreams obtained by entropy-encoding the quantized signals, the motion vector prediction error signal, etc. supplied from the predictive encoding unit  27 . Then, the control unit (not depicted) splices the output bitstreams in a prescribed order, and appends header information, etc. defined in coding standards such as HEVC, to obtain the encoded video data. 
       FIG. 22  is an operation flowchart of a video encoding process which is performed by the video encoding apparatus  1 . The video encoding apparatus  1  encodes pictures on a picture-by-picture basis in accordance with the following operation flowchart. 
     The dividing unit  10  divides each picture into a plurality of regions (step S 501 ). Each region contains at least one tile, and the boundary between two adjacent regions defines a tile boundary. Each region is input to a corresponding one of the encoders  11 - 1  to  11 - n . The inter-prediction inhibit target CTU determining unit  22  in the encoder identifies, based on the region boundary, a CTU for which the application of the inter-predictive coding mode is inhibited (step S 502 ). 
     The inter-prediction inhibit target CU determining unit  23  in the encoder identifies, from within the CTU for which the application of the inter-predictive coding mode is inhibited, a CU for which the application of the inter-predictive coding mode is inhibited (step S 503 ). In the case of a CTU for which the application of the inter-predictive coding mode is not inhibited, the application of the inter-predictive coding mode is not inhibited for any sub-block (CU, PU) contained in that CTU. 
     Then, the inter-prediction inhibit target PU determining unit  24  in the encoder identifies, from within the CU for which the application of the inter-predictive coding mode is inhibited, a PU for which the application of the inter-predictive coding mode is inhibited (step S 504 ). In the case of a CU for which the application of the inter-predictive coding mode is not inhibited, the application of the inter-predictive coding mode is not inhibited for any PU contained in the CU. 
     In the case of a PU for which the application of the temporal vector mode is prohibited, the vector mode determining unit  25  in the encoder selects prediction vector candidates without applying the temporal vector mode. On the other hand, in the case of a PU for which the application of the temporal vector mode is not prohibited, the vector mode determining unit  25  selects prediction vector candidates by applying the temporal vector mode (step S 505 ). Then, the vector mode determining unit  25  selects the prediction vector for each PU from among the prediction vector candidates (step S 506 ). 
     The encoding mode determining unit  26  in the encoder determines, for each CTU, the encoding mode to be applied and the CU/PU combination that minimizes the coding cost (step S 507 ). In the case of a CU containing a PU for which the application of the inter-predictive coding mode is inhibited, the encoding mode determining unit  26  calculates the coding cost without using any prediction vector candidates selected by the temporal vector mode. Further, the encoding mode determining unit  26  determines the CU/PU combination so as not to select any disabled CU. 
     The predictive encoding unit  27  in the encoder predictive-encodes each CTU in accordance with the determined encoding mode (step S 508 ). Then, the entropy encoding unit  28  in the encoder entropy-encodes the encoded data obtained by predictive encoding (step S 509 ). The entropy-encoded encoded data from the encoder is supplied to the multiplexing unit  12 . 
     The multiplexing unit  12  which received the encoded data of the respective regions from the respective encoders  11 - 1  to  11 - n  arranges the encoded data in a prescribed order, for example, in raster scan order, and generates encoded data for one picture by appending prescribed header information conforming to HEVC (step S 510 ). Then, the multiplexing unit  12  outputs the encoded data of each picture in accordance with a prescribed picture sequence. After step S 510 , the video encoding apparatus  1  terminates the video encoding process. 
     As has been described above, the video encoding apparatus divides each picture into a plurality of regions with region boundaries defining the tile boundaries, and encodes the respective regions by using different encoders. Then, each encoder in the video encoding apparatus identifies, from among the PUs contained in the region to be encoded by the encoder, a PU that may select as the prediction vector candidate the motion vector of a block contained in the region encoded by another encoder. Then, the video encoding apparatus prohibits the application of the temporal vector mode to the identified PU, so that the motion vector used to determine the temporal prediction vector need not be shared among the encoders. Thus, the video encoding apparatus eliminates the need for a memory for storing the motion vectors to be shared among the encoders. 
     Next, a video encoding apparatus according to a second embodiment will be described. In the video encoding apparatus according to the second embodiment, a flag that indicates whether a block that may be referred to by another encoder when the temporal vector mode is applied has been intra-predictive encoded or inter-predictive encoded is shared among the encoders. The block that may be referred to by another encoder when the temporal vector mode is applied will hereinafter be referred to as the referenced block. Then, for any PU that may select the motion vector of a block contained in the region encoded by another encoder, the encoder examines the flag of the referenced block. When the referenced block is inter-predictive encoded, the encoder generates a dummy temporal prediction vector as a prediction vector candidate, but selects the prediction vector from among other prediction vector candidates than the dummy temporal prediction vector. 
       FIG. 23  is a diagram schematically illustrating the configuration of the video encoding apparatus according to the second embodiment. The video encoding apparatus  2  includes a dividing unit  10 , a plurality of encoders  11 - 1  to  11 - n  (n is an integer not smaller than 2), a multiplexing unit  12 , and a shared memory  13 . The video encoding apparatus of the second embodiment differs from the video encoding apparatus of the first embodiment in that the shared memory  13  is provided and in that part of the processing performed by each encoder is different from that of the first embodiment. The following therefore describes the shared memory  13  and the processing that each encoder performs in conjunction with the shared memory  13 . For the other component elements of the video encoding apparatus of the second embodiment, refer to the description earlier given of the corresponding component elements of the first embodiment. 
     The shared memory  13  includes, for example, a readable/writable volatile semiconductor memory circuit. The shared memory  13  is accessible from any of the encoders  11 - 1  to  11 - n , and stores information to be shared among the encoders  11 - 1  to  11 - n . The shared information is, for example, a flag predModeFlag which indicates whether the referenced block is intra-predictive encoded or inter-predictive encoded. The flag predModeFlag is one example of the encoding mode information. The referenced block is a block that serves as ColPU for a PU that is adjacent on the left side of a region containing the referenced block and that is contained in a region encoded by another encoder. In other words, for each block of, for example, 16×16 pixels, whose left edge contacts a region boundary, the flag predModeFlag is output from the encoding mode determining unit  26  in the encoder, and is stored in the shared memory  13 . Since the flag predModeFlag is represented by one bit, it follows that one-bit information is shared among the encoders for each 16×16 pixel block whose left edge contacts a region boundary. 
     When determining the prediction vector for the prediction inhibit target PU, the vector mode determining unit  25  in the encoder examines the flag predModeFlag of the ColPU located across the region boundary from the prediction inhibit target PU and contained in the region encoded by another encoder. When the ColPU is intra-predictive encoded, there is no temporal prediction vector for the prediction inhibit target PU; therefore, the vector mode determining unit  25  determines the prediction vector in the same manner as for a PU that is not a prediction inhibit target PU. On the other hand, when the ColPU is inter-predictive encoded, there is a temporal prediction vector for the prediction inhibit target PU. Therefore, the vector mode determining unit  25  registers a dummy temporal prediction vector in the prediction vector candidate list. Then, after completing the prediction vector candidate list, the vector mode determining unit  25  determines the prediction vector by selecting from the list a prediction vector candidate other than the dummy temporal prediction vector. 
     For example, in the AMVP mode, the vector mode determining unit  25  registers the dummy temporal prediction vector in the candidate list mvpListLX in step S 106  in the flowchart of  FIG. 3 . Since the temporal prediction vector is no more than one candidate, the candidate list mvpListLX completed before proceeding to step S 109  invariably contains a selectable prediction vector candidate other than the dummy temporal prediction vector. Therefore, in step S 109 , the vector mode determining unit  25  determines the prediction vector mvpLX by selecting the vector other than the dummy temporal prediction vector from the two prediction vector candidates registered in the candidate list mvpListLX. Then, the vector mode determining unit  25  sets the syntax mvpLxFlag to indicate the position of the element at which the selected vector is stored in the candidate list mvpListLX. 
     Similarly, in the merge mode, when the ColPU is inter-predictive encoded, the combined bi-predictive vector mode is executed, and the temporal prediction vector may become the prediction vector. Therefore, in the merge mode, when the ColPU is inter-predictive encoded, no temporal prediction vector is created in step S 202  in the flowchart of  FIG. 6 , and in step S 203 , no temporal prediction vector is registered in the candidate list mergeCandList. Further, in step S 206 , a combined bi-predictive vector that uses the temporal prediction vector is not obtained, and such a combined bi-predictive vector is therefore not registered in the candidate list mergeCandList. Then, in step S 209 , the vector mode determining unit  25  selects the candidate that minimizes the error from among the usable merge vector candidates that are registered in the candidate list mergeCandList and the number of which (five at maximum) is specified by MaxNumMergeCand, and takes the selected candidate as the merge vector mvLXN. Then, the vector mode determining unit  25  sets the syntax mergeIdx to indicate the position of the element at which the selected vector is stored in the candidate list mergeCandList. In other words, according to the second embodiment, the prediction vector candidate determined from the temporal prediction vector or zero vector is selected as the prediction vector. 
     As has been described above, the video encoding apparatus according to the second embodiment shares the flag predModeFlag of the referenced block among the respective encoders. Accordingly, the video encoding apparatus can increase the number of prediction vector candidates or the number of selectable prediction modes, compared with the case where the application of the temporal vector mode is simply prohibited for any PU that may select the motion vector of a block contained in the tile encoded by another encoder. Since this allows the video encoding apparatus to select a more appropriate prediction vector or prediction mode, the video reproduction quality can be enhanced. Furthermore, since the video encoding apparatus need only share one-bit flag predModeFlag for each block whose left edge contacts a tile boundary, the memory capacity needed to store the shared information can be reduced, compared with the case where the motion vectors of such blocks are shared among the encoders. 
       FIG. 24  is a diagram illustrating the configuration of a computer that operates as the video encoding apparatus by executing a computer program for implementing the functions of the various units constituting the video encoding apparatus according to any one of the above embodiments or their modified examples. 
     The computer  100  includes a user interface unit  101 , a communication interface unit  102 , a storage unit  103 , a storage media access device  104 , and a processor  105 . The processor  105  is connected to the user interface unit  101 , communication interface unit  102 , storage unit  103 , and storage media access device  104 , for example, via a bus. 
     The user interface unit  101  includes, for example, an input device such as a keyboard and mouse and a display device such as a liquid crystal display. Alternatively, the user interface unit  101  may include a device, such as a touch panel display, into which an input device and a display device are integrated. The user interface unit  101  generates, for example, in response to a user operation, an operation signal for selecting the video data to be encoded, and supplies the operation signal to the processor  105 . 
     The communication interface unit  102  may include a communication interface for connecting the computer  100  to a video data generating apparatus such as a video camera, and a control circuit for the communication interface. Such a communication interface may be, for example, a Universal Serial Bus (USB) interface. 
     Further, the communication interface unit  102  may include a communication interface for connecting to a communication network conforming to a communication standard such as the Ethernet (registered trademark), and a control circuit for the communication interface. 
     In this case, the communication interface unit  102  acquires video data to be encoded from another apparatus connected to the communication network, and passes the data to the processor  105 . The communication interface unit  102  may receive encoded video data from the processor  105  and may transmit the data to another apparatus via the communication network. 
     The storage unit  103  includes, for example, a readable/writable semiconductor memory and a read-only semiconductor memory. The storage unit  103  stores a computer program for implementing the video encoding process to be executed on the processor  105 , and also stores data generated as a result of or during the execution of the program. 
     The storage media access device  104  is a device that accesses a storage medium  106  such as a magnetic disk, a semiconductor memory card, or an optical storage medium. The storage media access device  104  accesses the storage medium  106  to read out, for example, the video encoding computer program to be executed on the processor  105 , and passes the readout computer program to the processor  105 . 
     The processor  105  generates the encoded video data by executing the video encoding computer program according to any one of the above embodiments or their modified examples. The processor  105  passes the encoded video data thus generated to the storage unit  103  for storing therein, or transmits the encoded video data to another apparatus via the communication interface unit  102 . 
     A computer program executable on a processor to implement the functions of the various units constituting the video encoding apparatus  1  may be provided in the form recorded on a computer readable recording medium. The term “recording medium” here does not include a carrier wave. 
     All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.