WO2020251124A1 - Machine learning model-based hevc distributed decoding method, device and system using blockchain - Google Patents

Machine learning model-based hevc distributed decoding method, device and system using blockchain Download PDF

Info

Publication number
WO2020251124A1
WO2020251124A1 PCT/KR2019/015963 KR2019015963W WO2020251124A1 WO 2020251124 A1 WO2020251124 A1 WO 2020251124A1 KR 2019015963 W KR2019015963 W KR 2019015963W WO 2020251124 A1 WO2020251124 A1 WO 2020251124A1
Authority
WO
WIPO (PCT)
Prior art keywords
sub
bit stream
decoding
decoded
node
Prior art date
Application number
PCT/KR2019/015963
Other languages
French (fr)
Korean (ko)
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 건국대학교 산학협력단
Publication of WO2020251124A1 publication Critical patent/WO2020251124A1/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Definitions

  • the present application relates to a distributed HEVC decoding method, apparatus, and system using a block chain based on a machine learning model.
  • HEVC has improved encoding/decoding efficiency
  • the complexity of encoding/decoding is also greatly increased.
  • a high-performance encoder or decoder is required for encoding/decoding an image, and a substantial storage space is required. to be.
  • a method of processing independent decoding of each divided bit stream by dividing one bit stream to be decoded may be adopted.
  • high stability is required for the parallel decoding work on the split bit stream, and even if the split bit stream is independently decoded, the decoding work has a high data dependency, so the decoding result of each split bit stream must be shared.
  • the decoding result of each of the divided bit streams can be shared based on a common memory device, but in the case of a heterogeneous distributed decoder, the decoding result of each of the divided bit streams is shared. It has a limitation that additional data transmission is required.
  • the present application is to solve the above-described problems of the prior art, and the decoding performance of the sub-node is predicted based on a machine learning model, and the decoding target bit stream is divided into a plurality of sub-bit streams based on the predicted decoding performance.
  • a distributed HEVC decryption method using a block chain based on a machine learning model that can solve the problem of stability and data dependence by allocating to each node to decrypt in parallel and sharing the decryption result of each sub-node based on the block chain, It is intended to provide devices and systems.
  • the distributed HEVC decoding method using a block chain based on a machine learning model includes the steps of receiving a bit stream to be decoded, the received bit stream Obtaining image information to be decoded from, acquiring device information of a sub-node connected to a master node, a sub-node allocated to a sub-node through a machine learning model previously learned based on the image information and the device information It may include determining a bit stream and allocating the determined sub bit stream to each of the sub nodes through a block chain.
  • a distributed HEVC decoding method using a block chain based on a machine learning model includes the steps of receiving a decoding result of the sub-node for the sub-bit stream allocated for each sub-node, and the received It may include the step of decoding the bit stream to be decoded by synthesizing the decoding result of the sub-bit stream.
  • the distributed HEVC decoding method using a block chain based on a machine learning model may include reproducing the decoding target based on a decoding result of the decoding target bit stream.
  • the distributed HEVC decoding method using a block chain based on a machine learning model processes a boundary value by applying a deblocking filter to the decoding result of the sub-bit stream received from each of the sub-nodes. It may include the step of.
  • information of a sub-bit stream that can be decoded for each of the sub-nodes may be determined by using device information and image information to be decoded as inputs of the previously learned machine learning model.
  • the device information includes floating-point operations per second (FLOPS), input/output operations per second (IOPS), memory information, single instruction, and multiple data processing capabilities (Single Instruction Multiple Data, SIMD), or a thread number.
  • FLOPS floating-point operations per second
  • IOPS input/output operations per second
  • SIMD Single Instruction Multiple Data
  • the image information to be decoded may include at least one of CTU depth information, resolution information, and quantization parameter.
  • the pre-trained machine learning model is connected to at least one of a convolutional neural network (CNN), a deep neural network (DNN), and a recurrent neural network (RNN).
  • CNN convolutional neural network
  • DNN deep neural network
  • RNN recurrent neural network
  • the master node and the sub-node may share an encryption key for using the block chain.
  • the distributed HEVC decoding apparatus using a block chain based on a machine learning model receives an image to be decoded and acquires image information to be decoded from the received bit stream.
  • a sub-bit stream determining unit that determines a sub-bit stream allocated to a sub-node through a pre-learned machine learning model based on the image information and device information of the connected sub-node, the determined sub-bit stream through a block chain
  • a sub-bit stream allocator for allocating to each of the sub-nodes, a collection unit for receiving a decoding result of the sub-node for the sub-bit stream allocated for each sub-node, and a decoding result for the received sub-bit stream It may include a main processor that decodes the bit stream to be decoded.
  • the distributed HEVC decoding apparatus using a block chain based on a machine learning model may include an image reproducing unit that reproduces the decoding target based on a decoding result of the main processing unit.
  • the main processor may process the boundary value by applying a deblocking filter to the decoding result of the sub-bit stream received from each of the sub-nodes.
  • the sub-bit stream determining unit may determine information of a sub-bit stream that can be decoded for each of the sub-nodes by using the device information and the image information to be decoded as inputs of the pre-learned machine learning model.
  • the distributed HEVC decoding system using a block chain based on a machine learning model receives a bit stream to be decoded, obtains image information to be decoded from the received bit stream, and A sub-bit stream is determined through a pre-learned machine learning model based on image information and device information of a plurality of connected sub-nodes, and the determined sub-bit stream is allocated to each of the plurality of sub-nodes through a block chain.
  • a master node for decoding the bit stream to be decoded by receiving a decoding result for the bit stream, and decoding the sub-bit stream allocated by the master node, and returning the decoding result of the sub-bit stream to the master node. It may include a plurality of sub-nodes.
  • the decoding performance of the sub-node is predicted based on the machine learning model, and the decoding target bit stream is divided into a plurality of sub-bit streams and allocated to each of the sub-nodes based on the predicted decoding performance.
  • the problem of stability and data dependence can be solved by decoding in parallel and sharing the decoding result of each sub-node based on the block chain.
  • the sub-bit stream obtained by dividing the bit stream to be decoded is allocated as appropriate to the performance of each sub-node in consideration of the performance of each sub-node,
  • the decoding efficiency of the system can be improved.
  • the effect obtainable in the present application is not limited to the effects as described above, and other effects may exist.
  • FIG. 1 is a schematic configuration diagram of a distributed HEVC decoding system using a block chain based on a machine learning model according to an embodiment of the present application.
  • FIG. 2 is a diagram for describing device information and image information to be decoded according to an embodiment of the present application.
  • FIG. 3 is a schematic configuration diagram of a distributed HEVC decoding apparatus using a block chain based on a machine learning model according to an embodiment of the present application.
  • FIG. 4 is a flowchart illustrating an operation of a distributed HEVC decoding method using a block chain based on a machine learning model according to an embodiment of the present application.
  • FIG. 1 is a schematic configuration diagram of a distributed HEVC decoding system using a block chain based on a machine learning model according to an embodiment of the present application.
  • a distributed HEVC decoding system 10 using a block chain based on a machine learning model according to an embodiment of the present application is a distributed type HEVC decoding system 10 using a block chain based on a machine learning model according to an embodiment of the present application.
  • the HEVC decoding apparatus 100 (hereinafter, referred to as'master node 100'), a plurality of sub-nodes 200, and a block chain network 300 (hereinafter referred to as'block chain 300') are referred to as the HEVC decoding apparatus 100 (hereinafter referred to as'master node 100').
  • the master node 100 and the sub node 200 may be subjects capable of performing tasks such as operation processing, signal processing, computing, and image processing (image encoding or image decoding).
  • the master node 100 and the sub node 200 include a central processing unit (CPU), a graphic processing unit (GPU), a digital signal processor (DSP), and other hardware. It may mean any one of a processing unit, a processor, and a thread, or may mean a user terminal (20b, referenced in FIG. 2) equipped with the above-described central processing unit.
  • the distributed HEVC decoding apparatus 100 using a block chain based on the machine learning model in the present application may be understood as the same configuration as the master node.
  • a CPU or the like is formed of a plurality of cores in the user terminal 20b (for example, a user terminal 20b equipped with a multi-core processor), one user terminal 20b is also , Each of the plurality of cores may be the sub-node 200 in the present application.
  • the user terminal 20b includes a smartphone, a smart pad, a tablet PC, etc., and a personal communication system (PCS), a global system for mobile communication (GSM), a personal digital cellular (PDC), and a PHS.
  • PCS personal communication system
  • GSM global system for mobile communication
  • PDC personal digital cellular
  • PHS Personal Handyphone System
  • IMT International Mobile Telecommunication
  • CDMA Code Division Multiple Access
  • W-CDMA Wide-Code Division Multiple Access
  • Wibro Wireless Broadband Internet
  • Blockchain 300 is a decentralized data storage technology that stores data in a block and connects it in a chain form, and simultaneously duplicates and stores data on multiple nodes (computers, etc.).
  • the biggest feature of the blockchain 300 is a central server. Does not exist, and all nodes can share the result of the operation processing of each node.
  • the master node 100 and the sub-node 200 exchange data through the block chain 300, so that the bit stream to be decoded is divided into independent units, so that each of the sub-nodes 200 is independently Even if decryption is performed, the data dependency problem required for the decryption operation is solved by allowing each decryption result to be shared by all the sub-nodes 200 and the master node 100.
  • data dependence is high because the current frame or the current region is encoded by referring to the previously encoded/decoded frame or the encoding/decoding result of the surrounding region.
  • the distributed HEVC decoding system 10 using a block chain based on a machine learning model uses the data synchronization function of the block chain 300 to inter-prediction (inter-screen) an image to be decoded. Prediction) and intra-prediction (in-screen prediction) can be performed.
  • the block chain 300 herein may perform a function such as shared memory in a distributed processing system including heterogeneous sub-nodes 200 and master nodes 100.
  • the master node 100 and the sub node 200 may share an encryption key for using the block chain 300.
  • the master node 100 when the new sub-node 200 is connected to the master node 100, the master node 100 may be implemented to provide the encryption key to the newly connected sub-node 200. . Since the master node 100 and the sub node 200 in the present application are connected through the blockchain network 300 based on a shared encryption key, the security of the data can be maintained.
  • the master node 100 may receive a bit stream A to be decoded.
  • FIG. 2 is a diagram for describing device information and image information to be decoded according to an embodiment of the present application.
  • image information 2a to be decoded is CTU depth information (CTU Depth), resolution information, and quantization parameter of the image to be decoded 20a. ) May include at least one of.
  • the image information 2a to be decoded may be included in the header file of the bit stream A received by the master node 100, and the master node 100 may obtain the image information 2a by referring to the header file. have.
  • device information 2b includes floating-point operations per second (FLOPS), input/output operations per second (IOPS), memory information, and single It may include at least one of Single Instruction Multiple Data (SIMD) or a thread number. Also, the device information 2b may be determined for the user terminal 20b corresponding to the sub-node 200. The master node 100 may receive device information 2b from each connected user terminal 20b.
  • FLOPS floating-point operations per second
  • IOPS input/output operations per second
  • SIMD Single Instruction Multiple Data
  • SIMD Single Instruction Multiple Data
  • the master node 100 may receive device information 2b from each connected user terminal 20b.
  • the device information and the image information to be decoded shown in FIG. 2 may be a feature to be learned of the machine learning model in the present application.
  • the machine learning model in the present application is based on device information and image information to be decoded, information on a sub-bit stream that a specific device (for example, a sub-node in the present application) can decode (e.g. It may be a model that predicts the size information or resolution information of the sub-bit stream.
  • the master node 100 may obtain image information to be decoded from the received bit stream.
  • the image information to be decoded may be obtained from a header file of the image to be decoded linked to the bit stream A received by the master node 100.
  • the master node 100 may obtain device information of the sub-node 200 connected to the master node 100.
  • the master node 100 may determine a sub-bit stream allocated to the sub-node through a machine learning model that is previously learned based on image information and device information. Specifically, the master node 100 may determine information of a sub-bit stream that can be decoded for each sub-node 200 by using device information and image information to be decoded as inputs of a previously learned machine learning model.
  • the information on the sub-bit stream that can be decoded includes at least one of size information, time information, or resolution information of the sub-bit stream that can be decoded by the sub-node 200, which is determined based on the performance of the sub-node 200. can do.
  • the master node 100 so that the difference between the decoding end time of the sub-bit stream allocated for each sub node 200 is less than a preset time (that is, the decoding end time is synchronized) If possible) each of the sub-nodes 200 may determine information on the sub-bit stream to be decoded.
  • the master node 100 collects the decoding results for each sub-bit stream of the sub-node 200, and decodes the entire bit stream to be decoded. Therefore, even if the decoding result of any one sub-node 200 is received before the decoding result of the other sub-node 200, it is because it is necessary to wait until the decoding of the entire sub-node 200 is completed.
  • the pre-trained machine learning model may be linked with at least one of a convolutional neural network (CNN), a deep neural network (DNN), and a recurrent neural network (RNN).
  • CNN convolutional neural network
  • DNN deep neural network
  • RNN recurrent neural network
  • the present invention is not limited thereto, and may be generated through various machine learning methods.
  • the master node 100 may allocate the determined sub-bit stream to each of the sub-nodes 200 through the block chain 300. That is, according to the present application, even when the master node 100 has low specifications and low performance, it is difficult for the master node 100 to independently perform decoding on a large target image having high resolution, the bit stream to be decoded is divided into a plurality of independent sub bit streams. And, the plurality of sub-nodes 200 divide and decode the divided plurality of sub-bit streams, and synthesize the decoding result of the divided sub-bit streams to process the decoding of the entire bit stream to be decoded. There is an effect of constructing a distributed HEVC decoding system 10 with high scalability even at (low-cost).
  • the master node 100 may predict the performance of the sub-node 200 through a pre-learned machine learning model and allocate a throughput (sub-bit stream) suitable for the performance of each of the sub-nodes 200. .
  • the master node 100 may receive a decoding result of the sub node 200 for the sub bit stream allocated for each sub node 200 through the block chain 300.
  • Each sub-node 200 transmits and shares the decoding result of the sub-bit stream allocated to it to the blockchain 300 network, and each sub-node 200 transmits the decoding result of the other sub-node 200 to the block chain. It can be shared through 300 and referred to decoding of a sub-bit stream allocated to itself.
  • the master node 100 receives the decoding result of the sub-bit stream of each sub-node 200.
  • the decoding result of the sub-node 200 for the allocated sub-bit stream means the decoded segmented image itself obtained by decoding each sub-bit stream or data associated with the decoded segmented image. I can.
  • the master node 100 may process the boundary value by applying a de-blocking filter to the decoding result of the sub-bit stream received from each of the sub-nodes 200.
  • the de-blocking filter removes irregular edges and discontinuous characteristics that may be formed between the decoding results of each sub-bit stream through boundary value processing, so that the entire bit stream to be decoded is It may mean an image filter applied to improve the image quality of the reproduced image B, which is a result of decoding the image, and to improve prediction performance.
  • the master node 100 may decode a bit stream to be decoded by synthesizing the decoding result of the received sub-bit stream. According to an embodiment of the present application, the master node 100 may generate a reproduction image B obtained by decoding the bit stream A to be decoded by concatenating the decoded divided images of the sub bit stream in time series. .
  • the master node 100 may reproduce the decoding target based on the decoding result of the decoding target bit stream.
  • a reproduced image B based on a result of decoding a bit stream to be decoded may be reproduced by a display device or an image reproducing device provided in the master node 100.
  • the master node 100 transmits the data for the playback image B to a separate display device or video playback terminal, and in a separate display device or video playback terminal that has received the data for the playback image B.
  • the reproduction image B can be reproduced.
  • the sub-node 200 which has been allocated a sub-bit stream from the master node 100, is disconnected from the master node 100 for a predetermined reason, or receives a new sub-bit stream.
  • the master node 100 redistributes the sub-bit stream, It may be implemented to newly allocate the sub-bit stream that has been subdivided into the changed plurality of sub-nodes 200.
  • one sub-bit stream for one sub-node 200 is determined based on the machine learning model, and one It has been described that one sub-bit stream is allocated to the sub-node 200, but according to the embodiment, when the CPU of the sub-node 200 is composed of a plurality of cores (for example, a user equipped with a multi-core processor) In the case of a terminal, etc.), a sub-bit stream may be allocated to each core for one sub-node 200 as well.
  • the plurality of sub-nodes 200 may decode a sub-bit stream allocated by the master node 100.
  • the plurality of sub-nodes 200 may transmit a result of decoding the allocated sub-bit stream to the master node 100 through the block chain 300.
  • FIG. 3 is a schematic configuration diagram of a distributed HEVC decoding apparatus using a block chain based on a machine learning model according to an embodiment of the present application.
  • the distributed HEVC decoding apparatus 100 using a block chain based on a machine learning model includes an image acquisition unit 110, a sub bit stream determination unit 120, and a sub bit stream.
  • a stream allocator 130, a collection unit 140, a main processing unit 150, and an image reproducing unit 160 may be included.
  • the image acquisition unit 110 may receive a bit stream to be decoded, and obtain image information to be decoded from the received bit stream.
  • the image information to be decoded may be obtained from a header file of an image to be decoded linked to a bit stream received by the image acquisition unit 110.
  • the sub bit stream determiner 120 may obtain device information of the connected sub node 200.
  • the sub-bit stream determiner 120 uses the machine learning model previously learned based on the image information acquired by the image acquisition unit 110 and the device information of the connected sub-node 200. ) Can be determined. Specifically, information of a sub-bit stream that can be decoded may be determined for each sub-node 200 by using device information and image information to be decoded as inputs of a previously learned machine learning model.
  • the device information includes floating-point operations per second (FLOPS), input/output operations per second (IOPS), memory information, and single instruction multiple data processing capabilities (Single Instruction Multiple). Data, SIMD), or a thread number.
  • the image information to be decoded may include at least one of CTU depth information, resolution information, and quantization parameter.
  • the sub-bit stream determiner 120 determines information of the sub-bit stream that can be decoded for each sub-node 200, for example, the sub-node 200 determined based on the performance of the sub-node 200 ) May be understood as determining at least one of size information or resolution information of a sub-bit stream that can be decoded.
  • the sub-bit stream determiner 120 may make the difference between the decoding end time point of the sub-bit stream allocated for each sub node 200 less than or equal to a preset time (in other words, the decoding end).
  • a preset time in other words, the decoding end
  • Each of the sub-nodes 200 may determine information on the sub-bit stream to be decoded so that the viewpoint is synchronized.
  • the sub-bit stream allocator 130 may allocate the sub-bit stream determined by the sub-bit stream determiner 120 to each of the sub-nodes 200 through the block chain 300.
  • the collection unit 140 may receive a result of decoding of the sub-node 200 for the sub-bit stream allocated for each sub-node 200.
  • the decoding result of the sub-node 200 for the allocated sub-bit stream received by the collection unit 140 is the decoded segmented image itself or the decoded segmented image obtained by decoding each sub-bit stream. It may mean data associated with.
  • the main processing unit 150 may decode a bit stream to be decoded by synthesizing the decoding result of the received sub-bit stream.
  • the main processing unit 150 may process the boundary value by applying a de-blocking filter to the decoding result of the sub-bit stream received from each of the sub-nodes 200.
  • the image reproducing unit 160 may reproduce a decoding target based on the decoding result of the main processing unit 150.
  • the image reproducing unit 160 may include a display device, an image reproducing device, and the like, and the reproduced image B based on the decoding result of the bit stream to be decoded is the image reproducing unit 160 ) May be played on a display device, an image playback device, or the like.
  • the image reproducing unit 160 transmits data for the reproduced image B based on the decoding result of the bit stream to be decoded to a separately provided display device or an image reproducing terminal, and The reproduced image B may be reproduced in a separate display device or an image reproducing terminal that has received the data for (B).
  • FIG. 4 is a flowchart illustrating an operation of a distributed HEVC decoding method using a block chain based on a machine learning model according to an embodiment of the present application.
  • the distributed HEVC decoding method using a block chain based on the machine learning model shown in FIG. 4 is a distributed HEVC decoding apparatus 100 using a block chain based on the machine learning model described above or a block chain based on a machine learning model. It can be performed by the distributed HEVC decoding system 10. Therefore, although omitted below, the description of the distributed HEVC decoding apparatus 100 using a block chain based on a machine learning model or the distributed HEVC decoding system 10 using a block chain based on a machine learning model is shown in FIG. The same can be applied to the description of 4.
  • step S410 the image acquisition unit 110 may receive a bit stream to be decoded.
  • the image acquisition unit 120 may acquire image information to be decoded from the received bit stream.
  • the sub-bit stream determiner 120 may obtain device information of a sub-node connected to the master node.
  • the sub-bit stream determiner 120 may determine a sub-bit stream allocated to the sub-node 200 through a pre-learned machine learning model based on image information and device information.
  • the sub-bit stream allocator 130 may allocate the sub-bit stream determined through the block chain 300 to each of the sub-nodes 200.
  • the collection unit 140 may receive a decoding result of the sub-node 200 for the sub-bit stream allocated for each sub-node 200 through the block chain 300.
  • step S470 the main processing unit 150 may decode a bit stream to be decoded by synthesizing the decoding result of the received sub-bit stream.
  • step S480 the video reproducing unit 160 may reproduce the decoding target based on the decoding result of the decoding target bit stream.
  • steps S410 to S480 may be further divided into additional steps or may be combined into fewer steps, according to an embodiment of the present disclosure.
  • some steps may be omitted as necessary, and the order between steps may be changed.
  • the distributed HEVC decoding method using a block chain based on a machine learning model may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination.
  • the program instructions recorded in the medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
  • -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like.
  • program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • the above-described hardware device may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.
  • the distributed HEVC decoding method using a block chain based on the machine learning model described above may be implemented in the form of a computer program or application executed by a computer stored in a recording medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Medical Informatics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Disclosed are a machine learning model-based HEVC distributed decoding method, device and system using a blockchain. A machine learning model-based HEVC distributed decoding method using a blockchain according to an embodiment of the present application can comprise the steps of: receiving a bitstream of an object to be decoded; obtaining, from the received bitstream, image information of the object to be decoded; obtaining machine information of sub-nodes connected to a master node; determining sub-bitstreams to be allocated to the sub-nodes, by means of a previously-trained machine learning model, on the basis of the image information and machine information; and allocating the determined sub-bitstreams to respective sub-nodes by means of a blockchain.

