An apparatus for encoding a moving image, the apparatus comprising: a segment-unit-coding module for determining a number of segments which are included in an input image frame to be encoded, and dividing, based on the determined number of the segments, the input image frame to be encoded into a plurality of the segments, the input image frame to be encoded being divided into rectangular segments by at least one vertical boundary line; a macroblock-unit-coding module for dividing each of the segments into a plurality of blocks and encoding each of the segments by a block unit; and a reference frame storing unit for storing a reconstructed image frame to which a deblocking filter is applied, wherein the plurality of the segments are encoded independently of each other, wherein each of the segments is encoded using at least one of the motion prediction or intra prediction, wherein the input image frame to be encoded comprises a first segment, a second segment and a third segment, wherein the macroblock-unit-coding module comprises: an inter prediction unit and a transform/quantization unit for (a) estimating an integer pixel motion for a block included in a segment, the segment being included in the input image frame to be encoded; (b) estimating a 1/2 or 1/4 pixel motion for the block included in the segment; and (c) generating a prediction signal of a 1/2 or 1/4 pixel image for the block included in the segment using a motion vector determined by steps (a) and (b), and encoding a residual signal for the block included in the first segment by performing a transform and a quantization on the residual signal, the residual being a difference between an original signal relating to the block included in the first segment and the prediction signal. wherein step (c) for a block included in the first segment, step (b) for a block included in the second segment and step (a) for a block included in the third segment are performed independently of each other in order to process each of the segments in parallel. a segment-unit-coding module for determining a number of segments which are included in an input image frame to be encoded, and dividing, based on the determined number of the segments, the input image frame to be encoded into a plurality of the segments, the input image frame to be encoded being divided into rectangular segments by at least one vertical boundary line; a macroblock-unit-coding module for dividing each of the segments into a plurality of blocks and encoding each of the segments by a block unit; and a reference frame storing unit for storing a reconstructed image frame to which a deblocking filter is applied, wherein the plurality of the segments are encoded independently of each other, wherein each of the segments is encoded using at least one of the motion prediction or intra prediction, wherein the input image frame to be encoded comprises a first segment, a second segment and a third segment, wherein the macroblock-unit-coding module comprises: an inter prediction unit and a transform/quantization unit for (a) estimating an integer pixel motion for a block included in a segment, the segment being included in the input image frame to be encoded; (b) estimating a 1/2 or 1/4 pixel motion for the block included in the segment; and (c) generating a prediction signal of a 1/2 or 1/4 pixel image for the block included in the segment using a motion vector determined by steps (a) and (b), and encoding a residual signal for the block included in the first segment by performing a transform and a quantization on the residual signal, the residual being a difference between an original signal relating to the block included in the first segment and the prediction signal. wherein step (c) for a block included in the first segment, step (b) for a block included in the second segment and step (a) for a block included in the third segment are performed independently of each other in order to process each of the segments in parallel. an inter prediction unit and a transform/quantization unit for (a) estimating an integer pixel motion for a block included in a segment, the segment being included in the input image frame to be encoded; (b) estimating a 1/2 or 1/4 pixel motion for the block included in the segment; and (c) generating a prediction signal of a 1/2 or 1/4 pixel image for the block included in the segment using a motion vector determined by steps (a) and (b), and encoding a residual signal for the block included in the first segment by performing a transform and a quantization on the residual signal, the residual being a difference between an original signal relating to the block included in the first segment and the prediction signal. (a) estimating an integer pixel motion for a block included in a segment, the segment being included in the input image frame to be encoded; (b) estimating a 1/2 or 1/4 pixel motion for the block included in the segment; and (c) generating a prediction signal of a 1/2 or 1/4 pixel image for the block included in the segment using a motion vector determined by steps (a) and (b), and encoding a residual signal for the block included in the first segment by performing a transform and a quantization on the residual signal, the residual being a difference between an original signal relating to the block included in the first segment and the prediction signal. wherein step (c) for a block included in the first segment, step (b) for a block included in the second segment and step (a) for a block included in the third segment are performed independently of each other in order to process each of the segments in parallel.