WO2019009447A1 - 영상을 부호화/복호화 하는 방법 및 그 장치 - Google Patents

영상을 부호화/복호화 하는 방법 및 그 장치 Download PDF

Info

Publication number
WO2019009447A1
WO2019009447A1 PCT/KR2017/007258 KR2017007258W WO2019009447A1 WO 2019009447 A1 WO2019009447 A1 WO 2019009447A1 KR 2017007258 W KR2017007258 W KR 2017007258W WO 2019009447 A1 WO2019009447 A1 WO 2019009447A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
encoding
encoding unit
dnn
Prior art date
Application number
PCT/KR2017/007258
Other languages
English (en)
French (fr)
Inventor
김재환
박영오
박정훈
이종석
전선영
최광표
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to PCT/KR2017/007258 priority Critical patent/WO2019009447A1/ko
Priority to US16/468,338 priority patent/US11190784B2/en
Priority to EP19183429.0A priority patent/EP3567857A1/en
Priority to CN201880013752.8A priority patent/CN110337813B/zh
Priority to PCT/KR2018/001542 priority patent/WO2019009490A1/ko
Priority to KR1020207000378A priority patent/KR102285737B1/ko
Publication of WO2019009447A1 publication Critical patent/WO2019009447A1/ko
Priority to US16/750,615 priority patent/US10986356B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking

Definitions

  • the method and apparatus according to an embodiment of the present invention is an invention for changing the original signal and the decoded signal in order to improve the efficiency of encoding and decoding before and after the encoding or decoding of the image.
  • the video data is encoded by a codec according to a predetermined data compression standard, for example, a Moving Picture Expert Group (MPEG) standard, and then stored in a recording medium in the form of a bit stream or transmitted over a communication channel.
  • a codec for example, a Moving Picture Expert Group (MPEG) standard
  • a method of reconstructing an image comprising: obtaining a residual signal of a compressed image obtained by down-sampling an image from a bitstream; Decoding the compressed and compressed image using the prediction signal obtained by performing the residual signal and prediction; And compressing the compressed image by performing compression upsampling using a DNN (Deep Neural Network), wherein the DNN includes an upsampling process using information generated in the downsampling process,
  • DNN Deep Neural Network
  • a method of compressing an image includes: determining a compressed image by performing down-sampling using DNN for an image; Performing a prediction based on the compressed image to determine a prediction signal; Determining a residual signal based on the compressed image and the prediction signal; And generating a bitstream including information on a residual signal, wherein the DNN has a network structure determined through learning of a downsampling process using information generated in an upsampling process, Can be provided.
  • an apparatus for compressing an image comprising: a residual signal obtaining unit for obtaining a residual signal for a compressed image obtained by downsampling an image from a bitstream; And a compression unit for decoding the compressed image using the prediction signal obtained by performing the residual signal and prediction and compressing the image by performing up-sampling using the DNN to the decoded compressed image.
  • the DNN is generated in the down- And a network structure determined through learning of an upsampling process using information to be transmitted to the image compression apparatus.
  • the encoding and decoding efficiency can be improved by reducing the amount of data processing performed in the encoding and decoding of images having a large amount of information.
  • FIG. 1A is a block diagram of an image restoration apparatus for restoring an image according to an embodiment.
  • FIG. 1B shows a block diagram of an image compression apparatus 150 for compressing an image according to an embodiment.
  • FIG. 2A is a flowchart illustrating an image restoration process that the image restoration apparatus 100 can perform according to an embodiment.
  • 2B is a flowchart illustrating an image compression process that can be performed by the image compression apparatus 150 according to an embodiment of the present invention.
  • FIG. 3 is a diagram for explaining a process in which a compressed image is reconstructed through a coding and decoding process according to an embodiment.
  • FIG. 4 is a view for explaining a deep convoluted neural network included in the DNN.
  • FIG. 5A is a diagram for explaining the up-sampling operation of spatial information using DNN according to an embodiment.
  • FIG. 5B is a view for explaining a down-sampling operation of spatial information using DNN according to an embodiment.
  • FIG. 6 is a diagram for explaining that the types of filter kernels used in up-sampling or down-sampling may be different according to an embodiment.
  • FIG. 7A is a diagram for explaining a feature of performing filtering using a plurality of filter kernels in a predetermined layer among a plurality of layers included in a DNN according to an embodiment.
  • FIG. 7B is a diagram for explaining a filtering process using characteristic maps determined by filtering with a plurality of sizes of filter kernels according to an exemplary embodiment.
  • FIG. 8 is a diagram illustrating loss information generated in a DNN for downsampling according to an embodiment.
  • FIG. 9 is a diagram illustrating loss information generated in DNN for up-sampling.
  • FIG. 10 illustrates a process in which at least one encoding unit is determined by dividing a current encoding unit according to an embodiment.
  • FIG. 11 illustrates a process in which at least one encoding unit is determined by dividing a non-square encoding unit according to an embodiment.
  • FIG. 12 illustrates a process in which an encoding unit is divided based on at least one of block type information and division type information according to an embodiment.
  • FIG. 13 illustrates a method of determining a predetermined encoding unit among odd number of encoding units according to an embodiment.
  • FIG. 14 shows a sequence in which a plurality of encoding units are processed when a current encoding unit is divided to determine a plurality of encoding units according to an embodiment.
  • FIG. 15 illustrates a process in which, when an encoding unit can not be processed in a predetermined order according to an embodiment, it is determined that the current encoding unit is divided into odd number of encoding units.
  • FIG. 16 illustrates a process in which a first encoding unit is divided into at least one encoding unit according to an embodiment of the present invention.
  • FIG. 17 shows that when the non-square type second coding unit determined by dividing the first coding unit according to an embodiment satisfies a predetermined condition, the form in which the second coding unit can be divided is limited .
  • FIG. 18 illustrates a process of dividing a square-shaped encoding unit when the division type information can not indicate division into four square-shaped encoding units according to an embodiment
  • FIG. 19 illustrates that the processing order among a plurality of coding units may be changed according to the division process of the coding unit according to an embodiment.
  • FIG. 20 illustrates a process of determining the depth of an encoding unit according to a change in type and size of an encoding unit when the encoding unit is recursively divided according to an embodiment to determine a plurality of encoding units.
  • FIG. 21 illustrates a depth index (PID) for coding unit classification and depth that can be determined according to the type and size of coding units according to an exemplary embodiment.
  • PID depth index
  • FIG. 22 shows that a plurality of coding units are determined according to a plurality of predetermined data units included in a picture according to an embodiment.
  • FIG. 23 shows a processing block serving as a reference for determining a determination order of a reference encoding unit included in a picture according to an embodiment.
  • a method of reconstructing an image comprising: obtaining a residual signal of a compressed image obtained by down-sampling an image from a bitstream; Decoding the compressed and compressed image using the prediction signal obtained by performing the residual signal and prediction; And compressing the compressed image by performing compression upsampling using a DNN (Deep Neural Network), wherein the DNN includes an upsampling process using information generated in the downsampling process,
  • DNN Deep Neural Network
  • the upsampling of the image reconstruction method includes a step of performing upsampling using a deep convolutional neural network including a plurality of layers (hidden layers) .
  • the step of performing the upsampling using the convolutional neural network of the image reconstruction method includes: performing upsampling by performing filtering for each of a plurality of layers using at least one of a plurality of filter kernels And the type of the plurality of filter kernels may be different from the type of the filter kernels used when downsampling.
  • the step of performing the upsampling of the image reconstruction method may include performing filtering using at least one filter kernel in each of the plurality of layers of the DNN.
  • the filtering of the image restoration method may include performing filtering using a plurality of filter kernels in a layer where a plurality of filter kernels among a plurality of layers are used; Concatenating a plurality of signals obtained according to a filtering result; And performing filtering at the next layer by using the coupled signals as input to the next layer.
  • the step of connecting the plurality of signals of the image restoration method includes the steps of: when characteristic maps including a plurality of signals have different sizes, performing padding; And concatenating the padded property maps.
  • the DNN for upsampling includes at least one loss information determined by comparing a compressed image by performing upsampling after a compressed image is decoded and an original image before downsampling is performed The sum is learned so that the sum is minimized, and at least one of the loss information is used in the learning process of the DNN for downsampling.
  • a method of compressing an image includes: determining a compressed image by performing down-sampling using DNN for an image; Performing a prediction based on the compressed image to determine a prediction signal; Determining a residual signal based on the compressed image and the prediction signal; And generating a bitstream including information on a residual signal, wherein the DNN has a network structure determined through learning of a downsampling process using information generated in an upsampling process, Can be provided.
  • the step of determining a compressed image of the image compression method may include a step of determining a compressed image using a deep convolutional neural network including a plurality of layers.
  • the step of determining a compressed image of the image compression method may include generating a compressed image by performing filtering using at least one of a plurality of filter kernels for each of a plurality of layers.
  • the filtering of the image compression method includes performing filtering on a plurality of filter kernels in a layer where a plurality of filter kernels among a plurality of layers are used; Concatenating a plurality of signals obtained according to the convolution result; And performing filtering at the next layer by using the coupled signals as input to the next layer.
  • the step of generating a bitstream of the image compression method includes generating a bitstream including sampling information indicating a degree of reduction of at least one of a size of an image and a frame rate of the image by downsampling And a step of generating the data.
  • a DNN for downsampling is learned so that the sum of at least one loss information indicating a loss caused by downsampling using DNN is minimized.
  • Some of the loss information is determined based on the result of the comparison between the compressed image and the original image before the downsampling is performed by performing the upsampling after the compressed image is decoded, And the like.
  • an apparatus for compressing an image comprising: a residual signal obtaining unit for obtaining a residual signal for a compressed image obtained by downsampling an image from a bitstream; And a compression unit for decoding the compressed image using the prediction signal obtained by performing the residual signal and prediction and compressing the image by performing up-sampling using the DNN to the decoded compressed image.
  • the DNN is generated in the down- And a network structure determined through learning of an upsampling process using information to be transmitted to the image compression apparatus.
  • part refers to a hardware component such as software, FPGA or ASIC, and “ part " However, “ part “ is not meant to be limited to software or hardware. &Quot; Part " may be configured to reside on an addressable storage medium and may be configured to play back one or more processors.
  • part (s) refers to components such as software components, object oriented software components, class components and task components, and processes, Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables.
  • the functions provided in the components and “ parts " may be combined into a smaller number of components and “ parts “ or further separated into additional components and “ parts ".
  • the " image” may be a static image such as a still image of a video or a dynamic image such as a moving image, i.e., the video itself.
  • the " signal " or " sample” hereinafter refers to data to be processed as data assigned to a sampling position of an image.
  • pixel values in the image of the spatial domain, and transform coefficients on the transform domain may be samples.
  • a unit including at least one of these samples may be defined as a block.
  • FIG. 1A shows a block diagram of an image restoration apparatus 100 for restoring an image according to an embodiment.
  • the image reconstruction apparatus 100 includes a bitstream acquisition unit 110 that can acquire a bitstream and obtain information related to an encoded image, and a reconstructed image using information obtained from the bitstream And a restoration unit 120 that can perform the process of restoring the image.
  • the reconstruction unit 120 may acquire various information used in the encoding process of the image using the bitstream obtained by the bitstream obtaining unit 110, The image can be restored by performing the decoding process.
  • the restoration unit 120 may execute a program command stored in a memory and / or a storage device.
  • the restoring unit 120 may include at least one processor including a central processing unit (CPU), a graphics processing unit (GPU), and the like.
  • FIG. 2A is a flowchart illustrating an image restoration process that the image restoration apparatus 100 can perform according to an embodiment.
  • the bitstream acquisition unit 110 of the image reconstruction apparatus 100 may acquire a residual signal for a compressed image obtained by downsampling an image from the bitstream according to an exemplary embodiment.
  • the residual signal obtained from the bitstream by the image reconstruction apparatus 100 according to an embodiment may be a result of encoding based on the downsampled image in the compression process of the image.
  • FIG. 3 is a diagram for explaining a process in which a compressed image is reconstructed through a coding and decoding process according to an embodiment.
  • the original image 300 may be encoded (304) to generate a bitstream that is a result of being transformed into a frequency domain.
  • the amount of information of the original signal 300 can be reduced through the process of encoding the original signal 300.
  • a residual signal generation process corresponding to the difference between the original signal 300 and the prediction signal, a process of transforming the residual signal, which is a spatial domain component, into a frequency domain component, A process of quantizing the residual residual signal, and a process of generating a bitstream by entropy coding the quantized residual signal.
  • the decoding of the bit stream for the residual signal 306 is performed to transform the residual signal, which is a frequency domain component, into the spatial domain component, and the reconstructed image 309 can be generated based on the residual signal.
  • a compressed image 303 obtained by downsampling 302 the original image 300 can be generated, and the compressed image 303 can be encoded 304.
  • the decoded compressed image 307 can be determined and up-sampling 308 for the decoded compressed image 307 is performed, (309) can be determined.
  • downsampling 302 and upsampling 308 may be performed using a DNN (Deep Neural Network), and downsampling 302 and upsampling 308 using DNN may be performed in various embodiments Will be described later.
  • DNN Deep Neural Network
  • the image reconstruction apparatus 100 may decode the compressed image using the prediction signal obtained by performing the residual signal and the prediction according to an embodiment of the present invention.
  • the decompression unit 120 of the image decompression apparatus 100 may divide the compressed image to be decoded based on a predetermined data unit.
  • the reconstruction unit 120 may divide an image into a plurality of maximum encoding units, and decode the image using an encoding unit determined by dividing the maximum encoding unit recursively.
  • the decompression unit 120 may perform a prediction process to decode a signal included in an encoding unit.
  • the restoration unit 120 may add the prediction signal determined through the prediction process and the residual signal obtained in step S200.
  • the restoration unit 120 may perform a predetermined process (e.g., in-loop filtering, DPB storing process, entropy decoding, and the like) for decoding an image in addition to a result of adding the prediction signal and the residual signal have.
  • a predetermined process e.g., in-loop filtering, DPB storing process, entropy decoding, and the like
  • the image decoding process using the prediction signal and the residual signal can be included in various processes that can be easily performed by those skilled in the art.
  • the image reconstruction apparatus 100 may perform up-sampling using the DNN to reconstruct the decoded compressed image.
  • the image decoded in step S202 may correspond to a result obtained by decoding information obtained by encoding a compressed image from a bitstream.
  • the restoring unit 120 may restore the image by performing up-sampling using the DNN for the compressed image decoded in step S202.
  • FIG. 4 is a view for explaining a deep convoluted neural network included in the DNN.
  • the image restoration apparatus 100 may use a DNN including a plurality of layers to perform upsampling.
  • the decompression unit 120 may use a Deep Convolutional Neural Network (DNN) as a DNN that can perform upsampling in order to perform a convolution operation on a plurality of layers.
  • DNN Deep Convolutional Neural Network
  • the deep convoluted neural network may include a plurality of layers (e.g., a plurality of layers including first layer 410 and nth layer 420).
  • each of the plurality of layers constituting the deep convoluted neural network may include convolution layers for generating a plurality of feature maps using filter kernels, Activation layers may be included.
  • the convolution layers may each include a plurality of nodes.
  • the convolution layer may generate a plurality of characteristic maps using a plurality of filter kernels.
  • the characteristic maps generated by the nodes of the convolution layer can be input to the activation layer.
  • the restoration unit 120 may perform convolution operation and activation for each of a plurality of nodes 411, 412, and 413 included in the first layer 410.
  • the reconstruction unit 120 reconstructs the convolution of the input signal of the first layer (for example, the input 400 as the compression signal) in the convolution layers CL1_1, CL1_2, ..., CL1_a included in the first layer, , And different filter kernels may be used for the convolution operation in each of the convolution layers CL1_1, CL1_2, ..., CL1_a.
  • a convolution operation result may be input to an activation layer associated with each convolution layer to activate a result of the convolution operation in each of the convolution layers CL1_1, CL1_2, ..., CL1_a.
  • the restoration unit 120 may determine a plurality of characteristic maps of the first layer 410 by activating the convolution operation result.
  • the number of characteristic maps obtained in a specific layer may be proportional to the number of filter kernels.
  • the characteristic map acquired in a specific layer can be used as an input value of the next layer. That is, the characteristic map obtained in the first layer 410 is input to the nth layer 420 (n > 1), and convolution operation and activation can be performed.
  • a predetermined signal processing process performed in each layer including convolution operation and activation is referred to as a filtering process.
  • the output signal 440 can be acquired by passing through a fully connected layer 430.
  • the complete connection layer may be connected to the first layer 410 to the nth layer 420.
  • a fully connected layer (FC) can assign different weights to all previous layers.
  • the manner in which the fully connected layer (FC) weights the previous layers can be learned and the manner in which they are learned can involve a variety of ways including a map learning approach.
  • the restoration unit 120 can improve the deep convolutional neural network by changing the manner in which the full connection layer (FC) weights lower layers by learning.
  • the active layer may impart non-linear characteristics to the output of the convolution layer.
  • Deep convoluted neural networks can learn nonlinear functions or parameters using activation layers.
  • Activation layers can use the activation function.
  • the activation function may include, but is not limited to, sigmoid function, tanh function, and ReLU (rectified linear unit) function.
  • the in-depth convoluted neural network can determine the weights of the nodes included in each of the convolution layers.
  • the nodes included in each of the convolutional layers may generate characteristic maps using different filter kernels.
  • the in-depth convoluted neural network can adjust the weights of the filter kernels that generate the property maps by adjusting the weights of the nodes.
  • the restoration unit 120 may change the weights of the nodes included in the convolution layers.
  • the process in which the restoration unit 120 changes the weights of the nodes included in the convolution layers is referred to as a back propagation process.
  • the restoration unit 120 may learn the convolutional neural network through a reverse process.
  • the decompression unit 120 may decode a compressed image, which is a downsampled image using DNN, and then upsample the decoded compressed image using DNN.
  • the downsampling or upsampling process using DNN may correspond to a process of compressing or reducing at least one of temporal information such as spatial information such as resolution of an image and bit rate.
  • FIG. 5A is a diagram for explaining the up-sampling operation of spatial information using DNN according to an embodiment.
  • the decompression unit 120 may perform up-sampling of the decoded compressed image spatially using DNN.
  • the restoration unit 120 may use a DNN for performing various operations related to the convolution operation for upsampling.
  • the decompression unit 120 may perform an up-sampling operation using a DNN to restore a spatial component of a compressed image to a spatial component of an original image before being compressed, Transposed Convolution, un-pooling, and the like.
  • the decompression unit 120 includes a plurality of layers 510, 520, and 530 for performing up-sampling on a plurality of frames included in the compressed image 500, Can be used. At each layer, pre-convolution for upsampling can be performed.
  • the restoring unit 120 can determine a frame whose resolution is increased according to a pre-convolution result performed in each layer.
  • the reconstruction unit 120 may perform pre-convolution for the frame of the compressed image 500 in the first layer 510 and may determine a feature map having a size of Wu_1 x Hu_1 x Au_1 .
  • Wu_1 and Hu_1 may represent the width and height of the characteristic map determined in the first layer 510 and Au_1 may correspond to the number of filter kernels 512 used in the first layer 510.
  • the width Wu_1 and the height Hu_1 of the characteristic map determined in the first layer 510 are set such that the width W0 and the height H0 of the frame of the compressed image input to the first layer 510, Lt; / RTI >
  • the reconstruction unit 120 may perform pre-convolution in the second layer 520 and may determine a characteristic map having a size of Wu_2 x Hu_2 x Au_2.
  • Wu_2 and Hu_2 may represent the characteristic map width and height determined in the second layer 520 and Au_2 may correspond to the number of filter kernels 522 used in the second layer 520.
  • the input of the second layer 520 may correspond to the output of the first layer 510.
  • the width Wu_2 and the height Hu_2 of the characteristic map determined in the second layer 520 are larger than the width Wu_1 and height Hu_1 of the characteristic map of the first layer 510 according to an embodiment.
  • the decompression unit 120 may perform up-sampling of the compressed image 500 using a DNN including n layers.
  • the upsampling performed in the nth layer 530 is performed and the determined characteristic map may have the size of Wu_n x Hu_n x Au_n.
  • the restoration unit 120 may determine the restored image 540 using the characteristic map of the nth layer having a size larger than the frame of the compressed image 500.
  • the decompression unit 120 of the image decompression apparatus 100 may up-sample the compressed image using the DNN.
  • the compressed image may be a temporally compressed image using DNN (e.g., a compressed image whose bit rate is smaller than that of the original image).
  • the restoration unit 120 may use a DNN (e.g., a Convolutional Neural Network (CNN), a Recurrent Neural Network (RNN), or the like)
  • the restoration unit 120 may perform a temporal upsampling by inserting an additional frame between the frames of the two frames, which are input to add an additional frame between a plurality of frames included in the compressed image, according to an embodiment.
  • the up-sampling process using the DNN can be performed in consideration of the bit rate multiplication factor (for example, up-sampling at 30 fps to 60 fps) to be up-sampled, and the number of frames to be added between two frames. , T + 1, t + 2,...) In the frame of the previous time zone (t-1, t-2, ...) by DNN input to restore the frame of time t. At least one of the frames Two or more can be used.
  • the bit rate multiplication factor for example, up-sampling at 30 fps to 60 fps
  • the decompression unit 120 may perform temporal upsampling using a predetermined time frame according to the number of frames required for upsampling. For example, if the number of frames required for temporal upsampling at time t is two, the reconstructing unit 120 may perform upsampling using frames of time periods t-1 and t + 1. For example, if the number of frames required for temporal upsampling in the time period t is three, the reconstructing unit 120 may calculate the time interval t-1, t-2, t + 1 or t-1 t + And upsampling can be performed using a frame of +2 time frame.
  • the restoring unit 120 may use the frames of time periods t-1, t-2, t + 1, and t + The restoring unit 120 may use the frames of the time frame required for the temporal upsampling in order to perform the temporal upsampling of the time period t according to an embodiment.
  • the decompression unit 120 may perform filtering on frames of different time periods used for temporal upsampling to determine a characteristic map for each frame.
  • the restoring unit 120 may concatenate the characteristic maps determined for each time period to determine the characteristic map for the time period frame.
  • the restoring unit 120 may perform filtering (e.g., convolution, etc.) to recover the characteristic map, thereby temporally restoring the frame at time t.
  • the method of connecting the characteristic maps for each time zone may be a method corresponding to the method used in the spatial upsampling process described above.
  • the bitstream acquisition unit 110 of the image reconstruction apparatus 100 may acquire temporal upsampling information from the bitstream, which is information indicating a frame in a time zone requiring temporal upsampling,
  • the restoring unit 120 may perform time upsampling based on the obtained temporal upsampling information.
  • the image restoration apparatus 100 may perform up-sampling by obtaining change information indicating how much spatial and temporal upsampling should be performed from a bitstream.
  • the decompression unit 120 may increase the resolution of the compressed image based on the change information obtained from the bitstream. For example, when the obtained change information indicates that the resolution of the original image is two times the compressed image, the restoration unit 120 may perform the upsampling using the DNN to increase the resolution of the compressed image by two times.
  • the decompression unit 120 calculates the bit rate of the compressed image Up-sampling, which increases by a factor of two, can be performed using DNN.
  • the image restoration apparatus 100 may perform the upsampling in consideration of the details of the image restoration apparatus 100. It is possible to restore the image optimized for image reproduction by performing up-sampling in consideration of the amount of computation of the image restoration apparatus 100. For example, if the display (not shown) included in the image restoration apparatus 100 supports only the FHD (Full HD) resolution of 1920 x 1080 as the maximum resolution, and the resolution of the compressed image is 1280 x 720, It is possible to perform the upsampling which doubles the resolution of the image.
  • FHD Full HD
  • the restoring unit 120 restores the compressed image having the bit rate of 30 fps
  • the up-sampling may be performed to increase the bit rate of the video signal by two times.
  • the restoring unit 120 calculates the bit rate The bit rate of the compressed image having the resolution of the compressed image is doubled and the resolution of the compressed image is increased 1.5 times.
  • the image restoration apparatus 100 may use a filter kernel for each layer in order to perform up-sampling using DNN.
  • the types of filter kernels available for each layer include a type of a filter kernel for down- Lt; / RTI > That is, the size and number of filter kernels used in the layers included in DNN for downsampling and DNN for upsampling may be different.
  • FIG. 6 is a diagram for explaining that the types of filter kernels used in up-sampling or down-sampling may be different according to an embodiment.
  • a filter kernel is used to perform filtering (e.g., a transposed convolution operation) Can be performed.
  • the type of filter kernel that can be used in the filtering for upsampling according to one embodiment may be different from the type of filter kernel used in the filtering for downsampling. For example, even when the types of the filter kernel sizes used in the DNN for downsampling are 3x3, 3x3, and 5x5, the restoration unit 120 determines the types of the filter kernel sizes used in the DNN for upsampling are 3x3, 5x5, 7x7.
  • the size and number of the filter kernels available in each layer of the DNN according to an exemplary embodiment may be different from the size and number of the filter kernels used in the DNN for downsampling.
  • FIG. 7A is a diagram for explaining a feature of performing filtering using a plurality of filter kernels in a predetermined layer among a plurality of layers included in a DNN according to an embodiment.
  • the restoration unit 120 may perform filtering using one kind of filter kernel for each layer.
  • the decompression unit 120 may use a DNN including a plurality of layers to recover a compressed image, which is the input 700 of the DNN.
  • the restoration unit 120 performs filtering using a filter kernel A_a having a size of Fw_a x Fh_a in a layer 710 among a plurality of layers to extract characteristic maps A_a having a size of W_a x H_a You can decide.
  • the restoration unit 120 may perform filtering using a filter kernel having a plurality of sizes in a predetermined layer. According to one embodiment.
  • the restoration unit 120 may perform filtering using the filter kernel 722 having a size of Fw_b1 x Fh_b1, Fw_b2 x Fh_b2, Fw_b3 x Fh_b3, etc. in the b-th layer 720 among the plurality of layers.
  • filter kernels having different sizes may include different numbers of filter kernels.
  • A_b1 filter kernels with Fw_b1 x Fh_b1 size, A_b2 filter kernels with Fw_b2 x Fh_b2 size, and A_b3 filter kernels with Fw_b3 x Fh_b3 size can be used for filtering.
  • the restoration unit 120 may perform a filtering using a plurality of filter kernels of a size type, and may determine a property map of the number of filter kernels used.
  • the restoring unit 120 can determine A_b number of characteristic maps by performing filtering using the filter kernels 722 having the sizes of Fw_b1 x Fh_b1, Fw_b2 x Fh_b2, and Fw_b3 x Fh_b3, where A_b is A_b1 + A_b2 + A_b3.
  • the restoring unit 120 may determine a restored image as an output 725 by performing a restoration process using A_b W_b x H_b size property maps.
  • FIG. 7B is a diagram for explaining a filtering process using characteristic maps determined by filtering with a plurality of sizes of filter kernels according to an exemplary embodiment.
  • the decompression unit 120 of the image restoration apparatus 100 may determine characteristic maps using filter kernels having a plurality of sizes in an arbitrary layer.
  • the decompression unit 120 may perform filtering using the filter kernels 732 having a plurality of sizes in the n-th layer 730, which is one of a plurality of layers included in the DNN.
  • the characteristic maps 740, 742, and 744 having a plurality of sizes can be determined.
  • the restoration unit 120 calculates a filter kernel having a size of Fw_n1 x Fh_n1 in the nth layer 730 (W_n - Fw_n1 + 1) x (H0 - Fh_n1 + 1) size of the characteristic map A_n1 by performing filtering using the feature map A_n1.
  • the restoration unit 120 performs the filtering using the filter kernels of different sizes to obtain the feature maps A_n2 having the size of (W_n - Fw_n2 + 1) x (H0 - Fh_n2 + 1), (W_n - Fw_n3 + 1) x (H0 - Fh_n3 + 1), and the like.
  • the decompression unit 120 may perform a padding operation such that the property maps generated for each size of the filter kernel have the same size.
  • the padded feature maps may be of the same size as the input of the layer. 7B, characteristic maps 740, 742, and 744 of a plurality of sizes generated for each size of the filter kernel may include a feature map or a frame size of a compressed image input to the nth layer 730, W_n x H_n It is possible to perform padding on the characteristic maps 740, 742, and 744 so as to have the same size. Accordingly, the padded characteristic maps 741, 743, and 745 may have the same size (W_n x H_n). According to an exemplary embodiment, the input and output of a layer using a plurality of sizes of filter kernels may have the same plane size.
  • the restoration unit 120 may perform a filtering using a plurality of filter kernels of a size type, and may determine a property map of the number of filter kernels used. That is, the restoration unit 120 may perform the filtering using the filter kernels 732 having the sizes of Fw_n1 x Fh_n1, Fw_n2 x Fh_n2, and Fw_n3 x Fh_n3 to determine the characteristic maps 740, 742, and 744, Padding is performed on the maps 740, 742, and 744 to determine characteristic maps 741, 743, and 745 padded to the same size.
  • the restoring unit 120 may determine the output of the n-th layer 730 by concatenating padded characteristic maps 741, 743, and 745. As a result, the feature map of W_n x H_n size is input to the nth layer and filtering is performed. As a result, A_n1 + A_n2 + A_n3 feature maps having W_n x H_n size can be output.
  • the image restoring apparatus 100 may use various types of data units to decode an image and perform upsampling.
  • the various embodiments described above may be performed on the basis of various data units that can be used in the image encoding process.
  • the reconstructing unit 120 may encode an image using various data units including a video, a sequence, a frame, a slice, a slice segment, a maximum encoding unit, an encoding unit, a prediction unit, a conversion unit, , Upsampling, and downsampling.
  • the restoration unit 120 may determine the subjective image quality for each frame.
  • the bitstream obtaining unit 110 may obtain change information indicating how much downsampling has been performed for each picture.
  • the decompression unit 120 may perform a downsampling or upsampling process for each maximum encoding unit.
  • the data units used by the restoration unit 120 to perform a predetermined process should not be construed to be limited by the above-described embodiments, and various data units may be used within a range available to those skilled in the art. . Features of various data units that the image restoration apparatus 100 can use will be described later with reference to FIGS. 10 to 23.
  • an image compressing apparatus 150 capable of compressing an image to be reconstructed by the image reconstruction apparatus 100 will be described with reference to various embodiments.
  • FIG. 1B shows a block diagram of an image compression apparatus 150 for compressing an image according to an embodiment.
  • the image compressing apparatus 150 may include a compressing unit 160 for compressing an original image by performing a down-sampling process, and a bit generating unit 160 for generating a bit stream including information on the compressed image, And a stream generating unit 170.
  • compression unit 160 may execute program commands stored in memory and / or storage devices.
  • the compression unit 160 may include at least one processor including a central processing unit (CPU), a graphics processing unit (GPU), and the like.
  • 2B is a flowchart illustrating an image compression process that can be performed by the image compression apparatus 150 according to an embodiment of the present invention.
  • step S210 down-sampling using the DNN of the image of the image compressing apparatus 150 is performed to determine a compressed image.
  • FIG. 3 is a diagram for explaining a process of compressing a compressed image through an encoding and decoding process according to an embodiment
  • the compression unit 160 may reduce the amount of information that the original signal 300 has through the process of encoding the original signal 300.
  • a residual signal generation process corresponding to the difference between the original signal 300 and the prediction signal, a process of transforming the residual signal, which is a spatial domain component, into a frequency domain component, A process of quantizing the residual residual signal, and a process of generating a bitstream by entropy coding the quantized residual signal.
  • a bitstream decoding process 306 is performed on the residual signal so that the residual signal which is a frequency domain component is transformed into a spatial domain component and a compressed image 309 can be generated based on the residual signal.
  • the bitstream generator 170 may generate a bitstream including a result of transforming the original image 300 into a frequency domain by performing a coding process (step 304).
  • the image compression apparatus 150 can downsample the original image 300 to generate a compressed image 303, and perform encoding 304 on the compressed image 303 can do.
  • the compression unit 160 may perform not only an encoding process but also a corresponding decoding process for error-free decoding.
  • the compression unit 160 may decode the decoded compressed image 307 by performing a decryption process and upsample 308 on the decoded compressed image 307 to determine the compressed image 309.
  • the bitstream generating unit 170 may generate a bitstream including information about the compressed image 309 and may transmit the bitstream to the image reconstruction apparatus 100 capable of reconstructing the compressed image.
  • downsampling 302 and upsampling 308 may be performed using a DNN (Deep Neural Network), and downsampling 302 and upsampling 308 using this DNN may be performed in various ways The embodiment will be described later.
  • DNN Deep Neural Network
  • the image compression apparatus 150 may decode the compressed image using the prediction signal obtained by performing the residual signal and the prediction according to an embodiment of the present invention.
  • the compression unit 160 of the image compression apparatus 150 may divide the original image to be compressed based on a predetermined data unit. For example, the compression unit 160 may divide an image into a plurality of maximum encoding units, and decode the image using an encoding unit determined by dividing the maximum encoding unit recursively. According to an exemplary embodiment, the compression unit 160 may perform a prediction process to decode a signal included in an encoding unit.
  • the image compression apparatus may determine a residual signal based on the compressed image and the prediction signal according to an embodiment.
  • the compression unit 160 may determine a residual signal by subtracting the predicted signal determined in step S212 from the compressed image determined in step S210.
  • the compression unit 160 may perform a predetermined process (e.g., in-loop filtering, DPB storing process, entropy coding, and the like) for additionally encoding an image with respect to a residual signal.
  • a predetermined process e.g., in-loop filtering, DPB storing process, entropy coding, and the like
  • the image encoding process using the residual signal can be included in various processes that can be easily performed by those skilled in the art.
  • the bitstream generator 170 of the image compression apparatus 150 may generate a bitstream including information related to the encoded residual signal.
  • FIG. 4 illustrates a deep convolutional neural network included in the DNN Fig.
  • the image compression apparatus 150 may use a DNN including a plurality of layers to perform downsampling.
  • the compression unit 160 may use a Deep Convolutional Neural Network (DNN) as a DNN capable of performing downsampling in order to perform a convolution operation on a plurality of layers.
  • DNN Deep Convolutional Neural Network
  • the deep convoluted neural network may include a plurality of layers (e.g., a plurality of layers including first layer 410 and nth layer 420).
  • each of the plurality of layers constituting the deep convoluted neural network may include convolution layers for generating a plurality of feature maps using filter kernels, Activation layers may be included.
  • the convolution layers may each include a plurality of nodes.
  • the convolution layer may generate a plurality of characteristic maps using a plurality of filter kernels.
  • the characteristic maps generated by the nodes of the convolution layer can be input to the activation layer.
  • the compression unit 160 may perform convolution operation and activation for each of a plurality of nodes 411, 412, 413, etc. included in the first layer 410.
  • the compression unit 160 compresses the convolution of the input signal of the first layer (for example, the input 400 as the compression signal) in the convolution layers CL1_1, CL1_2, ..., CL1_a included in the first layer, , And different filter kernels may be used for the convolution operation in each of the convolution layers CL1_1, CL1_2, ..., CL1_a.
  • a convolution operation result may be input to an activation layer associated with each convolution layer to activate a result of the convolution operation in each of the convolution layers CL1_1, CL1_2, ..., CL1_a.
  • the compression unit 160 may determine a plurality of characteristic maps of the first layer 410 by activating the result of the convolution operation.
  • the number of characteristic maps obtained in a specific layer may be proportional to the number of filter kernels.
  • the characteristic map acquired in a specific layer can be used as an input value of the next layer. That is, the characteristic map obtained in the first layer 410 is input to the nth layer 420 (n > 1), and convolution operation and activation can be performed.
  • a predetermined signal processing process performed in each layer including convolution operation and activation is referred to as a filtering process.
  • the feature of DNN that can be used by the image compression apparatus 150 may be the same or similar to the feature of the DNN used by the image restoration apparatus 100 described in FIG. 4, so a detailed description will be omitted .
  • FIG. 5B is a view for explaining a down-sampling operation of spatial information using DNN according to an embodiment.
  • the compression unit 160 may downsample the original image spatially using DNN.
  • the compression unit 160 may use a DNN to perform various operations associated with the convolution operation for downsampling.
  • the downsampling operation performed by the compression unit 160 may include operations such as convolution, pooling, and the like.
  • the compression unit 160 compresses the DNNs including a plurality of layers 560, 570, and 580 to perform downsampling on a plurality of frames included in the original image 550 according to an exemplary embodiment. Can be used. At each layer, convolution for downsampling can be performed. The compression unit 160 may determine a frame whose resolution is decreased according to a convolution result performed in each layer. According to one embodiment, the compressing unit 160 may perform convolution of the original image 550 on the first layer 560 with respect to the frame, thereby determining a characteristic map having a size of Wd_1 x Hd_1 x Ad_1 have.
  • Wd_1 and Hd_1 may represent the width and height of the characteristic map determined in the first layer 560 and Ad_1 may correspond to the number of filter kernels 562 used in the first layer 560.
  • the width Wd_1 and the height Hd_1 of the characteristic map determined in the first layer 560 according to an exemplary embodiment are the same as the width W0 and height H0 of the frame of the original image input to the first layer 560, Lt; / RTI >
  • the compression unit 160 may perform convolution in the second layer 570, and as a result, may determine a characteristic map having a size of Wd_2 x Hd_2 x Ad_2.
  • Wd_2 and Hd_2 may represent the property map width and height determined in the second layer 570 and Ad_2 may correspond to the number of filter kernels 572 used in the second layer 570.
  • the input of the second layer 570 may correspond to the output of the first layer 560.
  • the width Wd_2 and the height Hd_2 of the characteristic map determined in the second layer 570 are smaller than the width Wd_1 and height Hd_1 of the characteristic map of the first layer 560 according to an embodiment.
  • the compression unit 160 may perform downsampling of the original image 550 using DNN including n layers.
  • the characteristic map determined by performing the downsampling performed in the nth layer 580 may have a size of Wd_n x Hd_n x Ad_n.
  • the compression unit 160 may determine the compressed image 540 using the characteristic map of the nth layer having a size smaller than the frame of the original image 550.
  • the compression unit 160 of the image compression apparatus 150 may temporally downsample an original image using DNN.
  • the compressed image may be a temporally compressed image using DNN (e.g., a compressed image whose bit rate is smaller than that of the original image).
  • the compression unit 160 compresses a plurality (for example, two or more) of the original images using a DNN (for example, a Convolutional Neural Network (CNN), a Recurrent Neural Network
  • CNN Convolutional Neural Network
  • the compression unit 160 may perform a temporal downsampling operation to remove a predetermined frame among the frames of the original image.
  • a down-sampling process using DNN in consideration of a bit rate multiplication factor (e.g., downsampling at 60 fps to 30 fps) to be downsampled, the number of frames to be removed, etc.
  • a bit rate multiplication factor e.g., downsampling at 60 fps to 30 fps
  • the number of frames to be removed etc.
  • (T + 1, t + 2, ) from the frame of the previous time zone (t-1, t-2, Two or more can be used.
  • the compression unit 160 may perform temporal downsampling using a predetermined time frame according to the number of frames required for downsampling. For example, if the number of frames required for temporal downsampling at time t is two, the compressing unit 160 can perform downsampling using frames of time periods t-1 and t + 1. In another example, if the number of frames required for temporal downsampling in the time period t is three, the compression unit 160 may store the t-1, t-2, t + 1 time period or t-1 t + 1, t It is possible to perform downsampling on the frame of the time slot t using the frame of the +2 time slot.
  • the compressing unit 160 may store the frames of the frames t-1, t-2, t + The downsampling can be performed using the downsampling.
  • the compression unit 160 may use frames of the time frame required for temporal upsampling to perform temporal downsampling at time t.
  • the decompression unit 120 may perform filtering on frames in different time zones used for temporal downsampling to determine a characteristic map for each frame.
  • the restoration unit 120 when the restoration unit 120 determines that there are few frames among a plurality of frames in consideration of motion information (e.g., a global motion vector and a local motion vector) of characteristic maps determined for each time zone , And can perform temporal downsampling to remove frames included between a plurality of frames.
  • motion information e.g., a global motion vector and a local motion vector
  • the reconstructing unit 120 compares characteristic maps determined for respective time zones and determines that frames in a plurality of time zones are different scenes, It can be determined that sampling is not performed.
  • the compression unit 160 of the image compression apparatus 150 may determine what frame is to be subjected to temporal downsampling, and the bitstream generation unit 170 may generate a frame A bitstream including temporal downsampling information, which is information indicating what is a bitstream, can be generated.
  • the image compression apparatus 150 may generate a bitstream including change information indicating how much spatial and temporal downsampling is to be performed.
  • the bitstream generation unit 170 generates change information indicating that the resolution of the original image is a compressed image and that the original image is doubled And generate a bitstream containing the bitstream.
  • the bitstream generation unit 170 when the compression unit 160 performs downsampling to reduce the bit rate of the original image by a factor of 1/2, the bitstream generation unit 170 generates the bitstream of the compressed image by using a bit rate of 1 / 2-fold reduction in the bit rate.
  • the image compression apparatus 150 may use a filter kernel for each layer in order to perform up-sampling using the DNN.
  • the types of filter kernels usable for each layer include a type of a filter kernel for downsampling Lt; / RTI > That is, the size and number of filter kernels used in the layers included in DNN for downsampling and DNN for upsampling may be different.
  • FIG. 6 is a diagram for explaining that the types of filter kernels used in up-sampling or down-sampling may be different according to an embodiment.
  • the compression unit 160 may use a DNN including n layers 610, 620, 630 to generate a downsampled compressed image 635.
  • filtering using a filter kernel (for example, convolution operation) can be performed as a process for downsampling.
  • the size of the filter kernels 612, 622, and 632 used for filtering for each layer may be at least one kind of size.
  • filtering may be performed using Au_1 filter kernels having a size of 5x5 in the first layer 610
  • filtering may be performed using Au2 filter kernels having a size of 3x3 in the second layer 620
  • filtering may be performed using Au_1 filter kernels having a size of 3x3 in the nth layer 630.
  • the compression unit 160 may use DNN to upsample the downsampled compressed image 635 through n layers.
  • a filter kernel is used to perform filtering (e.g., a transposed convolution operation) Can be performed.
  • the type of filter kernel that can be used in the filtering for upsampling according to one embodiment may be different from the type of filter kernel used in the filtering for downsampling. For example, even if the types of the filter kernel sizes used in the DNN for downsampling are 3x3, 3x3, and 5x5, the compression unit 160 can determine the types of the filter kernel sizes used in the DNN for upsampling by 3x3, 5x5, 7x7.
  • the size and number of the filter kernels available in each layer of the DNN by the compression unit 160 according to an exemplary embodiment may be different from the size and the number of the filter kernels used in the DNN for downsampling.
  • the compression unit 160 can downsample the original image using the DNN for downsampling, and generate the encoded residual signal using the downsampled compressed image.
  • the compression unit 160 may decode the residual signal and then perform the upsampling using the DNN to determine the restored signal and the learning process between the DNNs used in the downsampling and upsampling processes may be shared.
  • the learning process of the DNN will be described later with reference to embodiments.
  • FIG. 7A illustrates a feature of performing filtering using a plurality of filter kernels in a predetermined layer among a plurality of layers included in a DNN Fig.
  • the compression unit 160 may perform filtering using one kind of filter kernel for each layer.
  • the compression unit 160 may use a DNN including a plurality of layers to compress an original image, which is an input 700 of DNN.
  • the compression unit 160 performs filtering using a filter kernel A_a having a size of Fw_a x Fh_a in a layer 710 among a plurality of layers to obtain a characteristic map A_a having a size of W_a x H_a You can decide.
  • the compression unit 160 may perform filtering using a plurality of size filter kernels in a predetermined layer. According to one embodiment.
  • the compression unit 160 may perform filtering using the filter kernel 722 having a size of Fw_b1 x Fh_b1, Fw_b2 x Fh_b2, Fw_b3 x Fh_b3, etc. in the b-th layer 720 among the plurality of layers.
  • filter kernels having different sizes may include different numbers of filter kernels.
  • A_b1 filter kernels with Fw_b1 x Fh_b1 size, A_b2 filter kernels with Fw_b2 x Fh_b2 size, and A_b3 filter kernels with Fw_b3 x Fh_b3 size can be used for filtering.
  • the compression unit 160 may perform a filtering using a plurality of filter kernels of a size type, and may determine a property map of the number of filter kernels used.
  • the compression unit 160 can determine A_b number of characteristic maps by performing filtering using the filter kernels 722 having a size of Fw_b1 x Fh_b1, Fw_b2 x Fh_b2, Fw_b3 x Fh_b3, where A_b is A_b1 + A_b2 + A_b3.
  • the compression unit 160 may determine a compressed image, which is the output 725 of the DNN, by performing the remaining compression process using the characteristic map of size A_b W_b x H_b.
  • FIG. 7B is a diagram for explaining a filtering process using characteristic maps determined by filtering with a plurality of sizes of filter kernels according to an exemplary embodiment.
  • the compression unit 160 of the image compression apparatus 150 may determine characteristic maps using filter kernels having a plurality of sizes in an arbitrary layer.
  • the compression unit 160 may perform filtering using the filter kernels 732 having a plurality of sizes in the n-th layer 730, which is one of a plurality of layers included in the DNN.
  • characteristic maps 740, 742, and 744 having a plurality of sizes can be determined.
  • the compression unit 160 compresses the filter kernel having the size of Fw_n1 x Fh_n1 in the nth layer 730 (W_n - Fw_n1 + 1) x (H0 - Fh_n1 + 1) size of the characteristic map A_n1 by performing filtering using the feature map A_n1. Further, the compression unit 160 performs filtering using filter kernels of different sizes, thereby obtaining characteristic maps A_n2 having (W_n - Fw_n3 + 1) x (H0 - Fh_n2 + 1) (H0 - Fh_n3 + 1), and the like.
  • the compression unit 160 may perform a padding operation such that the characteristic maps generated for each size of the filter kernel have the same size.
  • the padded feature maps may be of the same size as the input of the layer. 7B, characteristic maps 740, 742, and 744 of a plurality of sizes generated for each size of the filter kernel are formed to have the same size as Wd_n x H_n, which is the size of the characteristic map input to the nth layer 730 Padding can be performed on the characteristic maps 740, 742, and 744.
  • the padded characteristic maps 741, 743, and 745 may have the same size (W_n x H_n).
  • the input and output of a layer using a plurality of sizes of filter kernels may have the same plane size.
  • the compression unit 160 may perform a filtering using a plurality of filter kernels of a size type, and may determine a property map of the number of filter kernels used. That is, the compression unit 160 can perform the filtering using the filter kernels 732 having the sizes of Fw_n1 x Fh_n1, Fw_n2 x Fh_n2, and Fw_n3 x Fh_n3 to determine the characteristic maps 740, 742, and 744, Padding is performed on the maps 740, 742, and 744 to determine characteristic maps 741, 743, and 745 padded to the same size.
  • the compression unit 160 may determine the output of the n-th layer 730 by concatenating the padded characteristic maps 741, 743, and 745. As a result, the feature map of W_n x H_n size is input to the nth layer and filtering is performed. As a result, A_n1 + A_n2 + A_n3 feature maps having W_n x H_n size can be output.
  • FIG. 8 is a diagram illustrating loss information generated in a DNN for downsampling according to an embodiment.
  • the compression unit 160 of the image compression apparatus 150 may determine a downsampled image 808 using a downsampling DNN 806 that can downsample the original image 800 .
  • the downsampled image 808 determined through the downsampling DNN 806 may be used to determine whether the structural features of the image (e.g., hue, contrast, histogram, etc.) (800), the difference may be large. If the downsampled image 808 is significantly different from the original image 800, the encoding efficiency may be degraded.
  • the structural information storage unit 802 of the reconstruction unit 160 may reduce the spatial size of the original image 800 more than the original image 800 using the structural features of the original image 800,
  • the structural reconstruction image 804 can be determined and the compressing section 160 can compare the downsampled image 808 and the structural reconstruction image 804 with each other.
  • the compression unit 160 may determine the first loss information 812 indicating the magnitude of the difference between the structured reconstruction image 804 and the downsampled compressed image 808 according to one embodiment. According to an embodiment, the compression unit 160 may determine second loss information 814 indicating the spatial complexity included in the downsampled compressed image 808. According to one embodiment, the compression unit 160 may determine the second loss information 814 by calculating a total variance value to determine the spatial complexity of the downsampled compressed image 808.
  • FIG. 9 is a diagram illustrating loss information generated in DNN for up-sampling.
  • the downsampled image 908 may be upsampled through the upsampling DNN 910, and the resulting reconstructed image 916 may be determined.
  • the input of the up-sampling DNN 910 may be a down-sampled image 908 or a decoded image after the down-sampled image 908 is encoded.
  • the compression unit 160 may determine the third loss information 918 and the fourth loss information 920 by comparing the original image 900 and the restored image 916 according to an embodiment.
  • the third loss information 918 may represent the L 1 -norm value for the difference between the original image 900 and the restored image 916 and the fourth loss information 920 may represent the L 1 -norm value for the original image 900 ) and it may indicate the L 2 -norm value for the difference between the reconstructed image (916).
  • L 1 -norm may be a result of adding the absolute values of the vector components representing the difference between the original image 900 and the restored image 916.
  • L 2 -norm may represent the root value of the sum of squares of the vector components representing the difference between the original image 900 and the reconstructed image 916.
  • the compression unit 160 may learn DNN for upsampling and DNN for downsampling through the following Equation (1).
  • the loss DS may correspond to a sum of at least one loss information indicating a loss caused by downsampling.
  • Loss US may correspond to a sum of at least one loss information determined by a comparison between a downsampled image and an original image before downsampling is performed.
  • a, b, c, and d may correspond to predetermined predetermined weights.
  • the compression unit 160 may share any loss information to determine a loss DS and a loss US .
  • the compression unit 160 may determine the loss DS and the loss US based on the fourth loss information as shown in Equation (1).
  • the shared information in the process of determining the loss DS and the loss US should not be interpreted as being limited to the above-described embodiments, and various loss information within the range that can easily be practiced by a person skilled in the art is determined in the process of determining the loss DS and the loss US Should be construed as being commonly available.
  • the DNN for upsampling which can be used by the decompression unit 120 of the image restoration apparatus 100 according to an exemplary embodiment, may include a decompressed image and then an upsampled image, The sum of the loss information determined by the comparison between the loss information and the loss information is minimized.
  • the restoration unit 120 may learn Loss US to have a minimum value based on the third loss information and the fourth loss information to which the weight is applied.
  • the restoring unit 120 may perform the upsampling using the learned DNN to give priority to the restoration performance by learning the DNN for upsampling so that Loss US has a minimum value.
  • some of the at least one loss information used in the learning process of the DNN for upsampling may also be used in the learning process of the DNN for downsampling.
  • the fourth loss information used for determining Loss US may be one of loss information used in the determination of the loss DS .
  • the DNN for downsampling used by the compression unit 160 of the image compression apparatus 150 is set such that the sum of at least one loss information indicating loss caused by downsampling is minimized .
  • the compression unit 160 may learn that the loss DS has a minimum value based on the first loss information, the second loss information, and the fourth loss information to which the weights are applied.
  • the compression unit 160 may perform downsampling using the learned DNN so as to prioritize the compression performance and the reconstruction performance by learning the DNN for downsampling so that the loss DS has a minimum value.
  • At least one piece of loss information used in the learning process of the DNN for downsampling is a comparison between the reconstructed image by performing the upsampling after the compressed image is decoded and the original image before the downsampling is performed May be determined based on the result, and the result of the comparison may be that used in the learning process of DNN for upsampling.
  • the fourth loss information may be used not only in the learning process of DNN for downsampling but also in the learning process of DNN for upsampling.
  • the various embodiments described above may be performed on the compression unit 160 according to one embodiment, and may be performed based on various data units that can be used in the encoding of the image.
  • the compression unit 160 may encode an image using various data units including a video, a sequence, a frame, a slice, a slice segment, a maximum encoding unit, an encoding unit, a prediction unit, a conversion unit, , Downsampling, and upsampling.
  • the bitstream generator 170 may generate a bitstream including change information indicating how much the original image is compressed through downsampling for each picture.
  • the compression unit 160 may perform a downsampling or upsampling process for each maximum encoding unit.
  • FIG. 10 a method of determining a data unit of an image according to an embodiment will be described with reference to FIGS. 10 to 23.
  • FIG. 10 a method of determining a data unit of an image according to an embodiment will be described with reference to FIGS. 10 to 23.
  • FIG. 10 illustrates a process in which the image restoring apparatus 100 determines at least one encoding unit by dividing a current encoding unit according to an embodiment.
  • the image restoring apparatus 100 can determine the type of an encoding unit using block type information, and can determine a type of an encoding unit to be divided using the type information. That is, the division method of the encoding unit indicated by the division type information can be determined according to which block type the block type information used by the image restoration apparatus 100 represents.
  • the image restoration apparatus 100 may use block type information indicating that the current encoding unit is a square shape. For example, the image restoration apparatus 100 may determine whether to divide a square encoding unit according to division type information, vertically divide, horizontally divide, or divide into four encoding units. 10, if the block type information of the current coding unit 1000 indicates a square shape, the decoding unit 1030 may calculate the size of the current coding unit 1000 according to the division type information indicating that the current block is not divided It is possible to determine the divided coding units 1010b, 1010c, and 1010d based on the division type information indicating the predetermined division method or not dividing the coding unit 1010a.
  • the image restoring apparatus 100 determines two encoding units 1010b obtained by dividing the current encoding unit 1000 in the vertical direction based on the division type information indicating that the image is divided in the vertical direction according to an embodiment .
  • the image reconstruction apparatus 100 can determine two coding units 1010c obtained by dividing the current coding unit 1000 in the horizontal direction based on the division type information indicating that the image is divided in the horizontal direction.
  • the image restoration apparatus 100 can determine the four coding units 1010d that divide the current coding unit 1000 in the vertical direction and the horizontal direction based on the division type information indicating that the division is performed in the vertical direction and the horizontal direction.
  • the division type in which the square coding unit can be divided should not be limited to the above-mentioned form, but may include various forms in which the division type information can be represented.
  • the predetermined divisional form in which the square encoding unit is divided will be described in detail by way of various embodiments below.
  • FIG. 11 illustrates a process in which the image restoring apparatus 100 determines at least one encoding unit by dividing a non-square encoding unit according to an embodiment.
  • the image restoration apparatus 100 may use block type information indicating that the current encoding unit is a non-square type.
  • the image restoring apparatus 100 may determine whether to divide the current non-square coding unit according to the division type information or not in a predetermined method. 11, if the block type information of the current coding unit 1100 or 1150 indicates a non-square shape, the image restoring apparatus 100 may determine the current coding unit 1100 or 1150 according to the division type information indicating that the current block is not divided.
  • the image restoration apparatus 100 may determine a type in which an encoding unit is divided using segmentation type information.
  • the segmentation type information indicates a number of at least one encoding unit . 11
  • the image reconstruction apparatus 100 determines the current encoding unit 1100 or 1150 based on the division type information, To determine two encoding units 1120a, 11420b, or 1170a and 1170b included in the current encoding unit.
  • the non-square current coding unit 1100 or 1150 The current encoding unit can be divided in consideration of the position of the long side.
  • the image restoring apparatus 100 may divide the current encoding unit 1100 or 1150 in a direction of dividing the long side of the current encoding unit 1100 or 1150 in consideration of the type of the current encoding unit 1100 or 1150 So that a plurality of encoding units can be determined.
  • the image restoring apparatus 100 may determine an odd number of encoding units included in the current encoding unit 1100 or 1150.
  • the image reconstruction apparatus 100 divides the current encoding unit 1100 or 1150 into three encoding units 1130a , 1130b, 1130c, 1180a, 1180b, 1180c.
  • the image restoration apparatus 100 may determine an odd number of encoding units included in the current encoding unit 1100 or 1150, and the sizes of the determined encoding units may not be the same.
  • the size of a predetermined encoding unit 1130b or 1180b among the determined odd number of encoding units 1130a, 1130b, 1130c, 1180a, 1180b, and 1180c is different from that of other encoding units 1130a, 1130c, 1180a, and 1180c . That is, an encoding unit that can be determined by dividing the current encoding unit 1100 or 1150 may have a plurality of types of sizes, and an odd number of encoding units 1130a, 1130b, 1130c, 1180a, 1180b, May have different sizes.
  • the image restoring apparatus 100 can determine an odd number of encoding units included in the current encoding unit 1100 or 1150, The image restoring apparatus 100 may set a predetermined restriction on at least one of the odd number of encoding units generated by division. 11, the image restoring apparatus 100 includes an encoding unit 1130a, 1130b, 1130c, 1180a, 1180b, and 1180c generated by dividing a current encoding unit 1100 or 1150, 1130b, and 1180b may be different from the other encoding units 1130a, 1130c, 1180a, and 1180c. For example, the image restoring apparatus 100 may restrict the central encoding units 1130b and 1180b to not be further divided, different from the other encoding units 1130a, 1130c, 1180a, and 1180c, It can be limited to be divided.
  • FIG. 12 illustrates a process in which the image restoring apparatus 100 divides an encoding unit based on at least one of block type information and division type information according to an embodiment.
  • the image restoring apparatus 100 may determine that the first unit of the square format 1200 is divided or not divided into units based on at least one of the block type information and the division type information. According to an embodiment, when the division type information indicates that the first encoding unit 1200 is divided in the horizontal direction, the image restoring apparatus 100 divides the first encoding unit 1200 in the horizontal direction, (1210).
  • the first encoding unit, the second encoding unit, and the third encoding unit used according to an embodiment are terms used to understand the relation before and after the division between encoding units. For example, if the first encoding unit is divided, the second encoding unit can be determined, and if the second encoding unit is divided, the third encoding unit can be determined.
  • the relationship between the first coding unit, the second coding unit and the third coding unit used can be understood to be in accordance with the above-mentioned characteristic.
  • the image restoring apparatus 100 may determine that the determined second encoding unit 1210 is not divided or divided into encoding units based on at least one of the block type information and the division type information.
  • the image restoring apparatus 100 may include a second encoding unit 1210 of a non-square shape determined by dividing a first encoding unit 1200 based on at least one of block type information and division type information It may be divided into at least one third encoding unit 1220a, 1220b, 1220c, 1220d, or the like, or the second encoding unit 1210 may not be divided.
  • the image restoration apparatus 100 may obtain at least one of the block type information and the division type information and the image restoration apparatus 100 may acquire at least one of the first encoding unit 1200
  • the second encoding unit 1210 may divide a plurality of second encoding units (for example, 1210) of various types into a first encoding unit 1210 based on at least one of block type information and division type information,
  • the unit 1200 can be divided according to the divided method.
  • the encoding unit 1210 may also be divided into a third encoding unit (e.g., 1220a, 1220b, 1220c, 1220d, etc.) based on at least one of block type information and division type information for the second encoding unit 1210 have. That is, an encoding unit can be recursively divided based on at least one of division type information and block type information associated with each encoding unit.
  • a third encoding unit e.g., 1220a, 1220b, 1220c, 1220d, etc.
  • a square encoding unit may be determined in a non-square encoding unit, and a non-square encoding unit may be determined by dividing the square encoding unit recursively.
  • predetermined encoding units for example, An encoding unit or a square-shaped encoding unit
  • the third encoding unit 1220c in the form of a square which is one of the odd numbered third encoding units 1220b, 1220c, and 1220d, may be divided in the horizontal direction and divided into a plurality of fourth encoding units.
  • the non-square fourth encoding unit 1240 which is one of the plurality of fourth encoding units, may be further divided into a plurality of encoding units.
  • the non-square-shaped fourth encoding unit 1240 may be further divided into odd-numbered encoding units 1250a, 1250b, and 1250c.
  • the image restoring apparatus 100 may divide each of the third encoding units 1220a, 1220b, 1220c, and 1220d into units of encoding based on at least one of block type information and division type information, It can be determined that the unit 1210 is not divided.
  • the image restoration apparatus 100 may divide the second encoding unit 1210 in the non-square form into third encoding units 1220b, 1220c, and 1220d in an odd number according to an embodiment.
  • the image restoring apparatus 100 may set a predetermined restriction on a predetermined third encoding unit among odd numbered third encoding units 1220b, 1220c, and 1220d.
  • the image restoration apparatus 100 may restrict the encoding unit 1220c located in the middle among the odd-numbered third encoding units 1220b, 1220c, and 1220d to not be further divided, or be divided into a set number of times . Referring to FIG.
  • the image restoring apparatus 100 may include an encoding unit (not shown) located in the middle among odd numbered third encoding units 1220b, 1220c, and 1220d included in a second encoding unit 1210 in a non- 1220c may not be further divided or may be limited to being divided into a predetermined division type (for example, divided into four coding units or divided into a form corresponding to the divided form of the second coding unit 1210) (For example, dividing only n times, n > 0).
  • a predetermined division type for example, divided into four coding units or divided into a form corresponding to the divided form of the second coding unit 1210
  • the above restriction on the encoding unit 1220c positioned in the center is merely an example and should not be construed to be limited to the above embodiments and the encoding unit 1220c located in the center is not limited to the other encoding units 1220b and 1220d Quot;), < / RTI > which can be decoded differently.
  • the image restoring apparatus 100 may obtain at least one of block type information and division type information used for dividing a current encoding unit at a predetermined position in a current encoding unit.
  • FIG. 13 illustrates a method for an image restoration apparatus 100 to determine a predetermined encoding unit among odd number of encoding units according to an embodiment.
  • at least one of the block type information and the division type information of the current encoding unit 1300 is a sample of a predetermined position among a plurality of samples included in the current encoding unit 1300 (for example, Sample 1340).
  • the predetermined position in the current coding unit 1300 in which at least one of the block type information and the division type information can be obtained should not be limited to the middle position shown in FIG.
  • the image restoration apparatus 100 may determine that the current encoding unit is divided or not divided into the encoding units of various types and sizes by acquiring at least one of the block type information and the division type information obtained from the predetermined position.
  • the image restoring device 100 may select one of the encoding units.
  • the method for selecting one of the plurality of encoding units may be various, and description of these methods will be described later in various embodiments.
  • the image restoring apparatus 100 may divide the current encoding unit into a plurality of encoding units and determine a predetermined encoding unit.
  • FIG. 13 illustrates a method for an image restoring apparatus 100 to determine an encoding unit of a predetermined position among odd number of encoding units according to an embodiment.
  • the image restoring apparatus 100 may use information indicating the positions of odd-numbered encoding units in order to determine an encoding unit located in the middle among the odd-numbered encoding units. Referring to FIG. 13, the image restoring apparatus 100 may divide the current encoding unit 1300 to determine odd number of encoding units 1320a, 1320b, and 1320c. The image restoring apparatus 100 can determine the center encoding unit 1320b by using information on the positions of odd number of encoding units 1320a, 1320b, and 1320c.
  • the image restoring apparatus 100 determines the positions of the encoding units 1320a, 1320b, and 1320c based on information indicating the positions of predetermined samples included in the encoding units 1320a, 1320b, and 1320c, Can be determined. More specifically, the image restoration apparatus 100 may reconstruct the image data of the coding units 1320a, 1320b, and 1320c based on information indicating the positions of the upper left samples 1330a, 1330b, and 1330c of the coding units 1320a, 1320b, and 1320c. By determining the position, the coding unit 1320b located in the center can be determined.
  • Information indicating the positions of the upper left samples 1330a, 1330b, and 1330c included in the coding units 1320a, 1320b, and 1320c is a position in the picture of the coding units 1320a, 1320b, and 1320c Or information about the coordinates.
  • Information indicating the positions of the upper left samples 1330a, 1330b, and 1330c included in the coding units 1320a, 1320b, and 1320c according to one embodiment is stored in the coding units 1320a and 1320b included in the current coding unit 1300 And 1320c, and the width or height may correspond to information indicating a difference between coordinates in the picture of the encoding units 1320a, 1320b, and 1320c.
  • the image restoration apparatus 100 can directly use the information on the position or the coordinates in the pictures of the coding units 1320a, 1320b, and 1320c or the information on the width or height of the coding unit corresponding to the difference value between the coordinates
  • the encoding unit 1320b located in the center can be determined.
  • the information indicating the position of the upper left sample 1330a of the upper coding unit 1320a may indicate the coordinates (xa, ya) and the upper left sample 1330b of the middle coding unit 1320b May represent the coordinates (xb, yb), and the information indicating the position of the upper left sample 1330c of the lower coding unit 1320c may indicate the coordinates (xc, yc).
  • the image restoring apparatus 100 can determine the center encoding unit 1320b by using the coordinates of the upper left samples 1330a, 1330b, and 1330c included in the encoding units 1320a, 1320b, and 1320c.
  • the coding unit 1320b including the coordinates (xb, yb) of the sample 1330b positioned at the center May be determined as a coding unit located in the middle of the coding units 1320a, 1320b, and 1320c determined by dividing the current coding unit 1300.
  • the coordinates indicating the positions of the samples 1330a, 1330b, and 1330c in the upper left corner may indicate the coordinates indicating the absolute position in the picture
  • the position of the upper left sample 1330a of the upper coding unit 1320a may be (Dxb, dyb), which is the information indicating the relative position of the sample 1330b at the upper left of the middle encoding unit 1320b, and the relative position of the sample 1330c at the upper left of the lower encoding unit 1320c
  • Information dyn (dxc, dyc) coordinates may also be used.
  • the method of determining the coding unit at a predetermined position by using the coordinates of the sample as information indicating the position of the sample included in the coding unit should not be limited to the above-described method, and various arithmetic Should be interpreted as a method.
  • the image restoring apparatus 100 may divide the current encoding unit 1300 into a plurality of encoding units 1320a, 1320b, and 1320c, and may include a predetermined number of encoding units 1320a, 1320b, and 1320c
  • the encoding unit can be selected.
  • the image restoring apparatus 100 can select an encoding unit 1320b having a different size from among the encoding units 1320a, 1320b, and 1320c.
  • the image restoring apparatus 100 is configured to include (xa, ya) coordinates, which is information indicating the position of the upper left sample 1330a of the upper encoding unit 1320a, (Xc, yc) coordinates, which is information indicating the position of the lower-stage coding unit 1330b and the position of the upper-left sample 1330c of the lower-stage coding unit 1320c, 1320b, and 1320c, respectively.
  • the image restoring apparatus 100 may use the coding units 1320a, 1320b, 1320c, and 1320c using coordinates (xa, ya), (xb, yb), (xc, yc) indicating the positions of the coding units 1320a, 1320b, ) Can be determined.
  • the image reconstruction apparatus 100 can determine the width of the upper encoding unit 1320a as xb-xa and the height as yb-ya. According to an embodiment, the image reconstruction apparatus 100 can determine the width of the center encoding unit 1320b as xc-xb and the height as yc-yb. The image restoration apparatus 100 may determine the width or height of the lower stage encoding unit using the width or height of the current encoding unit and the width and height of the upper encoding unit 1320a and the middle encoding unit 1320b .
  • the image restoring apparatus 100 may determine an encoding unit having a different size from other encoding units based on the width and height of the determined encoding units 1320a, 1320b, and 1320c. Referring to FIG. 13, the image restoring apparatus 100 may determine a coding unit 1320b as a coding unit at a predetermined position while having a size different from that of the upper coding unit 1320a and the lower coding unit 1320c.
  • the process of determining the encoding unit having a size different from that of the other encoding units by the above-described image restoring device 100 may be the same as that of the first embodiment in which the encoding unit of a predetermined position is determined using the size of the encoding unit determined based on the sample coordinates , Various processes may be used for determining the encoding unit at a predetermined position by comparing the sizes of the encoding units determined according to predetermined sample coordinates.
  • the position of the sample to be considered for determining the position of the coding unit should not be interpreted as being limited to the left upper end, and information about the position of any sample included in the coding unit can be interpreted as being available.
  • the image restoring apparatus 100 may select a coding unit at a predetermined position among the odd number of coding units in which the current coding unit is divided by considering the type of the current coding unit. For example, if the current coding unit is a non-square shape having a width greater than the height, the image restoring apparatus 100 can determine a coding unit at a predetermined position along the horizontal direction. That is, the image restoration apparatus 100 may determine one of the encoding units having different positions in the horizontal direction and set a restriction on the encoding unit. If the current encoding unit is a non-square shape having a height greater than the width, the image restoration apparatus 100 can determine a coding unit at a predetermined position along the vertical direction. That is, the image restoring apparatus 100 may determine one of the encoding units which are located in the vertical direction and limit the encoding unit.
  • the image restoring apparatus 100 may use information indicating positions of even-numbered encoding units in order to determine an encoding unit at a predetermined position among the even-numbered encoding units.
  • the image restoration apparatus 100 can determine the even number of encoding units by dividing the current encoding unit and determine the encoding unit at a predetermined position using the information on the positions of the even number of encoding units.
  • a concrete procedure for this is omitted because it may be a process corresponding to a process of determining a coding unit of a predetermined position (for example, a middle position) among the above-mentioned odd number of coding units.
  • the image reconstruction apparatus 100 may convert the block type information stored in the sample included in the middle encoding unit, Information can be used.
  • the image restoring apparatus 100 may divide the current encoding unit 1300 into a plurality of encoding units 1320a, 1320b, and 1320c based on at least one of block type information and division type information,
  • the encoding unit 1320b positioned in the middle of the plurality of encoding units 1320a, 1320b, and 1320c can be determined.
  • the image restoring apparatus 100 may determine a coding unit 1320b positioned at the center in consideration of a position where at least one of the block type information and the division type information is obtained.
  • At least one of the block type information and the division type information of the current encoding unit 1300 can be acquired in the sample 1340 located in the middle of the current encoding unit 1300, and the block type information and the division type information If the current encoding unit 1300 is divided into a plurality of encoding units 1320a, 1320b, and 1320c based on at least one of the encoding units 1320a to 1320c and 1320c, You can decide.
  • the information used for determining the coding unit located in the middle should not be limited to at least one of the block type information and the division type information, and various kinds of information may be used in the process of determining the coding unit located in the middle .
  • predetermined information for identifying a coding unit at a predetermined position may be obtained from a predetermined sample included in a coding unit to be determined.
  • the image restoring apparatus 100 includes a plurality of encoding units 1320a, 1320b, and 1320c, which are determined by dividing the current encoding unit 1300, (For example, a sample located in the middle of the current encoding unit 1300) at a predetermined position in the current encoding unit 1300 in order to determine an encoding unit located in the middle of the encoding unit, And at least one of division type information. .
  • the image restoration apparatus 100 can determine the sample at the predetermined position in consideration of the block block shape of the current encoding unit 1300, and the image restoration apparatus 100 determines the current encoding unit 1300 by dividing the current encoding unit 1300 A coding unit 1320b including a sample from which predetermined information (for example, at least one of block type information and division type information) can be obtained is determined among a plurality of coding units 1320a, 1320b, and 1320c A predetermined limit can be set. Referring to FIG.
  • the image restoring apparatus 100 can determine a sample 1340 located in the center of the current encoding unit 1300 as a sample from which predetermined information can be obtained,
  • the coding unit 100 may limit the coding unit 1320b including the sample 1340 to a predetermined limit in the decoding process.
  • the position of the sample from which predetermined information can be obtained can not be construed to be limited to the above-mentioned position, but can be interpreted as samples at arbitrary positions included in the encoding unit 1320b to be determined for limiting.
  • the position of a sample from which predetermined information can be obtained according to an embodiment may be determined according to the type of the current encoding unit 1300.
  • the block type information can determine whether the current encoding unit is a square or a non-square, and determine the position of a sample from which predetermined information can be obtained according to the shape.
  • the image restoration apparatus 100 may use at least one of the information on the width of the current encoding unit and the information on the height, so that the image restoration apparatus 100 is located on the boundary dividing at least one of the width and height of the current encoding unit into half
  • the sample can be determined as a sample from which predetermined information can be obtained.
  • the image restoring apparatus 100 may set one of the samples adjacent to the boundary dividing the long side of the current encoding unit in half into a predetermined Can be determined as a sample from which the information of < / RTI >
  • the image restoring apparatus 100 may determine at least one of the block type information and the division type information to determine a predetermined unit of the plurality of the encoding units One can be used.
  • the image restoration apparatus 100 may acquire at least one of the block type information and the division type information from a sample at a predetermined position included in the encoding unit, and the image restoration apparatus 100 may determine that the current encoding unit is divided And divide the generated plurality of coding units by using at least one of division type information and block type information obtained from samples at predetermined positions included in each of the plurality of coding units.
  • the coding unit can be recursively divided using at least one of the block type information and the division type information obtained in the sample at the predetermined position included in each of the coding units. Since the recursive division process of the encoding unit has been described with reference to FIG. 12, a detailed description will be omitted.
  • the image restoring apparatus 100 may determine at least one coding unit by dividing the current coding unit, and may determine the order in which the at least one coding unit is decoded in a predetermined block (for example, ). ≪ / RTI >
  • FIG. 14 illustrates a sequence in which a plurality of coding units are processed when the image restoring apparatus 100 determines a plurality of coding units by dividing a current coding unit according to an embodiment.
  • the image restoring apparatus 100 may divide the first encoding unit 1400 in the vertical direction according to the block type information and the division type information to determine the second encoding units 1410a and 1410b, 1450b, 1450c, and 1450d by dividing the first coding unit 1400 in the horizontal direction to determine the second coding units 1430a and 1430b or dividing the first coding unit 1400 in the vertical direction and the horizontal direction, Can be determined.
  • the image restoring apparatus 100 may determine the order in which the second encoding units 1410a and 1410b determined by dividing the first encoding unit 1400 in the vertical direction are processed in the horizontal direction 1410c .
  • the image restoring apparatus 100 may determine the processing order of the second encoding units 1430a and 1430b determined by dividing the first encoding unit 1400 in the horizontal direction as the vertical direction 1430c.
  • the image restoration apparatus 100 processes the encoding units located in one row of the second encoding units 1450a, 1450b, 1450c, and 1450d determined by dividing the first encoding unit 1400 in the vertical direction and the horizontal direction (For example, a raster scan order or a z scan order 1450e) in which the encoding units located in the next row are processed.
  • the image restoration apparatus 100 may recursively divide encoding units.
  • the image restoring apparatus 100 may divide the first coding unit 1400 to determine a plurality of coding units 1410a, 1410b, 1430a, 1430b, 1450a, 1450b, 1450c, and 1450d, It is possible to recursively divide each of the determined plurality of encoding units 1410a, 1410b, 1430a, 1430b, 1450a, 1450b, 1450c, and 1450d.
  • the method of dividing the plurality of encoding units 1410a, 1410b, 1430a, 1430b, 1450a, 1450b, 1450c, and 1450d may be a method corresponding to the method of dividing the first encoding unit 1400.
  • the plurality of coding units 1410a, 1410b, 1430a, 1430b, 1450a, 1450b, 1450c, and 1450d may be independently divided into a plurality of coding units. Referring to FIG.
  • the image restoring apparatus 100 can determine the second encoding units 1410a and 1410b by dividing the first encoding unit 1400 in the vertical direction, and further determines the second encoding units 1410a and 1410b Can be determined not to divide or separate independently.
  • the image restoring apparatus 100 may divide the second encoding unit 1410a on the left side in the horizontal direction into the third encoding units 1420a and 1420b and the second encoding units 1410b ) May not be divided.
  • the processing order of the encoding units may be determined based on the division process of the encoding units.
  • the processing order of the divided coding units can be determined based on the processing order of the coding units immediately before being divided.
  • the image restoring apparatus 100 may determine the order in which the third coding units 1420a and 1420b determined by dividing the left second coding unit 1410a are processed independently of the second coding unit 1410b on the right.
  • the third coding units 1420a and 1420b may be processed in the vertical direction 1420c since the second coding units 1410a on the left side are divided in the horizontal direction and the third coding units 1420a and 1420b are determined.
  • the order in which the left second encoding unit 1410a and the right second encoding unit 1410b are processed corresponds to the horizontal direction 1410c, the third encoding unit 1410a included in the left second encoding unit 1410a, The right encoding unit 1410b can be processed after the blocks 1420a and 1420b are processed in the vertical direction 1420c.
  • the above description is intended to explain the process sequence in which encoding units are determined according to the encoding units before division. Therefore, it should not be construed to be limited to the above-described embodiments, It should be construed as being used in various ways that can be handled independently in sequence.
  • FIG. 15 illustrates a process of determining that the current encoding unit is divided into odd number of encoding units when the image reconstruction apparatus 100 can not process the encoding units in a predetermined order according to an embodiment.
  • the image restoring apparatus 100 may determine that the current encoding unit is divided into odd number of encoding units based on the obtained block type information and the division type information.
  • the first encoding unit 1500 in a square form may be divided into second non-square encoding units 1510a and 1510b, and the second encoding units 1510a and 1510b may be independently 3 encoding units 1520a, 1520b, 1520c, 1520d, and 1520e.
  • the image restoring apparatus 100 can determine the plurality of third encoding units 1520a and 1520b by dividing the left encoding unit 1510a of the second encoding unit in the horizontal direction, and the right encoding unit 1510b May be divided into an odd number of third encoding units 1520c, 1520d, and 1520e.
  • the image reconstruction apparatus 100 determines whether or not the third encoding units 1520a, 1520b, 1520c, 1520d, and 1520e can be processed in a predetermined order, and determines whether there are odd-numbered encoding units You can decide.
  • the image restoring apparatus 100 may recursively divide the first encoding unit 1500 to determine the third encoding units 1520a, 1520b, 1520c, 1520d, and 1520e.
  • the image restoring apparatus 100 may further include a first encoding unit 1500, a second encoding unit 1510a and a third encoding unit 1520a, 1520b, 1520c, and 1520c based on at least one of block type information and division type information, 1520d, and 1520e may be divided into odd number of coding units among the divided types. For example, an encoding unit located on the right of the second encoding units 1510a and 1510b may be divided into odd third encoding units 1520c, 1520d, and 1520e.
  • the order in which the plurality of coding units included in the first coding unit 1500 are processed may be a predetermined order (for example, a z-scan order 1530) 100 can determine whether the third encoding units 1520c, 1520d, and 1520e determined by dividing the right second encoding unit 1510b into odd numbers satisfy the condition that the third encoding units 1520c, 1520d, and 1520e can be processed according to the predetermined order.
  • a predetermined order for example, a z-scan order 1530
  • the image restoring apparatus 100 satisfies a condition that third encoding units 1520a, 1520b, 1520c, 1520d, and 1520e included in the first encoding unit 1500 can be processed in a predetermined order And it is determined whether or not at least one of the width and the height of the second encoding units 1510a and 1510b is divided in half according to the boundaries of the third encoding units 1520a, 1520b, 1520c, 1520d, and 1520e .
  • the third coding units 1520a and 1520b determined by dividing the height of the left-side second coding unit 1510a in the non-square form by half are satisfied, but the right second coding unit 1510b is set to 3 Since the boundaries of the third encoding units 1520c, 1520d, and 1520e determined by dividing the number of encoding units 1520c, 1520d, and 1520e can not divide the width or height of the right second encoding unit 1510b in half, 1520e may be determined as not satisfying the condition and the image reconstruction apparatus 100 may determine that the scan order is disconnection in the case of such unsatisfactory condition and the right second encoding unit 1510b is determined based on the determination result It can be determined to be divided into odd number of encoding units. According to an exemplary embodiment, the image restoring apparatus 100 may limit a coding unit of a predetermined position among the divided coding units when divided into odd number of coding units. Since the embodiment has been described above, a detailed description thereof will be o
  • the image restoring apparatus 100 may divide the first encoding unit 1600 based on at least one of the block type information and the division type information acquired through the receiving unit 210.
  • the first encoding unit 1600 in the form of a square may be divided into four encoding units having a square shape or may be divided into a plurality of non-square encoding units. For example, referring to FIG.
  • the image reconstruction apparatus 100 includes a first encoding unit
  • the encoding unit 1600 may be divided into a plurality of non-square encoding units. More specifically, when the division type information indicates that the first encoding unit 1600 is divided horizontally or vertically to determine an odd number of encoding units, the image restoring apparatus 100 includes a first encoding unit 1600 in the form of a square 1620b, and 1610c divided in the vertical direction as the odd number of coding units, or into the second coding units 1620a, 1620b, and 1620c determined by being divided in the horizontal direction.
  • the image restoring apparatus 100 may be configured such that the second encoding units 1610a, 1610b, 1610c, 1620a, 1620b, and 1620c included in the first encoding unit 1600 are processed in a predetermined order And the condition is that at least one of the width and height of the first encoding unit 1600 is divided in half according to the boundaries of the second encoding units 1610a, 1610b, 1610c, 1620a, 1620b, and 1620c .
  • the boundaries of the second encoding units 1610a, 1610b, and 1610c, which are determined by dividing the first encoding unit 1600 in the vertical direction, are divided in half by the width of the first encoding unit 1600
  • the first encoding unit 1600 can be determined as not satisfying a condition that can be processed in a predetermined order.
  • 1 encoding unit 1600 may be determined as not satisfying a condition that can be processed in a predetermined order.
  • the image restoration apparatus 100 may determine that the scan sequence is disconnection in the case of such unsatisfactory condition and determine that the first encoding unit 1600 is divided into odd number of encoding units based on the determination result. According to an exemplary embodiment, the image restoring apparatus 100 may limit a coding unit of a predetermined position among the divided coding units when divided into odd number of coding units. Since the embodiment has been described above, a detailed description thereof will be omitted.
  • the image restoration apparatus 100 may determine the encoding units of various types by dividing the first encoding unit.
  • the image restoring apparatus 100 may divide a first coding unit 1600 in a square form and a first coding unit 1630 or 1650 in a non-square form into various types of coding units .
  • the image restoring apparatus 100 may include a first encoding unit 1700 in the form of a square based on at least one of block type information and division type information acquired through the receiving unit 210, 2 encoding units 1710a, 1710b, 1720a, and 1720b.
  • the second encoding units 1710a, 1710b, 1720a, and 1720b may be independently divided. Accordingly, the image restoring apparatus 100 determines whether to divide or not divide into a plurality of coding units based on at least one of the block type information and the division type information related to each of the second coding units 1710a, 1710b, 1720a, and 1720b .
  • the image restoring apparatus 100 divides the left second encoding unit 1710a in the non-square form determined by dividing the first encoding unit 1700 in the vertical direction into the horizontal direction, 1712a, and 1712b. However, when the left second encoding unit 1710a is divided in the horizontal direction, the right-side second encoding unit 1710b is horizontally aligned with the left-side second encoding unit 1710a in the same direction as the division of the left second encoding unit 1710a, As shown in Fig.
  • the left second encoding unit 1710a and the right second encoding unit 1710b are arranged in the horizontal direction
  • the third encoding units 1712a, 1712b, 1714a, and 1714b can be determined by being independently divided. However, this is because the image restoring apparatus 100 divides the first encoding unit 1700 into four square-shaped second encoding units 1730a, 1730b, 1730c, and 1730d based on at least one of the block type information and the division type information And this may be inefficient in terms of image decoding.
  • the image restoring apparatus 100 divides the non-square second encoding unit 1720a or 1720b determined by dividing the first encoding unit 11300 in the horizontal direction into vertical directions, (1722a, 1722b, 1724a, 1724b).
  • the image restoring apparatus 100 may be configured to have a different second encoding unit (for example, Coding unit 1720b) can be restricted such that the upper second encoding unit 1720a can not be divided vertically in the same direction as the divided direction.
  • FIG. 18 shows a process in which the image restoration apparatus 100 divides a square-shaped encoding unit when the division type information can not be divided into four square-shaped encoding units according to an embodiment.
  • the image restoring apparatus 100 divides the first encoding unit 1800 based on at least one of the block type information and the division type information, and outputs the second encoding units 1810a, 1810b, 1820a, 1820b, You can decide.
  • the division type information may include information on various types in which the coding unit can be divided, but information on various types may not include information for dividing into four square units of coding units.
  • the image restoration apparatus 100 can not divide the first encoding unit 1800 in the square form into the second encoding units 1830a, 1830b, 1830c, and 1830d in the form of four squares.
  • the image restoration apparatus 100 can determine the non-square second encoding units 1810a, 1810b, 1820a, 1820b, and the like.
  • the image restoring apparatus 100 may independently divide the non-square second encoding units 1810a, 1810b, 1820a, and 1820b, respectively.
  • Each of the second encoding units 1810a, 1810b, 1820a, 1820b, and the like may be divided in a predetermined order through a recursive method, and the first encoding unit 1800 May be a partitioning method corresponding to a method in which a partition is divided.
  • the image restoring apparatus 100 can determine the third encoding units 1812a and 1812b in the form of a square by dividing the left second encoding unit 1810a in the horizontal direction and the right second encoding unit 1810b It is possible to determine the third encoding units 1814a and 1814b in the form of a square by being divided in the horizontal direction. Further, the image restoring apparatus 100 may divide the left second encoding unit 1810a and the right second encoding unit 1810b in the horizontal direction to determine the third encoding units 1816a, 1816b, 1816c, and 1816d in the form of a square have. In this case, the encoding unit may be determined in the same manner as the first encoding unit 1800 is divided into the four second-type second encoding units 1830a, 1830b, 1830c, and 1830d.
  • the image restoring apparatus 100 may determine that the upper second encoding unit 1820a is vertically divided to determine the third encoding units 1822a and 1822b in the form of a square, and the lower second encoding units 1820b May be divided in the vertical direction to determine the third encoding units 1824a and 1824b in the form of a square. Further, the image restoring apparatus 100 may divide the upper second encoding unit 1820a and the lower second encoding unit 1820b in the vertical direction to determine the square-shaped third encoding units 1822a, 1822b, 1824a, and 1824b have. In this case, the encoding unit may be determined in the same manner as the first encoding unit 1800 is divided into the four second-type second encoding units 1830a, 1830b, 1830c, and 1830d.
  • FIG. 19 illustrates that the processing order among a plurality of coding units may be changed according to the division process of the coding unit according to an embodiment.
  • the image restoring apparatus 100 may divide the first encoding unit 1900 based on the block type information and the division type information.
  • the image restoration apparatus 100 includes a first encoding unit 1900 (For example, 1910a, 1910b, 1920a, 1920b, 1930a, 1930b, 1930c, 1930d, etc.) can be determined.
  • the non-square second encoding units 1910a, 1910b, 1920a, and 1920b which are determined by dividing the first encoding unit 1900 only in the horizontal direction or the vertical direction, As shown in FIG.
  • the image restoring apparatus 100 divides the second encoding units 1910a and 1910b generated by dividing the first encoding unit 1900 in the vertical direction into the horizontal direction and outputs the third encoding units 1916a, 1916b, 1926c and 1916d can be determined and the second encoding units 1920a and 1920b generated by dividing the first encoding unit 1900 in the horizontal direction are divided in the horizontal direction and the third encoding units 1926a, 1926b, and 1926c , 1926d) can be determined. Since the process of dividing the second encoding units 1910a, 1910b, 1920a, and 1920b has been described in detail with reference to FIG. 17, a detailed description thereof will be omitted.
  • the image restoration apparatus 100 may process an encoding unit in a predetermined order.
  • the features of the processing of the encoding unit in the predetermined order have been described in detail with reference to FIG. 14, and a detailed description thereof will be omitted.
  • the image reconstruction apparatus 100 divides a first coding unit 1900 in a square form into four quadrangle-shaped third coding units 1916a, 1916b, 1916c, 1916d, 1926a, 1926b, 1926c, and 1926d Can be determined.
  • the image restoring apparatus 100 may process the third encoding units 1916a, 1916b, 1916c, 1916d, 1926a, 1926b, 1926c, and 1926d according to the form in which the first encoding unit 1900 is divided You can decide.
  • the image restoring apparatus 100 divides the second encoding units 1910a and 1910b generated in the vertical direction into the horizontal direction to determine the third encoding units 1916a, 1916b, 1916c, and 1916d And the image restoration apparatus 100 first processes the third encoding units 1916a and 1916b included in the left second encoding unit 1910a in the vertical direction and then processes the third encoding units 1916a and 1916b included in the right second encoding unit 1910b
  • the third encoding units 1916a, 1916b, 1916c, and 1916d can be processed in accordance with the order 1917 of processing the third encoding units 1916c and 1916d in the vertical direction.
  • the image reconstruction apparatus 100 divides the second encoding units 1920a and 1920b generated in the horizontal direction into vertical directions to determine the third encoding units 1926a, 1926b, 1926c, and 1926d And the image restoration apparatus 100 first processes the third encoding units 1926a and 1926b included in the upper second encoding unit 1920a in the horizontal direction and then processes the third encoding units 1926a and 1926b included in the lower second encoding unit 1920b
  • the third encoding units 1926a, 1926b, 1926c, and 1926d can be processed according to the order 1927 of processing the third encoding units 1926c and 1926d in the horizontal direction.
  • the second encoding units 1910a, 1910b, 1920a, and 1920b are divided to determine the third encoding units 1916a, 1916b, 1916c, 1916d, 1926a, 1926b, 1926c, and 1926d, have.
  • the second encoding units 1910a and 1910b determined to be divided in the vertical direction and the second encoding units 1920a and 1920b determined to be divided in the horizontal direction are divided into different formats, but the third encoding unit 1916a , 1916b, 1916c, 1916d, 1926a, 1926b, 1926c, and 1926d, the result is that the first encoding unit 1900 is divided into the same type of encoding units.
  • FIG. 20 illustrates a process of determining the depth of an encoding unit according to a change in type and size of an encoding unit when the encoding unit is recursively divided according to an embodiment to determine a plurality of encoding units.
  • the image restoration apparatus 100 may determine the depth of a coding unit according to a predetermined criterion.
  • a predetermined criterion may be a length of a long side of a coding unit.
  • the depth of the current encoding unit is smaller than the depth of the encoding unit before being divided it can be determined that the depth is increased by n.
  • an encoding unit with an increased depth is expressed as a lower-depth encoding unit.
  • 1 coding unit 2000 can be divided to determine the second coding unit 2002, the third coding unit 2004, etc. of the lower depth.
  • the size of the square shape of the first encoding unit (2000) if it 2Nx2N, the first second encoding unit (2002) is determined by dividing the width and height of 1 to 1/2 of the encoding unit (2000) have a size of NxN .
  • the third encoding unit 2004 determined by dividing the width and height of the second encoding unit 2002 by a half size may have a size of N / 2xN / 2.
  • the depth of the first encoding unit (2000) corresponds to 1/2 2 times the third encoding unit (2004), the width and height of a first encoding unit (2000).
  • block type information indicating a non-square shape for example, block type information is' 1: NS_VER 'indicating that the height is a non-square having a width greater than the width or'
  • the image reconstruction apparatus 100 divides the first encoding unit 2010 or 2020, which is a non- The third encoding unit 2014 or 2024, or the like.
  • the image restoration apparatus 100 may determine a second encoding unit (e.g., 2002, 2012, 2022, etc.) by dividing at least one of the width and the height of the first encoding unit 2010 of Nx2N size. That is, the image restoring apparatus 100 can determine the second encoding unit 2002 of the NxN size or the second encoding unit 2022 of the NxN / 2 size by dividing the first encoding unit 2010 in the horizontal direction, The second encoding unit 2012 may be divided into the horizontal direction and the vertical direction to determine the second encoding unit 2012 of N / 2xN size.
  • a second encoding unit e.g., 2002, 2012, 2022, etc.
  • the image restoring apparatus 100 divides at least one of the width and the height of the 2NxN first encoding unit 2020 to determine a second encoding unit (for example, 2002, 2012, 2022, etc.) It is possible. That is, the image restoring apparatus 100 can determine the second encoding unit 2002 of NxN size or the second encoding unit 2012 of N / 2xN size by dividing the first encoding unit 2020 in the vertical direction, The second encoding unit 2022 of the NxN / 2 size may be determined by dividing the image data in the horizontal direction and the vertical direction.
  • a second encoding unit for example, 2002, 2012, 2022, etc.
  • the image reconstruction apparatus 100 divides at least one of the width and the height of the second encoding unit 2002 of NxN size to determine a third encoding unit (for example, 2004, 2014, 2024, etc.) It is possible. That is, the image decoding device 100 includes a second sub-coding unit (2002) in the vertical direction and the horizontal direction to determine the N / 2xN / 2 size, a third encoding unit (2004) or to N / 2 2 xN / 2 size The third encoding unit 2014 of the N / 2xN / 2 size can be determined, or the third encoding unit 2024 of the N / 2xN / 2 2 size can be determined.
  • a third encoding unit for example, 2004, 2014, 2024, etc.
  • the image reconstruction apparatus 100 divides at least one of the width and the height of the second encoding unit 2012 of N / 2xN size to generate a third encoding unit (for example, 2004, 2014, 2024, . That is, the image restoring apparatus 100 divides the second encoding unit 2012 in the horizontal direction to obtain a third encoding unit 2004 of N / 2xN / 2 or a third encoding unit of N / 2xN / 2 2 size 2024) may be a crystal or by dividing in the vertical direction and the horizontal direction to determine the N / 2 2 xN / 2 the size of the third encoding unit (2014).
  • the image restoring apparatus 100 divides at least one of the width and the height of the second encoding unit 2014 of NxN / 2 size, and outputs the third encoding unit (for example, 2004, 2014, 2024, . That is, the image decoding device 100 includes a second divide a coding unit (03) in the vertical direction N / 2xN / 2 size, a third encoding unit (2004), or N / 2 2, xN / 2 size, a third encoding unit of the The second encoding unit 2014 can be determined or the third encoding unit 2024 of N / 2xN / 2 2 size can be determined by dividing it in the vertical direction and the horizontal direction.
  • the image restoring apparatus 100 may divide a square-shaped encoding unit (for example, 2000, 2002, 2004) into a horizontal direction or a vertical direction.
  • the first encoding unit 2000 of the size 2Nx2N is divided in the vertical direction to determine the first encoding unit 2010 of the size Nx2N or the horizontal direction to determine the first encoding unit 2020 of 2NxN size .
  • the depth of the encoding unit in which the first encoding unit 2000, 2002, or 2004 of size 2Nx2N is divided in the horizontal direction or the vertical direction is determined May be the same as the depth of the first encoding unit (2000, 2002 or 2004).
  • it may correspond to 1/2 2 times the third encoding unit (2014 or 2024), the width and height of a first encoding unit (2010 or 2020) of the.
  • the depth of the first coding unit 2010 or 2020 is D
  • the depth of the second coding unit 2012 or 2014 which is half the width and height of the first coding unit 2010 or 2020, is D + 1
  • the depth of the first encoding unit (2010 or 2020) 1/2 2 times the third encoding unit (2014 or 2024) of the width and height may be a D + 2.
  • FIG. 21 illustrates a depth index (PID) for coding unit classification and depth that can be determined according to the type and size of coding units according to an exemplary embodiment.
  • PID depth index
  • the image restoration apparatus 100 may determine a second type of encoding unit of various types by dividing the first encoding unit 2100 in a square form. Referring to FIG. 21, the image restoring apparatus 100 divides the first encoding unit 2100 into at least one of a vertical direction and a horizontal direction according to the division type information, and outputs the second encoding units 2102a, 2102b, 2104a, 2104b, 2106a, 2106b, 2106c, and 2106d. That is, the image restoring apparatus 100 may determine the second encoding units 2102a, 2102b, 2104a, 2104b, 2106a, 2106b, 2106c, and 2106d based on the division type information for the first encoding unit 2100. [
  • the second encoding units 2102a, 2102b, 2104a, 2104b, 2106a, 2106b, 2106c, and 2106d which are determined according to the division type information for the first encoding unit 2100 in the square form, Depth can be determined based on. For example, since the length of one side of the first encoding unit 2100 in the square form is the same as the length of long sides of the second encoding units 2102a, 2102b, 2104a, and 2104b in the non-square form, 2100 and the non-square type second encoding units 2102a, 2102b, 2104a, and 2104b are denoted by D in the same manner.
  • the image restoration apparatus 100 divides the first encoding unit 2100 into four square-shaped second encoding units 2106a, 2106b, 2106c, and 2106d based on the division type information
  • the length of one side of the second encoding units 2106a, 2106b, 2106c and 2106d is one-half the length of one side of the first encoding unit 2100. Therefore, the depths of the second encoding units 2106a, 2106b, May be a depth of D + 1 that is one depth lower than D, which is the depth of the first encoding unit 2100.
  • the image restoring apparatus 100 divides a first encoding unit 2110 having a height greater than a width in a horizontal direction according to division type information, and generates a plurality of second encoding units 2112a, 2112b, 2114a, 2114b, and 2114c.
  • the image restoring apparatus 100 divides the first encoding unit 2120 having a shape having a width greater than the height in the vertical direction according to the division type information to generate a plurality of second encoding units 2122a, 2122b, 2124a, 2124b, and 2124c.
  • the second encoding units 2112a, 2112b, 2114a, 2114b, 2116a, 2116b, 2116c, and 2116d determined according to the division type information for the first encoding unit 2110 or 2120 in the non-
  • the depth can be determined based on the length of the long side. For example, since the length of one side of the square-shaped second encoding units 2112a and 2112b is 1/2 times the length of one side of the non-square first encoding unit 2110 whose height is longer than the width, The depth of the second encoding units 2102a, 2102b, 2104a and 2104b in the form of D + 1 is one depth lower than the depth D of the first encoding unit 2110 in the non-square form.
  • the image restoring apparatus 100 may divide the non-square-shaped first coding unit 2110 into odd-numbered second coding units 2114a, 2114b, and 2114c based on the division type information.
  • the odd number of second encoding units 2114a, 2114b and 2114c may include non-square second encoding units 2114a and 2114c and a square second encoding unit 2114b.
  • the length of the longer sides of the non-square second encoding units 2114a and 2114c and the length of one side of the second encoding unit 2114b of the square shape are 1 /
  • the depth of the second encoding units 2114a, 2114b and 2114c may be a depth of D + 1 which is one depth lower than the depth D of the first encoding unit 2110.
  • the image restoration apparatus 100 is connected to the first coding unit 2120 of a non-square shape having a width greater than the height in a manner corresponding to the method of determining the depths of the coding units associated with the first coding unit 2110 The depth of the encoding units can be determined.
  • the image restoration apparatus 100 determines an index (PID) for segmentation of the divided coding units. If the odd-numbered coding units are not the same size, The index can be determined based on the index. 21, an encoding unit 2114b positioned at the center among the odd-numbered encoding units 2114a, 2114b, and 2114c has the same width as other encoding units 2114a and 2114c, May be two times as high as the height of the first and second electrodes 2114a and 2114c. That is, in this case, the coding unit 2114b positioned at the center may include two of the other coding units 2114a and 2114c.
  • the coding unit 2114c positioned next to the coding unit 2114c may be three days in which the index is increased by two. That is, there may be a discontinuity in the value of the index.
  • the image restoring apparatus 100 may determine whether the odd-numbered encoding units are not the same size based on whether there is an index discontinuity for distinguishing between the divided encoding units.
  • the image restoration apparatus 100 may determine whether the image is divided into a specific division form based on an index value for identifying a plurality of coding units divided and determined from the current coding unit. Referring to FIG. 21, the image restoring apparatus 100 divides a rectangular first encoding unit 2110 whose height is longer than the width to determine even-numbered encoding units 2112a and 2112b or odd-numbered encoding units 2114a and 2114b , 2114c can be determined.
  • the image restoration apparatus 100 may use an index (PID) indicating each encoding unit to distinguish each of the plurality of encoding units.
  • the PID may be obtained at a sample of a predetermined position of each coding unit (e.g., the upper left sample).
  • the image restoring apparatus 100 may determine a coding unit of a predetermined position among the coding units divided and determined using an index for classifying a coding unit.
  • the image reconstruction apparatus 100 may include a first encoding unit 2110 It can be divided into three encoding units 2114a, 2114b, and 2114c.
  • the image restoring apparatus 100 may assign an index to each of the three encoding units 2114a, 2114b, and 2114c.
  • the image restoring apparatus 100 may compare the indexes of the respective encoding units in order to determine the middle encoding unit among the encoding units divided into odd numbers.
  • the image restoring apparatus 100 encodes an encoding unit 2114b having an index corresponding to a middle value among the indices based on the indices of the encoding units so as to encode the middle position among the encoding units determined by dividing the first encoding unit 2110 Can be determined as a unit.
  • the image restoration apparatus 100 may determine an index based on a size ratio between coding units when the coding units are not the same size in determining the index for dividing the divided coding units .
  • the coding unit 2114b generated by dividing the first coding unit 2110 is divided into coding units 2114a and 2114c having the same width as the coding units 2114a and 2114c but different in height Can be double the height.
  • the index (PID) of the coding unit 2114b positioned at the center is 1, the coding unit 2114c located next to the coding unit 2114c may be three (3)
  • the image restoration apparatus 100 can determine that the image is divided into a plurality of encoding units including encoding units having different sizes from other encoding units.
  • the image reconstruction apparatus 100 may determine that the coding unit (for example, the middle coding unit) at a predetermined position among the odd number of coding units has a different format The current encoding unit can be divided into.
  • the image restoring apparatus 100 may determine an encoding unit having a different size by using an index (PID) for the encoding unit.
  • PID index
  • the index and the size or position of the encoding unit at a predetermined position to be determined are specific for explaining an embodiment, and thus should not be construed to be limited thereto, and various indexes, positions and sizes of encoding units can be used Should be interpreted.
  • the image restoration apparatus 100 may use a predetermined data unit in which recursive division of the encoding unit starts.
  • FIG. 22 shows that a plurality of coding units are determined according to a plurality of predetermined data units included in a picture according to an embodiment.
  • a predetermined data unit may be defined as a data unit in which an encoding unit starts to be recursively segmented using at least one of block type information and partition type information. That is, it may correspond to a coding unit of the highest depth used in the process of determining a plurality of coding units for dividing the current picture.
  • a predetermined data unit is referred to as a reference data unit for convenience of explanation.
  • the reference data unit may represent a predetermined size and shape.
  • the reference encoding unit may comprise samples of MxN.
  • M and N may be equal to each other, or may be an integer represented by a multiplier of 2. That is, the reference data unit may represent a square or a non-square shape, and may be divided into an integer number of encoding units.
  • the image restoration apparatus 100 may divide the current picture into a plurality of reference data units. According to an exemplary embodiment, the image restoring apparatus 100 may divide a plurality of reference data units for dividing a current picture by using division information for each reference data unit.
  • the segmentation process of the reference data unit may correspond to the segmentation process using a quad-tree structure.
  • the image restoration apparatus 100 may determine in advance a minimum size that the reference data unit included in the current picture can have. Accordingly, the image restoring apparatus 100 can determine reference data units of various sizes having sizes equal to or larger than the minimum size, and determine at least one coding unit using block type information and division type information based on the determined reference data unit You can decide.
  • the image restoring apparatus 100 may use a square-shaped reference encoding unit 2200 or a non-square-shaped reference encoding unit 2202.
  • the type and size of the reference encoding unit may include various data units (e.g., a sequence, a picture, a slice, a slice segment a slice segment, a maximum encoding unit, and the like).
  • the receiving unit 210 of the image reconstruction apparatus 100 may acquire at least one of the information on the type of the reference encoding unit and the size of the reference encoding unit from the bit stream for each of the various data units .
  • the process of determining at least one encoding unit included in the reference-type encoding unit 2200 in the form of a square is described in detail in the process of dividing the current encoding unit 300 of FIG. 10, and the non- Is determined in the process of dividing the current encoding unit 1100 or 1150 of FIG. 11, so that a detailed description thereof will be omitted.
  • the image restoring apparatus 100 may include an index for identifying the size and type of the reference encoding unit Can be used. That is, the receiving unit 210 receives a predetermined condition (for example, a data unit having a size equal to or smaller than a slice) among the various data units (for example, a sequence, a picture, a slice, a slice segment, It is possible to obtain only an index for identifying the size and type of the reference encoding unit for each slice, slice segment, maximum encoding unit, and the like.
  • a predetermined condition for example, a data unit having a size equal to or smaller than a slice
  • the various data units for example, a sequence, a picture, a slice, a slice segment
  • the image restoring apparatus 100 can determine the size and shape of the reference data unit for each data unit that satisfies the predetermined condition by using the index.
  • the information on the type of the reference encoding unit and the information on the size of the reference encoding unit are obtained from the bitstream for each relatively small data unit and used, the use efficiency of the bitstream may not be good. Therefore, Information on the size of the reference encoding unit and information on the size of the reference encoding unit can be acquired and used. In this case, at least one of the size and the type of the reference encoding unit corresponding to the index indicating the size and type of the reference encoding unit may be predetermined.
  • the image restoring apparatus 100 selects at least one of the size and the type of the reference encoding unit included in the data unit serving as a reference for index acquisition by selecting at least one of the size and the shape of the predetermined reference encoding unit You can decide.
  • the image restoring apparatus 100 may use at least one reference encoding unit included in one maximum encoding unit. That is, the maximum encoding unit for dividing an image may include at least one reference encoding unit, and the encoding unit may be determined through a recursive division process of each reference encoding unit. According to an exemplary embodiment, at least one of the width and the height of the maximum encoding unit may correspond to at least one integer multiple of the width and height of the reference encoding unit. According to an exemplary embodiment, the size of the reference encoding unit may be a size obtained by dividing the maximum encoding unit n times according to a quadtree structure.
  • the image restoring apparatus 100 can determine the reference encoding unit by dividing the maximum encoding unit n times according to the quad-tree structure, and according to various embodiments, the reference encoding unit may convert at least one of the block type information and the division type information As shown in FIG.
  • FIG. 23 shows a processing block serving as a reference for determining a determination order of the reference encoding units included in the picture 2300 according to an embodiment.
  • the image restoration apparatus 100 may determine at least one processing block that divides a picture.
  • the processing block is a data unit including at least one reference encoding unit for dividing an image, and at least one reference encoding unit included in the processing block may be determined in a specific order. That is, the order of determination of at least one reference encoding unit determined in each processing block may correspond to one of various kinds of order in which the reference encoding unit can be determined, and the reference encoding unit determination order determined in each processing block May be different for each processing block.
  • the order of determination of the reference encoding unit determined for each processing block is a raster scan, a Z scan, an N scan, an up-right diagonal scan, a horizontal scan a horizontal scan, and a vertical scan. However, the order that can be determined should not be limited to the scan orders.
  • the image restoration apparatus 100 may obtain information on the size of the processing block to determine the size of the at least one processing block included in the image.
  • the image restoration apparatus 100 may obtain information on the size of the processing block from the bitstream to determine the size of the at least one processing block included in the image.
  • the size of such a processing block may be a predetermined size of a data unit represented by information on the size of the processing block.
  • the receiver 210 of the image restoration apparatus 100 may obtain information on the size of the processing block from the bitstream for each specific data unit.
  • information on the size of a processing block can be obtained from a bitstream in units of data such as an image, a sequence, a picture, a slice, a slice segment, and the like. That is, the receiving unit 210 may obtain information on the size of the processing block from the bitstream for each of the plurality of data units, and the image decompression apparatus 100 may decompress the picture using the information on the size of the obtained processing block
  • the size of one processing block may be determined, and the size of the processing block may be an integer multiple of the reference encoding unit.
  • the image restoration apparatus 100 may determine the sizes of the processing blocks 2302 and 2312 included in the picture 2300. For example, the image restoration apparatus 100 can determine the size of the processing block based on information on the size of the processing block obtained from the bitstream.
  • the image restoration apparatus 100 according to an exemplary embodiment of the present invention includes a processing unit 2302 and a plurality of processing units 2312, each of which has a horizontal size of four times the horizontal size of the reference encoding unit and a vertical size of four times the vertical size of the reference encoding unit You can decide.
  • the image restoration apparatus 100 may determine an order in which at least one reference encoding unit is determined in at least one processing block.
  • the image reconstruction apparatus 100 may determine each of the processing blocks 2302 and 2312 included in the picture 2300 based on the size of the processing block, and may include in the processing blocks 2302 and 2312 The determination order of at least one reference encoding unit is determined.
  • the determination of the reference encoding unit may include determining the size of the reference encoding unit according to an embodiment.
  • the image restoration apparatus 100 may obtain information on a determination order of at least one reference encoding unit included in at least one processing block from a bitstream, So that the order in which at least one reference encoding unit is determined can be determined.
  • the information on the decision order can be defined in the order or direction in which the reference encoding units are determined in the processing block. That is, the order in which the reference encoding units are determined may be independently determined for each processing block.
  • the image restoring apparatus 100 may obtain information on a determination order of a reference encoding unit from a bitstream for each specific data unit.
  • the receiving unit 210 may acquire information on the order of determination of the reference encoding unit from a bitstream for each data unit such as an image, a sequence, a picture, a slice, a slice segment, and a processing block. Since the information on the determination order of the reference encoding unit indicates the reference encoding unit determination order in the processing block, the information on the determination order can be obtained for each specific data unit including an integer number of processing blocks.
  • the image restoration apparatus 100 may determine at least one reference encoding unit based on the determined order according to an embodiment.
  • the receiver 210 may obtain information on a reference encoding unit determination order from the bitstream as information related to the processing blocks 2302 and 2312, 2302, and 2312, and determine at least one reference encoding unit included in the picture 2300 according to the determination order of the encoding units.
  • the image restoration apparatus 100 can determine the determination order 2304 and 2314 of at least one reference encoding unit associated with each of the processing blocks 2302 and 2312. For example, when information on a determination order of reference encoding units is obtained for each processing block, the reference encoding unit determination order associated with each processing block 2302, 2312 may be different for each processing block.
  • the reference encoding unit included in the processing block 2302 can be determined according to the raster scan order.
  • the reference encoding unit determination order 2314 related to the other processing block 2312 is in the reverse order of the raster scan order, the reference encoding unit included in the processing block 2312 can be determined according to the reverse order of the raster scan order.
  • the image restoration apparatus 100 may decode the determined at least one reference encoding unit according to an embodiment.
  • the image restoring apparatus 100 can decode the image based on the reference encoding unit determined through the above-described embodiment.
  • the method of decoding the reference encoding unit may include various methods of decoding the image.
  • the image restoring apparatus 100 may obtain block type information indicating a type of a current encoding unit or division type information indicating a method of dividing a current encoding unit from a bitstream.
  • the block type information or the division type information may be included in a bitstream related to various data units.
  • the image restoration apparatus 100 may include a sequence parameter set, a picture parameter set, a video parameter set, a slice header, a slice segment header slice segment type information included in the segment header can be used.
  • the image restoring apparatus 100 may obtain the syntax corresponding to the block type information or the division type information from the bit stream for each of the maximum encoding unit, the reference encoding unit, and the processing block, from the bitstream.
  • the above-described embodiments of the present invention can be embodied in a general-purpose digital computer that can be embodied as a program that can be executed by a computer and operates the program using a computer-readable recording medium.
  • the computer-readable recording medium includes a storage medium such as a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), optical reading medium (e.g., CD ROM,

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

일 실시예에 따른 영상을 압축하는 방법에 있어서, 영상에 대한 DNN을 이용한 다운샘플링을 수행하여 압축영상을 결정하는 단계; 압축영상에 기초한 예측을 수행하여 예측신호를 결정하는 단계; 압축영상 및 예측신호에 기초하여 잔차신호를 결정하는 단계; 및 잔차신호에 대한 정보를 포함하는 비트스트림을 생성하는 단계를 포함하고, DNN은, 업샘플링 과정에서 생성되는 정보를 이용한 다운샘플링 과정의 학습을 통해 결정된 네트워크 구조를 가지는 것을 특징으로 하는 영상 압축 방법 및 영상 압축 방법을 수행할 수 있는 영상 압축 장치가 제공될 수 있다. 업샘플링하기 위한 DNN을 이용하여 영상 압축 방법에 의해 압축된 압축영상을 복원하는 영상 복원 방법 및 영상 복원 방법을 수행할 수 있는 영상 복원 장치가 제공될 수 있다.

Description

영상을 부호화/복호화 하는 방법 및 그 장치
일 실시예에 따른 방법 및 장치는 영상의 부호화 또는 복호화 과정 전후에 부호화 및 복호화의 효율 향상을 위하여 원본신호 및 복호화 된 신호를 변경하기 위한 발명이다.
영상 데이터는 소정의 데이터 압축 표준, 예를 들면 MPEG(Moving Picture Expert Group) 표준에 따른 코덱에 의하여 부호화된 후 비트스트림의 형태로 기록매체에 저장되거나 통신 채널을 통해 전송된다.
고해상도 또는 고화질 영상 컨텐트를 재생, 저장할 수 있는 하드웨어의 개발 및 보급에 따라, 고해상도 또는 고화질 영상 컨텐트를 효과적으로 부호화 또는 복호화 하는 코덱(codec)의 필요성이 증대하고 있다. 부호화된 영상 컨텐트는 복호화됨으로써 재생될 수 있다. 최근에는 이러한 고해상도 또는 고화질 영상 컨텐트를 효과적으로 압축하기 위한 방법들이 실시되고 있다. 예를 들면, 부호화 하려는 영상을 임의적 방법으로 처리하는 과정을 통한 효율적 영상 압축 방법이 실시되고 있다.
부호화 하려는 원본영상의 정보량이 많아지는 경우 발생하는 부호화 효율 저하를 방지하고, 이러한 부호화된 영상에 대한 비트스트림을 수신하여 복호화 과정의 효율을 향상시킬 필요가 있다.
일 실시예에 따른 영상을 복원하는 방법에 있어서, 비트스트림으로부터 영상을 다운샘플링(down-sampling)한 압축영상에 대한 잔차신호를 획득하는 단계; 잔차신호 및 예측을 수행하여 획득한 예측신호를 이용하여압축 압축영상을 복호화하는 단계; 및 복호화된 압축영상에 DNN(Deep Neural Network)을 이용한 압축 업샘플링(up-sampling)을 수행하여 영상을 압축하는 단계를 포함하고, DNN은 다운샘플링 과정에서 생성되는 정보를 이용한 업샘플링 과정의 학습을 통해 결정된 네트워크 구조를 가지는 것을 특징으로 하는 영상 복원 방법이 제공될 수 있다.
일 실시예에 따른 영상을 압축하는 방법에 있어서, 영상에 대한 DNN을 이용한 다운샘플링을 수행하여 압축영상을 결정하는 단계; 압축영상에 기초한 예측을 수행하여 예측신호를 결정하는 단계; 압축영상 및 예측신호에 기초하여 잔차신호를 결정하는 단계; 및 잔차신호에 대한 정보를 포함하는 비트스트림을 생성하는 단계를 포함하고, DNN은, 업샘플링 과정에서 생성되는 정보를 이용한 다운샘플링 과정의 학습을 통해 결정된 네트워크 구조를 가지는 것을 특징으로 하는 영상 압축 방법이 제공될 수 있다.
일 실시예에 따른 영상을 압축하는 장치에 있어서, 비트스트림으로부터 영상을 다운샘플링한 압축영상에 대한 잔차신호를 획득하는 잔차신호 획득부; 및 잔차신호 및 예측을 수행하여 획득한 예측신호를 이용하여 압축영상을 복호화하고, 복호화된 압축영상에 DNN을 이용한 업샘플링을 수행하여 영상을 압축하는 압축부를 포함하고, DNN은 다운샘플링 과정에서 생성되는 정보를 이용한 업샘플링 과정의 학습을 통해 결정된 네트워크 구조를 가지는 것을 특징으로 하는 영상 압축 장치가 제공될 수 있다.
정보량이 많은 영상의 부호화 및 복호화 과정에서 수행되는 데이터 처리량을 줄임으로써 부호화 및 복호화 효율을 향상시킬 수 있다.
도 1a는 일 실시예에 따라 영상을 복원하기 위한 영상 복원 장치에 대한 블록도를 도시한다.
도 1b는 일 실시예에 따라 영상을 압축하기 위한 영상 압축 장치(150)에 대한 블록도를 도시한다.
도 2a는 일 실시예에 따라 영상 복원 장치(100)가 수행할 수 있는 영상 복원 과정을 나타내는 흐름도이다.
도 2b는 일 실시예에 따라 영상 압축 장치(150)가 수행할 수 있는 영상 압축 과정을 나타내는 흐름도이다.
도 3은 일 실시예에 따라 압축된 영상이 부호화 및 복호화 과정을 거쳐 복원되는 과정을 설명하기 위한 도면이다.
도 4는 DNN에 포함되는 심층 컨볼루셔널 신경망을 설명하기 위한 도면이다.
도 5a는 일 실시예에 따라 DNN을 이용한 공간적 정보의 업샘플링 동작을 설명하기 위한 도면이다.
도 5b는 일 실시예에 따라 DNN을 이용한 공간적 정보의 다운샘플링 동작을 설명하기 위한 도면이다.
도 6은 일 실시예에 따라 업샘플링 또는 다운샘플링 과정에서 이용되는 필터 커널의 종류가 상이할 수 있음을 설명하기 위한 도면이다.
도 7a는 일 실시예에 따라 DNN에 포함되는 복수개의 레이어 중 소정의 레이어에서 복수개의 필터 커널을 이용하여 필터링을 수행하는 특징을 설명하기 위한 도면이다.
도 7b는 일 실시예에 따라 복수개의 크기의 필터 커널로 필터링을 수행하여 결정되는 특성맵들을 이용한 필터링 과정을 설명하기 위한 도면이다.
도 8은 일 실시예에 따라 다운샘플링을 위한 DNN에서 발생하는 손실정보를 나타내기 위한 도면이다.
도 9는 업샘플링을 위한 DNN에서 발생하는 손실정보를 나타내기 위한 도면이다.
도 10은 일 실시예에 따라 현재 부호화 단위가 분할되어 적어도 하나의 부호화 단위가 결정되는 과정을 도시한다.
도 11은 일 실시예에 따라 비-정사각형의 형태인 부호화 단위가 분할되어 적어도 하나의 부호화 단위가 결정되는 과정을 도시한다.
도 12는 일 실시예에 따라 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 부호화 단위가 분할되는 과정을 도시한다.
도 13은 일 실시예에 따라 홀수개의 부호화 단위들 중 소정의 부호화 단위가 결정되는 방법을 도시한다.
도 14는 일 실시예에 따라 현재 부호화 단위가 분할되어 복수개의 부호화 단위들이 결정되는 경우, 복수개의 부호화 단위들이 처리되는 순서를 도시한다.
도 15는 일 실시예에 따라 소정의 순서로 부호화 단위가 처리될 수 없는 경우, 현재 부호화 단위가 홀수개의 부호화 단위로 분할되는 것으로 결정되는 과정을 도시한다.
도 16은 일 실시예에 따라 제1 부호화 단위가 분할되어 적어도 하나의 부호화 단위가 결정되는 과정을 도시한다.
도 17은 일 실시예에 따라 제1 부호화 단위가 분할되어 결정된 비-정사각형 형태의 제2 부호화 단위가 소정의 조건을 만족하는 경우, 제2 부호화 단위가 분할될 수 있는 형태가 제한되는 것을 도시한다.
도 18은 일 실시예에 따라 분할 형태 정보가 4개의 정사각형 형태의 부호화 단위로 분할하는 것을 나타낼 수 없는 경우, 정사각형 형태의 부호화 단위가 분할되는 과정을 도시한다
도 19는 일 실시예에 따라 복수개의 부호화 단위들 간의 처리 순서가 부호화 단위의 분할 과정에 따라 달라질 수 있음을 도시한 것이다.
도 20은 일 실시예에 따라 부호화 단위가 재귀적으로 분할되어 복수개의 부호화 단위가 결정되는 경우, 부호화 단위의 형태 및 크기가 변함에 따라 부호화 단위의 심도가 결정되는 과정을 도시한다.
도 21은 일 실시예에 따라 부호화 단위들의 형태 및 크기에 따라 결정될 수 있는 심도 및 부호화 단위 구분을 위한 인덱스(part index, 이하 PID)를 도시한다.
도 22는 일 실시예에 따라 픽쳐에 포함되는 복수개의 소정의 데이터 단위에 따라 복수개의 부호화 단위들이 결정된 것을 도시한다.
도 23은 일 실시예에 따라 픽쳐에 포함되는 기준 부호화 단위의 결정 순서를 결정하는 기준이 되는 프로세싱 블록을 도시한다.
일 실시예에 따른 영상을 복원하는 방법에 있어서, 비트스트림으로부터 영상을 다운샘플링(down-sampling)한 압축영상에 대한 잔차신호를 획득하는 단계; 잔차신호 및 예측을 수행하여 획득한 예측신호를 이용하여압축 압축영상을 복호화하는 단계; 및 복호화된 압축영상에 DNN(Deep Neural Network)을 이용한 압축 업샘플링(up-sampling)을 수행하여 영상을 압축하는 단계를 포함하고, DNN은 다운샘플링 과정에서 생성되는 정보를 이용한 업샘플링 과정의 학습을 통해 결정된 네트워크 구조를 가지는 것을 특징으로 하는 영상 복원 방법이 제공될 수 있다.
일 실시예에 따른 영상 복원 방법의 업샘플링을 수행하는 단계는 복수개의 레이어(hidden layer)를 포함하는 심층 컨볼루셔널 뉴럴 네트워크(Deep Convolutional Neural Network)를 이용하여 업샘플링을 수행하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 복원 방법의 컨볼루셔널 뉴럴 네트워크를 이용하여 업샘플링을 수행하는 단계는, 복수개의 필터 커널들 중 적어도 하나를 이용하여 복수개의 레이어마다 필터링을 수행하여 업샘플링을 수행하는 단계를 포함하고, 복수개의 필터 커널들의 종류는 다운샘플링될 때 이용된 필터 커널들의 종류와 다른 것을 특징으로 할 수 있다.
일 실시예에 따른 영상 복원 방법의 업샘플링을 수행하는 단계는, DNN의 복수개의 레이어 각각에서 적어도 하나의 필터 커널을 이용하여 필터링을 수행하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 복원 방법의 필터링을 수행하는 단계는, 복수개의 레이어 중 복수개의 필터 커널이 이용되는 레이어에서는 복수개의 필터 커널을 이용하여 필터링을 수행하는 단계; 필터링 결과에 따라 획득된 복수개의 신호들을 연결(concatenate)하는 단계; 및 연결된 신호들을 다음 레이어의 입력으로 이용함으로써 다음 레이어에서 필터링을 수행하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 복원 방법의 복수개의 신호들을 연결하는 단계는 복수개의 신호들을 포함하는 특성맵(feature map)들이 서로 다른 크기를 가지는 경우, 특성맵들의 크기가 동일해지도록 특성맵들에 패딩(padding)을 수행하는 단계; 및 패딩된 특성맵들을 연결(concatenate)하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 복원 방법은 업샘플링을 위한 DNN은 압축영상이 복호화 된 후 업샘플링이 수행됨으로써 압축된 영상과 다운샘플링이 수행되기 전의 원본 영상 간의 비교에 의해 결정되는 적어도 하나의 손실정보의 합이 최소화되도록 학습된 것을 특징으로 하고, 적어도 하나의 손실정보 중 일부는 다운샘플링을 위한 DNN의 학습 과정에서 이용되는 것을 특징으로 할 수 있다.
일 실시예에 따른 영상을 압축하는 방법에 있어서, 영상에 대한 DNN을 이용한 다운샘플링을 수행하여 압축영상을 결정하는 단계; 압축영상에 기초한 예측을 수행하여 예측신호를 결정하는 단계; 압축영상 및 예측신호에 기초하여 잔차신호를 결정하는 단계; 및 잔차신호에 대한 정보를 포함하는 비트스트림을 생성하는 단계를 포함하고, DNN은, 업샘플링 과정에서 생성되는 정보를 이용한 다운샘플링 과정의 학습을 통해 결정된 네트워크 구조를 가지는 것을 특징으로 하는 영상 압축 방법이 제공될 수 있다.
일 실시예에 따른 영상 압축 방법의 압축영상을 결정하는 단계는, 복수개의 레이어를 포함하는 심층 컨볼루셔널 뉴럴 네트워크를 이용하여 압축영상을 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 압축 방법의 압축영상을 결정하는 단계는, 복수개의 레이어마다 복수개의 필터 커널들 중 적어도 하나를 이용하여 필터링을 수행하여 압축영상을 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 압축 방법의 필터링을 수행하는 단계는, 복수개의 레이어 중 복수개의 필터 커널이 이용되는 레이어에서는 복수개의 필터 커널로 필터링을 수행하는 단계; 컨볼루션 결과에 따라 획득된 복수개의 신호들을 연결(concatenate)하는 단계; 및 연결된 신호들을 다음 레이어의 입력으로 이용함으로써 다음 레이어에서 필터링을 수행하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 압축 방법의 비트스트림을 생성하는 단계는, 다운샘플링에 의해 영상의 크기 및 영상의 프레임 레이트(frame rate) 중 적어도 하나가 감축된 정도를 나타내는 샘플링 정보를 포함하는 비트스트림을 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 영상 압축 방법에 있어서, DNN을 이용한 다운샘플링에 의해 발생하는 손실(loss)을 나타내는 적어도 하나의 손실정보의 합이 최소화되도록 다운샘플링을 위한 DNN이 학습되는 것을 특징으로 하고, 적어도 하나의 손실정보 중 일부는 압축영상이 복호화 된 후 업샘플링이 수행됨으로써 압축된 영상과 다운샘플링이 수행되기 전의 원본 영상 간의 비교 결과에 기초하여 결정되고, 비교 결과는 업샘플링을 위한 DNN의 학습 과정에서 이용되는 것을 특징으로 할 수 있다.
일 실시예에 따른 영상을 압축하는 장치에 있어서, 비트스트림으로부터 영상을 다운샘플링한 압축영상에 대한 잔차신호를 획득하는 잔차신호 획득부; 및 잔차신호 및 예측을 수행하여 획득한 예측신호를 이용하여 압축영상을 복호화하고, 복호화된 압축영상에 DNN을 이용한 업샘플링을 수행하여 영상을 압축하는 압축부를 포함하고, DNN은 다운샘플링 과정에서 생성되는 정보를 이용한 업샘플링 과정의 학습을 통해 결정된 네트워크 구조를 가지는 것을 특징으로 하는 영상 압축 장치가 제공될 수 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
이하, "영상"은 비디오의 정지영상와 같은 정적 이미지이거나 동영상, 즉 비디오 그 자체와 같은 동적 이미지를 나타낼 수 있다.
이하 "신호" 또는 "샘플"은, 영상의 샘플링 위치에 할당된 데이터로서 프로세싱 대상이 되는 데이터를 의미한다. 예를 들어, 공간영역의 영상에서 픽셀값, 변환 영역 상의 변환 계수들이 샘플들일 수 있다. 이러한 적어도 하나의 샘플들을 포함하는 단위를 블록이라고 정의할 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1a는 일 실시예에 따라 영상을 복원하기 위한 영상 복원 장치(100)에 대한 블록도를 도시한다.
일 실시예에 따라 영상 복원 장치(100)는 비트스트림을 획득하여 부호화된 영상과 관련된 정보를 획득할 수 있는 비트스트림 획득부(110) 및 비트스트림으로부터 획득된 정보를 이용하여 압축된 영상을 복원하는 과정을 수행할 수 있는 복원부(120)를 포함할 수 있다. 일 실시예에 따라 복원부(120)는 비트스트림 획득부(110)에 의해 획득된 비트스트림을 이용하여 영상의 부호화 과정에서 이용된 다양한 정보를 획득할 수 있고, 획득된 정보를 이용하여 영상의 복호화 과정을 거침으로써 영상을 복원할 수 있다.
일 실시예에 따라 복원부(120)는 메모리 및/또는 저장 장치에 저장된 프로그램 명령(program command)을 실행할 수 있다. 복원부(120)는 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 처리 장치(Graphics Processing Unit; GPU)등을 포함하는 적어도 하나의 프로세서(processor)를 포함할 수 있다.
도 2a는 일 실시예에 따라 영상 복원 장치(100)가 수행할 수 있는 영상 복원 과정을 나타내는 흐름도이다.
S200단계에서 영상 복원 장치(100)의 비트스트림 획득부(110)는 일 실시예에 따라 비트스트림으로부터 영상을 다운샘플링한 압축영상에 대한 잔차신호를 획득할 수 있다. 일 실시예에 따라 영상 복원 장치(100)가 비트스트림으로부터 획득한 잔차신호는, 영상의 압축 과정에서 다운샘플링된 영상에 기초한 부호화가 수행된 결과일 수 있다.
도 3은 일 실시예에 따라 압축된 영상이 부호화 및 복호화 과정을 거쳐 복원되는 과정을 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시예에 따라 원본영상(300)은 부호화(304)과정을 거침으로써 주파수 영역으로 변환된 결과인 비트스트림이 생성될 수 있다. 원본신호(300)를 부호화(304)는 하는 과정을 통해 원본신호(300)가 가지는 정보량이 감축될 수 있다. 예를 들면 부호화(304)과정에는 원본신호(300)와 예측신호의 차이에 해당하는 잔차신호 생성과정, 공간 영역 성분인 잔차신호를 주파수 영역 성분으로 변환(transformation)하는 과정, 주파수 영역 성분으로 변환된 잔차신호를 양자화(quantization) 하는 과정 및 양자화된 잔차신호를 엔트로피 부호화 하여 비트스트림을 생성하는 과정 등이 포함될 수 있다. 잔차신호에 대한 비트스트림의 복호화(306)과정이 수행됨으로써 주파수 영역 성분인 잔차신호가 공간 영역 성분으로 변환되고 잔차신호에 기초하여 복원영상(309)이 생성될 수 있다.
부호화하기 위한 영상의 크기가 커짐에 따라 부호화를 위한 정보 처리량이 많아지게 되고 이에 따라 영상의 부호화 및 복호화 효율을 향상시킬 수 있는 과정이 필요하다. 일 실시예에 따르면, 원본영상(300)을 다운샘플링(302)한 압축영상(303)이 생성될 수 있고, 이러한 압축영상(303)에 대한 부호화(304)가 수행될 수 있다. 부호화(304)된 결과를 포함하는 비트스트림이 복호화(306)된 결과, 복호화된 압축영상(307)이 결정될 수 있고, 복호화된 압축영상(307)에 대한 업샘플링(308)이 수행되어 복원영상(309)이 결정될 수 있다. 구체적으로, 다운샘플링(302) 및 업샘플링(308)은 DNN(Deep Neural Network)을 이용하여 수행될 수 있으며, 이러한 DNN을 이용한 다운샘플링(302) 및 업샘플링(308)과정은 다양한 실시예를 통해 후술하도록 한다.
S202단계에서 영상 복원 장치(100)는 일 실시예에 따라 잔차신호 및 예측(prediction)을 수행하여 획득한 예측 신호를 이용하여 압축영상을 복호화할 수 있다. 영상 복원 장치(100)의 복원부(120)는 복호화하려는 압축영상을 소정의 데이터 단위를 기준으로 분할할 수 있다. 예를 들면 복원부(120)는 영상을 복수개의 최대부호화단위로 분할하고, 최대부호화단위를 재귀적으로 분할하여 결정되는 부호화단위를 이용하여 영상을 복호화할 수 있다. 일 실시예에 따라 복원부(120)는 부호화단위에 포함되는 신호를 복호화하기 위하여, 예측과정을 수행할 수 있다. 복원부(120)는 예측과정을 통해 결정되는 예측신호와 S200단계에서 획득한 잔차신호를 가산할 수 있다. 일 실시예에 따라 복원부(120)는 예측신호와 잔차신호를 가산한 결과에 추가적으로 영상을 복호화하기 위한 소정의 과정(예를 들면 인루프 필터링, DPB 저장 과정, 엔트로피 복호화 등)을 수행할 수 있다. 예측 신호 및 잔차 신호를 이용한 영상 복호화 과정에는 해당 기술 분야의 당업자가 용이하게 수행할 수 있는 다양한 과정에 포함될 수 있다.
S204단계에서 영상 복원 장치(100)는 복호화된 압축영상에 DNN을 이용한 업샘플링을 수행하여 영상을 복원할 수 있다. 일 실시예에 따라 S202단계에서 복호화된 영상은 압축영상을 부호화한 정보를 비트스트림으로부터 획득하여 복호화한 결과에 해당할 수 있다. 복원부(120)는 S202단계에서 복호화된 압축영상에 대하여 DNN을 이용한 업샘플링을 수행함으로써 영상을 복원할 수 있다.
도 4는 DNN에 포함되는 심층 컨볼루셔널 신경망을 설명하기 위한 도면이다.
일 실시예에 따라 영상 복원 장치(100)는 업샘플링을 수행하기 위하여 복수개의 레이어를 포함하는 DNN을 이용할 수 있다. 일 실시예에 따라 복원부(120)는 복수개의 레이어에서 컨볼루션 연산을 수행하기 위하여, 업샘플링을 수행할 수 있는 DNN으로서 심층 컨볼루셔널 신경망(Deep Convolutional Neural Network)을 이용할 수 있다.
일 실시예에 따라 심층 컨볼루셔널 신경망은 복수개의 레이어(예를 들면, 제1 레이어(410) 및 제n 레이어(420)를 포함하는 복수개의 레이어)를 포함할 수 있다. 일 실시예에 따라 심층 컨볼루셔널 신경망을 구성하는 복수개의 레이어 각각에는 필터 커널들을 이용하여 복수의 특성맵(feature map)들을 생성하는 컨볼루션 레이어(Convolution Layer)들과 필터 커널들의 가중치를 조절하는 활성화 레이어(Activation Layer)들이 포함될 수 있다.
컨볼루션 레이어들은 각각 복수개의 노드들을 포함할 수 있다. 일 실시예에 따라 컨볼루션 레이어는 복수개의 필터 커널들을 이용하여, 복수개의 특성맵들을 생성할 수 있다. 컨볼루션 레이어의 노드들이 생성한 특성맵들은 활성화 레이어에 입력될 수 있다. 일 실시예에 따라 복원부(120)는 제1 레이어(410)에 포함된 복수개의 노드(411, 412, 413 등)마다 컨볼루션 연산 및 활성화를 수행할 수 있다. 복원부(120)는 제1 레이어에 포함된 컨볼루션 레이어(CL1_1, CL1_2, ..., CL1_a)에서 제1 레이어의 입력신호(예를 들면, 압축신호인 입력(400))에 대한 컨볼루션 연산을 수행할 수 있으며, 각 컨볼루션 레이어(CL1_1, CL1_2, ..., CL1_a)에는 서로 다른 필터 커널들이 컨볼루션 연산에 이용될 수 있다. 일 실시예에 따라 각 컨볼루션 레이어(CL1_1, CL1_2, ..., CL1_a)에서 컨볼루션 연산된 결과를 활성화 시키기 위하여 각 컨볼루션 레이어와 관련된 활성화 레이어에 컨볼루션 연산된 결과를 입력할 수 있다. 복원부(120)는 컨볼루션 연산 결과를 활성화 시킴으로써 제1 레이어(410)의 복수개의 특성맵들을 결정할 수 있다. 일 실시예에 따라 특정 레이어에서 획득되는 복수개의 특성맵의 개수는 필터 커널의 개수에 비례할 수 있다. 일 실시예에 따라 특정 레이어에서 획득된 특성맵은 다음 레이어의 입력값으로서 이용될 수 있다. 즉, 제1 레이어(410)에서 획득된 특성맵은 제n 레이어(420)(n>1)에 입력되어 컨볼루션 연산 및 활성화가 수행될 수 있다. 이하에서는 설명상의 편의를 위해, 컨볼루션 연산 및 활성화 등을 포함하는 각 레이어에서 수행되는 소정의 신호 처리 과정은 필터링 과정으로 지칭하도록 한다.
일 실시예에 따라 심층 컨볼루션 신경망에 포함되는 복수개의 레이어를 모두 거친 후에는 완전 연결 레이어(Fully Connected Layer)(430)를 거침으로써 출력신호(440)를 획득할 수 있다.
완전 연결 레이어는 제1 레이어(410) 내지 제n 레이어(420)와 연결될 수 있다. 완전 연결 레이어(FC)는 이전 모든 레이어들에 대해 서로 다른 가중치를 부여할 수 있다. 완전 연결 레이어(FC)가 이전 레이어들에 가중치를 부여하는 방식은 학습될 수 있으며 학습되는 방식은 지도 학습 방식을 포함하는 다양한 방식을 포함할 수 있다. 복원부(120)는 학습에 의해 완전 연결 레이어(FC)가 하위 레이어들에 가중치를 부여하는 방식을 변경함으로써, 심층 컨볼루셔널 신경망을 개선할 수 있다.
일 실시예에 따라 활성화 레이어는 컨볼루션 레이어의 출력 결과에 비선형(Non-linear) 특성을 부여할 수 있다. 심층 컨볼루셔널 신경망은 활성화 레이어들을 이용하여 비선형 함수 또는 파라미터를 학습할 수 있다. 활성화 레이어들은 활성화 함수를 이용할 수 있다. 활성화 함수는 시그모이드 함수(sigmoid function), Tanh함수, ReLU(Rectified Linear Unit) 함수 등을 포함할 수 있으나, 이에 한정하여 해석되어서는 안 된다.
심층 컨볼루셔널 신경망은 컨볼루션 레이어들 각각에 포함된 노드들의 가중치들(weights)을 결정할 수 있다. 컨볼루셔널 레이어들 각각에 포함된 노드들은 서로 다른 필터 커널을 이용하여 특성 맵들을 생성할 수 있다. 심층 컨볼루셔널 신경망은 노드들의 가중치들을 조절함으로써, 특성맵들을 생성하는 필터 커널들의 가중치들을 조절할 수 있다.
일 실시예에 따라 복원부(120)는 컨볼루션 레이어들에 포함된 노드들의 가중치를 변경하는 과정을 수행할 수 있다. 복원부(120)가 컨볼루션 레이어들에 포함된 노드들의 가중치를 변경하는 과정을 역전사(Back propagation) 과정이라고 한다. 일 실시예에 따라 복원부(120)는 역전사 과정을 통해, 컨볼루션 신경망을 학습시킬 수 있다.
일 실시예에 따라 복원부(120)는 DNN을 이용하여 다운샘플링된 영상인 압축영상을 복호화한 후, 복호화된 압축 영상을 DNN을 이용하여 업샘플링할 수 있다. 일 실시예에 따라 DNN을 이용한 다운샘플링 또는 업샘플링 과정은 영상의 해상도와 같은 공간적 정보 및 비트레이트와 같은 시간적 정보 중 적어도 하나를 압축 또는 환원시키는 과정에 해당할 수 있다.
도 5a는 일 실시예에 따라 DNN을 이용한 공간적 정보의 업샘플링 동작을 설명하기 위한 도면이다.
일 실시예에 따라 복원부(120)는 복호화된 압축영상을 DNN을 이용하여 공간적으로 업샘플링을 수행할 수 있다. 일 실시예에 따라 복원부(120)는 업샘플링을 위하여, 컨볼루션 연산과 관련된 다양한 동작을 수행하기 위한 DNN을 이용할 수 있다. 일 실시예에 따라 복원부(120)는 압축영상의 공간적 성분을 압축되기 전의 원본영상의 공간적 성분에 대응하는 것으로 복원시키기 위하여 DNN을 이용한 업샘플링 동작을 수행할 수 있으며, 이러한 업샘플링 동작은 전치 컨볼루션(Transposed Convolution), 언-풀링(un-pooling) 등의 동작을 포함할 수 있다.
도 5a를 참조하면 복원부(120)는 일 실시예에 따라 압축영상(500)에 포함되는 복수개의 프레임들에 대한 업샘플링을 수행하기 위하여 복수개의 레이어(510, 520, 530)를 포함하는 DNN을 이용할 수 있다. 각 레이어에서는 업샘플링을 위한 전치 컨볼루션이 수행될 수 있다. 복원부(120)는 각 레이어에서 수행되는 전치 컨볼루션 결과에 따라 해상도가 증가한 프레임을 결정할 수 있다. 일 실시예에 따라 복원부(120)는 압축영상(500)의 프레임에 대한 전치 컨볼루션을 제1 레이어(510)에서 수행할 수 있으며, 그 결과 Wu_1 x Hu_1 x Au_1 크기를 가지는 특성맵을 결정할 수 있다. Wu_1 및 Hu_1은 제1 레이어(510)에서 결정된 특성맵의 넓이 및 높이를 나타낼 수 있고 Au_1은 제1 레이어(510)에서 이용되는 필터 커널(512)의 개수에 해당할 수 있다. 일 실시예에 따라 제1 레이어(510)에서 결정되는 특성맵의 넓이(Wu_1) 및 높이(Hu_1)는 제1 레이어(510)에 입력된 압축영상의 프레임의 넓이(W0) 및 높이(H0)보다 크다.
일 실시예에 따라 복원부(120)는 제2 레이어(520)에서 전치 컨볼루션을 수행할 수 있으며, 그 결과 Wu_2 x Hu_2 x Au_2 크기를 가지는 특성맵을 결정할 수 있다. Wu_2 및 Hu_2은 제2 레이어(520)에서 결정된 특성맵 넓이 및 높이를 나타낼 수 있고 Au_2는 제2 레이어(520)에서 이용되는 필터 커널(522)의 개수에 해당할 수 있다. 일 실시예에 따라 제2 레이어(520)의 입력은 제1 레이어(510)의 출력에 해당할 수 있다. 일 실시예에 따라 제2 레이어(520)에서 결정되는 특성맵의 넓이(Wu_2) 및 높이(Hu_2)는 제1 레이어(510)의 특성맵의 넓이(Wu_1) 및 높이(Hu_1)보다 크다.
일 실시예에 따라 복원부(120)는 n개의 레이어를 포함하는 DNN을 이용하여 압축 영상(500)의 업샘플링을 수행할 수 있다. 제n 레이어(530)에서 수행된 업샘플링이 수행되어 결정된 특성맵은 Wu_n x Hu_n x Au_n의 크기를 가질 수 있다. 복원부(120)는 압축영상(500)의 프레임보다 큰 크기를 가지는 제n 레이어의 특성맵을 이용하여 복원영상(540)을 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)의 복원부(120)는 DNN을 이용하여 압축영상을 시간적으로 업샘플링 시킬 수 있다. 일 실시예에 따라 압축영상은 DNN을 이용하여 시간적으로 압축된 영상(예를 들면, 비트레이트가 원본영상에 비해 적은 압축영상)일 수 있다. 일 실시예에 따라 복원부(120)는 DNN(예를 들면, 컨볼루셔널 신경망(Convolutional Neural Network, CNN), 재귀적 신경망(Recurrent Neural Network(RNN)등)을 이용하여 압축영상에 포함된 복수개의 프레임 사이에 추가적인 프레임을 삽입함으로써 시간적 업샘플링을 수행할 수 있다. 일 실시예에 따라 복원부(120)는 압축영상에 포함된 복수개의 프레임 사이에 추가적인 프레임을 추가하기 위하여 입력되는 두 프레임의 비교 결과, 업샘플링 되어야 하는 비트레이트 배율(예를 들면, 30fps에서 60fps로 업샘플링), 두 프레임 사이에 추가되어야 하는 프레임의 개수 등을 고려하여 DNN을 이용한 업샘플링 과정을 수행할 수 있다. 예를 들면, t 시간의 프레임을 복원하기 위하여 복원부(120)는 DNN 입력으로 이전 시간대(t-1, t-2, ...)의 프레임 및 이후 시간대(t+1, t+2, ...)의 프레임 중 적어도 2개 이상을 이용할 수 있다.
일 실시예에 따라 복원부(120)는 업샘플링에 필요한 프레임의 개수에 따라 미리 결정된 시간대의 프레임을 이용한 시간적 업샘플링을 수행할 수 있다. 예를 들면, 복원부(120)는 t 시간대의 시간적 업샘플링을 위해 필요한 프레임의 개수가 2개이면 t-1, t+1 시간대의 프레임을 이용하여 업샘플링을 수행할 수 있다. 또 다른 예를 들면, 만약 복원부(120)는 t 시간대의 시간적 업샘플링을 위해 필요한 프레임의 개수가 3개이면 t-1, t-2, t+1 시간대 또는 t-1 t+1, t+2 시간대의 프레임을 이용하여 업샘플링을 수행할 수 있다. 또 다른 예를 들면, 만약 복원부(120)는 t 시간대의 시간적 업샘플링을 위해 필요한 프레임의 개수가 3개이면 t-1, t-2, t+1, t+2 시간대의 프레임을 이용하여 업샘플링을 수행할 수 있다.일 실시예에 따라 복원부(120)는 t 시간대의 시간적 업샘플링을 수행하기 위하여, 시간적 업샘플링에 필요한 시간대의 프레임들을 이용할 수 있다. 일 실시예에 따라 복원부(120)는 시간적 업샘플링을 위하여 이용되는 다른 시간대의 프레임들에 대하여 필터링을 수행하여 각 프레임마다의 특성맵을 결정할 수 있다. 복원부(120)는 각 시간대마다 결정된 특성맵들을 연결(concatenate)하여 t 시간대의 프레임에 대한 특성맵으로서 결정할 수 있다. 복원부(120)는 특성맵을 복원하기 위하여 필터링(예를 들면, 컨볼루션 등)을 수행하여 t 시간대의 프레임을 시간적으로 복원할 수 있다. 각 시간대마다의 특성맵들을 연결하는 방법은 상술한 공간적 업샘플링 과정에서 이용된 방법에 대응하는 방법일 수 있다.
일 실시예에 따라 영상 복원 장치(100)의 비트스트림 획득부(110)는 시간적 업샘플링을 필요로 하는 시간대의 프레임이 무엇인지를 나타내는 정보인 시간적 업샘플링 정보를 비트스트림으로부터 획득할 수 있고, 복원부(120)는 획득된 시간적 업샘플링 정보에 기초하여 시간적인 업샘플링을 수행할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 어느 정도로 공간적 및 시간적 업샘플링을 수행하여야 하는지를 나타내는 변경 정보를 비트스트림으로부터 획득하여 업샘플링을 수행할 수 있다. 일 실시예에 따라 복원부(120)는 비트스트림으로부터 획득된 변경정보에 기초하여 압축영상의 해상도를 증가시킬 수 있다. 예를 들면, 획득된 변경정보가 원본영상의 해상도가 압축영상과 2배임을 나타내는 경우, 복원부(120)는 압축영상의 해상도를 2배 증가시키는 업샘플링을 DNN을 이용하여 수행할 수 있다. 또 다른 일 실시예에 따라 복원부(120)는 비트스트림으로부터 획득된 변경정보에 기초하여 원본영상의 비트레이트가 압축영상의 2배를 나타내는 경우, 복원부(120)는 압축영상의 비트레이트를 2배 증가시키는 업샘플링을 DNN을 이용하여 수행할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 영상 복원 장치(100)의 사항을 고려하여 업샘플링을 수행할 수 있다. 영상 복원 장치(100)의 연산량을 고려하여 업샘플링을 수행함으로써 영상 재생에 최적화된 영상으로 복원할 수 있다. 예를 들면, 영상 복원 장치(100)에 포함된 디스플레이(미도시)가 최대해상도로서 1920x1080의 FHD(Full HD) 해상도만을 지원하고, 압축영상의 해상도가 1280x720인 경우, 복원부(120)는 압축영상의 해상도를 2배 증가시키는 업샘플링을 수행할 수 있다. 또 다른 예를 들면, 영상 복원 장치(100)의 연산량을 고려하였을 때 압축영상의 해상도를 가지는 영상을 60fps로 재생할 수 있는 것으로 결정되는 경우, 복원부(120)는 30fps의 비트레이트를 가지는 압축영상의 비트레이트를 2배 증가시키는 업샘플링을 수행할 수 있다. 또 다른 예를 들면, 영상 복원 장치(100)의 연산량을 고려하였을 때 압축영상의 해상도보다 1.5배 큰 해상도의 영상을 60fps로 재생할 수 있는 것으로 결정되는 경우, 복원부(120)는 30fps의 비트레이트를 가지는 압축영상의 비트레이트를 2배 증가시키고 압축영상의 해상도를 1.5배 증가시키는 업샘플링을 수행할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 DNN을 이용하는 업샘플링을 수행하기 위하여 각 레이어마다 필터 커널을 이용할 수 있으며, 이러한 각 레이어 마다 이용가능한 필터 커널의 종류는 다운샘플링을 위한 필터 커널의 종류와 상이할 수 있다. 즉, 다운샘플링을 위한 DNN과 업샘플링을 위한 DNN에서 포함된 레이어에서 이용되는 필터 커널의 크기 및 개수의 종류가 상이할 수 있다.
도 6은 일 실시예에 따라 업샘플링 또는 다운샘플링 과정에서 이용되는 필터 커널의 종류가 상이할 수 있음을 설명하기 위한 도면이다.
일 실시예에 따라 업샘플링을 위한 DNN에 포함되는 m개의 레이어(m은 n과 동일하거나 상이한 정수일 수 있음) 각각에서는 필터 커널이 이용되어 필터링(예를 들면, 전치 컨볼루션(Transposed Convolution) 연산)이 수행될 수 있다. 일 실시예에 따라 업샘플링을 위한 필터링에서 이용될 수 있는 필터 커널의 종류는, 다운샘플링을 위한 필터링에서 이용된 필터 커널의 종류와 상이할 수 있다. 예를 들면, 다운샘플링을 위한 DNN에서 이용된 필터 커널 크기의 종류가 3x3, 3x3, 5x5인 경우라도 복원부(120)는 업샘플링을 위한 DNN에서 이용된 필터 커널 크기의 종류는 3x3, 5x5, 7x7일 수 있다. 일 실시예에 따라 복원부(120)가 DNN의 각 레이어에서 이용할 수 있는 필터 커널의 크기 및 개수의 종류는 다운샘플링을 위한 DNN에서 이용한 필터 커널의 크기 및 개수의 종류와 상이할 수 있다.
도 7a는 일 실시예에 따라 DNN에 포함되는 복수개의 레이어 중 소정의 레이어에서 복수개의 필터 커널을 이용하여 필터링을 수행하는 특징을 설명하기 위한 도면이다.
일 실시예에 따라 복원부(120)는 각 레이어마다 한 종류의 필터 커널을 이용하여 필터링을 수행할 수 있다. 일 실시예에 따라 DNN의 입력(700)인 압축영상을 복원하기 위하여 복원부(120)는 복수개의 레이어를 포함하는 DNN을 이용할 수 있다. 복원부(120)는 복수개의 레이어 중 제a 레이어(710)에서는 Fw_a x Fh_a의 크기를 가지는 필터 커널(712) A_a개를 이용하여 필터링을 수행하여 W_a x H_a의 크기를 가지는 특성맵 A_a개를 결정할 수 있다.
일 실시예에 따라 복원부(120)는 소정의 레이어에서 복수개의 크기를 가지는 필터 커널을 이용하여 필터링을 수행할 수 있다. 일 실시예에 따라. 복원부(120)는 복수개의 레이어 중 제b 레이어(720)에서는 Fw_b1 x Fh_b1, Fw_b2 x Fh_b2, Fw_b3 x Fh_b3 등의 크기를 가지는 필터 커널(722)을 이용하여 필터링을 수행할 수 있다. 일 실시예에 따라 서로 다른 크기를 가지는 필터 커널들에는 서로 다른 개수의 필터 커널들이 포함될 수 있다. 예를 들면, Fw_b1 x Fh_b1 크기를 가지는 필터 커널은 A_b1개, Fw_b2 x Fh_b2 크기를 가지는 필터 커널은 A_b2개, Fw_b3 x Fh_b3 크기를 가지는 필터 커널은 A_b3개가 필터링에 이용될 수 있다. 일 실시예에 따라 복원부(120)는 복수개의 크기 종류를 가지는 필터 커널들을 이용하여 필터링을 수행함에 따라 이용된 필터 커널의 개수만큼의 특성맵을 결정할 수 있다. 즉, 복원부(120)는 Fw_b1 x Fh_b1, Fw_b2 x Fh_b2, Fw_b3 x Fh_b3의 크기를 가지는 필터 커널(722)들을 이용하여 필터링을 수행함으로써 A_b개의 특성맵을 결정할 수 있고, 이 경우 A_b는 A_b1 + A_b2 + A_b3에 해당할 수 있다. 복원부(120)는 A_b개의 W_b x H_b 크기의 특성맵을 이용한 나머지 복원 과정을 수행함으로써 출력(725)인 복원영상을 결정할 수 있다.
도 7b는 일 실시예에 따라 복수개의 크기의 필터 커널로 필터링을 수행하여 결정되는 특성맵들을 이용한 필터링 과정을 설명하기 위한 도면이다.
일 실시예에 따라 영상 복원 장치(100)의 복원부(120)는 임의의 레이어에서 복수개의 크기를 가지는 필터 커널들을 이용하여 특성맵들을 결정할 수 있다. 일 실시예에 따라 복원부(120)는 DNN에 포함되는 복수개의 레이어 중 하나인 제n 레이어(730)에서 복수개의 크기를 가지는 필터커널(732)들을 이용하여 필터링을 수행할 수 있다. 복원부(120)가 필터링(예를 들면, 컨볼루션 연산)을 수행한 결과 복수개의 크기를 가지는 특성맵(740, 742, 744)이 결정될 수 있다. 일 실시예에 따라 제n 레이어에 입력된 특성맵 또는 압축영상의 프레임의 크기가 W_n x H_n인 경우, 복원부(120)는 제n 레이어(730)에서 Fw_n1 x Fh_n1의 크기를 가진 필터 커널을 이용하여 필터링을 수행하여 (W_n - Fw_n1 + 1) x (H0 - Fh_n1 + 1) 크기를 가지는 특성맵 A_n1개를 결정할 수 있다. 나아가 복원부(120)는 다른 크기를 필터 커널들을 이용한 필터링을 수행함으로써 (W_n - Fw_n2 + 1) x (H0 - Fh_n2 + 1)의 크기를 가지는 특성맵 A_n2개, (W_n - Fw_n3 + 1) x (H0 - Fh_n3 + 1)의 크기를 가지는 특성맵 A_n3개 등을 결정할 수 있다.
일 실시예에 따라 복원부(120)는 필터 커널의 크기별로 생성된 특성맵들이 서로 동일한 크기를 가지도록 패딩(padding) 동작을 수행할 수 있다. 일 실시예에 따라 패딩된 특성맵들은 해당 레이어의 입력과 동일한 크기를 가지는 것일 수 있다. 도 7b를 참조하면, 필터 커널의 크기 별로 생성된 복수개의 크기의 특성맵(740, 742, 744)이 제n 레이어(730)에 입력된 특성맵 또는 압축영상의 프레임의 크기인 W_n x H_n와 동일한 크기를 가지도록 특성맵(740, 742, 744)에 패딩을 수행할 수 있다. 이에 따라 패딩된 특성맵(741, 743, 745)들은 서로 동일한 크기(W_n x H_n)를 가질 수 있다. 일 실시예에 따라 복수개의 크기의 필터 커널들이 이용되는 레이어의 입력과 출력은 서로 동일한 평면 크기를 가지는 것을 특징으로 할 수 있다.
일 실시예에 따라 복원부(120)는 복수개의 크기 종류를 가지는 필터 커널들을 이용하여 필터링을 수행함에 따라 이용된 필터 커널의 개수만큼의 특성맵을 결정할 수 있다. 즉, 복원부(120)는 Fw_n1 x Fh_n1, Fw_n2 x Fh_n2, Fw_n3 x Fh_n3의 크기를 가지는 필터 커널(732)들을 이용하여 필터링을 수행하여 특성맵(740, 742, 744)를 결정할 수 있고, 특성맵(740, 742, 744)에 패딩을 수행하여 서로 동일한 크기로 패딩된 특성맵(741, 743, 745)를 결정할 수 있다. 복원부(120)는 패딩된 특성맵(741, 743, 745)을 연결(concatenate)함으로써, 제n 레이어(730)의 출력을 결정할 수 있다. 이에 따라 W_n x H_n 크기의 특성맵을 제n 레이어에 입력하여 필터링을 수행한 결과, W_n x H_n크기를 가지는 특성맵이 A_n1 + A_n2 + A_n3개 출력될 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 영상을 복호화 하고 업샘플링을 수행하기 위하여 다양한 형태의 데이터 단위를 이용할 수 있다. 일 실시예에 따라 복원부(120)에 수행될 수 있는 과정으로서 상술한 다양한 실시예들은 영상의 부호화 과정에서 이용될 수 있는 다양한 데이터 단위들을 기준으로 수행될 수 있다. 일 실시예에 따라 복원부(120)는 비디오, 시퀀스, 프레임, 슬라이스, 슬라이스 세그먼트, 최대부호화단위, 부호화단위, 예측단위, 변환단위, 프로세싱 단위 등을 포함하는 다양한 데이터 단위를 이용하여 영상을 부호화, 업샘플링, 다운샘플링 하는 과정을 수행할 수 있다.
일 실시예에 따라 복원부(120)는 프레임마다 주관적 화질을 결정할 수 있다. 비트스트림 획득부(110)는 얼마나 다운샘플링 되었는지를 나타내는 변경 정보를 픽쳐마다 획득할 수 있다. 일 실시예에 따라 복원부(120)는 다운샘플링 또는 업샘플링을 수행하는 과정을 최대부호화단위마다 수행할 수 있다. 다만 복원부(120)가 소정의 과정을 수행하는 데 이용하는 데이터단위들은 상술한 실시예들에 의해 한정하여 해석되어서는 안되고, 당업자가 이용할 수 있는 범위 내에서 다양한 데이터 단위들이 이용될 수 있는 것으로 해석될 수 있다. 영상 복원 장치(100)가 이용할 수 있는 다양한 데이터 단위들의 특징은 이하의 도 10 내지 도 23을 통해 후술하도록 한다.
이하에서는 영상 복원 장치(100)에서 복원하려는 영상을 압축하는 과정을 수행할 수 있는 영상 압축 장치(150)에 대하여 다양한 실시예를 통해 설명하도록 한다.
도 1b는 일 실시예에 따라 영상을 압축하기 위한 영상 압축 장치(150)에 대한 블록도를 도시한다.
일 실시예에 따라 영상 압축 장치(150)는 원본영상을 부호화하고 다운샘플링 과정을 수행하여 압축할 수 있는 압축부(160) 및 압축된 영상에 대한 정보를 포함하는 비트스트림을 생성할 수 있는 비트스트림 생성부(170)를 포함할 수 있다. 일 실시예에 따라 압축부(160)는 메모리 및/또는 저장 장치에 저장된 프로그램 명령(program command)을 실행할 수 있다. 압축부(160)는 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 처리 장치(Graphics Processing Unit; GPU)등을 포함하는 적어도 하나의 프로세서(processor)를 포함할 수 있다.
도 2b는 일 실시예에 따라 영상 압축 장치(150)가 수행할 수 있는 영상 압축 과정을 나타내는 흐름도이다.
S210단계에서 영상 압축 장치(150)의 영상에 대한 DNN을 이용한 다운샘플링을 수행하여 압축영상을 결정할 수 있다..
도 3은 일 실시예에 따라 압축된 영상이 부호화 및 복호화 과정을 거쳐 압축되는 과정을 설명하기 위한 도면이다
도 3을 참조하면, 압축부(160)는 원본신호(300)를 부호화(304)는 하는 과정을 통해 원본신호(300)가 가지는 정보량을 감축시킬 수 있다. 예를 들면 부호화(304)과정에는 원본신호(300)와 예측신호의 차이에 해당하는 잔차신호 생성과정, 공간 영역 성분인 잔차신호를 주파수 영역 성분으로 변환(transformation)하는 과정, 주파수 영역 성분으로 변환된 잔차신호를 양자화(quantization) 하는 과정 및 양자화된 잔차신호를 엔트로피 부호화 하여 비트스트림을 생성하는 과정 등이 포함될 수 있다. 잔차신호에 대한 비트스트림의 복호화(306)과정이 수행됨으로써 주파수 영역 성분인 잔차신호가 공간 영역 성분으로 변환되고 잔차신호에 기초하여 압축영상(309)이 생성될 수 있다. 일 실시예에 따라 비트스트림 생성부(170)는 원본영상(300)은 부호화(304)과정을 거침으로써 주파수 영역으로 변환된 결과를 포함하는 비트스트림을 생성할 수 있다.
일 실시예에 따르면, 영상 압축 장치(150)는 원본영상(300)을 다운샘플링(302)하여 압축영상(303)을 생성할 수 있고, 이러한 압축영상(303)에 대한 부호화(304)를 수행할 수 있다. 압축부(160)에서는 오류없는 복호화를 위하여 부호화 과정 뿐만 아니라 이에 대응하는 복호화 과정을 수행할 수 있다. 압축부(160)는 복호화 과정을 수행하여 복호화된 압축영상(307)을 결정할 수 있고, 복호화된 압축영상(307)에 대한 업샘플링(308)을 수행하여 압축영상(309)이 결정될 수 있다. 비트스트림 생성부(170)는 압축영상(309)에 대한 정보를 포함하는 비트스트림을 생성하여 압축영상을 복원할 수 있는 영상 복원 장치(100)로 전달할 수 있다. 일 실시예에 따라, 다운샘플링(302) 및 업샘플링(308)은 DNN(Deep Neural Network)을 이용하여 수행될 수 있으며, 이러한 DNN을 이용한 다운샘플링(302) 및 업샘플링(308)과정은 다양한 실시예를 통해 후술하도록 한다.
S212단계에서 영상 압축 장치(150)는 일 실시예에 따라 잔차신호 및 예측(prediction)을 수행하여 획득한 예측 신호를 이용하여 압축영상을 복호화할 수 있다. 영상 압축 장치(150)의 압축부(160)는 압축하려는 원본영상을 소정의 데이터 단위를 기준으로 분할할 수 있다. 예를 들면 압축부(160)는 영상을 복수개의 최대부호화단위로 분할하고, 최대부호화단위를 재귀적으로 분할하여 결정되는 부호화단위를 이용하여 영상을 복호화할 수 있다. 일 실시예에 따라 압축부(160)는 부호화단위에 포함되는 신호를 복호화하기 위하여, 예측과정을 수행할 수 있다.
S214단계에서 영상 압축 장치는 일 실시예에 따라 압축영상 및 예측신호에 기초하여 잔차신호를 결정할 수 있다. 압축부(160)는 S210단계에서 결정된 압축영상과 S212단계에서 결정된 예측신호를 차분하여 잔차신호를 결정할 수 있다. 일 실시예에 따라 압축부(160)는 잔차신호에 대하여 추가적으로 영상을 부호화하기 위한 소정의 과정(예를 들면 인루프 필터링, DPB 저장 과정, 엔트로피 부호화 등)을 수행할 수 있다. 잔차 신호를 이용한 영상 부호화 과정에는 해당 기술 분야의 당업자가 용이하게 수행할 수 있는 다양한 과정에 포함될 수 있다.
S216단계에서 영상 압축 장치(150)의 비트스트림 생성부(170)는 부호화된 잔차신호와 관련된 정보를 포함하는 비트스트림을 생성할 수 있다.도 4는 DNN에 포함되는 심층 컨볼루셔널 신경망을 설명하기 위한 도면이다. 일 실시예에 따라 영상 압축 장치(150)는 다운샘플링을 수행하기 위하여 복수개의 레이어를 포함하는 DNN을 이용할 수 있다. 일 실시예에 따라 압축부(160)는 복수개의 레이어에서 컨볼루션 연산을 수행하기 위하여, 다운샘플링을 수행할 수 있는 DNN으로서 심층 컨볼루셔널 신경망(Deep Convolutional Neural Network)을 이용할 수 있다.
일 실시예에 따라 심층 컨볼루셔널 신경망은 복수개의 레이어(예를 들면, 제1 레이어(410) 및 제n 레이어(420)를 포함하는 복수개의 레이어)를 포함할 수 있다. 일 실시예에 따라 심층 컨볼루셔널 신경망을 구성하는 복수개의 레이어 각각에는 필터 커널들을 이용하여 복수의 특성맵(feature map)들을 생성하는 컨볼루션 레이어(Convolution Layer)들과 필터 커널들의 가중치를 조절하는 활성화 레이어(Activation Layer)들이 포함될 수 있다.
컨볼루션 레이어들은 각각 복수개의 노드들을 포함할 수 있다. 일 실시예에 따라 컨볼루션 레이어는 복수개의 필터 커널들을 이용하여, 복수개의 특성맵들을 생성할 수 있다. 컨볼루션 레이어의 노드들이 생성한 특성맵들은 활성화 레이어에 입력될 수 있다. 일 실시예에 따라 압축부(160)는 제1 레이어(410)에 포함된 복수개의 노드(411, 412, 413 등)마다 컨볼루션 연산 및 활성화를 수행할 수 있다. 압축부(160)는 제1 레이어에 포함된 컨볼루션 레이어(CL1_1, CL1_2, ..., CL1_a)에서 제1 레이어의 입력신호(예를 들면, 압축신호인 입력(400))에 대한 컨볼루션 연산을 수행할 수 있으며, 각 컨볼루션 레이어(CL1_1, CL1_2, ..., CL1_a)에는 서로 다른 필터 커널들이 컨볼루션 연산에 이용될 수 있다. 일 실시예에 따라 각 컨볼루션 레이어(CL1_1, CL1_2, ..., CL1_a)에서 컨볼루션 연산된 결과를 활성화 시키기 위하여 각 컨볼루션 레이어와 관련된 활성화 레이어에 컨볼루션 연산된 결과를 입력할 수 있다. 압축부(160)는 컨볼루션 연산 결과를 활성화 시킴으로써 제1 레이어(410)의 복수개의 특성맵들을 결정할 수 있다. 일 실시예에 따라 특정 레이어에서 획득되는 복수개의 특성맵의 개수는 필터 커널의 개수에 비례할 수 있다. 일 실시예에 따라 특정 레이어에서 획득된 특성맵은 다음 레이어의 입력값으로서 이용될 수 있다. 즉, 제1 레이어(410)에서 획득된 특성맵은 제n 레이어(420)(n>1)에 입력되어 컨볼루션 연산 및 활성화가 수행될 수 있다. 이하에서는 설명상의 편의를 위해, 컨볼루션 연산 및 활성화 등을 포함하는 각 레이어에서 수행되는 소정의 신호 처리 과정은 필터링 과정으로 지칭하도록 한다. 일 실시예에 따라 영상 압축 장치(150)가 이용할 수 있는 DNN에 대한 특징은 도 4에서 상술한 영상 복원 장치(100)가 이용하는 DNN의 특징과 동일하거나 유사한 특징일 수 있으므로 자세한 설명은 생략하도록 한다.
도 5b는 일 실시예에 따라 DNN을 이용한 공간적 정보의 다운샘플링 동작을 설명하기 위한 도면이다.
일 실시예에 따라 압축부(160)는 원본영상을 DNN을 이용하여 공간적으로 다운샘플링을 수행할 수 있다. 일 실시예에 따라 압축부(160)는 다운샘플링을 위하여, 컨볼루션 연산과 관련된 다양한 동작을 수행하기 위한 DNN을 이용할 수 있다. 일 실시예에 따라 압축부(160)가 수행하는 다운샘플링 동작은 컨볼루션(Convolution), 풀링(pooling) 등의 동작을 포함할 수 있다.
도 5b를 참조하면 압축부(160)는 일 실시예에 따라 원본영상(550)에 포함되는 복수개의 프레임들에 대한 다운샘플링을 수행하기 위하여 복수개의 레이어(560, 570, 580)를 포함하는 DNN을 이용할 수 있다. 각 레이어에서는 다운샘플링을 위한 컨볼루션이 수행될 수 있다. 압축부(160)는 각 레이어에서 수행되는 컨볼루션 결과에 따라 해상도가 감소한 프레임을 결정할 수 있다. 일 실시예에 따라 압축부(160)는 원본영상(550)의 프레임에 대한 컨볼루션을 제1 레이어(560)에서 수행할 수 있으며, 그 결과 Wd_1 x Hd_1 x Ad_1 크기를 가지는 특성맵을 결정할 수 있다. Wd_1 및 Hd_1은 제1 레이어(560)에서 결정된 특성맵의 넓이 및 높이를 나타낼 수 있고 Ad_1은 제1 레이어(560)에서 이용되는 필터 커널(562)의 개수에 해당할 수 있다. 일 실시예에 따라 제1 레이어(560)에서 결정되는 특성맵의 넓이(Wd_1) 및 높이(Hd_1)는 제1 레이어(560)에 입력된 원본영상의 프레임의 넓이(W0) 및 높이(H0)보다 작다.
일 실시예에 따라 압축부(160)는 제2 레이어(570)에서 컨볼루션을 수행할 수 있으며, 그 결과 Wd_2 x Hd_2 x Ad_2 크기를 가지는 특성맵을 결정할 수 있다. Wd_2 및 Hd_2은 제2 레이어(570)에서 결정된 특성맵 넓이 및 높이를 나타낼 수 있고 Ad_2는 제2 레이어(570)에서 이용되는 필터 커널(572)의 개수에 해당할 수 있다. 일 실시예에 따라 제2 레이어(570)의 입력은 제1 레이어(560)의 출력에 해당할 수 있다. 일 실시예에 따라 제2 레이어(570)에서 결정되는 특성맵의 넓이(Wd_2) 및 높이(Hd_2)는 제1 레이어(560)의 특성맵의 넓이(Wd_1) 및 높이(Hd_1)보다 작다.
일 실시예에 따라 압축부(160)는 n개의 레이어를 포함하는 DNN을 이용하여 원본영상(550)의 다운샘플링을 수행할 수 있다. 제n 레이어(580)에서 수행된 다운샘플링이 수행되어 결정된 특성맵은 Wd_n x Hd_n x Ad_n의 크기를 가질 수 있다. 압축부(160)는 원본영상(550)의 프레임보다 작은 크기를 가지는 제n 레이어의 특성맵을 이용하여 압축영상(540)을 결정할 수 있다.
일 실시예에 따라 영상 압축 장치(150)의 압축부(160)는 DNN을 이용하여 원본영상을 시간적으로 다운샘플링 시킬 수 있다. 일 실시예에 따라 압축영상은 DNN을 이용하여 시간적으로 압축된 영상(예를 들면, 비트레이트가 원본영상에 비해 적은 압축영상)일 수 있다. 일 실시예에 따라 압축부(160)는 DNN(예를 들면, 컨볼루셔널 신경망(Convolutional Neural Network, CNN), 재귀적 신경망(Recurrent Neural Network(RNN)등)을 이용하여 원본영상에 포함된 복수개의 프레임들 가운데 소정의 프레임을 제거하는 시간적 다운샘플링을 수행할 수 있다. 일 실시예에 따라 압축부(160)는 원본영상에 포함된 소정의 프레임을 제거하기 위하여 입력되는 복수개의 프레임들의 비교 결과, 다운샘플링 되어야 하는 비트레이트 배율(예를 들면, 60fps에서 30fps로 다운샘플링), 제거될 프레임의 개수 등을 고려하여 DNN을 이용한 다운샘플링 과정을 수행할 수 있다. 예를 들면, t 시간의 프레임을 제거하기 위하여 복원부(120)는 DNN 입력으로 이전 시간대(t-1, t-2, ...)의 프레임 및 이후 시간대(t+1, t+2, ...)의 프레임 중 적어도 2개 이상을 이용할 수 있다.
일 실시예에 따라 압축부(160)는 다운샘플링에 필요한 프레임의 개수에 따라 미리 결정된 시간대의 프레임을 이용한 시간적 다운샘플링을 수행할 수 있다. 예를 들면, 압축부(160)는 t 시간대의 시간적 다운샘플링을 위해 필요한 프레임의 개수가 2개이면 t-1, t+1 시간대의 프레임을 이용하여 다운샘플링을 수행할 수 있다. 또 다른 예를 들면, 만약 압축부(160)는 t 시간대의 시간적 다운샘플링을 위해 필요한 프레임의 개수가 3개이면 t-1, t-2, t+1 시간대 또는 t-1 t+1, t+2 시간대의 프레임을 이용하여 t 시간대의 프레임에 대한 다운샘플링을 수행할 수 있다. 또 다른 예를 들면, 만약 압축부(160)는 t 시간대의 프레임에 대한 시간적 다운샘플링을 위해 필요한 프레임의 개수가 3개이면 t-1, t-2, t+1, t+2 시간대의 프레임을 이용하여 다운샘플링을 수행할 수 있다.
일 실시예에 따라 압축부(160)는 t 시간대의 시간적 다운샘플링을 수행하기 위하여, 시간적 업샘플링에 필요한 시간대의 프레임들을 이용할 수 있다. 일 실시예에 따라 복원부(120)는 시간적 다운샘플링을 위하여 이용되는 다른 시간대의 프레임들에 대하여 필터링을 수행하여 각 프레임마다의 특성맵을 결정할 수 있다.
일 실시예에 따라 복원부(120)는 각 시간대마다 결정된 특성맵들의 움직임 정보(예를 들면, global motion vector, local motion vector 등)를 고려하여 복수개의 프레임 중 움직임이 적은 프레임들인 것으로 결정되는 경우, 복수개의 프레임의 사이에 포함되는 프레임을 제거하기 위한 시간적 다운샘플링을 수행할 수 있다.
일 실시예에 따라 복원부(120)는 각 시간대마다 결정된 특성맵을 비교하여 복수개의 시간대의 프레임이 서로 다른 장면(scene)인 것으로 결정되는 경우, 복수개의 시간대의 프레임 사이의 프레임에 대하여는 시간적 다운샘플링을 수행하지 않는 것으로 결정할 수 있다.
일 실시예에 따라 영상 압축 장치(150)의 압축부(160)는 시간적 다운샘플링이 수행될 프레임이 무엇인지를 결정할 수 있고, 비트스트림 생성부(170)는 시간적 다운샘플링이 수행된 시간대의 프레임이 무엇인지를 나타내는 정보인 시간적 다운샘플링 정보를 포함하는 비트스트림을 생성할 수 있다.
일 실시예에 따라 영상 압축 장치(150)는 어느 정도로 공간적 및 시간적 다운샘플링을 수행하여야 하는지를 나타내는 변경정보를 포함하는 비트스트림을 생성할 수 있다. 일 실시예에 따라 압축부(160)가원본영상의 해상도를 2배 압축시키는 다운샘플링을 수행한 경우, 비트스트림 생성부(170)는원본영상의 해상도가 압축영상과 2배임을 나타내는 변경정보를 포함하는 비트스트림을 생성할 수 있다. 또 다른 일 실시예에 따라 압축부(160)가 원본영상의 비트레이트를 1/2배로 축소시키는 다운샘플링을 수행하는 경우, 비트스트림 생성부(170)는 압축영상의 비트레이트가 원본영상의 1/2배 축소된 것임을 나타내는 변경정보를 포함하는 비트스트림을 생성할 수 있다.
일 실시예에 따라 영상 압축 장치(150)는 DNN을 이용하는 업샘플링을 수행하기 위하여 각 레이어마다 필터 커널을 이용할 수 있으며, 이러한 각 레이어 마다 이용가능한 필터 커널의 종류는 다운샘플링을 위한 필터 커널의 종류와 상이할 수 있다. 즉, 다운샘플링을 위한 DNN과 업샘플링을 위한 DNN에서 포함된 레이어에서 이용되는 필터 커널의 크기 및 개수의 종류가 상이할 수 있다.
도 6은 일 실시예에 따라 업샘플링 또는 다운샘플링 과정에서 이용되는 필터 커널의 종류가 상이할 수 있음을 설명하기 위한 도면이다.
일 실시예에 따라 압축부(160)는 다운샘플링된 압축영상(635)를 생성하기 위하여 n개의 레이어(610, 620, 630)를 포함하는 DNN을 이용할 수 있다. 각 레이어에서는 다운샘플링을 위한 과정으로서 필터 커널을 이용한 필터링(예를 들면 컨볼루션(convolution) 연산)이 수행할 수 있다. 각 레이어마다 필터링을 위하여 이용되는 필터 커널(612, 622, 632)의 크기는 적어도 하나의 종류의 크기일 수 있다. 예를 들면, 제1 레이어(610)에서 5x5의 크기를 가지는 Au_1개의 필터 커널을 이용하여 필터링이 수행될 수 있고, 제2 레이어(620)에서 3x3의 크기를 가지는 Au_2개의 필터 커널을 이용하여 필터링이 수행될 수 있고, 제n 레이어(630)에서 3x3의 크기를 가지는 Au_1개의 필터 커널을 이용하여 필터링이 수행될 수 있다. 일 실시예에 따라 압축부(160)는 n개의 레이어를 거치면서 다운샘플링 된 압축영상(635)을 업샘플링 시키기 위하여 DNN을 이용할 수 있다.
일 실시예에 따라 업샘플링을 위한 DNN에 포함되는 m개의 레이어(m은 n과 동일하거나 상이한 정수일 수 있음) 각각에서는 필터 커널이 이용되어 필터링(예를 들면, 전치 컨볼루션(Transposed Convolution) 연산)이 수행될 수 있다. 일 실시예에 따라 업샘플링을 위한 필터링에서 이용될 수 있는 필터 커널의 종류는, 다운샘플링을 위한 필터링에서 이용된 필터 커널의 종류와 상이할 수 있다. 예를 들면, 다운샘플링을 위한 DNN에서 이용된 필터 커널 크기의 종류가 3x3, 3x3, 5x5인 경우라도 압축부(160)는 업샘플링을 위한 DNN에서 이용된 필터 커널 크기의 종류는 3x3, 5x5, 7x7일 수 있다. 일 실시예에 따라 압축부(160)가 DNN의 각 레이어에서 이용할 수 있는 필터 커널의 크기 및 개수의 종류는 다운샘플링을 위한 DNN에서 이용한 필터 커널의 크기 및 개수의 종류와 상이할 수 있다.
즉, 압축부(160)는 다운샘플링을 위한 DNN을 이용하여 원본영상을 다운샘플링할 수 있고, 다운샘플링된 압축영상을 이용하여 부호화된 잔차신호를 생성할 수 있다. 압축부(160)는 잔차신호를 복호화한 후 다시 DNN을 이용한 업샘플링을 수행함으로써 복원신호를 결정할 수 있으며, 다운샘플링 및 업샘플링 과정에서 이용된 DNN들 간의 학습과정은 공유될 수 있다. DNN의 학습과정에 대하여는 이후에 실시예를 통해 후술하도록 한다.도 7a는 일 실시예에 따라 DNN에 포함되는 복수개의 레이어 중 소정의 레이어에서 복수개의 필터 커널을 이용하여 필터링을 수행하는 특징을 설명하기 위한 도면이다.
일 실시예에 따라 압축부(160)는 각 레이어마다 한 종류의 필터 커널을 이용하여 필터링을 수행할 수 있다. 일 실시예에 따라 DNN의 입력(700)인 원본영상을 압축하기 위하여 압축부(160)는 복수개의 레이어를 포함하는 DNN을 이용할 수 있다. 압축부(160)는 복수개의 레이어 중 제a 레이어(710)에서는 Fw_a x Fh_a의 크기를 가지는 필터 커널(712) A_a개를 이용하여 필터링을 수행하여 W_a x H_a의 크기를 가지는 특성맵 A_a개를 결정할 수 있다.
일 실시예에 따라 압축부(160)는 소정의 레이어에서 복수개의 크기를 가지는 필터 커널을 이용하여 필터링을 수행할 수 있다. 일 실시예에 따라. 압축부(160)는 복수개의 레이어 중 제b 레이어(720)에서는 Fw_b1 x Fh_b1, Fw_b2 x Fh_b2, Fw_b3 x Fh_b3 등의 크기를 가지는 필터 커널(722)을 이용하여 필터링을 수행할 수 있다. 일 실시예에 따라 서로 다른 크기를 가지는 필터 커널들에는 서로 다른 개수의 필터 커널들이 포함될 수 있다. 예를 들면, Fw_b1 x Fh_b1 크기를 가지는 필터 커널은 A_b1개, Fw_b2 x Fh_b2 크기를 가지는 필터 커널은 A_b2개, Fw_b3 x Fh_b3 크기를 가지는 필터 커널은 A_b3개가 필터링에 이용될 수 있다. 일 실시예에 따라 압축부(160)는 복수개의 크기 종류를 가지는 필터 커널들을 이용하여 필터링을 수행함에 따라 이용된 필터 커널의 개수만큼의 특성맵을 결정할 수 있다. 즉, 압축부(160)는 Fw_b1 x Fh_b1, Fw_b2 x Fh_b2, Fw_b3 x Fh_b3의 크기를 가지는 필터 커널(722)들을 이용하여 필터링을 수행함으로써 A_b개의 특성맵을 결정할 수 있고, 이 경우 A_b는 A_b1 + A_b2 + A_b3에 해당할 수 있다. 압축부(160)는 A_b개의 W_b x H_b 크기의 특성맵을 이용한 나머지 압축 과정을 수행함으로써 DNN의 출력(725)인 압축영상을 결정할 수 있다.
도 7b는 일 실시예에 따라 복수개의 크기의 필터 커널로 필터링을 수행하여 결정되는 특성맵들을 이용한 필터링 과정을 설명하기 위한 도면이다.
일 실시예에 따라 영상 압축 장치(150)의 압축부(160)는 임의의 레이어에서 복수개의 크기를 가지는 필터 커널들을 이용하여 특성맵들을 결정할 수 있다. 일 실시예에 따라 압축부(160)는 DNN에 포함되는 복수개의 레이어 중 하나인 제n 레이어(730)에서 복수개의 크기를 가지는 필터커널(732)들을 이용하여 필터링을 수행할 수 있다. 압축부(160)가 필터링(예를 들면, 컨볼루션 연산)을 수행한 결과 복수개의 크기를 가지는 특성맵(740, 742, 744)이 결정될 수 있다. 일 실시예에 따라 제n 레이어에 입력된 특성맵 또는 압축영상의 프레임의 크기가 W_n x H_n인 경우, 압축부(160)는 제n 레이어(730)에서 Fw_n1 x Fh_n1의 크기를 가진 필터 커널을 이용하여 필터링을 수행하여 (W_n - Fw_n1 + 1) x (H0 - Fh_n1 + 1) 크기를 가지는 특성맵 A_n1개를 결정할 수 있다. 나아가 압축부(160)는 다른 크기를 필터 커널들을 이용한 필터링을 수행함으로써 (W_n - Fw_n2 + 1) x (H0 - Fh_n2 + 1)의 크기를 가지는 특성맵 A_n2개, (W_n - Fw_n3 + 1) x (H0 - Fh_n3 + 1)의 크기를 가지는 특성맵 A_n3개 등을 결정할 수 있다.
일 실시예에 따라 압축부(160)는 필터 커널의 크기별로 생성된 특성맵들이 서로 동일한 크기를 가지도록 패딩(padding) 동작을 수행할 수 있다. 일 실시예에 따라 패딩된 특성맵들은 해당 레이어의 입력과 동일한 크기를 가지는 것일 수 있다. 도 7b를 참조하면, 필터 커널의 크기 별로 생성된 복수개의 크기의 특성맵(740, 742, 744)이 제n 레이어(730)에 입력된 특성맵의 크기인 Wd_n x H_n와 동일한 크기를 가지도록 특성맵(740, 742, 744)에 패딩을 수행할 수 있다. 이에 따라 패딩된 특성맵(741, 743, 745)들은 서로 동일한 크기(W_n x H_n)를 가질 수 있다. 일 실시예에 따라 복수개의 크기의 필터 커널들이 이용되는 레이어의 입력과 출력은 서로 동일한 평면 크기를 가지는 것을 특징으로 할 수 있다.
일 실시예에 따라 압축부(160)는 복수개의 크기 종류를 가지는 필터 커널들을 이용하여 필터링을 수행함에 따라 이용된 필터 커널의 개수만큼의 특성맵을 결정할 수 있다. 즉, 압축부(160)는 Fw_n1 x Fh_n1, Fw_n2 x Fh_n2, Fw_n3 x Fh_n3의 크기를 가지는 필터 커널(732)들을 이용하여 필터링을 수행하여 특성맵(740, 742, 744)를 결정할 수 있고, 특성맵(740, 742, 744)에 패딩을 수행하여 서로 동일한 크기로 패딩된 특성맵(741, 743, 745)를 결정할 수 있다. 압축부(160)는 패딩된 특성맵(741, 743, 745)을 연결(concatenate)함으로써, 제n 레이어(730)의 출력을 결정할 수 있다. 이에 따라 W_n x H_n 크기의 특성맵을 제n 레이어에 입력하여 필터링을 수행한 결과, W_n x H_n크기를 가지는 특성맵이 A_n1 + A_n2 + A_n3개 출력될 수 있다.
도 8은 일 실시예에 따라 다운샘플링을 위한 DNN에서 발생하는 손실정보를 나타내기 위한 도면이다.
도 8을 참조하면, 영상 압축 장치(150)의 압축부(160)는 원본영상(800)을 다운샘플링할 수 있는 다운샘플링DNN(806)을 이용하여 다운샘플링된 영상(808)을 결정할 수 있다. 일 실시예에 따라 다운샘플링DNN(806)을 통해 결정된 다운샘플링된 영상(808)은 영상의 구조적 특징(예를 들면, 휘도(hue), 대비(contrast), 히스토그램(histogram) 등)이 원본영상(800)과 비교하였을 때 차이가 클 수 있다. 원본영상(800)에 비해 다운샘플링된 영상(808)이 구조적 특징의 크게 달라지는 경우 부호화 효율이 저하될 수 있다. 부호화 효율 저하 방지를 위해, 일 실시예에 따라 복원부(160)의 구조적 정보 보존부(802)는 원본영상(800)의 상기 구조적 특징을 이용하면서 원본영상(800)보다 공간적으로 크기가 축소된 구조적 복원 영상(804)을 결정할 수 있고, 압축부(160)는 다운샘플링된 영상(808)과 구조적 복원 영상(804)을 서로 비교할 수 있다.
일 실시예에 따라 압축부(160)는 구조적 복원 영상(804) 및 다운샘플링된 압축영상(808) 간의 차이의 크기(norm)를 나타내는 제1 손실정보(812)를 결정할 수 있다. 일 실시예에 따라 압축부(160)는 다운샘플링된 압축영상(808)에 포함되는 공간적 복잡도를 나타내는 제2 손실정보(814)를 결정할 수 있다. 일 실시예에 따라 압축부(160)는 다운샘플링된 압축영상(808)의 공간적 복잡도를 결정하기 위하여 총 분산(total variance)값을 계산하여 제2 손실정보(814)로서 결정할 수 있다.
도 9는 업샘플링을 위한 DNN에서 발생하는 손실정보를 나타내기 위한 도면이다.
일 실시예에 따라 다운샘플링된 영상(908)은 업샘플링DNN(910)을 통해 업샘플링이 수행될 수 있고, 그 결과 복원영상(916)이 결정될 수 있다. 일 실시예에 따라 업샘플링DNN(910)의 입력은 다운샘플링된 영상(908)이거나 또는 다운샘플링된 영상(908)이 부호화된 후 다시 복호화 된 영상일 수 있다.
일 실시예에 따라 압축부(160)는 원본영상(900) 및 복원영상(916)을 비교하여 제3 손실정보(918) 및 제4 손실정보(920)를 결정할 수 있다. 일 실시예에 따라 제3 손실정보(918)는 원본영상(900) 및 복원영상(916)간의 차이에 대한 L1-norm값을 나타낼 수 있고, 제4 손실정보(920)는 원본영상(900) 및 복원영상(916)간의 차이에 대한 L2-norm값을 나타낼 수 있다. 일 실시예에 따라 L1-norm은 원본영상(900) 및 복원영상(916)간의 차이를 나타내는 벡터 성분들의 절대값을 합한 결과일 수 있다. 일 실시예에 따라 L2-norm은 원본영상(900) 및 복원영상(916)간의 차이를 나타내는 벡터 성분의 제곱합(sum of squares)의 루트값을 나타낼 수 있다.
일 실시예에 따라 압축부(160)는 업샘플링을 위한 DNN 및 다운샘플링을 위한 DNN을 다음과 같은 수학식1을 통해 학습시킬 수 있다.
수학식 1
Figure PCTKR2017007258-appb-M000001
일 실시예에 따라 LossDS 는 다운샘플링에 의해 발생하는 손실(loss)을 나타내는 적어도 하나의 손실정보의 합에 해당할 수 있다. 일 실시예에 따라 LossUS 는 다운샘플링된 영상과 다운샘플링이 수행되기 전의 원본 영상 간의 비교에 의해 결정되는 적어도 하나의 손실정보의 합에 해당할 수 있다. 일 실시예에 따라 a, b, c, d는 미리 결정된 소정의 가중치에 해당할 수 있다.
일 실시예에 따라 압축부(160)는 LossDS 와 LossUS 를 결정하기 위하여 임의의 손실정보를 공유할 수 있다. 일 실시예에 따라 압축부(160)는 수학식 1과 같이 제4 손실정보에 기초하여 LossDS 와 LossUS 를 결정할 수 있다. 다만 LossDS 와 LossUS 를 결정하는 과정에서 공유되는 정보가 상술한 실시예에 한정하여 해석되어서는 안되며, 당업자가 용이하게 실시 가능한 범위내에서 다양한 손실정보가 LossDS 와 LossUS 를 결정하는 과정에서 공통적으로 이용될 수 있는 것으로 해석되어야 한다.
일 실시예에 따라 영상 복원 장치(100)의 복원부(120)가 이용할 수 있는 업샘플링을 위한 DNN은 압축영상이 복호화 된 후 업샘플링이 수행됨으로써 복원된 영상과 다운샘플링이 수행되기 전의 원본 영상 간의 비교에 의해 결정되는 적어도 하나의 손실정보의 합이 최소화되도록 학습된 것을 특징으로 할 수 있다. 수학식 1을 참조하면, 일 실시예에 따라 복원부(120)는 가중치가 적용된 제3 손실 정보 및 제4 손실정보에 기초하여 LossUS 가 최소값을 가지도록 학습될 수 있다. 복원부(120)는 LossUS 가 최소값을 가지도록 업샘플링을 위한 DNN을 학습시킴으로써, 복원 성능을 우선하도록 학습된 DNN을 이용하여 업샘플링을 수행할 수 있다.
일 실시예에 따라 업샘플링을 위한 DNN의 학습 과정에서 이용되는 적어도 하나의 손실정보 중 일부는 다운샘플링을 위한 DNN의 학습 과정에서도 이용된 것일 수 있다. 수학식1을 참조하면, 일 실시예에 따라 LossUS 가 결정되기 위하여 이용되는 제4 손실정보는 LossDS의 결정 과정에서 이용된 손실 정보 중 하나일 수 있다.
또 다른 일 실시예에 따라 영상 압축 장치(150)의 압축부(160)에 의해 이용되는 다운샘플링을 위한 DNN은, 다운샘플링에 의해 발생하는 손실을 나타내는 적어도 하나의 손실정보의 합이 최소화되도록 학습된 것일 수 있다. 수학식 1을 참조하면, 일 실시예에 따라 압축부 (160)는 가중치가 적용된 제1 손실 정보 및 제2 손실정보 및 제4 손실정보에 기초하여 LossDS 가 최소값을 가지도록 학습될 수 있다. 압축부(160)는 LossDS 가 최소값을 가지도록 다운샘플링을 위한 DNN을 학습시킴으로써, 압축 성능 및 복원 성능을 우선하도록 학습된 DNN을 이용하여 다운샘플링을 수행할 수 있다.
일 실시예에 따라 다운샘플링을 위한 DNN의 학습과정에서 이용되는 적어도 하나의 손실정보 중 일부는, 압축영상이 복호화 된 후 업샘플링이 수행됨으로써 복원된 영상과 다운샘플링이 수행되기 전의 원본 영상 간의 비교 결과에 기초하여 결정된 것일 수 있고, 비교 결과는 업샘플링을 위한 DNN의 학습 과정에서 이용되는 것일 수 있다. 수학식 1을 참조하면 제4 손실정보는 다운샘플링을 위한 DNN의 학습과정뿐만 아니라 업샘플링을 위한 DNN의 학습과정에서도 이용된 것일 수 있다.
일 실시예에 따라 압축부(160)에 수행될 수 있는 과정으로서 상술한 다양한 실시예들은 영상의 부호화 과정에서 이용될 수 있는 다양한 데이터 단위들을 기준으로 수행될 수 있다. 일 실시예에 따라 압축부(160)는 비디오, 시퀀스, 프레임, 슬라이스, 슬라이스 세그먼트, 최대부호화단위, 부호화단위, 예측단위, 변환단위, 프로세싱 단위 등을 포함하는 다양한 데이터 단위를 이용하여 영상을 부호화, 다운샘플링, 업샘플링 하는 과정을 수행할 수 있다. 비트스트림 생성부(170)는 원본영상이 다운샘플링을 통해 얼마나 압축되었는지를 나타내는 변경 정보를 포함하는 비트스트림을 픽쳐마다 생성할 수 있다. 일 실시예에 따라 압축부(160)는 다운샘플링 또는 업샘플링을 수행하는 과정을 최대부호화단위마다 수행할 수 있다. 다만 압축부(160)가 소정의 과정을 수행하는 데 이용하는 데이터단위들은 상술한 실시예들에 의해 한정하여 해석되어서는 안되고, 당업자가 이용할 수 있는 범위 내에서 다양한 데이터 단위들이 이용될 수 있는 것으로 해석될 수 있다. 영상 압축 장치(150)가 이용할 수 있는 다양한 데이터 단위들의 특징은 이하의 도 10 내지 도 23을 통해 후술하도록 한다.
이하, 도 10 내지 도 23을 참조하여 일 실시예에 따른 영상의 데이터 단위를 결정하는 방법이 상술된다.
도 10은 일 실시예에 따라 영상 복원 장치(100)가 현재 부호화 단위를 분할하여 적어도 하나의 부호화 단위를 결정하는 과정을 도시한다.
일 실시예에 따라 영상 복원 장치(100)는 블록 형태 정보를 이용하여 부호화 단위의 형태를 결정할 수 있고, 분할 형태 정보를 이용하여 부호화 단위가 어떤 형태로 분할되는지를 결정할 수 있다. 즉, 영상 복원 장치(100)가 이용하는 블록 형태 정보가 어떤 블록 형태를 나타내는지에 따라 분할 형태 정보가 나타내는 부호화 단위의 분할 방법이 결정될 수 있다.
일 실시예에 따라, 영상 복원 장치(100)는 현재 부호화 단위가 정사각형 형태임을 나타내는 블록 형태 정보를 이용할 수 있다. 예를 들어 영상 복원 장치(100)는 분할 형태 정보에 따라 정사각형의 부호화 단위를 분할하지 않을지, 수직으로 분할할지, 수평으로 분할할지, 4개의 부호화 단위로 분할할지 등을 결정할 수 있다. 도 10을 참조하면, 현재 부호화 단위(1000)의 블록 형태 정보가 정사각형의 형태를 나타내는 경우, 복호화부(1030)는 분할되지 않음을 나타내는 분할 형태 정보에 따라 현재 부호화 단위(1000)와 동일한 크기를 가지는 부호화 단위(1010a)를 분할하지 않거나, 소정의 분할방법을 나타내는 분할 형태 정보에 기초하여 분할된 부호화 단위(1010b, 1010c, 1010d 등)를 결정할 수 있다.
도 10을 참조하면 영상 복원 장치(100)는 일 실시예에 따라 수직방향으로 분할됨을 나타내는 분할 형태 정보에 기초하여 현재 부호화 단위(1000)를 수직방향으로 분할한 두개의 부호화 단위(1010b)를 결정할 수 있다. 영상 복원 장치(100)는 수평방향으로 분할됨을 나타내는 분할 형태 정보에 기초하여 현재 부호화 단위(1000)를 수평방향으로 분할한 두개의 부호화 단위(1010c)를 결정할 수 있다. 영상 복원 장치(100)는 수직방향 및 수평방향으로 분할됨을 나타내는 분할 형태 정보에 기초하여 현재 부호화 단위(1000)를 수직방향 및 수평방향으로 분할한 네개의 부호화 단위(1010d)를 결정할 수 있다. 다만 정사각형의 부호화 단위가 분할될 수 있는 분할 형태는 상술한 형태로 한정하여 해석되어서는 안되고, 분할 형태 정보가 나타낼 수 있는 다양한 형태가 포함될 수 있다. 정사각형의 부호화 단위가 분할되는 소정의 분할 형태들은 이하에서 다양한 실시예를 통해 구체적으로 설명하도록 한다.
도 11은 일 실시예에 따라 영상 복원 장치(100)가 비-정사각형의 형태인 부호화 단위를 분할하여 적어도 하나의 부호화 단위를 결정하는 과정을 도시한다.
일 실시예에 따라 영상 복원 장치(100)는 현재 부호화 단위가 비-정사각형 형태임을 나타내는 블록 형태 정보를 이용할 수 있다. 영상 복원 장치(100)는 분할 형태 정보에 따라 비-정사각형의 현재 부호화 단위를 분할하지 않을지 소정의 방법으로 분할할지 여부를 결정할 수 있다. 도 11을 참조하면, 현재 부호화 단위(1100 또는 1150)의 블록 형태 정보가 비-정사각형의 형태를 나타내는 경우, 영상 복원 장치(100)는 분할되지 않음을 나타내는 분할 형태 정보에 따라 현재 부호화 단위(1100 또는 1150)와 동일한 크기를 가지는 부호화 단위(1110 또는 1160)를 분할하지 않거나, 소정의 분할방법을 나타내는 분할 형태 정보에 따라 기초하여 분할된 부호화 단위(1120a, 1120b, 1130a, 1130b, 1130c, 1170a, 1170b, 1180a, 1180b, 1180c)를 결정할 수 있다. 비-정사각형의 부호화 단위가 분할되는 소정의 분할 방법은 이하에서 다양한 실시예를 통해 구체적으로 설명하도록 한다.
일 실시예에 따라 영상 복원 장치(100)는 분할 형태 정보를 이용하여 부호화 단위가 분할되는 형태를 결정할 수 있고, 이 경우 분할 형태 정보는 부호화 단위가 분할되어 생성되는 적어도 하나의 부호화 단위의 개수를 나타낼 수 있다. 도 11를 참조하면 분할 형태 정보가 두개의 부호화 단위로 현재 부호화 단위(1100 또는 1150)가 분할되는 것을 나타내는 경우, 영상 복원 장치(100)는 분할 형태 정보에 기초하여 현재 부호화 단위(1100 또는 1150)를 분할하여 현재 부호화 단위에 포함되는 두개의 부호화 단위(1120a, 11420b, 또는 1170a, 1170b)를 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)가 분할 형태 정보에 기초하여 비-정사각형의 형태의 현재 부호화 단위(1100 또는 1150)를 분할하는 경우, 비-정사각형의 현재 부호화 단위(1100 또는 1150)의 긴 변의 위치를 고려하여 현재 부호화 단위를 분할할 수 있다. 예를 들면, 영상 복원 장치(100)는 현재 부호화 단위(1100 또는 1150)의 형태를 고려하여 현재 부호화 단위(1100 또는 1150)의 긴 변을 분할하는 방향으로 현재 부호화 단위(1100 또는 1150)를 분할하여 복수개의 부호화 단위를 결정할 수 있다.
일 실시예에 따라, 분할 형태 정보가 홀수개의 블록으로 부호화 단위를 분할하는 것을 나타내는 경우, 영상 복원 장치(100)는 현재 부호화 단위(1100 또는 1150)에 포함되는 홀수개의 부호화 단위를 결정할 수 있다. 예를 들면, 분할 형태 정보가 3개의 부호화 단위로 현재 부호화 단위(1100 또는 1150)를 분할하는 것을 나타내는 경우, 영상 복원 장치(100)는 현재 부호화 단위(1100 또는 1150)를 3개의 부호화 단위(1130a, 1130b, 1130c, 1180a, 1180b, 1180c)로 분할할 수 있다. 일 실시예에 따라 영상 복원 장치(100)는 현재 부호화 단위(1100 또는 1150)에 포함되는 홀수개의 부호화 단위를 결정할 수 있으며, 결정된 부호화 단위들의 크기 모두가 동일하지는 않을 수 있다. 예를 들면, 결정된 홀수개의 부호화 단위(1130a, 1130b, 1130c, 1180a, 1180b, 1180c) 중 소정의 부호화 단위(1130b 또는 1180b)의 크기는 다른 부호화 단위(1130a, 1130c, 1180a, 1180c)들과는 다른 크기를 가질 수도 있다. 즉, 현재 부호화 단위(1100 또는 1150)가 분할되어 결정될 수 있는 부호화 단위는 복수의 종류의 크기를 가질 수 있고, 경우에 따라서는 홀수개의 부호화 단위(1130a, 1130b, 1130c, 1180a, 1180b, 1180c)가 각각 서로 다른 크기를 가질 수도 있다.
일 실시예에 따라 분할 형태 정보가 홀수개의 블록으로 부호화 단위가 분할되는 것을 나타내는 경우, 영상 복원 장치(100)는 현재 부호화 단위(1100 또는 1150)에 포함되는 홀수개의 부호화 단위를 결정할 수 있고, 나아가 영상 복원 장치(100)는 분할하여 생성되는 홀수개의 부호화 단위들 중 적어도 하나의 부호화 단위에 대하여 소정의 제한을 둘 수 있다. 도 11을 참조하면 영상 복원 장치(100)는 현재 부호화 단위(1100 또는 1150)가 분할되어 생성된 3개의 부호화 단위(1130a, 1130b, 1130c, 1180a, 1180b, 1180c)들 중 중앙에 위치하는 부호화 단위(1130b, 1180b)에 대한 복호화 과정을 다른 부호화 단위(1130a, 1130c, 1180a, 1180c)와 다르게 할 수 있다. 예를 들면, 영상 복원 장치(100)는 중앙에 위치하는 부호화 단위(1130b, 1180b)에 대하여는 다른 부호화 단위(1130a, 1130c, 1180a, 1180c)와 달리 더 이상 분할되지 않도록 제한하거나, 소정의 횟수만큼만 분할되도록 제한할 수 있다.
도 12는 일 실시예에 따라 영상 복원 장치(100)가 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 부호화 단위를 분할하는 과정을 도시한다.
일 실시예에 따라 영상 복원 장치(100)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 정사각형 형태의 제1 부호화 단위(1200)를 부호화 단위들로 분할하거나 분할하지 않는 것으로 결정할 수 있다. 일 실시예에 따라 분할 형태 정보가 수평 방향으로 제1 부호화 단위(1200)를 분할하는 것을 나타내는 경우, 영상 복원 장치(100)는 제1 부호화 단위(1200)를 수평 방향으로 분할하여 제2 부호화 단위(1210)를 결정할 수 있다. 일 실시예에 따라 이용되는 제1 부호화 단위, 제2 부호화 단위, 제3 부호화 단위는 부호화 단위 간의 분할 전후 관계를 이해하기 위해 이용된 용어이다. 예를 들면, 제1 부호화 단위를 분할하면 제2 부호화 단위가 결정될 수 있고, 제2 부호화 단위가 분할되면 제3 부호화 단위가 결정될 수 있다. 이하에서는 이용되는 제1 부호화 단위, 제2 부호화 단위 및 제3 부호화 단위의 관계는 상술한 특징에 따르는 것으로 이해될 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 결정된 제2 부호화 단위(1210)를 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 부호화 단위들로 분할하거나 분할하지 않는 것으로 결정할 수 있다. 도 12를 참조하면 영상 복원 장치(100)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1200)를 분할하여 결정된 비-정사각형의 형태의 제2 부호화 단위(1210)를 적어도 하나의 제3 부호화 단위(1220a, 1220b, 1220c, 1220d 등)로 분할하거나 제2 부호화 단위(1210)를 분할하지 않을 수 있다. 영상 복원 장치(100)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 획득할 수 있고 영상 복원 장치(100)는 획득한 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1200)를 분할하여 다양한 형태의 복수개의 제2 부호화 단위(예를 들면, 1210)를 분할할 수 있으며, 제2 부호화 단위(1210)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1200)가 분할된 방식에 따라 분할될 수 있다. 일 실시예에 따라, 제1 부호화 단위(1200)가 제1 부호화 단위(1200)에 대한 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제2 부호화 단위(1210)로 분할된 경우, 제2 부호화 단위(1210) 역시 제2 부호화 단위(1210)에 대한 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제3 부호화 단위(예를 들면, 1220a, 1220b, 1220c, 1220d 등)으로 분할될 수 있다. 즉, 부호화 단위는 부호화 단위 각각에 관련된 분할 형태 정보 및 블록 형태 정보 중 적어도 하나에 기초하여 재귀적으로 분할될 수 있다. 따라서 비-정사각형 형태의 부호화 단위에서 정사각형의 부호화 단위가 결정될 수 있고, 이러한 정사각형 형태의 부호화 단위가 재귀적으로 분할되어 비-정사각형 형태의 부호화 단위가 결정될 수도 있다. 도 12를 참조하면, 비-정사각형 형태의 제2 부호화 단위(1210)가 분할되어 결정되는 홀수개의 제3 부호화 단위(1220b, 1220c, 1220d) 중 소정의 부호화 단위(예를 들면, 가운데에 위치하는 부호화 단위 또는 정사각형 형태의 부호화 단위)는 재귀적으로 분할될 수 있다. 일 실시예에 따라 홀수개의 제3 부호화 단위(1220b, 1220c, 1220d) 중 하나인 정사각형 형태의 제3 부호화 단위(1220c)는 수평 방향으로 분할되어 복수개의 제4 부호화 단위로 분할될 수 있다. 복수개의 제4 부호화 단위 중 하나인 비-정사각형 형태의 제4 부호화 단위(1240)는 다시 복수개의 부호화 단위들로 분할될 수 있다. 예를 들면, 비-정사각형 형태의 제4 부호화 단위(1240)는 홀수개의 부호화 단위(1250a, 1250b, 1250c)로 다시 분할될 수도 있다.
부호화 단위의 재귀적 분할에 이용될 수 있는 방법에 대하여는 다양한 실시예를 통해 후술하도록 한다.
일 실시예에 따라 영상 복원 장치(100)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제3 부호화 단위(1220a, 1220b, 1220c, 1220d 등) 각각을 부호화 단위들로 분할하거나 제2 부호화 단위(1210)를 분할하지 않는 것으로 결정할 수 있다. 영상 복원 장치(100)는 일 실시예에 따라 비-정사각형 형태의 제2 부호화 단위(1210)를 홀수개의 제3 부호화 단위(1220b, 1220c, 1220d)로 분할할 수 있다. 영상 복원 장치(100)는 홀수개의 제3 부호화 단위(1220b, 1220c, 1220d) 중 소정의 제3 부호화 단위에 대하여 소정의 제한을 둘 수 있다. 예를 들면 영상 복원 장치(100)는 홀수개의 제3 부호화 단위(1220b, 1220c, 1220d) 중 가운데에 위치하는 부호화 단위(1220c)에 대하여는 더 이상 분할되지 않는 것으로 제한하거나 또는 설정 가능한 횟수로 분할되어야 하는 것으로 제한할 수 있다. 도 12를 참조하면, 영상 복원 장치(100)는 비-정사각형 형태의 제2 부호화 단위(1210)에 포함되는 홀수개의 제3 부호화 단위(1220b, 1220c, 1220d)들 중 가운데에 위치하는 부호화 단위(1220c)는 더 이상 분할되지 않거나, 소정의 분할 형태로 분할(예를 들면 4개의 부호화 단위로만 분할하거나 제2 부호화 단위(1210)가 분할된 형태에 대응하는 형태로 분할)되는 것으로 제한하거나, 소정의 횟수로만 분할(예를 들면 n회만 분할, n>0)하는 것으로 제한할 수 있다. 다만 가운데에 위치한 부호화 단위(1220c)에 대한 상기 제한은 단순한 실시예들에 불과하므로 상술한 실시예들로 제한되어 해석되어서는 안되고, 가운데에 위치한 부호화 단위(1220c)가 다른 부호화 단위(1220b, 1220d)와 다르게 복호화 될 수 있는 다양한 제한들을 포함하는 것으로 해석되어야 한다.
일 실시예에 따라 영상 복원 장치(100)는 현재 부호화 단위를 분할하기 위해 이용되는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 현재 부호화 단위 내의 소정의 위치에서 획득할 수 있다.
도 13은 일 실시예에 따라 영상 복원 장치(100)가 홀수개의 부호화 단위들 중 소정의 부호화 단위를 결정하기 위한 방법을 도시한다. 도 13을 참조하면, 현재 부호화 단위(1300)의 블록 형태 정보 및 분할 형태 정보 중 적어도 하나는 현재 부호화 단위(1300)에 포함되는 복수개의 샘플 중 소정 위치의 샘플(예를 들면, 가운데에 위치하는 샘플(1340))에서 획득될 수 있다. 다만 이러한 블록 형태 정보 및 분할 형태 정보 중 적어도 하나가 획득될 수 있는 현재 부호화 단위(1300) 내의 소정 위치가 도 13에서 도시하는 가운데 위치로 한정하여 해석되어서는 안되고, 소정 위치에는 현재 부호화 단위(1300)내에 포함될 수 있는 다양한 위치(예를 들면, 최상단, 최하단, 좌측, 우측, 좌측상단, 좌측하단, 우측상단 또는 우측하단 등)가 포함될 수 있는 것으로 해석되어야 한다. 영상 복원 장치(100)는 소정 위치로부터 획득되는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 획득하여 현재 부호화 단위를 다양한 형태 및 크기의 부호화 단위들로 분할하거나 분할하지 않는 것으로 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 현재 부호화 단위가 소정의 개수의 부호화 단위들로 분할된 경우 그 중 하나의 부호화 단위를 선택할 수 있다. 복수개의 부호화 단위들 중 하나를 선택하기 위한 방법은 다양할 수 있으며, 이러한 방법들에 대한 설명은 이하의 다양한 실시예를 통해 후술하도록 한다.
일 실시예에 따라 영상 복원 장치(100) 는 현재 부호화 단위를 복수개의 부호화 단위들로 분할하고, 소정 위치의 부호화 단위를 결정할 수 있다.
도 13은 일 실시예에 따라 영상 복원 장치(100)가 홀수개의 부호화 단위들 중 소정 위치의 부호화 단위를 결정하기 위한 방법을 도시한다.
일 실시예에 따라 영상 복원 장치(100)는 홀수개의 부호화 단위들 중 가운데에 위치하는 부호화 단위를 결정하기 위하여 홀수개의 부호화 단위들 각각의 위치를 나타내는 정보를 이용할 수 있다. 도 13을 참조하면, 영상 복원 장치(100)는 현재 부호화 단위(1300)를 분할하여 홀수개의 부호화 단위들(1320a, 1320b, 1320c)을 결정할 수 있다. 영상 복원 장치(100)는 홀수개의 부호화 단위들(1320a, 1320b, 1320c)의 위치에 대한 정보를 이용하여 가운데 부호화 단위(1320b)를 결정할 수 있다. 예를 들면 영상 복원 장치(100)는 부호화 단위들(1320a, 1320b, 1320c)에 포함되는 소정의 샘플의 위치를 나타내는 정보에 기초하여 부호화 단위들(1320a, 1320b, 1320c)의 위치를 결정함으로써 가운데에 위치하는 부호화 단위(1320b)를 결정할 수 있다. 구체적으로, 영상 복원 장치(100)는 부호화 단위들(1320a, 1320b, 1320c)의 좌측 상단의 샘플(1330a, 1330b, 1330c)의 위치를 나타내는 정보에 기초하여 부호화 단위(1320a, 1320b, 1320c)의 위치를 결정함으로써 가운데에 위치하는 부호화 단위(1320b)를 결정할 수 있다.
일 실시예에 따라 부호화 단위(1320a, 1320b, 1320c)에 각각 포함되는 좌측 상단의 샘플(1330a, 1330b, 1330c)의 위치를 나타내는 정보는 부호화 단위(1320a, 1320b, 1320c)의 픽쳐 내에서의 위치 또는 좌표에 대한 정보를 포함할 수 있다. 일 실시예에 따라 부호화 단위(1320a, 1320b, 1320c)에 각각 포함되는 좌측 상단의 샘플(1330a, 1330b, 1330c)의 위치를 나타내는 정보는 현재 부호화 단위(1300)에 포함되는 부호화단위(1320a, 1320b, 1320c)들의 너비 또는 높이를 나타내는 정보를 포함할 수 있고, 이러한 너비 또는 높이는 부호화 단위(1320a, 1320b, 1320c)의 픽쳐 내에서의 좌표 간의 차이를 나타내는 정보에 해당할 수 있다. 즉, 영상 복원 장치(100)는 부호화 단위(1320a, 1320b, 1320c)의 픽쳐 내에서의 위치 또는 좌표에 대한 정보를 직접이용하거나 좌표간의 차이값에 대응하는 부호화 단위의 너비 또는 높이에 대한 정보를 이용함으로써 가운데에 위치하는 부호화 단위(1320b)를 결정할 수 있다.
일 실시예에 따라, 상단 부호화 단위(1320a)의 좌측 상단의 샘플(1330a)의 위치를 나타내는 정보는 (xa, ya) 좌표를 나타낼 수 있고, 가운데 부호화 단위(1320b)의 좌측 상단의 샘플(1330b)의 위치를 나타내는 정보는 (xb, yb) 좌표를 나타낼 수 있고, 하단 부호화 단위(1320c)의 좌측 상단의 샘플(1330c)의 위치를 나타내는 정보는 (xc, yc) 좌표를 나타낼 수 있다. 영상 복원 장치(100)는 부호화 단위(1320a, 1320b, 1320c)에 각각 포함되는 좌측 상단의 샘플(1330a, 1330b, 1330c)의 좌표를 이용하여 가운데 부호화 단위(1320b)를 결정할 수 있다. 예를 들면, 좌측 상단의 샘플(1330a, 1330b, 1330c)의 좌표를 오름차순 또는 내림차순으로 정렬하였을 때, 가운데에 위치하는 샘플(1330b)의 좌표인 (xb, yb)를 포함하는 부호화 단위(1320b)를 현재 부호화 단위(1300)가 분할되어 결정된 부호화 단위(1320a, 1320b, 1320c) 중 가운데에 위치하는 부호화 단위로 결정할 수 있다. 다만 좌측 상단의 샘플(1330a, 1330b, 1330c)의 위치를 나타내는 좌표는 픽쳐 내에서의 절대적인 위치를 나타내는 좌표를 나타낼 수 있고, 나아가 상단 부호화 단위(1320a)의 좌측 상단의 샘플(1330a)의 위치를 기준으로, 가운데 부호화 단위(1320b)의 좌측 상단의 샘플(1330b)의 상대적 위치를 나타내는 정보인 (dxb, dyb)좌표, 하단 부호화 단위(1320c)의 좌측 상단의 샘플(1330c)의 상대적 위치를 나타내는 정보인 (dxc, dyc)좌표를 이용할 수도 있다. 또한 부호화 단위에 포함되는 샘플의 위치를 나타내는 정보로서 해당 샘플의 좌표를 이용함으로써 소정 위치의 부호화 단위를 결정하는 방법이 상술한 방법으로 한정하여 해석되어서는 안되고, 샘플의 좌표를 이용할 수 있는 다양한 산술적 방법으로 해석되어야 한다.
일 실시예에 따라 영상 복원 장치(100)는 현재 부호화 단위(1300)를 복수개의 부호화 단위(1320a, 1320b, 1320c)로 분할할 수 있고, 부호화 단위(1320a, 1320b, 1320c)들 중 소정의 기준에 따라 부호화 단위를 선택할 수 있다. 예를 들면, 영상 복원 장치(100)는 부호화 단위(1320a, 1320b, 1320c) 중 크기가 다른 부호화 단위(1320b)를 선택할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 상단 부호화 단위(1320a)의 좌측 상단의 샘플(1330a)의 위치를 나타내는 정보인 (xa, ya) 좌표, 가운데 부호화 단위(1320b)의 좌측 상단의 샘플(1330b)의 위치를 나타내는 정보인 (xb, yb) 좌표, 하단 부호화 단위(1320c)의 좌측 상단의 샘플(1330c)의 위치를 나타내는 정보인 (xc, yc) 좌표를 이용하여 부호화 단위(1320a, 1320b, 1320c) 각각의 너비 또는 높이를 결정할 수 있다. 영상 복원 장치(100)는 부호화 단위(1320a, 1320b, 1320c)의 위치를 나타내는 좌표인 (xa, ya), (xb, yb), (xc, yc)를 이용하여 부호화 단위(1320a, 1320b, 1320c) 각각의 크기를 결정할 수 있다.
일 실시예에 따라, 영상 복원 장치(100)는 상단 부호화 단위(1320a)의 너비를 xb-xa로 결정할 수 있고 높이를 yb-ya로 결정할 수 있다. 일 실시예에 따라 영상 복원 장치(100)는 가운데 부호화 단위(1320b)의 너비를 xc-xb로 결정할 수 있고 높이를 yc-yb로 결정할 수 있다. 일 실시예에 따라 영상 복원 장치(100)는 하단 부호화 단위의 너비 또는 높이는 현재 부호화 단위의 너비 또는 높이와 상단 부호화 단위(1320a) 및 가운데 부호화 단위(1320b)의 너비 및 높이를 이용하여 결정할 수 있다. 영상 복원 장치(100)는 결정된 부호화 단위(1320a, 1320b, 1320c)의 너비 및 높이에 기초하여 다른 부호화 단위와 다른 크기를 갖는 부호화 단위를 결정할 수 있다. 도 13을 참조하면, 영상 복원 장치(100)는 상단 부호화 단위(1320a) 및 하단 부호화 단위(1320c)의 크기와 다른 크기를 가지는 가운데 부호화 단위(1320b)를 소정 위치의 부호화 단위로 결정할 수 있다. 다만 상술한 영상 복원 장치(100)가 다른 부호화 단위와 다른 크기를 갖는 부호화 단위를 결정하는 과정은 샘플 좌표에 기초하여 결정되는 부호화 단위의 크기를 이용하여 소정 위치의 부호화 단위를 결정하는 일 실시예에 불과하므로, 소정의 샘플 좌표에 따라 결정되는 부호화 단위의 크기를 비교하여 소정 위치의 부호화 단위를 결정하는 다양한 과정이 이용될 수 있다.
다만 부호화 단위의 위치를 결정하기 위하여 고려하는 샘플의 위치는 상술한 좌측 상단으로 한정하여 해석되어서는 안되고 부호화 단위에 포함되는 임의의 샘플의 위치에 대한 정보가 이용될 수 있는 것으로 해석될 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 현재 부호화 단위의 형태를 고려하여, 현재 부호화 단위가 분할되어 결정되는 홀수개의 부호화 단위들 중 소정 위치의 부호화 단위를 선택할 수 있다. 예를 들면, 현재 부호화 단위가 너비가 높이보다 긴 비-정사각형 형태라면 영상 복원 장치(100)는 수평 방향에 따라 소정 위치의 부호화 단위를 결정할 수 있다. 즉, 영상 복원 장치(100)는 수평 방향으로 위치를 달리 하는 부호화 단위들 중 하나를 결정하여 해당 부호화 단위에 대한 제한을 둘 수 있다. 현재 부호화 단위가 높이가 너비보다 긴 비-정사각형 형태라면 영상 복원 장치(100)는 수직 방향에 따라 소정 위치의 부호화 단위를 결정할 수 있다. 즉, 영상 복원 장치(100)는 수직 방향으로 위치를 달리 하는 부호화 단위들 중 하나를 결정하여 해당 부호화 단위에 대한 제한을 둘 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 짝수개의 부호화 단위들 중 소정 위치의 부호화 단위를 결정하기 위하여 짝수개의 부호화 단위들 각각의 위치를 나타내는 정보를 이용할 수 있다. 영상 복원 장치(100)는 현재 부호화 단위를 분할하여 짝수개의 부호화 단위들을 결정할 수 있고 짝수개의 부호화 단위들의 위치에 대한 정보를 이용하여 소정 위치의 부호화 단위를 결정할 수 있다. 이에 대한 구체적인 과정은 도 13에서 상술한 홀수개의 부호화 단위들 중 소정 위치(예를 들면, 가운데 위치)의 부호화 단위를 결정하는 과정에 대응하는 과정일 수 있으므로 생략하도록 한다.
일 실시예에 따라, 비-정사각형 형태의 현재 부호화 단위를 복수개의 부호화 단위로 분할한 경우, 복수개의 부호화 단위들 중 소정 위치의 부호화 단위를 결정하기 위하여 분할 과정에서 소정 위치의 부호화 단위에 대한 소정의 정보를 이용할 수 있다. 예를 들면 영상 복원 장치(100)는 현재 부호화 단위가 복수개로 분할된 부호화 단위들 중 가운데에 위치하는 부호화 단위를 결정하기 위하여 분할 과정에서 가운데 부호화 단위에 포함된 샘플에 저장된 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 이용할 수 있다.
도 13을 참조하면 영상 복원 장치(100)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 현재 부호화 단위(1300)를 복수개의 부호화 단위들(1320a, 1320b, 1320c)로 분할할 수 있으며, 복수개의 부호화 단위들(1320a, 1320b, 1320c) 중 가운데에 위치하는 부호화 단위(1320b)를 결정할 수 있다. 나아가 영상 복원 장치(100)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나가 획득되는 위치를 고려하여, 가운데에 위치하는 부호화 단위(1320b)를 결정할 수 있다. 즉, 현재 부호화 단위(1300)의 블록 형태 정보 및 분할 형태 정보 중 적어도 하나는 현재 부호화 단위(1300)의 가운데에 위치하는 샘플(1340)에서 획득될 수 있으며, 상기 블록 형태 정보 및 상기 분할 형태 정보 중 적어도 하나에 기초하여 현재 부호화 단위(1300)가 복수개의 부호화 단위들(1320a, 1320b, 1320c)로 분할된 경우 상기 샘플(1340)을 포함하는 부호화 단위(1320b)를 가운데에 위치하는 부호화 단위로 결정할 수 있다. 다만 가운데에 위치하는 부호화 단위로 결정하기 위해 이용되는 정보가 블록 형태 정보 및 분할 형태 정보 중 적어도 하나로 한정하여 해석되어서는 안되고, 다양한 종류의 정보가 가운데에 위치하는 부호화 단위를 결정하는 과정에서 이용될 수 있다.
일 실시예에 따라 소정 위치의 부호화 단위를 식별하기 위한 소정의 정보는, 결정하려는 부호화 단위에 포함되는 소정의 샘플에서 획득될 수 있다. 도 13을 참조하면, 영상 복원 장치(100)는 현재 부호화 단위(1300)가 분할되어 결정된 복수개의 부호화 단위들(1320a, 1320b, 1320c) 중 소정 위치의 부호화 단위(예를 들면, 복수개로 분할된 부호화 단위 중 가운데에 위치하는 부호화 단위)를 결정하기 위하여 현재 부호화 단위(1300) 내의 소정 위치의 샘플(예를 들면, 현재 부호화 단위(1300)의 가운데에 위치하는 샘플)에서 획득되는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 이용할 수 있다. . 즉, 영상 복원 장치(100)는 현재 부호화 단위(1300)의 블록 블록 형태를 고려하여 상기 소정 위치의 샘플을 결정할 수 있고, 영상 복원 장치(100)는 현재 부호화 단위(1300)가 분할되어 결정되는 복수개의 부호화 단위(1320a, 1320b, 1320c)들 중, 소정의 정보(예를 들면, 블록 형태 정보 및 분할 형태 정보 중 적어도 하나)가 획득될 수 있는 샘플이 포함된 부호화 단위(1320b)를 결정하여 소정의 제한을 둘 수 있다. 도 13을 참조하면 일 실시예에 따라 영상 복원 장치(100)는 소정의 정보가 획득될 수 있는 샘플로서 현재 부호화 단위(1300)의 가운데에 위치하는 샘플(1340)을 결정할 수 있고, 영상 복원 장치(100)는 이러한 샘플(1340)이 포함되는 부호화 단위(1320b)를 복호화 과정에서의 소정의 제한을 둘 수 있다. 다만 소정의 정보가 획득될 수 있는 샘플의 위치는 상술한 위치로 한정하여 해석되어서는 안되고, 제한을 두기 위해 결정하려는 부호화 단위(1320b)에 포함되는 임의의 위치의 샘플들로 해석될 수 있다.
일 실시예에 따라 소정의 정보가 획득될 수 있는 샘플의 위치는 현재 부호화 단위(1300)의 형태에 따라 결정될 수 있다. 일 실시예에 따라 블록 형태 정보는 현재 부호화 단위의 형태가 정사각형인지 또는 비-정사각형인지 여부를 결정할 수 있고, 형태에 따라 소정의 정보가 획득될 수 있는 샘플의 위치를 결정할 수 있다. 예를 들면, 영상 복원 장치(100)는 현재 부호화 단위의 너비에 대한 정보 및 높이에 대한 정보 중 적어도 하나를 이용하여 현재 부호화 단위의 너비 및 높이 중 적어도 하나를 반으로 분할하는 경계 상에 위치하는 샘플을 소정의 정보가 획득될 수 있는 샘플로 결정할 수 있다. 또다른 예를 들면, 영상 복원 장치(100)는 현재 부호화 단위에 관련된 블록 형태 정보가 비-정사각형 형태임을 나타내는 경우, 현재 부호화 단위의 긴 변을 반으로 분할하는 경계에 인접하는 샘플 중 하나를 소정의 정보가 획득될 수 있는 샘플로 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 현재 부호화 단위를 복수개의 부호화 단위로 분할한 경우, 복수개의 부호화 단위들 중 소정 위치의 부호화 단위를 결정하기 위하여, 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 이용할 수 있다. 일 실시예에 따라 영상 복원 장치(100)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 부호화 단위에 포함된 소정 위치의 샘플에서 획득할 수 있고, 영상 복원 장치(100)는 현재 부호화 단위가 분할되어 생성된 복수개의 부호화 단위들을 복수개의 부호화 단위 각각에 포함된 소정 위치의 샘플로부터 획득되는 분할 형태 정보 및 블록 형태 정보 중 적어도 하나를 이용하여 분할할 수 있다. 즉, 부호화 단위는 부호화 단위 각각에 포함된 소정 위치의 샘플에서 획득되는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 이용하여 재귀적으로 분할될 수 있다. 부호화 단위의 재귀적 분할 과정에 대하여는 도 12를 통해 상술하였으므로 자세한 설명은 생략하도록 한다.
일 실시예에 따라 영상 복원 장치(100)는 현재 부호화 단위를 분할하여 적어도 하나의 부호화 단위를 결정할 수 있고, 이러한 적어도 하나의 부호화 단위가 복호화되는 순서를 소정의 블록(예를 들면, 현재 부호화 단위)에 따라 결정할 수 있다.
도 14는 일 실시예에 따라 영상 복원 장치(100)가 현재 부호화 단위를 분할하여 복수개의 부호화 단위들을 결정하는 경우, 복수개의 부호화 단위들이 처리되는 순서를 도시한다.
일 실시예에 따라 영상 복원 장치(100)는 블록 형태 정보 및 분할 형태 정보에 따라 제1 부호화 단위(1400)를 수직 방향으로 분할하여 제2 부호화 단위(1410a, 1410b)를 결정하거나 제1 부호화 단위(1400)를 수평 방향으로 분할하여 제2 부호화 단위(1430a, 1430b)를 결정하거나 제1 부호화 단위(1400)를 수직 방향 및 수평 방향으로 분할하여 제2 부호화 단위(1450a, 1450b, 1450c, 1450d)를 결정할 수 있다.
도 14를 참조하면, 영상 복원 장치(100)는 제1 부호화 단위(1400)를 수직 방향으로 분할하여 결정된 제2 부호화 단위(1410a, 1410b)를 수평 방향(1410c)으로 처리되도록 순서를 결정할 수 있다. 영상 복원 장치(100)는 제1 부호화 단위(1400)를 수평 방향으로 분할하여 결정된 제2 부호화 단위(1430a, 1430b)의 처리 순서를 수직 방향(1430c)으로 결정할 수 있다. 영상 복원 장치(100)는 제1 부호화 단위(1400)를 수직 방향 및 수평 방향으로 분할하여 결정된 제2 부호화 단위(1450a, 1450b, 1450c, 1450d)를 하나의 행에 위치하는 부호화 단위들이 처리된 후 다음 행에 위치하는 부호화 단위들이 처리되는 소정의 순서(예를 들면, 래스터 스캔 순서((raster scan order) 또는 z 스캔 순서(z scan order)(1450e) 등)에 따라 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 부호화 단위들을 재귀적으로 분할할 수 있다. 도 14를 참조하면, 영상 복원 장치(100)는 제1 부호화 단위(1400)를 분할하여 복수개의 부호화 단위들(1410a, 1410b, 1430a, 1430b, 1450a, 1450b, 1450c, 1450d)을 결정할 수 있고, 결정된 복수개의 부호화 단위들(1410a, 1410b, 1430a, 1430b, 1450a, 1450b, 1450c, 1450d) 각각을 재귀적으로 분할할 수 있다. 복수개의 부호화 단위들(1410a, 1410b, 1430a, 1430b, 1450a, 1450b, 1450c, 1450d)을 분할하는 방법은 제1 부호화 단위(1400)를 분할하는 방법에 대응하는 방법이 될 수 있다. 이에 따라 복수개의 부호화 단위들(1410a, 1410b, 1430a, 1430b, 1450a, 1450b, 1450c, 1450d)은 각각 독립적으로 복수개의 부호화 단위들로 분할될 수 있다. 도 14를 참조하면 영상 복원 장치(100)는 제1 부호화 단위(1400)를 수직 방향으로 분할하여 제2 부호화 단위(1410a, 1410b)를 결정할 수 있고, 나아가 제2 부호화 단위(1410a, 1410b) 각각을 독립적으로 분할하거나 분할하지 않는 것으로 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 좌측의 제2 부호화 단위(1410a)를 수평 방향으로 분할하여 제3 부호화 단위(1420a, 1420b)로 분할할 수 있고, 우측의 제2 부호화 단위(1410b)는 분할하지 않을 수 있다.
일 실시예에 따라 부호화 단위들의 처리 순서는 부호화 단위의 분할 과정에 기초하여 결정될 수 있다. 다시 말해, 분할된 부호화 단위들의 처리 순서는 분할되기 직전의 부호화 단위들의 처리 순서에 기초하여 결정될 수 있다. 영상 복원 장치(100)는 좌측의 제2 부호화 단위(1410a)가 분할되어 결정된 제3 부호화 단위(1420a, 1420b)가 처리되는 순서를 우측의 제2 부호화 단위(1410b)와 독립적으로 결정할 수 있다. 좌측의 제2 부호화 단위(1410a)가 수평 방향으로 분할되어 제3 부호화 단위(1420a, 1420b)가 결정되었으므로 제3 부호화 단위(1420a, 1420b)는 수직 방향(1420c)으로 처리될 수 있다. 또한 좌측의 제2 부호화 단위(1410a) 및 우측의 제2 부호화 단위(1410b)가 처리되는 순서는 수평 방향(1410c)에 해당하므로, 좌측의 제2 부호화 단위(1410a)에 포함되는 제3 부호화 단위(1420a, 1420b)가 수직 방향(1420c)으로 처리된 후에 우측 부호화 단위(1410b)가 처리될 수 있다. 상술한 내용은 부호화 단위들이 각각 분할 전의 부호화 단위에 따라 처리 순서가 결정되는 과정을 설명하기 위한 것이므로, 상술한 실시예에 한정하여 해석되어서는 안되고, 다양한 형태로 분할되어 결정되는 부호화 단위들이 소정의 순서에 따라 독립적으로 처리될 수 있는 다양한 방법으로 이용되는 것으로 해석되어야 한다.
도 15는 일 실시예에 따라 영상 복원 장치(100)가 소정의 순서로 부호화 단위가 처리될 수 없는 경우, 현재 부호화 단위가 홀수개의 부호화 단위로 분할되는 것임을 결정하는 과정을 도시한다.
일 실시예에 따라 영상 복원 장치(100)는 획득된 블록 형태 정보 및 분할 형태 정보에 기초하여 현재 부호화 단위가 홀수개의 부호화 단위들로 분할되는 것을 결정할 수 있다. 도 15를 참조하면 정사각형 형태의 제1 부호화 단위(1500)가 비-정사각형 형태의 제2 부호화 단위(1510a, 1510b)로 분할될 수 있고, 제2 부호화 단위(1510a, 1510b)는 각각 독립적으로 제3 부호화 단위(1520a, 1520b, 1520c, 1520d, 1520e)로 분할될 수 있다. 일 실시예에 따라 영상 복원 장치(100)는 제2 부호화 단위 중 좌측 부호화 단위(1510a)는 수평 방향으로 분할하여 복수개의 제3 부호화 단위(1520a, 1520b)를 결정할 수 있고, 우측 부호화 단위(1510b)는 홀수개의 제3 부호화 단위(1520c, 1520d, 1520e)로 분할할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 제3 부호화 단위들(1520a, 1520b, 1520c, 1520d, 1520e)이 소정의 순서로 처리될 수 있는지 여부를 판단하여 홀수개로 분할된 부호화 단위가 존재하는지를 결정할 수 있다. 도 15를 참조하면, 영상 복원 장치(100)는 제1 부호화 단위(1500)를 재귀적으로 분할하여 제3 부호화 단위(1520a, 1520b, 1520c, 1520d, 1520e)를 결정할 수 있다. 영상 복원 장치(100)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여, 제1 부호화 단위(1500), 제2 부호화 단위(1510a, 1510b) 또는 제3 부호화 단위(1520a, 1520b, 1520c, 1520d, 1520e)가 분할되는 형태 중 홀수개의 부호화 단위로 분할되는지 여부를 결정할 수 있다. 예를 들면, 제2 부호화 단위(1510a, 1510b) 중 우측에 위치하는 부호화 단위가 홀수개의 제3 부호화 단위(1520c, 1520d, 1520e)로 분할될 수 있다. 제1 부호화 단위(1500)에 포함되는 복수개의 부호화 단위들이 처리되는 순서는 소정의 순서(예를 들면, z-스캔 순서(z-scan order)(1530))가 될 수 있고, 영상 복원 장치(100)는 우측 제2 부호화 단위(1510b)가 홀수개로 분할되어 결정된 제3 부호화 단위(1520c, 1520d, 1520e)가 상기 소정의 순서에 따라 처리될 수 있는 조건을 만족하는지를 판단할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 제1 부호화 단위(1500)에 포함되는 제3 부호화 단위(1520a, 1520b, 1520c, 1520d, 1520e)가 소정의 순서에 따라 처리될 수 있는 조건을 만족하는지를 결정할 수 있으며, 상기 조건은 제3 부호화 단위(1520a, 1520b, 1520c, 1520d, 1520e)의 경계에 따라 제2 부호화 단위(1510a, 1510b)의 너비 및 높이 중 적어도 하나를 반으로 분할되는지 여부와 관련된다. 예를 들면 비-정사각형 형태의 좌측 제2 부호화 단위(1510a)의 높이를 반으로 분할하여 결정되는 제3 부호화 단위(1520a, 1520b)는 조건을 만족하지만, 우측 제2 부호화 단위(1510b)를 3개의 부호화 단위로 분할하여 결정되는 제3 부호화 단위(1520c, 1520d, 1520e)들의 경계가 우측 제2 부호화 단위(1510b)의 너비 또는 높이를 반으로 분할하지 못하므로 제3 부호화 단위(1520c, 1520d, 1520e)는 조건을 만족하지 못하는 것으로 결정될 수 있고, 영상 복원 장치(100)는 이러한 조건 불만족의 경우 스캔 순서의 단절(disconnection)로 판단하고, 판단 결과에 기초하여 우측 제2 부호화 단위(1510b)는 홀수개의 부호화 단위로 분할되는 것으로 결정할 수 있다. 일 실시예에 따라 영상 복원 장치(100)는 홀수개의 부호화 단위로 분할되는 경우 분할된 부호화 단위들 중 소정 위치의 부호화 단위에 대하여 소정의 제한을 둘 수 있으며, 이러한 제한 내용 또는 소정 위치 등에 대하여는 다양한 실시예를 통해 상술하였으므로 자세한 설명은 생략하도록 한다.
도 16은 일 실시예에 따라 영상 복원 장치(100)가 제1 부호화 단위(1600)를 분할하여 적어도 하나의 부호화 단위를 결정하는 과정을 도시한다. 일 실시예에 따라 영상 복원 장치(100)는 수신부(210)를 통해 획득한 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1600)를 분할할 수 있다. 정사각형 형태의 제1 부호화 단위(1600)는 4개의 정사각형 형태를 가지는 부호화 단위로 분할되거나 또는 비-정사각형 형태의 복수개의 부호화 단위로 분할할 수 있다. 예를 들면 도 16을 참조하면, 블록 형태 정보가 제1 부호화 단위(1600)는 정사각형임을 나타내고 분할 형태 정보가 비-정사각형의 부호화 단위로 분할됨을 나타내는 경우 영상 복원 장치(100)는 제1 부호화 단위(1600)를 복수개의 비-정사각형의 부호화 단위들로 분할할 수 있다. 구체적으로, 분할 형태 정보가 제1 부호화 단위(1600)를 수평 방향 또는 수직 방향으로 분할하여 홀수개의 부호화 단위를 결정하는 것을 나타내는 경우, 영상 복원 장치(100)는 정사각형 형태의 제1 부호화 단위(1600)을 홀수개의 부호화 단위들로서 수직 방향으로 분할되어 결정된 제2 부호화 단위(1610a, 1610b, 1610c) 또는 수평 방향으로 분할되어 결정된 제2 부호화 단위(1620a, 1620b, 1620c)로 분할할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 제1 부호화 단위(1600)에 포함되는 제2 부호화 단위(1610a, 1610b, 1610c, 1620a, 1620b, 1620c)가 소정의 순서에 따라 처리될 수 있는 조건을 만족하는지를 결정할 수 있으며, 상기 조건은 제2 부호화 단위(1610a, 1610b, 1610c, 1620a, 1620b, 1620c)의 경계에 따라 제1 부호화 단위(1600)의 너비 및 높이 중 적어도 하나를 반으로 분할되는지 여부와 관련된다. 도 16를 참조하면 정사각형 형태의 제1 부호화 단위(1600)를 수직 방향으로 분할하여 결정되는 제2 부호화 단위(1610a, 1610b, 1610c)들의 경계가 제1 부호화 단위(1600)의 너비를 반으로 분할하지 못하므로 제1 부호화 단위(1600)는 소정의 순서에 따라 처리될 수 있는 조건을 만족하지 못하는 것으로 결정될 수 있다. 또한 정사각형 형태의 제1 부호화 단위(1600)를 수평 방향으로 분할하여 결정되는 제2 부호화 단위(1620a, 1620b, 1620c)들의 경계가 제1 부호화 단위(1600)의 너비를 반으로 분할하지 못하므로 제1 부호화 단위(1600)는 소정의 순서에 따라 처리될 수 있는 조건을 만족하지 못하는 것으로 결정될 수 있다. 영상 복원 장치(100)는 이러한 조건 불만족의 경우 스캔 순서의 단절(disconnection)로 판단하고, 판단 결과에 기초하여 제1 부호화 단위(1600)는 홀수개의 부호화 단위로 분할되는 것으로 결정할 수 있다. 일 실시예에 따라 영상 복원 장치(100)는 홀수개의 부호화 단위로 분할되는 경우 분할된 부호화 단위들 중 소정 위치의 부호화 단위에 대하여 소정의 제한을 둘 수 있으며, 이러한 제한 내용 또는 소정 위치 등에 대하여는 다양한 실시예를 통해 상술하였으므로 자세한 설명은 생략하도록 한다.
일 실시예에 따라, 영상 복원 장치(100)는 제1 부호화 단위를 분할하여 다양한 형태의 부호화 단위들을 결정할 수 있다.
도 16을 참조하면, 영상 복원 장치(100)는 정사각형 형태의 제1 부호화 단위(1600), 비-정사각형 형태의 제1 부호화 단위(1630 또는 1650)를 다양한 형태의 부호화 단위들로 분할할 수 있다.
도 17은 일 실시예에 따라 영상 복원 장치(100)가 제1 부호화 단위(1700)가 분할되어 결정된 비-정사각형 형태의 제2 부호화 단위가 소정의 조건을 만족하는 경우 제2 부호화 단위가 분할될 수 있는 형태가 제한되는 것을 도시한다.
일 실시예에 따라 영상 복원 장치(100)는 수신부(210)를 통해 획득한 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 정사각형 형태의 제1 부호화 단위(1700)를 비-정사각형 형태의 제2 부호화 단위(1710a, 1710b, 1720a, 1720b)로 분할하는 것으로 결정할 수 있다. 제2 부호화 단위(1710a, 1710b, 1720a, 1720b)는 독립적으로 분할될 수 있다. 이에 따라 영상 복원 장치(100)는 제2 부호화 단위(1710a, 1710b, 1720a, 1720b) 각각에 관련된 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 복수개의 부호화 단위로 분할하거나 분할하지 않는 것을 결정할 수 있다. 일 실시예에 따라 영상 복원 장치(100)는 수직 방향으로 제1 부호화 단위(1700)가 분할되어 결정된 비-정사각형 형태의 좌측 제2 부호화 단위(1710a)를 수평 방향으로 분할하여 제3 부호화 단위(1712a, 1712b)를 결정할 수 있다. 다만 영상 복원 장치(100)는 좌측 제2 부호화 단위(1710a)를 수평 방향으로 분할한 경우, 우측 제2 부호화 단위(1710b)는 좌측 제2 부호화 단위(1710a)가 분할된 방향과 동일하게 수평 방향으로 분할될 수 없도록 제한할 수 있다. 만일 우측 제2 부호화 단위(1710b)가 동일한 방향으로 분할되어 제3 부호화 단위(1714a, 1714b)가 결정된 경우, 좌측 제2 부호화 단위(1710a) 및 우측 제2 부호화 단위(1710b)가 수평 방향으로 각각 독립적으로 분할됨으로써 제3 부호화 단위(1712a, 1712b, 1714a, 1714b)가 결정될 수 있다. 하지만 이는 영상 복원 장치(100)가 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1700)를 4개의 정사각형 형태의 제2 부호화 단위(1730a, 1730b, 1730c, 1730d)로 분할한 것과 동일한 결과이며 이는 영상 복호화 측면에서 비효율적일 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 수평 방향으로 제1 부호화 단위(11300)가 분할되어 결정된 비-정사각형 형태의 제2 부호화 단위(1720a 또는 1720b)를 수직 방향으로 분할하여 제3 부호화 단위(1722a, 1722b, 1724a, 1724b)를 결정할 수 있다. 다만 영상 복원 장치(100)는 제2 부호화 단위 중 하나(예를 들면 상단 제2 부호화 단위(1720a))를 수직 방향으로 분할한 경우, 상술한 이유에 따라 다른 제2 부호화 단위(예를 들면 하단 부호화 단위(1720b))는 상단 제2 부호화 단위(1720a)가 분할된 방향과 동일하게 수직 방향으로 분할될 수 없도록 제한할 수 있다.
도 18은 일 실시예에 따라 분할 형태 정보가 4개의 정사각형 형태의 부호화 단위로 분할하는 것을 나타낼 수 없는 경우, 영상 복원 장치(100)가 정사각형 형태의 부호화 단위를 분할하는 과정을 도시한다.
일 실시예에 따라 영상 복원 장치(100)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1800)를 분할하여 제2 부호화 단위(1810a, 1810b, 1820a, 1820b 등)를 결정할 수 있다. 분할 형태 정보에는 부호화 단위가 분할될 수 있는 다양한 형태에 대한 정보가 포함될 수 있으나, 다양한 형태에 대한 정보에는 정사각형 형태의 4개의 부호화 단위로 분할하기 위한 정보가 포함될 수 없는 경우가 있다. 이러한 분할 형태 정보에 따르면, 영상 복원 장치(100)는 정사각형 형태의 제1 부호화 단위(1800)를 4개의 정사각형 형태의 제2 부호화 단위(1830a, 1830b, 1830c, 1830d)로 분할하지 못한다. 분할 형태 정보에 기초하여 영상 복원 장치(100)는 비-정사각형 형태의 제2 부호화 단위(1810a, 1810b, 1820a, 1820b 등)를 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 비-정사각형 형태의 제2 부호화 단위(1810a, 1810b, 1820a, 1820b 등)를 각각 독립적으로 분할할 수 있다. 재귀적인 방법을 통해 제2 부호화 단위(1810a, 1810b, 1820a, 1820b 등) 각각이 소정의 순서대로 분할될 수 있으며, 이는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 제1 부호화 단위(1800)가 분할되는 방법에 대응하는 분할 방법일 수 있다.
예를 들면 영상 복원 장치(100)는 좌측 제2 부호화 단위(1810a)가 수평 방향으로 분할되어 정사각형 형태의 제3 부호화 단위(1812a, 1812b)를 결정할 수 있고, 우측 제2 부호화 단위(1810b)가 수평 방향으로 분할되어 정사각형 형태의 제3 부호화 단위(1814a, 1814b)를 결정할 수 있다. 나아가 영상 복원 장치(100)는 좌측 제2 부호화 단위(1810a) 및 우측 제2 부호화 단위(1810b) 모두 수평 방향으로 분할되어 정사각형 형태의 제3 부호화 단위(1816a, 1816b, 1816c, 1816d)를 결정할 수도 있다. 이러한 경우 제1 부호화 단위(1800)가 4개의 정사각형 형태의 제2 부호화 단위(1830a, 1830b, 1830c, 1830d)로 분할된 것과 동일한 형태로 부호화 단위가 결정될 수 있다.
또 다른 예를 들면 영상 복원 장치(100)는 상단 제2 부호화 단위(1820a)가 수직 방향으로 분할되어 정사각형 형태의 제3 부호화 단위(1822a, 1822b)를 결정할 수 있고, 하단 제2 부호화 단위(1820b)가 수직 방향으로 분할되어 정사각형 형태의 제3 부호화 단위(1824a, 1824b)를 결정할 수 있다. 나아가 영상 복원 장치(100)는 상단 제2 부호화 단위(1820a) 및 하단 제2 부호화 단위(1820b) 모두 수직 방향으로 분할되어 정사각형 형태의 제3 부호화 단위(1822a, 1822b, 1824a, 1824b)를 결정할 수도 있다. 이러한 경우 제1 부호화 단위(1800)가 4개의 정사각형 형태의 제2 부호화 단위(1830a, 1830b, 1830c, 1830d)로 분할된 것과 동일한 형태로 부호화 단위가 결정될 수 있다.
도 19는 일 실시예에 따라 복수개의 부호화 단위들 간의 처리 순서가 부호화 단위의 분할 과정에 따라 달라질 수 있음을 도시한 것이다.
일 실시예에 따라 영상 복원 장치(100)는 블록 형태 정보 및 분할 형태 정보에 기초하여 제1 부호화 단위(1900)를 분할할 수 있다. 블록 형태 정보가 정사각형 형태를 나타내고, 분할 형태 정보가 제1 부호화 단위(1900)가 수평 방향 및 수직 방향 중 적어도 하나의 방향으로 분할됨을 나타내는 경우, 영상 복원 장치(100)는 제1 부호화 단위(1900)를 분할하여 제2 부호화 단위(예를 들면, 1910a, 1910b, 1920a, 1920b, 1930a, 1930b, 1930c, 1930d 등)를 결정할 수 있다. 도 19를 참조하면 제1 부호화 단위1900)가 수평 방향 또는 수직 방향만으로 분할되어 결정된 비-정사각형 형태의 제2 부호화 단위(1910a, 1910b, 1920a, 1920b)는 각각에 대한 블록 형태 정보 및 분할 형태 정보에 기초하여 독립적으로 분할될 수 있다. 예를 들면 영상 복원 장치(100)는 제1 부호화 단위(1900)가 수직 방향으로 분할되어 생성된 제2 부호화 단위(1910a, 1910b)를 수평 방향으로 각각 분할하여 제3 부호화 단위(1916a, 1916b, 1916c, 1916d)를 결정할 수 있고, 제1 부호화 단위(1900)가 수평 방향으로 분할되어 생성된 제2 부호화 단위(1920a, 1920b)를 수평 방향으로 각각 분할하여 제3 부호화 단위(1926a, 1926b, 1926c, 1926d)를 결정할 수 있다. 이러한 제2 부호화 단위(1910a, 1910b, 1920a, 1920b)의 분할 과정은 도 17과 관련하여 상술하였으므로 자세한 설명은 생략하도록 한다.
일 실시예에 따라 영상 복원 장치(100)는 소정의 순서에 따라 부호화 단위를 처리할 수 있다. 소정의 순서에 따른 부호화 단위의 처리에 대한 특징은 도 14과 관련하여 상술하였으므로 자세한 설명은 생략하도록 한다. 도 19를 참조하면 영상 복원 장치(100)는 정사각형 형태의 제1 부호화 단위(1900)를 분할하여 4개의 정사각형 형태의 제3 부호화 단위(1916a, 1916b, 1916c, 1916d, 1926a, 1926b, 1926c, 1926d)를 결정할 수 있다. 일 실시예에 따라 영상 복원 장치(100)는 제1 부호화 단위(1900)가 분할되는 형태에 따라 제3 부호화 단위(1916a, 1916b, 1916c, 1916d, 1926a, 1926b, 1926c, 1926d)의 처리 순서를 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 수직 방향으로 분할되어 생성된 제2 부호화 단위(1910a, 1910b)를 수평 방향으로 각각 분할하여 제3 부호화 단위(1916a, 1916b, 1916c, 1916d)를 결정할 수 있고, 영상 복원 장치(100)는 좌측 제2 부호화 단위(1910a)에 포함되는 제3 부호화 단위(1916a, 1916b)를 수직 방향으로 먼저 처리한 후, 우측 제2 부호화 단위(1910b)에 포함되는 제3 부호화 단위(1916c, 1916d)를 수직 방향으로 처리하는 순서(1917)에 따라 제3 부호화 단위(1916a, 1916b, 1916c, 1916d)를 처리할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 수평 방향으로 분할되어 생성된 제2 부호화 단위(1920a, 1920b)를 수직 방향으로 각각 분할하여 제3 부호화 단위(1926a, 1926b, 1926c, 1926d)를 결정할 수 있고, 영상 복원 장치(100)는 상단 제2 부호화 단위(1920a)에 포함되는 제3 부호화 단위(1926a, 1926b)를 수평 방향으로 먼저 처리한 후, 하단 제2 부호화 단위(1920b)에 포함되는 제3 부호화 단위(1926c, 1926d)를 수평 방향으로 처리하는 순서(1927)에 따라 제3 부호화 단위(1926a, 1926b, 1926c, 1926d)를 처리할 수 있다.
도 19를 참조하면, 제2 부호화 단위(1910a, 1910b, 1920a, 1920b)가 각각 분할되어 정사각형 형태의 제3 부호화 단위(1916a, 1916b, 1916c, 1916d, 1926a, 1926b, 1926c, 1926d)가 결정될 수 있다. 수직 방향으로 분할되어 결정된 제2 부호화 단위(1910a, 1910b) 및 수평 방향으로 분할되어 결정된 제2 부호화 단위(1920a, 1920b)는 서로 다른 형태로 분할된 것이지만, 이후에 결정되는 제3 부호화 단위(1916a, 1916b, 1916c, 1916d, 1926a, 1926b, 1926c, 1926d)에 따르면 결국 동일한 형태의 부호화 단위들로 제1 부호화 단위(1900)가 분할된 결과가 된다. 이에 따라 영상 복원 장치(100)는 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 상이한 과정을 통해 재귀적으로 부호화 단위를 분할함으로써 결과적으로 동일한 형태의 부호화 단위들을 결정하더라도, 동일한 형태로 결정된 복수개의 부호화 단위들을 서로 다른 순서로 처리할 수 있다.
도 20은 일 실시예에 따라 부호화 단위가 재귀적으로 분할되어 복수개의 부호화 단위가 결정되는 경우, 부호화 단위의 형태 및 크기가 변함에 따라 부호화 단위의 심도가 결정되는 과정을 도시한다.
일 실시예에 따라 영상 복원 장치(100)는 부호화 단위의 심도를 소정의 기준에 따라 결정할 수 있다. 예를 들면 소정의 기준은 부호화 단위의 긴 변의 길이가 될 수 있다. 영상 복원 장치(100)는 현재 부호화 단위의 긴 변의 길이가 분할되기 전의 부호화 단위의 긴 변의 길이보다 2n (n>0) 배로 분할된 경우, 현재 부호화 단위의 심도는 분할되기 전의 부호화 단위의 심도보다 n만큼 심도가 증가된 것으로 결정할 수 있다. 이하에서는 심도가 증가된 부호화 단위를 하위 심도의 부호화 단위로 표현하도록 한다.
도 20을 참조하면, 일 실시예에 따라 정사각형 형태임을 나타내는 블록 형태 정보(예를 들면 블록 형태 정보는 ′0: SQUARE′를 나타낼 수 있음)에 기초하여 영상 복원 장치(100)는 정사각형 형태인 제1 부호화 단위(2000)를 분할하여 하위 심도의 제2 부호화 단위(2002), 제3 부호화 단위(2004) 등을 결정할 수 있다. 정사각형 형태의 제1 부호화 단위(2000)의 크기를 2Nx2N이라고 한다면, 제1 부호화 단위(2000)의 너비 및 높이를 1/21배로 분할하여 결정된 제2 부호화 단위(2002)는 NxN의 크기를 가질 수 있다. 나아가 제2 부호화 단위(2002)의 너비 및 높이를 1/2크기로 분할하여 결정된 제3 부호화 단위(2004)는 N/2xN/2의 크기를 가질 수 있다. 이 경우 제3 부호화 단위(2004)의 너비 및 높이는 제1 부호화 단위(2000)의 1/22배에 해당한다. 제1 부호화 단위(2000)의 심도가 D인 경우 제1 부호화 단위(2000)의 너비 및 높이의 1/21배인 제2 부호화 단위(2002)의 심도는 D+1일 수 있고, 제1 부호화 단위(2000)의 너비 및 높이의 1/22배인 제3 부호화 단위(2004)의 심도는 D+2일 수 있다.
일 실시예에 따라 비-정사각형 형태를 나타내는 블록 형태 정보(예를 들면 블록 형태 정보는, 높이가 너비보다 긴 비-정사각형임을 나타내는 ′1: NS_VER′ 또는 너비가 높이보다 긴 비-정사각형임을 나타내는 ′2: NS_HOR′를 나타낼 수 있음)에 기초하여, 영상 복원 장치(100)는 비-정사각형 형태인 제1 부호화 단위(2010 또는 2020)를 분할하여 하위 심도의 제2 부호화 단위(2012 또는 2022), 제3 부호화 단위(2014 또는 2024) 등을 결정할 수 있다.
영상 복원 장치(100)는 Nx2N 크기의 제1 부호화 단위(2010)의 너비 및 높이 중 적어도 하나를 분할하여 제2 부호화 단위(예를 들면, 2002, 2012, 2022 등)를 결정할 수 있다. 즉, 영상 복원 장치(100)는 제1 부호화 단위(2010)를 수평 방향으로 분할하여 NxN 크기의 제2 부호화 단위(2002) 또는 NxN/2 크기의 제2 부호화 단위(2022)를 결정할 수 있고, 수평 방향 및 수직 방향으로 분할하여 N/2xN 크기의 제2 부호화 단위(2012)를 결정할 수도 있다.
일 실시예에 따라 영상 복원 장치(100)는 2NxN 크기의 제1 부호화 단위(2020) 의 너비 및 높이 중 적어도 하나를 분할하여 제2 부호화 단위(예를 들면, 2002, 2012, 2022 등)를 결정할 수도 있다. 즉, 영상 복원 장치(100)는 제1 부호화 단위(2020)를 수직 방향으로 분할하여 NxN 크기의 제2 부호화 단위(2002) 또는 N/2xN 크기의 제2 부호화 단위(2012)를 결정할 수 있고, 수평 방향 및 수직 방향으로 분할하여 NxN/2 크기의 제2 부호화 단위(2022)를 결정할 수도 있다.
일 실시예에 따라 영상 복원 장치(100)는 NxN 크기의 제2 부호화 단위(2002) 의 너비 및 높이 중 적어도 하나를 분할하여 제3 부호화 단위(예를 들면, 2004, 2014, 2024 등)를 결정할 수도 있다. 즉, 영상 복원 장치(100)는 제2 부호화 단위(2002)를 수직 방향 및 수평 방향으로 분할하여 N/2xN/2 크기의 제3 부호화 단위(2004)를 결정하거나 N/22xN/2 크기의 제3 부호화 단위(2014)를 결정하거나 N/2xN/22 크기의 제3 부호화 단위(2024)를 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 N/2xN 크기의 제2 부호화 단위(2012)의 너비 및 높이 중 적어도 하나를 분할하여 제3 부호화 단위(예를 들면, 2004, 2014, 2024 등)를 결정할 수도 있다. 즉, 영상 복원 장치(100)는 제2 부호화 단위(2012)를 수평 방향으로 분할하여 N/2xN/2 크기의 제3 부호화 단위(2004) 또는 N/2xN/22 크기의 제3 부호화 단위(2024)를 결정하거나 수직 방향 및 수평 방향으로 분할하여 N/22xN/2 크기의 제3 부호화 단위(2014)를 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 NxN/2 크기의 제2 부호화 단위(2014)의 너비 및 높이 중 적어도 하나를 분할하여 제3 부호화 단위(예를 들면, 2004, 2014, 2024 등)를 결정할 수도 있다. 즉, 영상 복원 장치(100)는 제2 부호화 단위(2012)를 수직 방향으로 분할하여 N/2xN/2 크기의 제3 부호화 단위(2004) 또는 N/22xN/2 크기의 제3 부호화 단위(2014)를 결정하거나 수직 방향 및 수평 방향으로 분할하여 N/2xN/22크기의 제3 부호화 단위(2024)를 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 정사각형 형태의 부호화 단위(예를 들면, 2000, 2002, 2004)를 수평 방향 또는 수직 방향으로 분할할 수 있다. 예를 들면, 2Nx2N 크기의 제1 부호화 단위(2000)를 수직 방향으로 분할하여 Nx2N 크기의 제1 부호화 단위(2010)를 결정하거나 수평 방향으로 분할하여 2NxN 크기의 제1 부호화 단위(2020)를 결정할 수 있다. 일 실시예에 따라 심도가 부호화 단위의 가장 긴 변의 길이에 기초하여 결정되는 경우, 2Nx2N 크기의 제1 부호화 단위(2000, 2002 또는 2004)가 수평 방향 또는 수직 방향으로 분할되어 결정되는 부호화 단위의 심도는 제1 부호화 단위(2000, 2002 또는 2004)의 심도와 동일할 수 있다.
일 실시예에 따라 제3 부호화 단위(2014 또는 2024)의 너비 및 높이는 제1 부호화 단위(2010 또는 2020)의 1/22배에 해당할 수 있다. 제1 부호화 단위(2010 또는 2020)의 심도가 D인 경우 제1 부호화 단위(2010 또는 2020)의 너비 및 높이의 1/2배인 제2 부호화 단위(2012 또는 2014)의 심도는 D+1일 수 있고, 제1 부호화 단위(2010 또는 2020)의 너비 및 높이의 1/22배인 제3 부호화 단위(2014 또는 2024)의 심도는 D+2일 수 있다.
도 21은 일 실시예에 따라 부호화 단위들의 형태 및 크기에 따라 결정될 수 있는 심도 및 부호화 단위 구분을 위한 인덱스(part index, 이하 PID)를 도시한다.
일 실시예에 따라 영상 복원 장치(100)는 정사각형 형태의 제1 부호화 단위(2100)를 분할하여 다양한 형태의 제2 부호화 단위를 결정할 수 있다. 도 21를 참조하면, 영상 복원 장치(100)는 분할 형태 정보에 따라 제1 부호화 단위(2100)를 수직 방향 및 수평 방향 중 적어도 하나의 방향으로 분할하여 제2 부호화 단위(2102a, 2102b, 2104a, 2104b, 2106a, 2106b, 2106c, 2106d)를 결정할 수 있다. 즉, 영상 복원 장치(100)는 제1 부호화 단위(2100)에 대한 분할 형태 정보에 기초하여 제2 부호화 단위(2102a, 2102b, 2104a, 2104b, 2106a, 2106b, 2106c, 2106d)를 결정할 수 있다.
일 실시예에 따라 정사각형 형태의 제1 부호화 단위(2100)에 대한 분할 형태 정보에 따라 결정되는 제2 부호화 단위(2102a, 2102b, 2104a, 2104b, 2106a, 2106b, 2106c, 2106d)는 긴 변의 길이에 기초하여 심도가 결정될 수 있다. 예를 들면, 정사각형 형태의 제1 부호화 단위(2100)의 한 변의 길이와 비-정사각형 형태의 제2 부호화 단위(2102a, 2102b, 2104a, 2104b)의 긴 변의 길이가 동일하므로, 제1 부호화 단위(2100)와 비-정사각형 형태의 제2 부호화 단위(2102a, 2102b, 2104a, 2104b)의 심도는 D로 동일하다고 볼 수 있다. 이에 반해 영상 복원 장치(100)가 분할 형태 정보에 기초하여 제1 부호화 단위(2100)를 4개의 정사각형 형태의 제2 부호화 단위(2106a, 2106b, 2106c, 2106d)로 분할한 경우, 정사각형 형태의 제2 부호화 단위(2106a, 2106b, 2106c, 2106d)의 한 변의 길이는 제1 부호화 단위(2100)의 한 변의 길이의 1/2배 이므로, 제2 부호화 단위(2106a, 2106b, 2106c, 2106d)의 심도는 제1 부호화 단위(2100)의 심도인 D보다 한 심도 하위인 D+1의 심도일 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 높이가 너비보다 긴 형태의 제1 부호화 단위(2110)를 분할 형태 정보에 따라 수평 방향으로 분할하여 복수개의 제2 부호화 단위(2112a, 2112b, 2114a, 2114b, 2114c)로 분할할 수 있다. 일 실시예에 따라 영상 복원 장치(100)는 너비가 높이보다 긴 형태의 제1 부호화 단위(2120)를 분할 형태 정보에 따라 수직 방향으로 분할하여 복수개의 제2 부호화 단위(2122a, 2122b, 2124a, 2124b, 2124c)로 분할할 수 있다.
일 실시예에 따라 비-정사각형 형태의 제1 부호화 단위(2110 또는 2120)에 대한 분할 형태 정보에 따라 결정되는 제2 부호화 단위(2112a, 2112b, 2114a, 2114b, 2116a, 2116b, 2116c, 2116d)는 긴 변의 길이에 기초하여 심도가 결정될 수 있다. 예를 들면, 정사각형 형태의 제2 부호화 단위(2112a, 2112b)의 한 변의 길이는 높이가 너비보다 긴 비-정사각형 형태의 제1 부호화 단위(2110)의 한 변의 길이의 1/2배이므로, 정사각형 형태의 제2 부호화 단위(2102a, 2102b, 2104a, 2104b)의 심도는 비-정사각형 형태의 제1 부호화 단위(2110)의 심도 D보다 한 심도 하위의 심도인 D+1이다.
나아가 영상 복원 장치(100)가 분할 형태 정보에 기초하여 비-정사각형 형태의 제1 부호화 단위(2110)를 홀수개의 제2 부호화 단위(2114a, 2114b, 2114c)로 분할할 수 있다. 홀수개의 제2 부호화 단위(2114a, 2114b, 2114c)는 비-정사각형 형태의 제2 부호화 단위(2114a, 2114c) 및 정사각형 형태의 제2 부호화 단위(2114b)를 포함할 수 있다. 이 경우 비-정사각형 형태의 제2 부호화 단위(2114a, 2114c)의 긴 변의 길이 및 정사각형 형태의 제2 부호화 단위(2114b)의 한 변의 길이는 제1 부호화 단위(2110)의 한 변의 길이의 1/2배 이므로, 제2 부호화 단위(2114a, 2114b, 2114c)의 심도는 제1 부호화 단위(2110)의 심도인 D보다 한 심도 하위인 D+1의 심도일 수 있다. 영상 복원 장치(100)는 제1 부호화 단위(2110)와 관련된 부호화 단위들의 심도를 결정하는 상기 방식에 대응하는 방식으로, 너비가 높이보다 긴 비-정사각형 형태의 제1 부호화 단위(2120)와 관련된 부호화 단위들의 심도를 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 분할된 부호화 단위들의 구분을 위한 인덱스(PID)를 결정함에 있어서, 홀수개로 분할된 부호화 단위들이 서로 동일한 크기가 아닌 경우, 부호화 단위들 간의 크기 비율에 기초하여 인덱스를 결정할 수 있다. 도 21를 참조하면, 홀수개로 분할된 부호화 단위들(2114a, 2114b, 2114c) 중 가운데에 위치하는 부호화 단위(2114b)는 다른 부호화 단위들(2114a, 2114c)와 너비는 동일하지만 높이가 다른 부호화 단위들(2114a, 2114c)의 높이의 두 배일 수 있다. 즉, 이 경우 가운데에 위치하는 부호화 단위(2114b)는 다른 부호화 단위들(2114a, 2114c)의 두 개를 포함할 수 있다. 따라서, 스캔 순서에 따라 가운데에 위치하는 부호화 단위(2114b)의 인덱스(PID)가 1이라면 그 다음 순서에 위치하는 부호화 단위(2114c)는 인덱스가 2가 증가한 3일수 있다. 즉 인덱스의 값의 불연속성이 존재할 수 있다. 일 실시예에 따라 영상 복원 장치(100)는 이러한 분할된 부호화 단위들 간의 구분을 위한 인덱스의 불연속성의 존재 여부에 기초하여 홀수개로 분할된 부호화 단위들이 서로 동일한 크기가 아닌지 여부를 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 현재 부호화 단위로부터 분할되어 결정된 복수개의 부호화 단위들을 구분하기 위한 인덱스의 값에 기초하여 특정 분할 형태로 분할된 것인지를 결정할 수 있다. 도 21를 참조하면 영상 복원 장치(100)는 높이가 너비보다 긴 직사각형 형태의 제1 부호화 단위(2110)를 분할하여 짝수개의 부호화 단위(2112a, 2112b)를 결정하거나 홀수개의 부호화 단위(2114a, 2114b, 2114c)를 결정할 수 있다. 영상 복원 장치(100)는 복수개의 부호화 단위 각각을 구분하기 위하여 각 부호화 단위를 나타내는 인덱스(PID)를 이용할 수 있다. 일 실시예에 따라 PID는 각각의 부호화 단위의 소정 위치의 샘플(예를 들면, 좌측 상단 샘플)에서 획득될 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 부호화 단위의 구분을 위한 인덱스를 이용하여 분할되어 결정된 부호화 단위들 중 소정 위치의 부호화 단위를 결정할 수 있다. 일 실시예에 따라 높이가 너비보다 긴 직사각형 형태의 제1 부호화 단위(2110)에 대한 분할 형태 정보가 3개의 부호화 단위로 분할됨을 나타내는 경우 영상 복원 장치(100)는 제1 부호화 단위(2110)를 3개의 부호화 단위(2114a, 2114b, 2114c)로 분할할 수 있다. 영상 복원 장치(100)는 3개의 부호화 단위(2114a, 2114b, 2114c) 각각에 대한 인덱스를 할당할 수 있다. 영상 복원 장치(100)는 홀수개로 분할된 부호화 단위 중 가운데 부호화 단위를 결정하기 위하여 각 부호화 단위에 대한 인덱스를 비교할 수 있다. 영상 복원 장치(100)는 부호화 단위들의 인덱스에 기초하여 인덱스들 중 가운데 값에 해당하는 인덱스를 갖는 부호화 단위(2114b)를, 제1 부호화 단위(2110)가 분할되어 결정된 부호화 단위 중 가운데 위치의 부호화 단위로서 결정할 수 있다. 일 실시예에 따라 영상 복원 장치(100)는 분할된 부호화 단위들의 구분을 위한 인덱스를 결정함에 있어서, 부호화 단위들이 서로 동일한 크기가 아닌 경우, 부호화 단위들 간의 크기 비율에 기초하여 인덱스를 결정할 수 있다. 도 21를 참조하면, 제1 부호화 단위(2110)가 분할되어 생성된 부호화 단위(2114b)는 다른 부호화 단위들(2114a, 2114c)와 너비는 동일하지만 높이가 다른 부호화 단위들(2114a, 2114c)의 높이의 두 배일 수 있다. 이 경우 가운데에 위치하는 부호화 단위(2114b)의 인덱스(PID)가 1이라면 그 다음 순서에 위치하는 부호화 단위(2114c)는 인덱스가 2가 증가한 3일수 있다. 이러한 경우처럼 균일하게 인덱스가 증가하다가 증가폭이 달라지는 경우, 영상 복원 장치(100)는 다른 부호화 단위들과 다른 크기를 가지는 부호화 단위를 포함하는 복수개의 부호화 단위로 분할된 것으로 결정할 수 있다, 일 실시예에 따라 분할 형태 정보가 홀수개의 부호화 단위로 분할됨을 나타내는 경우, 영상 복원 장치(100)는 홀수개의 부호화 단위 중 소정 위치의 부호화 단위(예를 들면 가운데 부호화 단위)가 다른 부호화 단위와 크기가 다른 형태로 현재 부호화 단위를 분할할 수 있다. 이 경우 영상 복원 장치(100)는 부호화 단위에 대한 인덱스(PID)를 이용하여 다른 크기를 가지는 가운데 부호화 단위를 결정할 수 있다. 다만 상술한 인덱스, 결정하고자 하는 소정 위치의 부호화 단위의 크기 또는 위치는 일 실시예를 설명하기 위해 특정한 것이므로 이에 한정하여 해석되어서는 안되며, 다양한 인덱스, 부호화 단위의 위치 및 크기가 이용될 수 있는 것으로 해석되어야 한다.
일 실시예에 따라 영상 복원 장치(100)는 부호화 단위의 재귀적인 분할이 시작되는 소정의 데이터 단위를 이용할 수 있다.
도 22는 일 실시예에 따라 픽쳐에 포함되는 복수개의 소정의 데이터 단위에 따라 복수개의 부호화 단위들이 결정된 것을 도시한다.
일 실시예에 따라 소정의 데이터 단위는 부호화 단위가 블록 형태 정보 및 분할 형태 정보 중 적어도 하나를 이용하여 재귀적으로 분할되기 시작하는 데이터 단위로 정의될 수 있다. 즉, 현재 픽쳐를 분할하는 복수개의 부호화 단위들이 결정되는 과정에서 이용되는 최상위 심도의 부호화 단위에 해당할 수 있다. 이하에서는 설명 상 편의를 위해 이러한 소정의 데이터 단위를 기준 데이터 단위라고 지칭하도록 한다.
일 실시예에 따라 기준 데이터 단위는 소정의 크기 및 형태를 나타낼 수 있다. 일 실시예에 따라, 기준 부호화 단위는 MxN의 샘플들을 포함할 수 있다. 여기서 M 및 N은 서로 동일할 수도 있으며, 2의 승수로 표현되는 정수일 수 있다. 즉, 기준 데이터 단위는 정사각형 또는 비-정사각형의 형태를 나타낼 수 있으며, 이후에 정수개의 부호화 단위로 분할될 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 현재 픽쳐를 복수개의 기준 데이터 단위로 분할할 수 있다. 일 실시예에 따라 영상 복원 장치(100)는 현재 픽쳐를 분할하는 복수개의 기준 데이터 단위를 각각의 기준 데이터 단위에 대한 분할 정보를 이용하여 분할할 수 있다. 이러한 기준 데이터 단위의 분할 과정은 쿼드 트리(quad-tree)구조를 이용한 분할 과정에 대응될 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 현재 픽쳐에 포함되는 기준 데이터 단위가 가질 수 있는 최소 크기를 미리 결정할 수 있다. 이에 따라, 영상 복원 장치(100)는 최소 크기 이상의 크기를 갖는 다양한 크기의 기준 데이터 단위를 결정할 수 있고, 결정된 기준 데이터 단위를 기준으로 블록 형태 정보 및 분할 형태 정보를 이용하여 적어도 하나의 부호화 단위를 결정할 수 있다.
도 22를 참조하면, 영상 복원 장치(100)는 정사각형 형태의 기준 부호화 단위(2200)를 이용할 수 있고, 또는 비-정사각형 형태의 기준 부호화 단위(2202)를 이용할 수도 있다. 일 실시예에 따라 기준 부호화 단위의 형태 및 크기는 적어도 하나의 기준 부호화 단위를 포함할 수 있는 다양한 데이터 단위(예를 들면, 시퀀스(sequence), 픽쳐(picture), 슬라이스(slice), 슬라이스 세그먼트(slice segment), 최대부호화단위 등)에 따라 결정될 수 있다.
일 실시예에 따라 영상 복원 장치(100)의 수신부(210)는 기준 부호화 단위의 형태에 대한 정보 및 기준 부호화 단위의 크기에 대한 정보 중 적어도 하나를 상기 다양한 데이터 단위마다 비트스트림으로부터 획득할 수 있다. 정사각형 형태의 기준 부호화 단위(2200)에 포함되는 적어도 하나의 부호화 단위가 결정되는 과정은 도 10의 현재 부호화 단위(300)가 분할되는 과정을 통해 상술하였고, 비-정사각형 형태의 기준 부호화 단위(2200)에 포함되는 적어도 하나의 부호화 단위가 결정되는 과정은 도 11의 현재 부호화 단위(1100 또는 1150)가 분할되는 과정을 통해 상술하였으므로 자세한 설명은 생략하도록 한다.
일 실시예에 따라 영상 복원 장치(100)는 소정의 조건에 기초하여 미리 결정되는 일부 데이터 단위에 따라 기준 부호화 단위의 크기 및 형태를 결정하기 위하여, 기준 부호화 단위의 크기 및 형태를 식별하기 위한 인덱스를 이용할 수 있다. 즉, 수신부(210)는 비트스트림으로부터 상기 다양한 데이터 단위(예를 들면, 시퀀스, 픽쳐, 슬라이스, 슬라이스 세그먼트, 최대부호화단위 등) 중 소정의 조건(예를 들면 슬라이스 이하의 크기를 갖는 데이터 단위)을 만족하는 데이터 단위로서 슬라이스, 슬라이스 세그먼트, 최대부호화 단위 등 마다, 기준 부호화 단위의 크기 및 형태의 식별을 위한 인덱스만을 획득할 수 있다. 영상 복원 장치(100)는 인덱스를 이용함으로써 상기 소정의 조건을 만족하는 데이터 단위마다 기준 데이터 단위의 크기 및 형태를 결정할 수 있다. 기준 부호화 단위의 형태에 대한 정보 및 기준 부호화 단위의 크기에 대한 정보를 상대적으로 작은 크기의 데이터 단위마다 비트스트림으로부터 획득하여 이용하는 경우, 비트스트림의 이용 효율이 좋지 않을 수 있으므로, 기준 부호화 단위의 형태에 대한 정보 및 기준 부호화 단위의 크기에 대한 정보를 직접 획득하는 대신 상기 인덱스만을 획득하여 이용할 수 있다. 이 경우 기준 부호화 단위의 크기 및 형태를 나타내는 인덱스에 대응하는 기준 부호화 단위의 크기 및 형태 중 적어도 하나는 미리 결정되어 있을 수 있다. 즉, 영상 복원 장치(100)는 미리 결정된 기준 부호화 단위의 크기 및 형태 중 적어도 하나를 인덱스에 따라 선택함으로써, 인덱스 획득의 기준이 되는 데이터 단위에 포함되는 기준 부호화 단위의 크기 및 형태 중 적어도 하나를 결정할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 하나의 최대 부호화 단위에 포함하는 적어도 하나의 기준 부호화 단위를 이용할 수 있다. 즉, 영상을 분할하는 최대 부호화 단위에는 적어도 하나의 기준 부호화 단위가 포함될 수 있고, 각각의 기준 부호화 단위의 재귀적인 분할 과정을 통해 부호화 단위가 결정될 수 있다. 일 실시예에 따라 최대 부호화 단위의 너비 및 높이 중 적어도 하나는 기준 부호화 단위의 너비 및 높이 중 적어도 하나의 정수배에 해당할 수 있다. 일 실시예에 따라 기준 부호화 단위의 크기는 최대부호화단위를 쿼드 트리 구조에 따라 n번 분할한 크기일 수 있다. 즉, 영상 복원 장치(100)는 최대부호화단위를 쿼드 트리 구조에 따라 n 번 분할하여 기준 부호화 단위를 결정할 수 있고, 다양한 실시예들에 따라 기준 부호화 단위를 블록 형태 정보 및 분할 형태 정보 중 적어도 하나에 기초하여 분할할 수 있다.
도 23은 일 실시예에 따라 픽쳐(2300)에 포함되는 기준 부호화 단위의 결정 순서를 결정하는 기준이 되는 프로세싱 블록을 도시한다.
일 실시예에 따라 영상 복원 장치(100)는 픽쳐를 분할하는 적어도 하나의 프로세싱 블록을 결정할 수 있다. 프로세싱 블록이란, 영상을 분할하는 적어도 하나의 기준 부호화 단위를 포함하는 데이터 단위로서, 프로세싱 블록에 포함되는 적어도 하나의 기준 부호화 단위는 특정 순서대로 결정될 수 있다. 즉, 각각의 프로세싱 블록에서 결정되는 적어도 하나의 기준 부호화 단위의 결정 순서는 기준 부호화 단위가 결정될 수 있는 다양한 순서의 종류 중 하나에 해당할 수 있으며, 각각의 프로세싱 블록에서 결정되는 기준 부호화 단위 결정 순서는 프로세싱 블록마다 상이할 수 있다. 프로세싱 블록마다 결정되는 기준 부호화 단위의 결정 순서는 래스터 스캔(raster scan), Z 스캔(Z-scan), N 스캔(N-scan), 우상향 대각 스캔(up-right diagonal scan), 수평적 스캔(horizontal scan), 수직적 스캔(vertical scan) 등 다양한 순서 중 하나일 수 있으나, 결정될 수 있는 순서는 상기 스캔 순서들에 한정하여 해석되어서는 안 된다.
일 실시예에 따라 영상 복원 장치(100)는 프로세싱 블록의 크기에 대한 정보를 획득하여 영상에 포함되는 적어도 하나의 프로세싱 블록의 크기를 결정할 수 있다. 영상 복원 장치(100)는 프로세싱 블록의 크기에 대한 정보를 비트스트림으로부터 획득하여 영상에 포함되는 적어도 하나의 프로세싱 블록의 크기를 결정할 수 있다. 이러한 프로세싱 블록의 크기는 프로세싱 블록의 크기에 대한 정보가 나타내는 데이터 단위의 소정의 크기일 수 있다.
일 실시예에 따라 영상 복원 장치(100)의 수신부(210)는 비트스트림으로부터 프로세싱 블록의 크기에 대한 정보를 특정의 데이터 단위마다 획득할 수 있다. 예를 들면 프로세싱 블록의 크기에 대한 정보는 영상, 시퀀스, 픽쳐, 슬라이스, 슬라이스 세그먼트 등의 데이터 단위로 비트스트림으로부터 획득될 수 있다. 즉 수신부(210)는 상기 여러 데이터 단위마다 비트스트림으로부터 프로세싱 블록의 크기에 대한 정보를 획득할 수 있고 영상 복원 장치(100)는 획득된 프로세싱 블록의 크기에 대한 정보를 이용하여 픽쳐를 분할하는 적어도 하나의 프로세싱 블록의 크기를 결정할 수 있으며, 이러한 프로세싱 블록의 크기는 기준 부호화 단위의 정수배의 크기일 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 픽쳐(2300)에 포함되는 프로세싱 블록(2302, 2312)의 크기를 결정할 수 있다. 예를 들면, 영상 복원 장치(100)는 비트스트림으로부터 획득된 프로세싱 블록의 크기에 대한 정보에 기초하여 프로세싱 블록의 크기를 결정할 수 있다. 도 23을 참조하면, 영상 복원 장치(100)는 일 실시예에 따라 프로세싱 블록(2302, 2312)의 가로크기를 기준 부호화 단위 가로크기의 4배, 세로크기를 기준 부호화 단위의 세로크기의 4배로 결정할 수 있다. 영상 복원 장치(100)는 적어도 하나의 프로세싱 블록 내에서 적어도 하나의 기준 부호화 단위가 결정되는 순서를 결정할 수 있다.
일 실시예에 따라, 영상 복원 장치(100)는 프로세싱 블록의 크기에 기초하여 픽쳐(2300)에 포함되는 각각의 프로세싱 블록(2302, 2312)을 결정할 수 있고, 프로세싱 블록(2302, 2312)에 포함되는 적어도 하나의 기준 부호화 단위의 결정 순서를 결정할 수 있다. 일 실시예에 따라 기준 부호화 단위의 결정은 기준 부호화 단위의 크기의 결정을 포함할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 비트스트림으로부터 적어도 하나의 프로세싱 블록에 포함되는 적어도 하나의 기준 부호화 단위의 결정 순서에 대한 정보를 획득할 수 있고, 획득한 결정 순서에 대한 정보에 기초하여 적어도 하나의 기준 부호화 단위가 결정되는 순서를 결정할 수 있다. 결정 순서에 대한 정보는 프로세싱 블록 내에서 기준 부호화 단위들이 결정되는 순서 또는 방향으로 정의될 수 있다. 즉, 기준 부호화 단위들이 결정되는 순서는 각각의 프로세싱 블록마다 독립적으로 결정될 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 특정 데이터 단위마다 기준 부호화 단위의 결정 순서에 대한 정보를 비트스트림으로부터 획득할 수 있다. 예를 들면, 수신부(210)는 기준 부호화 단위의 결정 순서에 대한 정보를 영상, 시퀀스, 픽쳐, 슬라이스, 슬라이스 세그먼트, 프로세싱 블록 등의 데이터 단위로마다 비트스트림으로부터 획득할 수 있다. 기준 부호화 단위의 결정 순서에 대한 정보는 프로세싱 블록 내에서의 기준 부호화 단위 결정 순서를 나타내므로, 결정 순서에 대한 정보는 정수개의 프로세싱 블록을 포함하는 특정 데이터 단위 마다 획득될 수 있다.
영상 복원 장치(100)는 일 실시예에 따라 결정된 순서에 기초하여 적어도 하나의 기준 부호화 단위를 결정할 수 있다.
일 실시예에 따라 수신부(210)는 비트스트림으로부터 프로세싱 블록(2302, 2312)과 관련된 정보로서, 기준 부호화 단위 결정 순서에 대한 정보를 획득할 수 있고, 영상 복원 장치(100)는 상기 프로세싱 블록(2302, 2312)에 포함된 적어도 하나의 기준 부호화 단위를 결정하는 순서를 결정하고 부호화 단위의 결정 순서에 따라 픽쳐(2300)에 포함되는 적어도 하나의 기준 부호화 단위를 결정할 수 있다. 도 23을 참조하면, 영상 복원 장치(100)는 각각의 프로세싱 블록(2302, 2312)과 관련된 적어도 하나의 기준 부호화 단위의 결정 순서(2304, 2314)를 결정할 수 있다. 예를 들면, 기준 부호화 단위의 결정 순서에 대한 정보가 프로세싱 블록마다 획득되는 경우, 각각의 프로세싱 블록(2302, 2312)과 관련된 기준 부호화 단위 결정 순서는 프로세싱 블록마다 상이할 수 있다. 프로세싱 블록(2302)과 관련된 기준 부호화 단위 결정 순서(2304)가 래스터 스캔(raster scan)순서인 경우, 프로세싱 블록(2302)에 포함되는 기준 부호화 단위는 래스터 스캔 순서에 따라 결정될 수 있다. 이에 반해 다른 프로세싱 블록(2312)과 관련된 기준 부호화 단위 결정 순서(2314)가 래스터 스캔 순서의 역순인 경우, 프로세싱 블록(2312)에 포함되는 기준 부호화 단위는 래스터 스캔 순서의 역순에 따라 결정될 수 있다.
영상 복원 장치(100)는 일 실시예에 따라, 결정된 적어도 하나의 기준 부호화 단위를 복호화할 수 있다. 영상 복원 장치(100)는 상술한 실시예를 통해 결정된 기준 부호화 단위에 기초하여 영상을 복호화 할 수 있다. 기준 부호화 단위를 복호화 하는 방법은 영상을 복호화 하는 다양한 방법들을 포함할 수 있다.
일 실시예에 따라 영상 복원 장치(100)는 현재 부호화 단위의 형태를 나타내는 블록 형태 정보 또는 현재 부호화 단위를 분할하는 방법을 나타내는 분할 형태 정보를 비트스트림으로부터 획득하여 이용할 수 있다. 블록 형태 정보 또는 분할 형태 정보는 다양한 데이터 단위와 관련된 비트스트림에 포함될 수 있다. 예를 들면, 영상 복원 장치(100)는 시퀀스 파라미터 세트(sequence parameter set), 픽쳐 파라미터 세트(picture parameter set), 비디오 파라미터 세트(video parameter set), 슬라이스 헤더(slice header), 슬라이스 세그먼트 헤더(slice segment header)에 포함된 블록 형태 정보 또는 분할 형태 정보를 이용할 수 있다. 나아가, 영상 복원 장치(100)는 최대 부호화 단위, 기준 부호화 단위, 프로세싱 블록마다 비트스트림으로부터 블록 형태 정보 또는 분할 형태 정보에 대응하는 신택스를 비트스트림으로부터 획득하여 이용할 수 있다.
이제까지 다양한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.