Description

기계 학습 모델에 기초한 블록 체인을 이용한 HEVC 분산형 복호화 방법, 장치 및 시스템HEVC decentralized decoding method, apparatus, and system using a block chain based on a machine learning model
본원은 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 방법, 장치 및 시스템에 관한 것이다.The present application relates to a distributed HEVC decoding method, apparatus, and system using a block chain based on a machine learning model.
최근 케이블 방송 등에서 UHD(Ultra High Definition) 상용 서비스가 개시되었고, 이동 멀티미디어 단말기에서도 고화질의 멀티미디어 서비스의 제공이 가능해지는 등 초고해상도 영상 서비스에 대한 필요성이 커지고 있다. 이러한 초고해상도의 영상을 이용하기 위해 기존의 비디오 압축 기술보다 부호화 효율이 훨씬 높은 압축 기술이 필요하게 되었다. 이러한 흐름에 따라 차세대 비디오 부호화 표준인 HEVC(High Efficiency Video Coding)가 2013년 1월 스위스 제네바에서 차세대 최종 표준안으로 승인되었다. HEVC는 기존 H.264/AVC와 비교하였을 때, 40~50%의 향상된 부호화 효율을 보인다.Recently, a UHD (Ultra High Definition) commercial service has been started in cable broadcasting, and the need for an ultra-high definition video service is increasing, such as providing a high-definition multimedia service in a mobile multimedia terminal. In order to use such an ultra-high resolution image, a compression technology with much higher encoding efficiency than the existing video compression technology is required. Following this trend, HEVC (High Efficiency Video Coding), a next-generation video coding standard, was approved as the next-generation final standard in Geneva, Switzerland in January 2013. HEVC shows an improved coding efficiency of 40-50% when compared with the existing H.264/AVC.
그러나, HEVC는 향상된 부호화/복호화 효율을 가지는 반면, 그에 수반하여 부호화/복호화의 복잡도 또한 크게 증가하여 영상의 부호화/복호화에 고성능의 인코더 또는 디코더가 요구되며, 상당한 크기의 저장 공간을 필요로 하는 실정이다. 특히, 임베디드 시스템(Embedded System)와 같이 리소스가 한정적인 환경에서 고해상도 비디오를 부호화/복호화하는 것은 상당히 어려운 일이다.However, while HEVC has improved encoding/decoding efficiency, the complexity of encoding/decoding is also greatly increased. Accordingly, a high-performance encoder or decoder is required for encoding/decoding an image, and a substantial storage space is required. to be. In particular, it is very difficult to encode/decode high-resolution video in an environment with limited resources such as an embedded system.
이와 관련하여, HEVC영상의 복호화를 위해 병렬 복호화 기법 또는 분산 처리 시스템을 도입하여, 복호화 대상인 하나의 비트 스트림을 분할하여 분할된 비트 스트림 각각에 대한 독립적인 복호화를 처리하는 방식을 채택할 수 있다. 다만, 분할 비트 스트림에 대한 병렬 복호화 작업에는 높은 안정성이 요구되며, 분할 비트 스트림을 독립적으로 복호화하더라도 복호화 작업은 데이터 의존성(Data Dependency)가 높아 분할 비트 스트림 각각의 복호화 결과가 공유될 수 있어야만 한다는 한계를 가진다.In this regard, by introducing a parallel decoding technique or a distributed processing system for decoding an HEVC image, a method of processing independent decoding of each divided bit stream by dividing one bit stream to be decoded may be adopted. However, high stability is required for the parallel decoding work on the split bit stream, and even if the split bit stream is independently decoded, the decoding work has a high data dependency, so the decoding result of each split bit stream must be shared. Have.
이러한 병렬 복호화가 하나의 디바이스에서 이루어지는 경우, 공통된 메모리 장치에 기초하여 분할 비트 스트림 각각의 복호화 결과가 공유될 수 있지만, 이기종 분산형 복호기(Decoder)의 경우, 분할 비트 스트림 각각의 복호화 결과를 공유하기 위한 추가적인 데이터 전송이 요구되는 한계를 가진다.When such parallel decoding is performed in one device, the decoding result of each of the divided bit streams can be shared based on a common memory device, but in the case of a heterogeneous distributed decoder, the decoding result of each of the divided bit streams is shared. It has a limitation that additional data transmission is required.
본원의 배경이 되는 기술은 한국공개특허공보 제10-2015-0033194호에 개시되어 있다.The technology behind the present application is disclosed in Korean Laid-Open Patent Publication No. 10-2015-0033194.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 기계 학습 모델에 기초하여 서브 노드의 복호화 성능을 예측하고, 예측된 복호화 성능에 기초하여 복호화 대상 비트 스트림을 복수의 서브 비트 스트림으로 분할하여 서브 노드 각각에 할당하여 병렬적으로 복호화하고, 블록 체인에 기초하여 각 서브 노드의 복호화 결과를 공유함으로써 안정성 및 데이터 의존성의 문제를 해결할 수 있는 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 방법, 장치 및 시스템을 제공하려는 것을 목적으로 한다.The present application is to solve the above-described problems of the prior art, and the decoding performance of the sub-node is predicted based on a machine learning model, and the decoding target bit stream is divided into a plurality of sub-bit streams based on the predicted decoding performance. A distributed HEVC decryption method using a block chain based on a machine learning model that can solve the problem of stability and data dependence by allocating to each node to decrypt in parallel and sharing the decryption result of each sub-node based on the block chain, It is intended to provide devices and systems.
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the embodiments of the present application is not limited to the technical problems as described above, and other technical problems may exist.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 방법은, 복호화 대상의 비트 스트림을 수신하는 단계, 상기 수신한 비트 스트림으로부터 복호화 대상의 영상 정보를 획득하는 단계, 마스터 노드에 접속된 서브 노드의 기기 정보를 획득하는 단계, 상기 영상 정보 및 상기 기기 정보를 기초로 기 학습된 기계 학습 모델을 통해 서브 노드에 할당되는 서브 비트 스트림을 결정하는 단계 및 블록 체인을 통해 상기 결정된 서브 비트 스트림을 상기 서브 노드 각각에 할당하는 단계를 포함할 수 있다.As a technical means for achieving the above technical problem, the distributed HEVC decoding method using a block chain based on a machine learning model according to an embodiment of the present application includes the steps of receiving a bit stream to be decoded, the received bit stream Obtaining image information to be decoded from, acquiring device information of a sub-node connected to a master node, a sub-node allocated to a sub-node through a machine learning model previously learned based on the image information and the device information It may include determining a bit stream and allocating the determined sub bit stream to each of the sub nodes through a block chain.
또한, 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 방법은, 상기 서브 노드마다 할당된 서브 비트 스트림에 대한 상기 서브 노드의 복호화 결과를 수신하는 단계 및 상기 수신된 서브 비트 스트림에 대한 복호화 결과를 종합하여 상기 복호화 대상의 비트 스트림을 복호화하는 단계를 포함할 수 있다.In addition, a distributed HEVC decoding method using a block chain based on a machine learning model according to an embodiment of the present application includes the steps of receiving a decoding result of the sub-node for the sub-bit stream allocated for each sub-node, and the received It may include the step of decoding the bit stream to be decoded by synthesizing the decoding result of the sub-bit stream.
또한, 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 방법은, 상기 복호화 대상의 비트 스트림의 복호화 결과에 기초하여 상기 복호화 대상을 재생하는 단계를 포함할 수 있다.In addition, the distributed HEVC decoding method using a block chain based on a machine learning model according to an embodiment of the present application may include reproducing the decoding target based on a decoding result of the decoding target bit stream.
또한, 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 방법은, 상기 서브 노드 각각으로부터 수신한 상기 서브 비트 스트림의 복호화 결과에 디블로킹 필터를 적용하여 경계값을 처리하는 단계를 포함할 수 있다.In addition, the distributed HEVC decoding method using a block chain based on a machine learning model according to an embodiment of the present application processes a boundary value by applying a deblocking filter to the decoding result of the sub-bit stream received from each of the sub-nodes. It may include the step of.
또한, 상기 서브 비트 스트림을 결정하는 단계는, 기기 정보 및 복호화 대상의 영상 정보를 상기 기 학습된 기계 학습 모델의 입력으로 하여, 상기 서브 노드마다 복호화 가능한 서브 비트 스트림의 정보를 결정할 수 있다.In the determining of the sub-bit stream, information of a sub-bit stream that can be decoded for each of the sub-nodes may be determined by using device information and image information to be decoded as inputs of the previously learned machine learning model.
또한, 상기 기기 정보는, 초당 부동소수점 연산 능력(Floating-point Operations Per Second, FLOPS), 초당 입출력 처리 능력(Input/Output Operations Per Second, IOPS), 메모리 정보, 단일 명령 다중 데이터 처리 능력(Single Instruction Multiple Data, SIMD) 또는 스레드 번호 중 적어도 하나를 포함할 수 있다.In addition, the device information includes floating-point operations per second (FLOPS), input/output operations per second (IOPS), memory information, single instruction, and multiple data processing capabilities (Single Instruction Multiple Data, SIMD), or a thread number.
또한, 상기 복호화 대상의 영상 정보는, CTU 깊이 정보, 해상도 정보(Resolution), 양자화 파라미터(Quantization Parameter) 중 적어도 하나를 포함할 수 있다.In addition, the image information to be decoded may include at least one of CTU depth information, resolution information, and quantization parameter.
또한, 상기 기 학습된 기계 학습 모델은, 합성곱 신경망 네트워크(Convolutional Neural Network, CNN), 심층 신경망 네트워크(Deep Neural Network, DNN), 순환 신경망 네트워크(Recurrent Neural Network, RNN) 중 적어도 하나와 연계될 수 있다.In addition, the pre-trained machine learning model is connected to at least one of a convolutional neural network (CNN), a deep neural network (DNN), and a recurrent neural network (RNN). I can.
또한, 상기 마스터 노드 및 상기 서브 노드는 상기 블록 체인을 이용하기 위한 암호화 키를 공유할 수 있다.In addition, the master node and the sub-node may share an encryption key for using the block chain.
한편, 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 장치는, 복호화 대상의 비트 스트림을 수신하고, 상기 수신한 비트 스트림으로부터 복호화 대상의 영상 정보를 획득하는 영상 획득부, 상기 영상 정보 및 접속된 서브 노드의 기기 정보를 기초로 기 학습된 기계 학습 모델을 통해 서브 노드에 할당되는 서브 비트 스트림을 결정하는 서브 비트 스트림 결정부, 블록 체인을 통해 상기 결정된 서브 비트 스트림을 상기 서브 노드 각각에 할당하는 서브 비트 스트림 할당부, 상기 서브 노드마다 할당된 서브 비트 스트림에 대한 상기 서브 노드의 복호화 결과를 수신하는 수집부 및 상기 수신된 서브 비트 스트림에 대한 복호화 결과를 종합하여 상기 복호화 대상의 비트 스트림을 복호화하는 메인 처리부를 포함할 수 있다.On the other hand, the distributed HEVC decoding apparatus using a block chain based on a machine learning model according to an embodiment of the present application receives an image to be decoded and acquires image information to be decoded from the received bit stream. A sub-bit stream determining unit that determines a sub-bit stream allocated to a sub-node through a pre-learned machine learning model based on the image information and device information of the connected sub-node, the determined sub-bit stream through a block chain A sub-bit stream allocator for allocating to each of the sub-nodes, a collection unit for receiving a decoding result of the sub-node for the sub-bit stream allocated for each sub-node, and a decoding result for the received sub-bit stream It may include a main processor that decodes the bit stream to be decoded.
또한, 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 장치는, 상기 메인 처리부의 복호화 결과에 기초하여 상기 복호화 대상을 재생하는 영상 재생부를 포함할 수 있다.In addition, the distributed HEVC decoding apparatus using a block chain based on a machine learning model according to an embodiment of the present application may include an image reproducing unit that reproduces the decoding target based on a decoding result of the main processing unit.
또한, 상기 메인 처리부는, 상기 서브 노드 각각으로부터 수신한 상기 서브 비트 스트림의 복호화 결과에 디블로킹 필터를 적용하여 경계값을 처리할 수 있다.In addition, the main processor may process the boundary value by applying a deblocking filter to the decoding result of the sub-bit stream received from each of the sub-nodes.
또한, 상기 서브 비트 스트림 결정부는, 상기 기기 정보 및 상기 복호화 대상의 영상 정보를 상기 기 학습된 기계 학습 모델의 입력으로 하여, 상기 서브 노드마다 복호화 가능한 서브 비트 스트림의 정보를 결정할 수 있다.In addition, the sub-bit stream determining unit may determine information of a sub-bit stream that can be decoded for each of the sub-nodes by using the device information and the image information to be decoded as inputs of the pre-learned machine learning model.
한편, 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 시스템은, 복호화 대상의 비트 스트림을 수신하고, 상기 수신한 비트 스트림으로부터 복호화 대상의 영상 정보를 획득하고, 상기 영상 정보 및 접속된 복수의 서브 노드의 기기 정보를 기초로 기 학습된 기계 학습 모델을 통해 서브 비트 스트림을 결정하여 블록 체인을 통해 상기 결정된 서브 비트 스트림을 상기 복수의 서브 노드 각각에 할당하고, 서브 비트 스트림에 대한 복호화 결과를 수신하여 상기 복호화 대상의 비트 스트림을 복호화하는 마스터 노드 및 상기 마스터 노드에 의해 할당된 상기 서브 비트 스트림을 복호화하고, 상기 서브 비트 스트림의 복호화 결과를 상기 마스터 노드에 반환하는 복수의 서브 노드를 포함할 수 있다.Meanwhile, the distributed HEVC decoding system using a block chain based on a machine learning model according to an embodiment of the present application receives a bit stream to be decoded, obtains image information to be decoded from the received bit stream, and A sub-bit stream is determined through a pre-learned machine learning model based on image information and device information of a plurality of connected sub-nodes, and the determined sub-bit stream is allocated to each of the plurality of sub-nodes through a block chain. A master node for decoding the bit stream to be decoded by receiving a decoding result for the bit stream, and decoding the sub-bit stream allocated by the master node, and returning the decoding result of the sub-bit stream to the master node. It may include a plurality of sub-nodes.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary and should not be construed as limiting the present application. In addition to the above-described exemplary embodiments, additional embodiments may exist in the drawings and detailed description of the invention.
전술한 본원의 과제 해결 수단에 의하면, 기계 학습 모델에 기초하여 서브 노드의 복호화 성능을 예측하고, 예측된 복호화 성능에 기초하여 복호화 대상 비트 스트림을 복수의 서브 비트 스트림으로 분할하여 서브 노드 각각에 할당하여 병렬적으로 복호화하고, 블록 체인에 기초하여 각 서브 노드의 복호화 결과를 공유함으로써 안정성 및 데이터 의존성의 문제를 해결할 수 있다.According to the above-described problem solving means of the present application, the decoding performance of the sub-node is predicted based on the machine learning model, and the decoding target bit stream is divided into a plurality of sub-bit streams and allocated to each of the sub-nodes based on the predicted decoding performance. Thus, the problem of stability and data dependence can be solved by decoding in parallel and sharing the decoding result of each sub-node based on the block chain.
전술한 본원의 과제 해결 수단에 의하면, 임베디드 시스템과 같이 영상 복호화를 수행할 수 있는 자원(리소스)가 부족한 환경에서도 별도의 사용자 단말 등의 CPU, GPU 등을 서브 노드로 활용하여 고해상도의 영상을 빠르게 복호화할 수 있다.According to the above-described problem solving means of the present application, even in an environment where the resources (resource) capable of performing image decoding are insufficient, such as an embedded system, a CPU, GPU, etc. of a separate user terminal are used as sub-nodes to quickly obtain high-resolution images. It can be decrypted.
전술한 본원의 과제 해결 수단에 의하면, 복호화 대상인 비트 스트림을 분할한 서브 비트 스트림을 서브 노드 각각의 성능을 고려하여 각 서브 노드의 성능에 적합한 만큼 할당하여 마스터 노드 및 복수의 서브 노드를 포함하는 전체 시스템의 복호화 효율이 향상될 수 있다.According to the above-described problem solving means of the present application, the sub-bit stream obtained by dividing the bit stream to be decoded is allocated as appropriate to the performance of each sub-node in consideration of the performance of each sub-node, The decoding efficiency of the system can be improved.
다만, 본원에서 얻을 수 있는 효과는 상기된 바와 같은 효과들로 한정되지 않으며, 또 다른 효과들이 존재할 수 있다.However, the effect obtainable in the present application is not limited to the effects as described above, and other effects may exist.
도 1은 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 시스템의 개략적인 구성도이다.1 is a schematic configuration diagram of a distributed HEVC decoding system using a block chain based on a machine learning model according to an embodiment of the present application.
도 2는 본원의 일 실시예에 따른 기기 정보 및 복호화 대상의 영상 정보를 설명하기 위한 도면이다.2 is a diagram for describing device information and image information to be decoded according to an embodiment of the present application.
도 3은 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 장치의 개략적인 구성도이다.3 is a schematic configuration diagram of a distributed HEVC decoding apparatus using a block chain based on a machine learning model according to an embodiment of the present application.
도 4는 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 방법의 동작 흐름도이다.4 is a flowchart illustrating an operation of a distributed HEVC decoding method using a block chain based on a machine learning model according to an embodiment of the present application.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present application will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present application. However, the present application may be implemented in various different forms and is not limited to the embodiments described herein. In addition, in the drawings, parts not related to the description are omitted in order to clearly describe the present application, and similar reference numerals are attached to similar parts throughout the specification.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 또는 "간접적으로 연결"되어 있는 경우도 포함한다. Throughout the present specification, when a part is said to be "connected" with another part, it is not only "directly connected", but also "electrically connected" or "indirectly connected" with another element interposed therebetween. "Including the case.
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout this specification, when a member is positioned "on", "upper", "upper", "under", "lower", and "lower" of another member, this means that a member is located on another member. It includes not only the case where they are in contact but also the case where another member exists between the two members.
본원 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification of the present application, when a certain part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.
도 1은 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 시스템의 개략적인 구성도이다.1 is a schematic configuration diagram of a distributed HEVC decoding system using a block chain based on a machine learning model according to an embodiment of the present application.
도 1을 참조하면, 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 시스템(10)은, 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 장치(100)(이하, '마스터 노드(100)'라 한다.), 복수의 서브 노드(200) 및 블록 체인 네트워크(300)(이하, '블록 체인(300)'이라 한다.)를 포함할 수 있다.1, a distributed HEVC decoding system 10 using a block chain based on a machine learning model according to an embodiment of the present application is a distributed type HEVC decoding system 10 using a block chain based on a machine learning model according to an embodiment of the present application. The HEVC decoding apparatus 100 (hereinafter, referred to as'master node 100'), a plurality of sub-nodes 200, and a block chain network 300 (hereinafter referred to as'block chain 300') are referred to as the HEVC decoding apparatus 100 (hereinafter referred to as'master node 100'). Can include.
마스터 노드(100) 및 서브 노드(200)는 연산 처리, 신호 처리, 컴퓨팅, 영상 처리(영상 부호화 또는 영상 복호화) 등의 태스크를 수행할 수 있는 주체일 수 있다. 구체적으로, 마스터 노드(100) 및 서브 노드(200)는 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphic Processing Unit, GPU), 디지털 신호 연산기(Digital Signal Processor, DSP), 기타 하드웨어 처리 유닛, 프로세서, 스레드 중 어느 하나를 의미하거나, 전술한 중앙 처리 장치 등이 구비된 사용자 단말(도 2 기준, 20b) 자체를 의미하는 것일 수 있다. The master node 100 and the sub node 200 may be subjects capable of performing tasks such as operation processing, signal processing, computing, and image processing (image encoding or image decoding). Specifically, the master node 100 and the sub node 200 include a central processing unit (CPU), a graphic processing unit (GPU), a digital signal processor (DSP), and other hardware. It may mean any one of a processing unit, a processor, and a thread, or may mean a user terminal (20b, referenced in FIG. 2) equipped with the above-described central processing unit.
또한, 본원에서의 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 장치(100)는, 마스터 노드와 동일한 구성으로 이해될 수 있다.In addition, the distributed HEVC decoding apparatus 100 using a block chain based on the machine learning model in the present application may be understood as the same configuration as the master node.
또한, 실시예에 따라, 사용자 단말(20b)에 CPU 등이 복수개의 코어로 이루어진 경우(예를 들면, 멀티 코어 프로세서가 구비된 사용자 단말(20b)), 하나의 사용자 단말(20b)에 대하여도, 복수의 코어 각각이 본원에서의 서브 노드(200)가 될 수 있다.In addition, according to the embodiment, when a CPU or the like is formed of a plurality of cores in the user terminal 20b (for example, a user terminal 20b equipped with a multi-core processor), one user terminal 20b is also , Each of the plurality of cores may be the sub-node 200 in the present application.
예를 들면, 사용자 단말(20b)은, 스마트폰(Smartphone), 스마트패드(SmartPad), 태블릿 PC등과 PCS(Personal Communication System), GSM(Global System for Mobile communication), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말기 같은 모든 종류의 유/무선 통신 장치를 포함할 수 있다.For example, the user terminal 20b includes a smartphone, a smart pad, a tablet PC, etc., and a personal communication system (PCS), a global system for mobile communication (GSM), a personal digital cellular (PDC), and a PHS. (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet) It can include all kinds of wired/wireless communication devices such as terminals.
블록 체인(300)은 블록에 데이터를 담아 체인 형태로 연결하여, 여러 노드(컴퓨터 등)에 데이터를 동시에 복제해 저장하는 분산형 데이터 저장 기술로, 블록 체인(300)의 가장 큰 특징은 중앙 서버가 미존재하고, 각 노드의 연산 처리 결과를 모든 노드가 공유할 수 있다는 것이다. Blockchain 300 is a decentralized data storage technology that stores data in a block and connects it in a chain form, and simultaneously duplicates and stores data on multiple nodes (computers, etc.).The biggest feature of the blockchain 300 is a central server. Does not exist, and all nodes can share the result of the operation processing of each node.
즉, 본원에서는 마스터 노드(100) 및 서브 노드(200)가 블록 체인(300)을 통해 데이터를 주고 받도록 하여, 복호화 대상의 비트 스트림을 독립된 단위로 분할 하여 각 서브 노드(200)각각이 독립적으로 복호화를 수행하더라도, 각각의 복호화 결과를 모든 서브 노드(200) 및 마스터 노드(100)가 공유할 수 있도록 함으로써, 복호화 작업에 요구되는 데이터 의존성(Data Dependency) 문제를 해결하는 것을 특징으로 한다. 영상 처리, 영상 부호화 작업은 이전에 부호화/복호화 된 프레임 또는 주변 영역의 부호화/복호화 결과를 참조하여 현재 프레임 또는 현재 해당 영역의 부호화 작업을 진행하기 때문에 데이터 의존성이 높다.That is, in the present application, the master node 100 and the sub-node 200 exchange data through the block chain 300, so that the bit stream to be decoded is divided into independent units, so that each of the sub-nodes 200 is independently Even if decryption is performed, the data dependency problem required for the decryption operation is solved by allowing each decryption result to be shared by all the sub-nodes 200 and the master node 100. In the image processing and image encoding, data dependence is high because the current frame or the current region is encoded by referring to the previously encoded/decoded frame or the encoding/decoding result of the surrounding region.
또한, 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 시스템(10)은, 블록 체인(300)의 데이터 동기화 기능을 이용하여 복호화 대상 영상의 inter-prediction(화면 간 예측), intra-prediction(화면 내 예측)을 수행할 수 있다. In addition, the distributed HEVC decoding system 10 using a block chain based on a machine learning model according to an embodiment of the present application uses the data synchronization function of the block chain 300 to inter-prediction (inter-screen) an image to be decoded. Prediction) and intra-prediction (in-screen prediction) can be performed.
쉽게 말해, 본원에서의 블록 체인(300)은 이기종의 서브 노드(200) 및 마스터 노드(100)를 포함하는 분산 처리 시스템에서의 공유 메모리와 같은 기능을 수행할 수 있다.In short, the block chain 300 herein may perform a function such as shared memory in a distributed processing system including heterogeneous sub-nodes 200 and master nodes 100.
이와 관련하여, 마스터 노드(100) 및 서브 노드(200)는 블록 체인(300)을 이용하기 위한 암호화 키(Key)를 공유할 수 있다. 본원의 일 실시예에 따르면, 새로운 서브 노드(200)가 마스터 노드(100)에 접속될 때, 마스터 노드(100)가 새로이 접속된 서브 노드(200)로 상기 암호화 키를 제공하도록 구현될 수 있다. 본원에서의 마스터 노드(100) 및 서브 노드(200)가 공유된 암호화 키(Key)를 기반으로 하여 블록 체인 네트워크(300)를 통해 연결되므로, 데이터의 보안성이 유지될 수 있다.In this regard, the master node 100 and the sub node 200 may share an encryption key for using the block chain 300. According to an embodiment of the present application, when the new sub-node 200 is connected to the master node 100, the master node 100 may be implemented to provide the encryption key to the newly connected sub-node 200. . Since the master node 100 and the sub node 200 in the present application are connected through the blockchain network 300 based on a shared encryption key, the security of the data can be maintained.
마스터 노드(100)는 복호화 대상의 비트 스트림(A)을 수신할 수 있다.The master node 100 may receive a bit stream A to be decoded.
도 2는 본원의 일 실시예에 따른 기기 정보 및 복호화 대상의 영상 정보를 설명하기 위한 도면이다.2 is a diagram for describing device information and image information to be decoded according to an embodiment of the present application.
본원의 일 실시예에 따르면, 도 2를 참조하면, 복호화 대상의 영상 정보(2a)는, 복호화 대상 영상(20a)의 CTU 깊이 정보(CTU Depth), 해상도 정보(Resolution), 양자화 파라미터(Quantization Parameter) 중 적어도 하나를 포함할 수 있다. 복호화 대상의 영상 정보(2a)는 마스터 노드(100)가 수신하는 비트 스트림(A)의 헤더 파일에 포함될 수 있으며, 마스터 노드(100)는 헤더 파일을 참조하여 영상 정보(2a)를 획득할 수 있다.According to an embodiment of the present application, referring to FIG. 2, image information 2a to be decoded is CTU depth information (CTU Depth), resolution information, and quantization parameter of the image to be decoded 20a. ) May include at least one of. The image information 2a to be decoded may be included in the header file of the bit stream A received by the master node 100, and the master node 100 may obtain the image information 2a by referring to the header file. have.
또한, 도 2를 참조하면, 기기 정보(2b)는, 초당 부동소수점 연산 능력(Floating-point Operations Per Second, FLOPS), 초당 입출력 처리 능력(Input/Output Operations Per Second, IOPS), 메모리 정보, 단일 명령 다중 데이터 처리 능력(Single Instruction Multiple Data, SIMD) 또는 스레드 번호 중 적어도 하나를 포함할 수 있다. 또한, 기기 정보(2b)는 서브 노드(200)에 해당하는 사용자 단말(20b)에 대하여 결정되는 것일 수 있다. 마스터 노드(100)는 연결된 각 사용자 단말(20b)로부터 기기 정보(2b)를 수신할 수 있다.In addition, referring to FIG. 2, device information 2b includes floating-point operations per second (FLOPS), input/output operations per second (IOPS), memory information, and single It may include at least one of Single Instruction Multiple Data (SIMD) or a thread number. Also, the device information 2b may be determined for the user terminal 20b corresponding to the sub-node 200. The master node 100 may receive device information 2b from each connected user terminal 20b.
또한, 도 2에 도시된 기기 정보 및 복호화 대상의 영상 정보는 본원에서의 기계 학습 모델의 학습 대상 특성(feature)일 수 있다. 즉, 본원에서의 기계 학습 모델은, 기기 정보 및 복호화 대상의 영상 정보를 기초로, 특정 기기(예를 들면, 본원에서의 서브 노드)가 복호화 가능한 서브 비트 스트림의 정보(예를 들면, 복호화 가능한 서브 비트 스트림의 크기 정보 또는 해상도 정보를 포함)를 예측하는 모델일 수 있다.In addition, the device information and the image information to be decoded shown in FIG. 2 may be a feature to be learned of the machine learning model in the present application. In other words, the machine learning model in the present application is based on device information and image information to be decoded, information on a sub-bit stream that a specific device (for example, a sub-node in the present application) can decode (e.g. It may be a model that predicts the size information or resolution information of the sub-bit stream.
마스터 노드(100)는 수신한 비트 스트림으로부터 복호화 대상의 영상 정보를 획득할 수 있다. 특히, 복호화 대상의 영상 정보는 마스터 노드(100)가 수신한 비트 스트림(A)과 연계된 복호화 대상 영상의 헤더 파일(Header File)로부터 획득되는 것일 수 있다.The master node 100 may obtain image information to be decoded from the received bit stream. In particular, the image information to be decoded may be obtained from a header file of the image to be decoded linked to the bit stream A received by the master node 100.
마스터 노드는(100)는, 마스터 노드(100)에 접속된 서브 노드(200)의 기기 정보를 획득할 수 있다. The master node 100 may obtain device information of the sub-node 200 connected to the master node 100.
마스터 노드(100)는, 영상 정보 및 기기 정보를 기초로 기 학습된 기계 학습 모델을 통해 서브 노드에 할당되는 서브 비트 스트림을 결정할 수 있다. 구체적으로, 마스터 노드(100)는, 기기 정보 및 복호화 대상의 영상 정보를 기 학습된 기계 학습 모델의 입력으로 하여, 서브 노드(200) 마다 복호화 가능한 서브 비트 스트림의 정보를 결정할 수 있다. The master node 100 may determine a sub-bit stream allocated to the sub-node through a machine learning model that is previously learned based on image information and device information. Specifically, the master node 100 may determine information of a sub-bit stream that can be decoded for each sub-node 200 by using device information and image information to be decoded as inputs of a previously learned machine learning model.
예시적으로, 복호화 가능한 서브 비트 스트림의 정보란, 서브 노드(200)의 성능에 기초하여 결정되는 서브 노드(200)가 복호화 가능한 서브 비트 스트림의 크기 정보, 시간 정보 또는 해상도 정보 중 적어도 하나를 포함할 수 있다.Exemplarily, the information on the sub-bit stream that can be decoded includes at least one of size information, time information, or resolution information of the sub-bit stream that can be decoded by the sub-node 200, which is determined based on the performance of the sub-node 200. can do.
또한, 본원의 일 실시예에 따르면, 마스터 노드(100)는, 서브 노드(200)마다 할당된 서브 비트 스트림의 복호화 종료 시점의 차이가 미리 설정된 시간 이하가 되도록(다시 말해, 복호화 종료 시점이 동기화 되도록) 서브 노드(200) 각각이 복호화할 서브 비트 스트림의 정보를 결정할 수 있다. In addition, according to an embodiment of the present application, the master node 100, so that the difference between the decoding end time of the sub-bit stream allocated for each sub node 200 is less than a preset time (that is, the decoding end time is synchronized) If possible) each of the sub-nodes 200 may determine information on the sub-bit stream to be decoded.
이는, 본원에서의 분할된 서브 비트 스트림 각각은 독립적이므로, 서브 노드(200) 각각의 서브 비트 스트림에 대한 복호화 결과를 마스터 노드(100)가 취합하여, 복호화 대상의 비트 스트림 전체에 대한 복호화를 수행하므로, 어느 하나의 서브 노드(200)의 복호화 결과를 다른 서브 노드(200)의 복호화 결과보다 앞서 수신한 경우에도, 서브 노드(200) 전체의 복호화가 완료될 때까지 대기해야 하기 때문이다.Since each of the sub-bit streams divided in the present application is independent, the master node 100 collects the decoding results for each sub-bit stream of the sub-node 200, and decodes the entire bit stream to be decoded. Therefore, even if the decoding result of any one sub-node 200 is received before the decoding result of the other sub-node 200, it is because it is necessary to wait until the decoding of the entire sub-node 200 is completed.
또한, 기 학습된 기계 학습 모델은, 합성곱 신경망 네트워크(Convolutional Neural Network, CNN), 심층 신경망 네트워크(Deep Neural Network, DNN), 순환 신경망 네트워크(Recurrent Neural Network, RNN) 중 적어도 하나와 연계될 수 있으나, 이에 한정되는 것은 아니며, 다양한 기계 학습 방식을 통해 생성된 것일 수 있다.In addition, the pre-trained machine learning model may be linked with at least one of a convolutional neural network (CNN), a deep neural network (DNN), and a recurrent neural network (RNN). However, the present invention is not limited thereto, and may be generated through various machine learning methods.
마스터 노드(100)는, 결정된 서브 비트 스트림을 블록 체인(300)을 통해 서브 노드(200) 각각에 할당할 수 있다. 즉, 본원에 의하면, 마스터 노드(100)가 단독으로 고해상도의 대형의 대상 영상에 대한 복호화를 수행하기 어려운 저사양, 저성능인 경우에도, 해당 복호화 대상의 비트 스트림을 독립된 복수의 서브 비트 스트림으로 분할하고, 복수의 서브 노드(200)가 분할된 복수의 서브 비트 스트림을 나눠서 복호화하고, 분할된 서브 비트 스트림의 복호화 결과를 종합하여 복호화 대상의 비트 스트림 전체에 대한 복호화를 처리할 수 있도록 함으로써, 저가(low-cost)로도 확장성이 높은 분산형 HEVC 복호화 시스템(10)을 구축할 수 있는 효과가 있다.The master node 100 may allocate the determined sub-bit stream to each of the sub-nodes 200 through the block chain 300. That is, according to the present application, even when the master node 100 has low specifications and low performance, it is difficult for the master node 100 to independently perform decoding on a large target image having high resolution, the bit stream to be decoded is divided into a plurality of independent sub bit streams. And, the plurality of sub-nodes 200 divide and decode the divided plurality of sub-bit streams, and synthesize the decoding result of the divided sub-bit streams to process the decoding of the entire bit stream to be decoded. There is an effect of constructing a distributed HEVC decoding system 10 with high scalability even at (low-cost).
요약하면, 마스터 노드(100)는, 기 학습된 기계 학습 모델을 통해 서브 노드(200)의 성능을 예측하고, 서브 노드(200) 각각의 성능에 맞는 처리량(서브 비트 스트림)을 할당할 수 있다.In summary, the master node 100 may predict the performance of the sub-node 200 through a pre-learned machine learning model and allocate a throughput (sub-bit stream) suitable for the performance of each of the sub-nodes 200. .
마스터 노드(100)는 서브 노드(200)마다 할당된 서브 비트 스트림에 대한 서브 노드(200)의 복호화 결과를 블록 체인(300)을 통해 수신할 수 있다. 각각의 서브 노드(200)는 자신에게 할당된 서브 비트 스트림의 복호화 결과를 블록 체인(300) 네트워크로 전송 및 공유하며, 각 서브 노드(200)는 다른 서브 노드(200)의 복호화 결과를 블록 체인(300)을 통해 공유하고, 자신에게 할당된 서브 비트 스트림의 복호화에 참조할 수 있다. 또한, 마스터 노드(100)는 각 서브 노드(200)의 서브 비트 스트림의 복호화 결과를 수신한다. 여기서, 할당된 서브 비트 스트림에 대한 서브 노드(200)의 복호화 결과는, 서브 비트 스트림 각각에 대한 복호화를 수행하여 획득되는 복호화된 분할 영상 자체 또는 상기 복호화된 분할 영상과 연계된 데이터를 의미하는 것일 수 있다.The master node 100 may receive a decoding result of the sub node 200 for the sub bit stream allocated for each sub node 200 through the block chain 300. Each sub-node 200 transmits and shares the decoding result of the sub-bit stream allocated to it to the blockchain 300 network, and each sub-node 200 transmits the decoding result of the other sub-node 200 to the block chain. It can be shared through 300 and referred to decoding of a sub-bit stream allocated to itself. In addition, the master node 100 receives the decoding result of the sub-bit stream of each sub-node 200. Here, the decoding result of the sub-node 200 for the allocated sub-bit stream means the decoded segmented image itself obtained by decoding each sub-bit stream or data associated with the decoded segmented image. I can.
또한, 마스터 노드(100)는 서브 노드(200) 각각으로부터 수신한 서브 비트 스트림의 복호화 결과에 디블로킹 필터(De-blocking Filter)를 적용하여 경계값을 처리할 수 있다.In addition, the master node 100 may process the boundary value by applying a de-blocking filter to the decoding result of the sub-bit stream received from each of the sub-nodes 200.
구체적으로, 디블로킹 필터(De-blocking Filter)는, 경계값 처리를 통해 서브 비트 스트림 각각의 복호화 결과 사이에 형성될 수 있는 불규칙적인 모서리, 불연속적인 특성 등을 제거하여 복호화 대상의 비트 스트림 전체에 대한 복호화 결과인 재생 영상(B)의 영상 품질을 향상시키고, 예측 성능을 향상시키기 위하여 적용되는 영상 필터를 의미할 수 있다.Specifically, the de-blocking filter removes irregular edges and discontinuous characteristics that may be formed between the decoding results of each sub-bit stream through boundary value processing, so that the entire bit stream to be decoded is It may mean an image filter applied to improve the image quality of the reproduced image B, which is a result of decoding the image, and to improve prediction performance.
마스터 노드(100)는 수신된 서브 비트 스트림에 대한 복호화 결과를 종합하여 복호화 대상의 비트 스트림을 복호화할 수 있다. 본원의 일 실시예에 따르면, 마스터 노드(100)는 서브 비트 스트림에 대한 복호화된 분할 영상들을 시계열적으로 이어 붙여 복호화 대상의 비트 스트림(A)를 복호화한 재생 영상(B)을 생성할 수 있다.The master node 100 may decode a bit stream to be decoded by synthesizing the decoding result of the received sub-bit stream. According to an embodiment of the present application, the master node 100 may generate a reproduction image B obtained by decoding the bit stream A to be decoded by concatenating the decoded divided images of the sub bit stream in time series. .
마스터 노드(100)는 복호화 대상의 비트 스트림의 복호화 결과에 기초하여 복호화 대상을 재생할 수 있다. 또한, 본원의 일 실시예에 따르면, 복호화 대상의 비트 스트림의 복호화 결과에 기초한 재생 영상(B)은, 마스터 노드(100)에 구비된 디스플레이 장치, 영상 재생 장치 등에서 재생될 수 있다.The master node 100 may reproduce the decoding target based on the decoding result of the decoding target bit stream. In addition, according to an exemplary embodiment of the present disclosure, a reproduced image B based on a result of decoding a bit stream to be decoded may be reproduced by a display device or an image reproducing device provided in the master node 100.
다른 예로, 마스터 노드(100)는 재생 영상(B)에 대한 데이터를 별도의 디스플레이 장치 또는 영상 재생 단말로 전송하고, 재생 영상(B)에 대한 데이터를 수신한 별도의 디스플레이 장치 또는 영상 재생 단말에서 재생 영상(B)이 재생될 수 있다.As another example, the master node 100 transmits the data for the playback image B to a separate display device or video playback terminal, and in a separate display device or video playback terminal that has received the data for the playback image B. The reproduction image B can be reproduced.
또한, 본원의 일 실시예에 따르면, 마스터 노드(100)로부터 서브 비트 스트림을 할당 받은 서브 노드(200)가 소정의 원인으로 마스터 노드(100)와의 접속이 해제되거나, 새롭게 서브 비트 스트림을 할당 받을 수 있는 서브 노드(200)가 추가적으로 마스터 노드(100)에 접속되어 마스터 노드(100)에 접속된 서브 노드(200)의 수가 변동되는 경우, 마스터 노드(100)는, 서브 비트 스트림을 재분할하고, 변동된 복수의 서브 노드(200)로 재분할된 서브 비트 스트림을 새로이 할당하도록 구현될 수 있다.In addition, according to an embodiment of the present application, the sub-node 200, which has been allocated a sub-bit stream from the master node 100, is disconnected from the master node 100 for a predetermined reason, or receives a new sub-bit stream. When the number of sub-nodes 200 connected to the master node 100 is changed by additionally connecting the sub-nodes 200 to the master node 100, the master node 100 redistributes the sub-bit stream, It may be implemented to newly allocate the sub-bit stream that has been subdivided into the changed plurality of sub-nodes 200.
또한, 전술한 마스터 노드(100)의 서브 노드(200)에 대한 서브 비트 스트림 할당에 있어서, 하나의 서브 노드(200)에 대하여 하나의 서브 비트 스트림이 기계 학습 모델에 기초하여 결정되고, 하나의 서브 노드(200)에 하나의 서브 비트 스트림이 할당되는 것으로 설명되었으나, 실시예에 따라, 서브 노드(200)의 CPU 등이 복수개의 코어로 이루어진 경우(예를 들면, 멀티 코어 프로세서가 구비된 사용자 단말인 경우 등) 하나의 서브 노드(200)에 대하여도, 각 코어 마다 서브 비트 스트림이 할당되도록 구현될 수 있다.In addition, in the above-described sub-bit stream allocation to the sub-node 200 of the master node 100, one sub-bit stream for one sub-node 200 is determined based on the machine learning model, and one It has been described that one sub-bit stream is allocated to the sub-node 200, but according to the embodiment, when the CPU of the sub-node 200 is composed of a plurality of cores (for example, a user equipped with a multi-core processor) In the case of a terminal, etc.), a sub-bit stream may be allocated to each core for one sub-node 200 as well.
복수의 서브 노드(200)는, 마스터 노드(100)에 의해 할당된 서브 비트 스트림에 대한 복호화를 수행할 수 있다.The plurality of sub-nodes 200 may decode a sub-bit stream allocated by the master node 100.
복수의 서브 노드(200)는, 할당된 서브 비트 스트림에 대한 복호화 결과를 블록 체인(300)을 통하여 마스터 노드(100)에 전송할 수 있다.The plurality of sub-nodes 200 may transmit a result of decoding the allocated sub-bit stream to the master node 100 through the block chain 300.
도 3은 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 장치의 개략적인 구성도이다.3 is a schematic configuration diagram of a distributed HEVC decoding apparatus using a block chain based on a machine learning model according to an embodiment of the present application.
도 3을 참조하면, 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 장치(100)는, 영상 획득부(110), 서브 비트 스트림 결정부(120), 서브 비트 스트림 할당부(130), 수집부(140), 메인 처리부(150) 및 영상 재생부(160)를 포함할 수 있다.Referring to FIG. 3, the distributed HEVC decoding apparatus 100 using a block chain based on a machine learning model according to an embodiment of the present application includes an image acquisition unit 110, a sub bit stream determination unit 120, and a sub bit stream. A stream allocator 130, a collection unit 140, a main processing unit 150, and an image reproducing unit 160 may be included.
영상 획득부(110)는, 복호화 대상의 비트 스트림을 수신하고, 수신한 비트 스트림으로부터 복호화 대상의 영상 정보를 획득할 수 있다. 특히, 복호화 대상의 영상 정보는 영상 획득부(110)가 수신한 비트 스트림과 연계된 복호화 대상 영상의 헤더 파일(Header File)로부터 획득되는 것일 수 있다.The image acquisition unit 110 may receive a bit stream to be decoded, and obtain image information to be decoded from the received bit stream. In particular, the image information to be decoded may be obtained from a header file of an image to be decoded linked to a bit stream received by the image acquisition unit 110.
서브 비트 스트림 결정부(120)는, 접속된 서브 노드(200)의 기기 정보를 획득할 수 있다. The sub bit stream determiner 120 may obtain device information of the connected sub node 200.
또한, 서브 비트 스트림 결정부(120)는, 영상 획득부(110)에 의해 획득된 영상 정보 및 접속된 서브 노드(200)의 기기 정보를 기초로 기 학습된 기계 학습 모델을 통해 서브 노드(200)에 할당되는 서브 비트 스트림을 결정할 수 있다. 구체적으로, 기기 정보 및 복호화 대상의 영상 정보를 기 학습된 기계 학습 모델의 입력으로 하여, 서브 노드(200)마다 복호화 가능한 서브 비트 스트림의 정보를 결정할 수 있다.In addition, the sub-bit stream determiner 120 uses the machine learning model previously learned based on the image information acquired by the image acquisition unit 110 and the device information of the connected sub-node 200. ) Can be determined. Specifically, information of a sub-bit stream that can be decoded may be determined for each sub-node 200 by using device information and image information to be decoded as inputs of a previously learned machine learning model.
여기서, 기기 정보는, 초당 부동소수점 연산 능력(Floating-point Operations Per Second, FLOPS), 초당 입출력 처리 능력(Input/Output Operations Per Second, IOPS), 메모리 정보, 단일 명령 다중 데이터 처리 능력(Single Instruction Multiple Data, SIMD) 또는 스레드 번호 중 적어도 하나를 포함할 수 있다.Here, the device information includes floating-point operations per second (FLOPS), input/output operations per second (IOPS), memory information, and single instruction multiple data processing capabilities (Single Instruction Multiple). Data, SIMD), or a thread number.
또한, 복호화 대상의 영상 정보는, CTU 깊이 정보, 해상도 정보(Resolution), 양자화 파라미터(Quantization Parameter) 중 적어도 하나를 포함할 수 있다.In addition, the image information to be decoded may include at least one of CTU depth information, resolution information, and quantization parameter.
또한, 서브 비트 스트림 결정부(120)가, 서브 노드(200)마다 복호화 가능한 서브 비트 스트림의 정보를 결정하는 것은, 예시적으로, 서브 노드(200)의 성능에 기초하여 결정되는 서브 노드(200)가 복호화 가능한 서브 비트 스트림의 크기 정보 또는 해상도 정보 중 적어도 하나를 결정하는 것으로 이해될 수 있다.In addition, the sub-bit stream determiner 120 determines information of the sub-bit stream that can be decoded for each sub-node 200, for example, the sub-node 200 determined based on the performance of the sub-node 200 ) May be understood as determining at least one of size information or resolution information of a sub-bit stream that can be decoded.
또한, 본원의 일 실시예에 따르면, 서브 비트 스트림 결정부(120)는, 서브 노드(200)마다 할당된 서브 비트 스트림의 복호화 종료 시점의 차이가 미리 설정된 시간 이하가 되도록(다시 말해, 복호화 종료 시점이 동기화 되도록) 서브 노드(200) 각각이 복호화할 서브 비트 스트림의 정보를 결정할 수 있다.In addition, according to an embodiment of the present application, the sub-bit stream determiner 120 may make the difference between the decoding end time point of the sub-bit stream allocated for each sub node 200 less than or equal to a preset time (in other words, the decoding end Each of the sub-nodes 200 may determine information on the sub-bit stream to be decoded so that the viewpoint is synchronized.
서브 비트 스트림 할당부(130)는, 블록 체인(300)을 통해 서브 비트 스트림 결정부(120)에 의해 결정된 서브 비트 스트림을 서브 노드(200) 각각에 할당할 수 있다.The sub-bit stream allocator 130 may allocate the sub-bit stream determined by the sub-bit stream determiner 120 to each of the sub-nodes 200 through the block chain 300.
수집부(140)는, 서브 노드(200)마다 할당된 서브 비트 스트림에 대한 서브 노드(200)의 복호화 결과를 수신할 수 있다.The collection unit 140 may receive a result of decoding of the sub-node 200 for the sub-bit stream allocated for each sub-node 200.
여기서, 수집부(140)가 수신하는 할당된 서브 비트 스트림에 대한 서브 노드(200)의 복호화 결과는, 서브 비트 스트림 각각에 대한 복호화를 수행하여 획득되는 복호화된 분할 영상 자체 또는 상기 복호화된 분할 영상과 연계된 데이터를 의미하는 것일 수 있다.Here, the decoding result of the sub-node 200 for the allocated sub-bit stream received by the collection unit 140 is the decoded segmented image itself or the decoded segmented image obtained by decoding each sub-bit stream. It may mean data associated with.
메인 처리부(150)는, 수신된 서브 비트 스트림에 대한 복호화 결과를 종합하여 복호화 대상의 비트 스트림을 복호화할 수 있다. 또한, 메인 처리부(150)는, 서브 노드(200) 각각으로부터 수신한 서브 비트 스트림의 복호화 결과에 디블로킹 필터(De-blocking Filter)를 적용하여 경계값을 처리할 수 있다.The main processing unit 150 may decode a bit stream to be decoded by synthesizing the decoding result of the received sub-bit stream. In addition, the main processing unit 150 may process the boundary value by applying a de-blocking filter to the decoding result of the sub-bit stream received from each of the sub-nodes 200.
영상 재생부(160)는, 메인 처리부(150)의 복호화 결과에 기초하여 복호화 대상을 재생할 수 있다. 본원의 일 실시예에 따르면, 영상 재생부(160)는 디스플레이 장치, 영상 재생 장치 등을 포함할 수 있고, 복호화 대상의 비트 스트림의 복호화 결과에 기초한 재생 영상(B)는, 영상 재생부(160)에 구비된 디스플레이 장치, 영상 재생 장치 등에서 재생되는 것일 수 있다.The image reproducing unit 160 may reproduce a decoding target based on the decoding result of the main processing unit 150. According to an exemplary embodiment of the present application, the image reproducing unit 160 may include a display device, an image reproducing device, and the like, and the reproduced image B based on the decoding result of the bit stream to be decoded is the image reproducing unit 160 ) May be played on a display device, an image playback device, or the like.
또한, 본원의 다른 실시예에 따르면, 영상 재생부(160)는 별도로 마련된 디스플레이 장치 또는 영상 재생 단말로 복호화 대상의 비트 스트림의 복호화 결과에 기초한 재생 영상(B)에 대한 데이터를 전송하고, 재생 영상(B)에 대한 데이터를 수신한 별도의 디스플레이 장치 또는 영상 재생 단말에서 재생 영상(B)이 재생되는 것일 수 있다.In addition, according to another embodiment of the present application, the image reproducing unit 160 transmits data for the reproduced image B based on the decoding result of the bit stream to be decoded to a separately provided display device or an image reproducing terminal, and The reproduced image B may be reproduced in a separate display device or an image reproducing terminal that has received the data for (B).
이하에서는 상기에 자세히 설명된 내용을 기반으로, 본원의 동작 흐름을 간단히 살펴보기로 한다.Hereinafter, based on the details described above, the operation flow of the present application will be briefly described.
도 4는 본원의 일 실시예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 방법의 동작 흐름도이다.4 is a flowchart illustrating an operation of a distributed HEVC decoding method using a block chain based on a machine learning model according to an embodiment of the present application.
도 4에 도시된 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 방법은 앞서 설명된 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 장치(100) 또는 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 시스템(10)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 장치(100) 또는 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 시스템(10)에 대하여 설명된 내용은 도 4에 대한 설명에도 동일하게 적용될 수 있다.The distributed HEVC decoding method using a block chain based on the machine learning model shown in FIG. 4 is a distributed HEVC decoding apparatus 100 using a block chain based on the machine learning model described above or a block chain based on a machine learning model. It can be performed by the distributed HEVC decoding system 10. Therefore, although omitted below, the description of the distributed HEVC decoding apparatus 100 using a block chain based on a machine learning model or the distributed HEVC decoding system 10 using a block chain based on a machine learning model is shown in FIG. The same can be applied to the description of 4.
도 4를 참조하면, 단계 S410에서 영상 획득부(110)는, 복호화 대상의 비트 스트림을 수신할 수 있다.Referring to FIG. 4, in step S410, the image acquisition unit 110 may receive a bit stream to be decoded.
다음으로, 단계 S420에서 영상 획득부(120)는, 수신한 비트 스트림으로부터 복호화 대상의 영상 정보를 획득할 수 있다.Next, in step S420, the image acquisition unit 120 may acquire image information to be decoded from the received bit stream.
다음으로, 단계 S430에서 서브 비트 스트림 결정부(120)는, 마스터 노드에 접속된 서브 노드의 기기 정보를 획득할 수 있다.Next, in step S430, the sub-bit stream determiner 120 may obtain device information of a sub-node connected to the master node.
다음으로, 단계 S440에서 서브 비트 스트림 결정부(120)는, 영상 정보 및 기기 정보를 기초로 기 학습된 기계 학습 모델을 통해 서브 노드(200)에 할당되는 서브 비트 스트림을 결정할 수 있다.Next, in step S440, the sub-bit stream determiner 120 may determine a sub-bit stream allocated to the sub-node 200 through a pre-learned machine learning model based on image information and device information.
다음으로, 단계 S450에서 서브 비트 스트림 할당부(130)는, 블록 체인(300)을 통해 결정된 서브 비트 스트림을 서브 노드(200) 각각에 할당할 수 있다.Next, in step S450, the sub-bit stream allocator 130 may allocate the sub-bit stream determined through the block chain 300 to each of the sub-nodes 200.
다음으로, 단계 S460에서 수집부(140)는, 서브 노드(200)마다 할당된 서브 비트 스트림에 대한 서브 노드(200)의 복호화 결과를 블록 체인(300)을 통해 수신할 수 있다.Next, in step S460, the collection unit 140 may receive a decoding result of the sub-node 200 for the sub-bit stream allocated for each sub-node 200 through the block chain 300.
다음으로, 단계 S470에서 메인 처리부(150)는, 수신된 서브 비트 스트림에 대한 복호화 결과를 종합하여 복호화 대상의 비트 스트림을 복호화할 수 있다.Next, in step S470, the main processing unit 150 may decode a bit stream to be decoded by synthesizing the decoding result of the received sub-bit stream.
다음으로, 단계 S480에서 영상 재생부(160)는, 복호화 대상의 비트 스트림의 복호화 결과에 기초하여 복호화 대상을 재생할 수 있다.Next, in step S480, the video reproducing unit 160 may reproduce the decoding target based on the decoding result of the decoding target bit stream.
상술한 설명에서, 단계 S410 내지 S480은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.In the above description, steps S410 to S480 may be further divided into additional steps or may be combined into fewer steps, according to an embodiment of the present disclosure. In addition, some steps may be omitted as necessary, and the order between steps may be changed.
본원의 일 실시 예에 따른 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The distributed HEVC decoding method using a block chain based on a machine learning model according to an embodiment of the present application may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded in the medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The above-described hardware device may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.
또한, 전술한 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 방법은 기록 매체에 저장되는 컴퓨터에 의해 실행되는 컴퓨터 프로그램 또는 애플리케이션의 형태로도 구현될 수 있다.In addition, the distributed HEVC decoding method using a block chain based on the machine learning model described above may be implemented in the form of a computer program or application executed by a computer stored in a recording medium.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present application is for illustrative purposes only, and those of ordinary skill in the art to which the present application pertains will be able to understand that it is possible to easily transform it into other specific forms without changing the technical spirit or essential features of the present application. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

Claims (15)

  1. 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 방법에 있어서,In a distributed HEVC decoding method using a block chain based on a machine learning model,
    복호화 대상의 비트 스트림을 수신하는 단계;Receiving a bit stream to be decoded;
    상기 수신한 비트 스트림으로부터 복호화 대상의 영상 정보를 획득하는 단계;Obtaining image information to be decoded from the received bit stream;
    마스터 노드에 접속된 서브 노드의 기기 정보를 획득하는 단계;Acquiring device information of a sub-node connected to the master node;
    상기 영상 정보 및 상기 기기 정보를 기초로 기 학습된 기계 학습 모델을 통해 서브 노드에 할당되는 서브 비트 스트림을 결정하는 단계; 및Determining a sub bit stream allocated to a sub node through a machine learning model previously learned based on the image information and the device information; And
    블록 체인을 통해 상기 결정된 서브 비트 스트림을 상기 서브 노드 각각에 할당하는 단계,Allocating the determined sub-bit stream to each of the sub-nodes through a block chain,
    를 포함하는 분산형 HEVC 복호화 방법.Distributed HEVC decoding method comprising a.
  2. 제1항에 있어서,The method of claim 1,
    상기 서브 노드마다 할당된 서브 비트 스트림에 대한 상기 서브 노드의 복호화 결과를 수신하는 단계; 및Receiving a decoding result of the sub-node for the sub-bit stream allocated for each sub-node; And
    상기 수신된 서브 비트 스트림에 대한 복호화 결과를 종합하여 상기 복호화 대상의 비트 스트림을 복호화하는 단계,Decoding the bit stream to be decoded by synthesizing the decoding result of the received sub-bit stream,
    를 더 포함하는 것인, 분산형 HEVC 복호화 방법.That will further include, distributed HEVC decoding method.
  3. 제 2항에 있어서,The method of claim 2,
    상기 복호화 대상의 비트 스트림의 복호화 결과에 기초하여 상기 복호화 대상을 재생하는 단계,Reproducing the decoding target based on a decoding result of the decoding target bit stream,
    를 더 포함하는 것인, 분산형 HEVC 복호화 방법.That will further include, distributed HEVC decoding method.
  4. 제 2항에 있어서,The method of claim 2,
    상기 서브 노드 각각으로부터 수신한 상기 서브 비트 스트림의 복호화 결과에 디블로킹 필터를 적용하여 경계값을 처리하는 단계를 더 포함하는 것인, 분산형 HEVC 복호화 방법.And processing a boundary value by applying a deblocking filter to a decoding result of the sub-bit stream received from each of the sub-nodes.
  5. 제 1항에 있어서,The method of claim 1,
    상기 서브 비트 스트림을 결정하는 단계는,The step of determining the sub bit stream,
    기기 정보 및 복호화 대상의 영상 정보를 상기 기 학습된 기계 학습 모델의 입력으로 하여, 상기 서브 노드마다 복호화 가능한 서브 비트 스트림의 정보를 결정하는 것인, 분산형 HEVC 복호화 방법.The distributed HEVC decoding method, wherein information of a sub-bit stream that can be decoded is determined for each of the sub-nodes by using device information and image information to be decoded as inputs of the pre-learned machine learning model.
  6. 제 5항에 있어서,The method of claim 5,
    상기 기기 정보는,The device information,
    초당 부동소수점 연산 능력(Floating-point Operations Per Second, FLOPS), 초당 입출력 처리 능력(Input/Output Operations Per Second, IOPS), 메모리 정보, 단일 명령 다중 데이터 처리 능력(Single Instruction Multiple Data, SIMD) 또는 스레드 번호 중 적어도 하나를 포함하는 것인, 분산형 HEVC 복호화 방법.Floating-point Operations Per Second (FLOPS), Input/Output Operations Per Second (IOPS), memory information, Single Instruction Multiple Data (SIMD) or thread That includes at least one of the number, distributed HEVC decoding method.
  7. 제 5항에 있어서,The method of claim 5,
    상기 복호화 대상의 영상 정보는,The image information to be decoded,
    CTU 깊이 정보, 해상도 정보(Resolution), 양자화 파라미터(Quantization Parameter) 중 적어도 하나를 포함하는 것인, 분산형 HEVC 복호화 방법.It includes at least one of CTU depth information, resolution information (Resolution), and quantization parameter (Quantization Parameter), distributed HEVC decoding method.
  8. 제 5항에 있어서,The method of claim 5,
    상기 기 학습된 기계 학습 모델은,The pre-learned machine learning model,
    합성곱 신경망 네트워크(Convolutional Neural Network, CNN), 심층 신경망 네트워크(Deep Neural Network, DNN), 순환 신경망 네트워크(Recurrent Neural Network, RNN) 중 적어도 하나와 연계된 것인, 분산형 HEVC 복호화 방법.A convolutional neural network (CNN), a deep neural network (DNN), a recurrent neural network (RNN) that is linked to at least one of the distributed HEVC decoding method.
  9. 제 1항에 있어서,The method of claim 1,
    상기 마스터 노드 및 상기 서브 노드는 상기 블록 체인을 이용하기 위한 암호화 키를 공유하는 것인, 분산형 HEVC 복호화 방법.The master node and the sub-node share an encryption key for using the block chain, distributed HEVC decryption method.
  10. 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 장치에 있어서,In a distributed HEVC decoding apparatus using a block chain based on a machine learning model,
    복호화 대상의 비트 스트림을 수신하고, 상기 수신한 비트 스트림으로부터 복호화 대상의 영상 정보를 획득하는 영상 획득부;An image acquisition unit receiving a bit stream to be decoded and obtaining image information to be decoded from the received bit stream;
    상기 영상 정보 및 접속된 서브 노드의 기기 정보를 기초로 기 학습된 기계 학습 모델을 통해 서브 노드에 할당되는 서브 비트 스트림을 결정하는 서브 비트 스트림 결정부; A sub-bit stream determining unit to determine a sub-bit stream allocated to the sub-node through a pre-learned machine learning model based on the image information and device information of the connected sub-node;
    블록 체인을 통해 상기 결정된 서브 비트 스트림을 상기 서브 노드 각각에 할당하는 서브 비트 스트림 할당부;A sub-bit stream allocator for allocating the determined sub-bit stream to each of the sub-nodes through a block chain;
    상기 서브 노드마다 할당된 서브 비트 스트림에 대한 상기 서브 노드의 복호화 결과를 수신하는 수집부; 및A collection unit for receiving a decoding result of the sub-node for the sub-bit stream allocated for each sub-node; And
    상기 수신된 서브 비트 스트림에 대한 복호화 결과를 종합하여 상기 복호화 대상의 비트 스트림을 복호화하는 메인 처리부,A main processing unit for decoding the bit stream to be decoded by synthesizing the decoding result of the received sub bit stream,
    를 포함하는, 분산형 HEVC 복호화 장치.Containing, distributed HEVC decoding apparatus.
  11. 제 10항에 있어서,The method of claim 10,
    상기 메인 처리부의 복호화 결과에 기초하여 상기 복호화 대상을 재생하는 영상 재생부,An image reproducing unit for reproducing the decoding object based on the decoding result of the main processing unit,
    를 더 포함하는 것인, 분산형 HEVC 복호화 장치.The distributed HEVC decoding apparatus further comprising a.
  12. 제 10항에 있어서,The method of claim 10,
    상기 메인 처리부는,The main processing unit,
    상기 서브 노드 각각으로부터 수신한 상기 서브 비트 스트림의 복호화 결과에 디블로킹 필터를 적용하여 경계값을 처리하는 것인, 분산형 HEVC 복호화 장치.A distributed HEVC decoding apparatus to process a boundary value by applying a deblocking filter to a decoding result of the sub-bit stream received from each of the sub-nodes.
  13. 제 10항에 있어서,The method of claim 10,
    상기 기기 정보는,The device information,
    초당 부동소수점 연산 능력(Floating-point Operations Per Second, FLOPS), 초당 입출력 처리 능력(Input/Output Operations Per Second, IOPS), 메모리 정보, 단일 명령 다중 데이터 처리 능력(Single Instruction Multiple Data, SIMD) 또는 스레드 번호 중 적어도 하나를 포함하고,Floating-point Operations Per Second (FLOPS), Input/Output Operations Per Second (IOPS), memory information, Single Instruction Multiple Data (SIMD) or thread Contains at least one of the numbers,
    상기 복호화 대상의 영상 정보는,The image information to be decoded,
    CTU 깊이 정보, 해상도 정보(Resolution), 양자화 파라미터(Quantization Parameter) 중 적어도 하나를 포함하고,CTU depth information, resolution information (Resolution), including at least one of quantization parameter (Quantization Parameter),
    상기 서브 비트 스트림 결정부는,The sub bit stream determining unit,
    상기 기기 정보 및 상기 복호화 대상의 영상 정보를 상기 기 학습된 기계 학습 모델의 입력으로 하여, 상기 서브 노드마다 복호화 가능한 서브 비트 스트림의 정보를 결정하는 것인, 분산형 HEVC 복호화 장치.And determining information of a sub-bit stream that can be decoded for each of the sub-nodes by using the device information and the image information to be decoded as inputs of the pre-learned machine learning model.
  14. 기계 학습 모델에 기초한 블록 체인을 이용한 분산형 HEVC 복호화 시스템에 있어서,In a distributed HEVC decoding system using a block chain based on a machine learning model,
    복호화 대상의 비트 스트림을 수신하고, 상기 수신한 비트 스트림으로부터 복호화 대상의 영상 정보를 획득하고, 상기 영상 정보 및 접속된 복수의 서브 노드의 기기 정보를 기초로 기 학습된 기계 학습 모델을 통해 서브 비트 스트림을 결정하여 블록 체인을 통해 상기 결정된 서브 비트 스트림을 상기 복수의 서브 노드 각각에 할당하고, 서브 비트 스트림에 대한 복호화 결과를 수신하여 상기 복호화 대상의 비트 스트림을 복호화하는 마스터 노드; 및Receives a bit stream to be decoded, obtains image information to be decoded from the received bit stream, and uses a machine learning model previously learned based on the image information and device information of a plurality of connected sub nodes. A master node that determines a stream, allocates the determined sub-bit stream to each of the plurality of sub-nodes through a block chain, receives a decoding result of the sub-bit stream, and decodes the bit stream to be decoded; And
    상기 마스터 노드에 의해 할당된 상기 서브 비트 스트림을 복호화하고, 상기 서브 비트 스트림의 복호화 결과를 상기 마스터 노드에 반환하는 복수의 서브 노드,A plurality of sub-nodes for decoding the sub-bit stream allocated by the master node and returning a decoding result of the sub-bit stream to the master node,
    를 포함하는, 분산형 HEVC 복호화 시스템.Including, distributed HEVC decoding system.
  15. 제 1항 내지 제 9항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program for executing the method of claim 1 on a computer.