Claims (15)

  1. 영상을 복원하는 방법에 있어서,
    비트스트림으로부터 상기 영상을 다운샘플링(down-sampling)한 압축영상에 대한 잔차신호를 획득하는 단계;
    상기 잔차신호 및 예측을 수행하여 획득한 예측신호를 이용하여 압축 상기 압축영상을 복호화하는 단계; 및
    상기 복호화된 압축영상에 DNN(Deep Neural Network)을 이용한 업샘플링(up-sampling)을 수행하여 상기 영상을 복원하는 단계를 포함하고,
    상기 DNN은 상기 다운샘플링 과정에서 생성되는 정보를 이용한 상기 업샘플링 과정의 학습을 통해 결정된 네트워크 구조를 가지는 것을 특징으로 하는 영상 복원 방법.
  2. 제 1 항에 있어서, 상기 영상을 복원하는 단계는
    복수개의 레이어(hidden layer)를 포함하는 심층 컨볼루셔널 뉴럴 네트워크(Deep Convolutional Neural Network)를 이용하여 업샘플링을 수행하는 단계를 포함하는 영상 복원 방법.
  3. 제 2 항에 있어서, 상기 심층 컨볼루셔널 뉴럴 네트워크를 이용하여 업샘플링을 수행하는 단계는,
    복수개의 필터 커널들 중 적어도 하나를 이용하여 상기 복수개의 레이어마다 필터링을 수행하여 상기 업샘플링을 수행하는 단계를 포함하고
    상기 복수개의 필터 커널들의 종류는 상기 다운샘플링될 때 이용된 필터 커널들의 종류와 다른 것을 특징으로 하는 영상 복원 방법.
  4. 제 2 항에 있어서, 상기 영상을 복원하는 단계는,
    상기 DNN의 복수개의 레이어 각각에서 적어도 하나의 필터 커널을 이용하여 필터링을 수행하는 단계를 포함하는 영상 복원 방법.
  5. 제 4 항에 있어서, 상기 필터링을 수행하는 단계는,
    상기 복수개의 레이어 중 복수개의 필터 커널이 이용되는 레이어에서는 상기 복수개의 필터 커널을 이용하여 필터링을 수행하는 단계;
    상기 필터링 결과에 따라 획득된 복수개의 신호들을 연결(concatenate)하는 단계; 및
    상기 연결된 신호들을 다음 레이어의 입력으로 이용함으로써 다음 레이어에서 필터링을 수행하는 단계를 포함하는 영상 복원 방법.
  6. 제 5 항에 있어서, 상기 복수개의 신호들을 연결하는 단계는
    상기 복수개의 신호들을 포함하는 특성맵(feature map)들이 서로 다른 크기를 가지는 경우, 상기 특성맵들의 크기가 동일해지도록 상기 특성맵들에 패딩(padding)을 수행하는 단계; 및
    상기 패딩된 특성맵들을 연결(concatenate)하는 단계를 포함하는 영상 복원 방법.
  7. 제 1 항에 있어서,
    상기 업샘플링을 위한 DNN은 상기 압축영상이 복호화 된 후 상기 업샘플링이 수행됨으로써 압축된 영상과 상기 다운샘플링이 수행되기 전의 원본 영상 간의 비교에 의해 결정되는 적어도 하나의 손실정보의 합이 최소화되도록 학습된 것을 특징으로 하고,
    상기 적어도 하나의 손실정보 중 일부는 상기 다운샘플링을 위한 DNN의 학습 과정에서 이용되는 것을 특징으로 하는 영상 복원 방법.
  8. 영상을 압축하는 방법에 있어서,
    상기 영상에 대한 DNN을 이용한 다운샘플링을 수행하여 압축영상을 결정하는 단계;
    상기 압축영상에 기초한 예측을 수행하여 예측신호를 결정하는 단계;
    상기 압축영상 및 예측신호에 기초하여 잔차신호를 결정하는 단계; 및
    상기 잔차신호에 대한 정보를 포함하는 비트스트림을 생성하는 단계를 포함하고,
    상기 DNN은, 업샘플링 과정에서 생성되는 정보를 이용한 상기 다운샘플링 과정의 학습을 통해 결정된 네트워크 구조를 가지는 것을 특징으로 하는 영상 압축 방법.
  9. 제 8 항에 있어서, 상기 압축영상을 결정하는 단계는,
    복수개의 레이어를 포함하는 심층 컨볼루셔널 뉴럴 네트워크를 이용하여 상기 압축영상을 결정하는 단계를 포함하는 영상 압축 방법.
  10. 제 9 항에 있어서, 상기 압축영상을 결정하는 단계는,
    상기 복수개의 레이어마다 복수개의 필터 커널들 중 적어도 하나를 이용하여 필터링을 수행하여 상기 압축영상을 생성하는 단계를 포함하는 영상 압축 방법.
  11. 제 10 항에 있어서, 상기 필터링을 수행하는 단계는,
    상기 복수개의 레이어 중 복수개의 필터 커널이 이용되는 레이어에서는 상기 복수개의 필터 커널로 필터링을 수행하는 단계;
    상기 필터링 결과에 따라 획득된 복수개의 신호들을 연결(concatenate)하는 단계; 및
    상기 연결된 신호들을 다음 레이어의 입력으로 이용함으로써 다음 레이어에서 필터링을 수행하는 단계를 포함하는 영상 압축 방법.
  12. 제 8 항에 있어서, 상기 비트스트림을 생성하는 단계는,
    상기 다운샘플링에 의해 상기 영상의 크기 및 영상의 프레임 레이트(frame rate) 중 적어도 하나가 감축된 정도를 나타내는 샘플링 정보를 포함하는 비트스트림을 생성하는 단계를 포함하는 것을 특징으로 하는 영상 압축 방법.
  13. 제 8 항에 있어서,
    상기 DNN을 이용한 다운샘플링에 의해 발생하는 손실(loss)을 나타내는 적어도 하나의 손실정보의 합이 최소화되도록 상기 다운샘플링을 위한 DNN이 학습되는 것을 특징으로 하고,
    상기 적어도 하나의 손실정보 중 일부는 상기 압축영상이 복호화 된 후 상기 업샘플링이 수행됨으로써 압축된 영상과 상기 다운샘플링이 수행되기 전의 원본 영상 간의 비교 결과에 기초하여 결정되는 것을 특징으로 하는 영상 압축 방법.
  14. 제 13 항에 있어서,
    상기 비교 결과는 상기 업샘플링을 위한 DNN의 학습 과정에서 이용되는 것을 특징으로 하는 영상 압축 방법.
  15. 영상을 복원하는 장치에 있어서,
    비트스트림으로부터 상기 영상을 다운샘플링한 압축영상에 대한 잔차신호를 획득하는 잔차신호 획득부; 및
    상기 잔차신호 및 예측을 수행하여 획득한 예측신호를 이용하여 상기 압축영상을 복호화하고, 상기 복호화된 압축영상에 DNN을 이용한 업샘플링을 수행하여 상기 영상을 복원하는 복원부를 포함하고,
    상기 DNN은 상기 다운샘플링 과정에서 생성되는 정보를 이용한 상기 업샘플링 과정의 학습을 통해 결정된 네트워크 구조를 가지는 것을 특징으로 하는 영상 복원 장치.