PCT/KR2019/015963 2019-06-11 2019-11-20 Machine learning model-based hevc distributed decoding method, device and system using blockchain WO2020251124A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0068438 2019-06-11
KR1020190068438A KR102296987B1 (en) 2019-06-11 2019-06-11 Apparatus, method and system for hevc decoding image based on distributed system and machine learning model using block chain network

Publications (1)

Publication Number Publication Date
WO2020251124A1 true WO2020251124A1 (en) 2020-12-17

Family

ID=73780888

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/015963 WO2020251124A1 (en) 2019-06-11 2019-11-20 Machine learning model-based hevc distributed decoding method, device and system using blockchain

Country Status (2)

Country Link
KR (1) KR102296987B1 (en)
WO (1) WO2020251124A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113591041A (en) * 2021-09-28 2021-11-02 环球数科集团有限公司 Distributed coding system for preventing code injection or source code decompilation

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102516548B1 (en) * 2021-03-10 2023-03-31 숭실대학교 산학협력단 System and method for preventing forgery of video based on blockchain and computer program for the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009225378A (en) * 2008-03-18 2009-10-01 Fujitsu Microelectronics Ltd Decryption method, decryption device, encryption device, authentication method, and authentication apparatus
KR20180052651A (en) * 2015-09-03 2018-05-18 미디어텍 인크. Method and apparatus for neural network-based processing in video coding
KR101976787B1 (en) * 2018-12-21 2019-05-09 (주)소프트제국 Method for distributing an electronic document using a smart contract in a blockchain

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018107500A (en) * 2016-12-22 2018-07-05 キヤノン株式会社 Coding device, coding method, program, decoding device, decoding method, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009225378A (en) * 2008-03-18 2009-10-01 Fujitsu Microelectronics Ltd Decryption method, decryption device, encryption device, authentication method, and authentication apparatus
KR20180052651A (en) * 2015-09-03 2018-05-18 미디어텍 인크. Method and apparatus for neural network-based processing in video coding
KR101976787B1 (en) * 2018-12-21 2019-05-09 (주)소프트제국 Method for distributing an electronic document using a smart contract in a blockchain

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LIU WEI: "Implementation of parallel S/W-H/W for 3D- HEVC decoder", 3D-HEVC S/W-H/W FOR 3D-HEVC DECODER, 31 August 2016 (2016-08-31), pages 11 - 37 *
PAN SUJING: "Implementation of Heterogeneous cluster Scheduler for a suitable HEVC Encoder based on Support Vector Machine", vol. 22, 31 August 2018 (2018-08-31), pages 12 - 16 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113591041A (en) * 2021-09-28 2021-11-02 环球数科集团有限公司 Distributed coding system for preventing code injection or source code decompilation
CN113591041B (en) * 2021-09-28 2021-12-31 环球数科集团有限公司 Distributed coding system for preventing code injection or source code decompilation

Also Published As

Publication number Publication date
KR102296987B1 (en) 2021-09-02
KR20200141651A (en) 2020-12-21

Similar Documents

Publication Publication Date Title
US12003743B2 (en) Video stream decoding method and apparatus, terminal device, and storage medium
JP2022137130A (en) Method and device for encoding/decoding image unit comprising image data represented by luminance channel and at least one chrominance channel
WO2011034380A2 (en) Method and apparatus for encoding and decoding image based on skip mode
WO2011052897A2 (en) Method and apparatus for motion vector encoding/decoding using spatial division, and method and apparatus for image encoding/decoding using same
WO2013141671A1 (en) Method and apparatus for inter-layer intra prediction
WO2012173389A2 (en) Method and apparatus for transmitting/receiving media contents in multimedia system
WO2010068020A9 (en) Multi- view video coding/decoding method and apparatus
WO2012057528A2 (en) Adaptive intra-prediction encoding and decoding method
WO2020251124A1 (en) Machine learning model-based hevc distributed decoding method, device and system using blockchain
WO2015060638A1 (en) Adaptive real-time transcoding method and streaming server therefor
WO2016195325A1 (en) Method and apparatus for transmitting content by inserting tracking information, and method and apparatus for receiving content by inserting tracking information
WO2012081877A2 (en) Multi-view video encoding/decoding apparatus and method
WO2013002620A2 (en) Method and apparatus for encoding motion information using skip mode, and method and apparatus for decoding same
CN111432158A (en) Load balancing method and device for media nodes, storage medium and electronic device
WO2017043702A1 (en) Method for transmitting encrypted packet in communication system
JP2021515468A (en) Methods, devices and computer programs for decoding or coding
WO2013133587A1 (en) Method and apparatus for processing video signals
CN112203086B (en) Image processing method, device, terminal and storage medium
US10944982B1 (en) Rendition switch indicator
TW201445989A (en) System and method for encoding and decoding data
WO2011108841A2 (en) Method and apparatus for generating video packet
WO2012173317A1 (en) Multi-thread encoding and decoding method, encoder and decoder using same, and computer-readable recording medium
WO2023033300A1 (en) Encoding and decoding video data
CN110381320A (en) Signal transmission system, signal codec method and device
US10462482B2 (en) Multi-reference compound prediction of a block using a mask mode

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: 19932479

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: 19932479

Country of ref document: EP

Kind code of ref document: A1