PCT/KR2017/007258 2017-07-06 2017-07-06 영상을 부호화/복호화 하는 방법 및 그 장치 WO2019009447A1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
PCT/KR2017/007258 WO2019009447A1 (ko) 2017-07-06 2017-07-06 영상을 부호화/복호화 하는 방법 및 그 장치
US16/468,338 US11190784B2 (en) 2017-07-06 2018-02-06 Method for encoding/decoding image and device therefor
EP19183429.0A EP3567857A1 (en) 2017-07-06 2018-02-06 Method for encoding/decoding image and device therefor
CN201880013752.8A CN110337813B (zh) 2017-07-06 2018-02-06 用于对图像进行编码/解码的方法及其装置
PCT/KR2018/001542 WO2019009490A1 (ko) 2017-07-06 2018-02-06 영상을 부호화/복호화 하는 방법 및 그 장치
KR1020207000378A KR102285737B1 (ko) 2017-07-06 2018-02-06 영상을 부호화/복호화 하는 방법 및 그 장치
US16/750,615 US10986356B2 (en) 2017-07-06 2020-01-23 Method for encoding/decoding image and device therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2017/007258 WO2019009447A1 (ko) 2017-07-06 2017-07-06 영상을 부호화/복호화 하는 방법 및 그 장치

Publications (1)

Publication Number Publication Date
WO2019009447A1 true WO2019009447A1 (ko) 2019-01-10

Family

ID=64950087

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/007258 WO2019009447A1 (ko) 2017-07-06 2017-07-06 영상을 부호화/복호화 하는 방법 및 그 장치

Country Status (1)

Country Link
WO (1) WO2019009447A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147862A (zh) * 2020-01-03 2020-05-12 南京大学 一种基于目标编码的端到端图像压缩方法
CN111432211A (zh) * 2020-04-01 2020-07-17 济南浪潮高新科技投资发展有限公司 一种用于视频编码的残差信息压缩方法
CN111711817A (zh) * 2019-03-18 2020-09-25 四川大学 一种结合卷积神经网络的hevc帧内编码压缩性能优化研究
CN111787187A (zh) * 2020-07-29 2020-10-16 上海大学 利用深度卷积神经网络进行视频修复的方法、系统、终端
CN113052924A (zh) * 2019-12-27 2021-06-29 无锡祥生医疗科技股份有限公司 用于超声图像编解码间的画质补偿方法及其卷积神经网络
WO2022063657A1 (en) * 2020-09-24 2022-03-31 Atlas Elektronik Gmbh A waterborne sound receiver and a system for transmitting image data using a waterborne sound signal

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100657280B1 (ko) * 2003-12-12 2006-12-14 삼성전자주식회사 신경망을 이용한 이미지 순차주사화 방법 및 장치
KR20150041098A (ko) * 2012-08-06 2015-04-15 브이아이디 스케일, 인크. 다중-레이어 비디오 코딩에서 공간적 레이어들에 대한 샘플링 그리드 정보
KR20150060906A (ko) * 2012-09-28 2015-06-03 브이아이디 스케일, 인크. 다층 비디오 코딩을 위한 적응적 업샘플링
KR20160131848A (ko) * 2015-05-08 2016-11-16 삼성전자주식회사 객체 인식 장치 및 방법
KR20160132331A (ko) * 2015-03-31 2016-11-17 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 교통 표지의 인식 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100657280B1 (ko) * 2003-12-12 2006-12-14 삼성전자주식회사 신경망을 이용한 이미지 순차주사화 방법 및 장치
KR20150041098A (ko) * 2012-08-06 2015-04-15 브이아이디 스케일, 인크. 다중-레이어 비디오 코딩에서 공간적 레이어들에 대한 샘플링 그리드 정보
KR20150060906A (ko) * 2012-09-28 2015-06-03 브이아이디 스케일, 인크. 다층 비디오 코딩을 위한 적응적 업샘플링
KR20160132331A (ko) * 2015-03-31 2016-11-17 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 교통 표지의 인식 방법 및 장치
KR20160131848A (ko) * 2015-05-08 2016-11-16 삼성전자주식회사 객체 인식 장치 및 방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711817A (zh) * 2019-03-18 2020-09-25 四川大学 一种结合卷积神经网络的hevc帧内编码压缩性能优化研究
CN111711817B (zh) * 2019-03-18 2023-02-10 四川大学 一种结合卷积神经网络的hevc帧内编码压缩性能优化方法
CN113052924A (zh) * 2019-12-27 2021-06-29 无锡祥生医疗科技股份有限公司 用于超声图像编解码间的画质补偿方法及其卷积神经网络
CN111147862A (zh) * 2020-01-03 2020-05-12 南京大学 一种基于目标编码的端到端图像压缩方法
CN111147862B (zh) * 2020-01-03 2021-02-23 南京大学 一种基于目标编码的端到端图像压缩方法
CN111432211A (zh) * 2020-04-01 2020-07-17 济南浪潮高新科技投资发展有限公司 一种用于视频编码的残差信息压缩方法
CN111432211B (zh) * 2020-04-01 2021-11-12 山东浪潮科学研究院有限公司 一种用于视频编码的残差信息压缩方法
CN111787187A (zh) * 2020-07-29 2020-10-16 上海大学 利用深度卷积神经网络进行视频修复的方法、系统、终端
CN111787187B (zh) * 2020-07-29 2021-07-02 上海大学 利用深度卷积神经网络进行视频修复的方法、系统、终端
WO2022063657A1 (en) * 2020-09-24 2022-03-31 Atlas Elektronik Gmbh A waterborne sound receiver and a system for transmitting image data using a waterborne sound signal

Similar Documents

Publication Publication Date Title
WO2019009490A1 (ko) 영상을 부호화/복호화 하는 방법 및 그 장치
WO2019009489A1 (ko) 영상을 부호화/복호화 하는 방법 및 그 장치
WO2019009447A1 (ko) 영상을 부호화/복호화 하는 방법 및 그 장치
WO2017122997A1 (ko) 영상 부호화 방법 및 장치와 영상 복호화 방법 및 장치
WO2018221817A1 (ko) 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치
WO2017065525A2 (ko) 영상을 부호화 또는 복호화하는 방법 및 장치
WO2016064185A1 (ko) 최적화 함수를 이용하여 그래프 기반 예측을 수행하는 방법 및 장치
WO2018070554A1 (ko) 루마 블록 및 크로마 블록을 부호화 또는 복호화하는 방법 및 장치
WO2019009448A1 (ko) 영상을 부호화 또는 복호화하는 방법 및 장치
WO2019117640A1 (ko) 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
WO2015009107A1 (en) Method and apparatus for generating 3k-resolution display image for mobile terminal screen
WO2018070550A1 (ko) 픽처 외곽선의 부호화 단위를 부호화 또는 복호화하는 방법 및 장치
WO2018124653A1 (ko) 인트라 예측에서 참조 샘플을 필터링하는 방법 및 장치
WO2017010850A1 (ko) 분리 가능한 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2019143026A1 (ko) 특징맵 압축을 이용한 이미지 처리 방법 및 장치
WO2019022537A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020116961A1 (ko) 이차 변환에 기반한 영상 코딩 방법 및 그 장치
WO2017091016A1 (ko) 비디오 복호화 방법 및 장치, 그 부호화 방법 및 장치
WO2019013434A1 (ko) 움직임벡터를 부호화 또는 복호화하기 위한 장치 및 방법
WO2017091001A1 (ko) 픽셀의 기울기에 기초하여 인트라 또는 인터 예측 블록을 후처리하는 방법 및 장치
WO2017082636A1 (ko) 영상을 부호화/복호화 하는 방법 및 그 장치
EP4000272A1 (en) Apparatus and method for using ai metadata related to image quality
WO2021172956A1 (ko) 영상 특징 정보 시그널링을 위한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2019009620A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020055208A1 (ko) 인트라 예측을 수행하는 영상 예측 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17916897

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17916897

Country of ref document: EP

Kind code of ref document: A1