CN107736029B - 对多媒体数据进行编码的方法和设备以及对多媒体数据进行解码的方法和设备 - Google Patents

对多媒体数据进行编码的方法和设备以及对多媒体数据进行解码的方法和设备 Download PDF

Info

Publication number
CN107736029B
CN107736029B CN201680038934.1A CN201680038934A CN107736029B CN 107736029 B CN107736029 B CN 107736029B CN 201680038934 A CN201680038934 A CN 201680038934A CN 107736029 B CN107736029 B CN 107736029B
Authority
CN
China
Prior art keywords
encrypted
bitstream
decrypted
multimedia data
data
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201680038934.1A
Other languages
English (en)
Other versions
CN107736029A (zh
Inventor
李男淑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN107736029A publication Critical patent/CN107736029A/zh
Application granted granted Critical
Publication of CN107736029B publication Critical patent/CN107736029B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开的一个实施例提供一种生成加密的多媒体比特流的方法,所述方法包括以下步骤:获得经处理的多媒体数据;从所述经处理的多媒体数据当中选择待加密对象;对所选择的待加密对象进行编码;基于所述编码的步骤的结果将所述经处理的多媒体数据转换成编码的多媒体数据;以及对所述编码的多媒体数据进行编码从而生成编码的多媒体比特流。

Description

对多媒体数据进行编码的方法和设备以及对多媒体数据进行 解码的方法和设备
技术领域
本公开涉及提供数据的方法,并且更具体地,涉及对多媒体数据进行加密的方法和装置以及对多媒体数据进行解密的方法和装置。
背景技术
最近,在各个领域中,压缩技术被应用来高效地处理多媒体数据。
当前,正在开发用于提高压缩率的各种编解码器。例如,用于图像压缩的编解码器可以包括联合图像专家组(JPEG)、JPEG2000、无损JPEG、便携式网络图形(PNG)、图片运动浏览器(PMB)等,并且用于视频压缩的编解码器可以包括运动JPEG、动态图像专家组-1(MPEG-1)、MPEG-2、MPEG-4、H.263、H.264、高效视频编码(HEVC)等。另外,用于音频压缩的编解码器可以包括MPEG-1层I、MPEG-1层II、MPEG-1层III、高级音频编码(AAC)、高效高级音频编码(HE-AAC)、自由无损音频编解码器(FLAC)等,并且用于语音压缩的编解码器可以包括G.711、G.718、自适应多速率(AMR)、自适应多速率宽带(AMR-WB)等。
不同的压缩方法被用于不同类型的多媒体压缩,并且即使多媒体的类型是相同的,为了压缩效率也会使用各种压缩方法。
因为在物联网(IoT)时代出现关于个人信息保护的问题,所以对于多媒体内容的加密/解密的需求日益增加。特别地,对于对压缩的多媒体数据比特流执行加密/解密同时维持其编解码器特性的技术的需求日益增加。
发明内容
技术问题
提供的是一种对压缩的多媒体数据比特流执行加密/解密同时维持其编解码器特性的方法和技术。
技术方案
根据本公开的第一方面,提供了一种生成加密的多媒体比特流的方法,所述方法包括以下步骤:获得经处理的多媒体数据;从所述经处理的多媒体数据当中选择待加密对象;对所选择的待加密对象进行加密;基于所述加密的结果将所述经处理的多媒体数据转换成加密的多媒体数据;以及通过对所述加密的多媒体数据进行编码来生成加密的多媒体比特流。
有益效果
能够对压缩的多媒体数据比特流执行加密/解密同时维持其编解码器特性。
附图说明
图1是根据一些实施例的用于描述对多媒体比特流进行加密的方法的图。
图2是根据一些实施例的用于描述生成加密的多媒体比特流的方法的图。
图3是根据一些实施例的用于描述基于多媒体比特流来获得加密的多媒体比特流的方法的图。
图4是根据一些实施例的用于描述将多媒体比特流转换成编码的多媒体比特流的方法的图。
图5是根据一些实施例的用于描述从图像生成加密的比特流的方法的图。
图6是根据一些实施例的用于描述在不用将待加密对象转换成比特流的情况下直接对待加密对象进行加密的方法的图。
图7是根据一些实施例的用于描述将待加密对象转换成比特流并直接对该比特流进行加密的方法的图。
图8是根据一些实施例的用于描述通过使用预设映射表来对待加密对象进行加密的方法的图,所述方法由设备来执行。
图9是根据一些实施例的用于描述通过对比特流应用128比特AES CTR来对比特流进行加密的方法的图,所述方法由设备来执行。
图10是根据一些实施例的用于描述对多媒体比特流中的一些进行加密的方法的图。
图11是根据实施例的其部分被加密的多媒体比特流的表达的图。
图12是根据一些实施例的用于描述加密补偿的图。
图13是根据一些实施例的用于描述对加密的比特流进行解密的方法的图。
图14是根据一些实施例的用于描述对待解密的解密对象进行解密并重建图像的方法的图。
图15是根据一些实施例的用于描述在不用将待解密的解密对象转换成比特流的情况下直接对待解密的解密对象进行解密的方法的图。
图16是根据一些实施例的用于描述将待解密的解密对象转换成比特流并直接对转换的比特流进行解密的方法的图。
图17是根据一些实施例的用于描述通过使用预设映射表来对待解密的解密对象进行解密的方法的图,所述方法由设备1000来执行。
图18是根据一些实施例的用于描述解密的解密补偿的图。
图19是根据一些实施例的用于描述设备的框图。
图20是根据一些实施例的用于描述设备的详细框图。
具体实施方式
根据本公开的第一方面,提供了一种生成加密的多媒体比特流的方法,所述方法包括以下步骤:获得经处理的多媒体数据;从所述经处理的多媒体数据当中选择待加密对象;对所选择的待加密对象进行加密;基于所述加密的结果将所述经处理的多媒体数据转换成加密的多媒体数据;以及通过对所述加密的多媒体数据进行编码来生成加密的多媒体比特流。
所述编码可以包括熵编码,并且可以在执行所述熵编码之前执行所述加密。
获得所述经处理的多媒体数据的步骤可以包括:获得通过基于随机编解码器对多媒体数据进行编码而生成的比特流;以及通过对所获得的比特流执行熵解码来获得所述经处理的多媒体数据。
获得所述的经处理的多媒体数据的步骤可以包括:获得多媒体数据;对所获得的多媒体数据执行数字化;以及基于所述数字化的执行的结果来获得所述经处理的多媒体数据。
对所选择的待加密对象进行加密的步骤可以包括直接对所选择的待加密对象进行加密,而不包括将所选择的待加密对象转换成比特流的过程。
对所选择的待加密对象进行加密的步骤可以包括:基于预设映射表获得与所选择的待加密对象相对应的预定值;通过对所述预定值执行二进制转换来获得比特流;通过对所获得的比特流应用加密过程来获得加密的比特流;以及基于所述预设映射表获得与所述加密的比特流相对应的加密数据。
在通过对所述预定值执行二进制转换来获得比特流时,可以确定所述预定值中的每一个的比特大小信息,并且可以基于所确定的比特大小信息对所述预定值执行所述二进制转换。
所述加密过程可以包括直接对所述比特流进行加密。
选择待加密对象的步骤可以包括选择所述经处理的多媒体数据中的一些。
选择待加密对象的步骤可以包括选择所述经处理的多媒体数据的整个部分。
所述方法可以进一步包括以下步骤:获得元数据;从所述元数据中选择待加密对象;对所选择的待加密对象进行加密;基于所述加密的结果将所述元数据转换成加密的元数据;以及通过对所述加密的元数据进行编码来将所述元数据转换成加密的元比特流。
根据本公开的第二方面,提供了一种对加密的多媒体比特流进行解密的方法,所述方法包括以下步骤:通过对加密的多媒体比特流进行解码来获得加密的多媒体数据;从所述加密的多媒体数据当中选择待解密对象;对所选择的待解密对象进行解密;基于所述解密的结果将所述加密的多媒体数据转换成解密的多媒体数据;以及通过对所述解密的多媒体数据进行编码来生成解密的多媒体比特流。
所述解码可以包括熵解码并且所述编码可以包括熵编码,以及可以在执行所述熵解码之后并且在执行所述熵编码之前执行所述解密。
对所选择的待解密对象进行解密的步骤可以包括直接对所选择的待解密对象进行解密,而不包括将所选择的待解密对象转换成比特流的过程。
对所选择的待解密对象进行解密的步骤可以包括:基于预设映射表获得与所选择的待解密对象相对应的预定值;通过对所述预定值执行二进制转换来获得比特流;通过对所获得的比特流应用解密过程来获得解密的比特流;以及基于所述预设映射表获得与所述解密的比特流相对应的解密数据。
在通过对所述预定值执行二进制转换来获得比特流时,可以确定所述预定值中的每一个的比特大小信息,并且可以基于所确定的比特大小信息对所述预定值执行所述二进制转换。
所述解密过程可以包括直接对所述比特流进行解密。
对所述待解密对象进行选择的步骤可以进一步包括:从所述加密的多媒体数据当中搜索加密数据;以及选择所搜索到的数据中的一些。
对所述待解密对象进行选择的步骤可以进一步包括:从所述加密的多媒体数据当中搜索加密数据;以及选择所有所搜索到的数据。
所述方法可以进一步包括以下步骤:获得加密的元数据;从所述加密的元数据当中选择待解密对象;对所选择的待解密对象进行解密;基于所述解密的结果将所述加密的元数据转换成解密的元数据;以及通过对所述解密的元数据进行编码来生成解密的多媒体比特流。
根据本公开的第三方面,提供了一种用于生成加密的多媒体比特流的设备,所述设备包括:加密接口,所述加密接口被配置为:获得经处理的多媒体数据,从所述经处理的多媒体数据当中选择待加密对象,通过对所选择的待加密对象进行加密来将所述经处理的多媒体数据转换成加密的多媒体数据,并且通过对所述加密的多媒体数据进行编码来生成加密的多媒体比特流。
所述编码可以包括熵编码,并且可以在执行所述熵编码之前执行所述加密。
所述设备可以进一步包括通信接口,所述通信接口被配置为:获得通过基于随机编解码器对多媒体数据进行编码而生成的比特流,并且所述加密接口可以被进一步配置为:通过对由所述通信接口获得的所述比特流执行熵解码来获得所述经处理的多媒体数据。
所述加密接口可以被进一步配置为:直接对所选择的待加密对象进行加密,而不包括将所选择的待加密对象转换成比特流的过程。
所述加密接口可以被进一步配置为:基于预设映射表获得与所选择的待加密对象相对应的预定值;通过对所述预定值执行二进制转换来获得比特流;通过对所获得的比特流应用加密过程来获得加密的比特流;并且基于所述预设映射表获得与所述加密的比特流相对应的加密数据。
所述加密接口可以被进一步配置为:确定所述预定值中的每一个的比特大小信息,并且基于所确定的比特大小信息对所述预定值执行所述二进制转换。
所述加密接口可以被进一步配置为:获得元数据;从所述元数据当中选择待加密对象;通过对所选择的待加密对象进行加密来将所述元数据转换成加密的元数据;并且通过对所述加密的元数据进行编码来生成加密的元比特流。
根据本公开的第四方面,提供了一种用于对加密的多媒体比特流进行解密的设备,所述设备包括:解密接口,所述解密接口被配置为:通过对加密的多媒体比特流进行解密来获得加密的多媒体数据,从所述加密的多媒体数据当中选择待解密对象,对所选择的待解密对象进行解密,基于所述解密的结果将所述加密的多媒体数据转换成解密的多媒体数据,并且通过对所述解密的多媒体数据进行编码来生成解密的多媒体比特流。
所述解码可以包括熵解码并且所述编码可以包括熵编码,以及可以在执行所述熵解码之后并且在执行所述熵编码之前执行所述解密。
所述解密接口可以被进一步配置为直接对所选择的待解密的解密对象进行解密,而不包括将所选择的待解密的解密对象转换成比特流的过程。
所述解密接口可以被进一步配置为:基于预设映射表获得与所选择的待解密对象相对应的预定值;通过对所述预定值执行二进制转换来获得比特流;通过对所获得的比特流应用解密过程来获得解密的比特流;并且基于所述预设映射表获得与所述解密的比特流相对应的解密数据。
所述解密接口可以被进一步配置为:确定所述预定值中的每一个的比特大小信息,并且基于所确定的比特大小信息对所述预定值执行所述二进制转换。
所述解密接口可以被进一步配置为:获得加密的元数据;从所述加密的元数据当中选择待解密对象;对所选择的待解密对象进行解密;基于所述解密的结果将所述加密的元数据转换成解密的元数据;并且通过对所述解密的元数据进行编码来生成解密的元比特流。
本发明的实施例
现在将参考附图更充分地描述本公开的实施例,以便本领域的普通技术人员能够毫无困难地执行本公开。然而,本公开可以以许多不同的形式来实现,而不应当被解释为限于本文所阐述的实施例。在附图中,为了本公开的更清楚描述,省略了与描述无关的部件或单元,并且贯穿本说明书,在附图中相似的附图标记表示相似的元件。
贯穿本说明书,也应理解的是,当一个元件被称为“连接到”另一元件或者“与”另一元件“耦合”时,它可以直接连接到另一元件或者直接与另一元件耦合,或者它可以通过插置在二者之间的中间元件来电连接到另一元件或者与另一元件耦合。另外,当一部件“包含”或者“包括”一个元件时,除非有与此相反的特定描述,否则该部件能够进一步包括其它元件,而不排除其它元件。
在下文中,参考附图,现在将详细地描述本公开。
图1是根据一些实施例的用于描述对多媒体比特流进行加密的方法的图。
根据一些实施例,设备1000可以获得经处理的多媒体数据。
例如,设备1000可以处理获得的图片数据,从而获得经处理的图片数据。
另外,设备1000可以获得图片比特流并且可以对所获得的比特流进行解码,从而获得经处理的图片数据。例如,设备1000可以对所获得的比特流进行熵解码,从而获得经处理的图片数据。
设备1000可以选择经处理的多媒体数据中的一些作为待加密对象。例如,设备1000可以通过处理由多个块构成的图片数据来获得经处理的图片数据,并且可以选择来自经处理的图片数据当中的指示人的面部的数据作为待加密对象。
根据一些实施例,设备1000可以不将所选择的待加密对象转换成比特流,而是可以直接对所选择的待加密对象进行加密。
另外,设备1000可以将所选择的待加密对象转换成比特流,并且可以以比特流的形式对待加密对象进行加密。在这种情况下,设备1000可以将加密的比特流转换成数据,从而获得加密数据。
根据一些实施例,设备1000可以对待加密对象进行加密,从而获得加密数据。另外,设备1000可以通过将经处理的多媒体数据当中的待加密对象转换成加密数据来将经处理的多媒体数据转换成加密的多媒体数据。
设备1000可以通过对加密的多媒体数据进行编码来生成加密的多媒体比特流。
编码可以包括熵编码。熵编码是指将数据转换成比特流的方法。例如,设备1000可以通过使用熵编码来将加密的多媒体数据转换成1和0的组合。
根据一些实施例,设备1000可以在执行熵编码之前对所选择的待加密对象进行加密。设备1000可以在执行熵编码之前对待加密对象进行加密,从而生成可由现有的解码设备使用的加密的多媒体比特流。
图2是根据一些实施例的用于描述生成加密的多媒体比特流的方法的图。
在操作S210中,设备1000可以获得经处理的多媒体数据。
根据一些实施例,设备1000可以获得多媒体数据。多媒体数据是指语音、文本、图片、视频等混合的各种类型的数据。例如,多媒体数据可以包括但不限于图片数据、歌曲数据、视频数据、音频数据、文本数据、动画(flash)数据等。
根据一些实施例,设备1000可以获得元数据。元数据是指用于描述多媒体数据的数据。例如,元数据可以包括在生成多媒体数据时所使用的相机的制造商、相机的型号信息或其组合。另外,元数据可以包括但不限于关于相机在生成多媒体数据时的方向、日期和时间、相机的焦距、相机的闪光灯的开/关、相机的ISO速度、相机的快门速度、相机的位置、全球定位系统(GPS)等的信息。
根据一些实施例,多媒体数据的元数据可以具有各种格式。例如,多媒体数据的元数据可以具有但不限于机读目录(MARC)格式、都柏林核心格式、标签格式和可交换图像文件格式。
设备1000可以对多媒体数据、元数据或其组合应用至少一个子编码模块。子编码模块是指在将各种编解码器应用于多媒体数据、元数据或其组合并且对多媒体数据、元数据或其组合进行压缩时使用的子模块。例如,子编码模块可以包括但不限于离散余弦变换(DCT)变换模块、数字化模块、预测模块、熵编码模块和熵解码模块。
设备1000可以包括多个子编码模块。多个子编码模块可以由一个处理器来实现,可以各自由相应的处理器来实现,或者可以由多个处理器来实现,但是本公开不限于此。
设备1000可以对多媒体数据应用至少一个子编码模块,从而获得经处理的多媒体数据。例如,设备1000可以对多媒体数据应用DCT变换模块和数字化模块,从而获得经处理的多媒体数据。
另外,设备1000可以对元数据应用至少一个子编码模块,从而获得经处理的多媒体数据。
经处理的多媒体数据可以包括在对多媒体数据进行编码的过程中生成的各种参数。例如,经处理的多媒体数据可以包括但不限于差分编码的DC值、数字化的样本和AC编码的样本。
根据另一实施例,设备1000可以通过使用多媒体比特流来获得经处理的多媒体数据。
设备1000可以直接对多媒体数据进行编码,从而获得多媒体比特流。另外,设备1000可以从外部设备接收多媒体比特流。
比特流包括至少一个比特组,并且比特是指数据的单位。另外,多媒体比特流是指通过对多媒体数据应用编解码器并且对多媒体数据进行压缩而生成的比特流,并且元比特流指示从元数据转换的比特流。例如,多媒体比特流可以包括一组比特,并且该组比特可以指示图片。
设备1000可以对多媒体比特流应用子编码模块,从而获得经处理的多媒体数据。例如,设备1000可以对多媒体比特流应用熵解码模块,从而获得经处理的多媒体数据。
熵解码模块是指用于执行熵解码的模块。熵解码指示将比特流转换成与该比特流相对应的数据的编码方法。熵解码可以包括但不限于霍夫曼方法、算术变换编码方法等。
在操作S230中,设备100可以从经处理的多媒体数据当中选择待加密对象。
根据一些实施例,设备1000可以选择待加密对象。
例如,设备1000可以选择经处理的多媒体数据中的一些作为待加密对象。另外,设备1000可以选择经处理的多媒体数据的整个部分作为待加密对象。
例如,设备1000可以通过处理由多个块构成的图片数据来获得经处理的图片数据,并且可以选择指示经处理的图片数据当中的第一块的数据作为待加密对象。
设备1000可以基于预设标准来选择待加密对象。例如,在将图片数据中包括的人预设为待加密对象的情况下,设备1000可以处理该图片数据,并且可以选择来自经处理的图像数据当中的指示人的数据作为待加密对象。
另外,设备1000可以基于用户输入来选择待加密对象。例如,在用户将图片数据中包括的人输入为待加密对象的情况下,设备1000可以处理该图片数据,并且可以选择来自经处理的图像数据当中的指示人的数据作为待加密对象。
根据一些实施例,所选择的待加密对象可以包括各种参数。例如,所选择的待加密对象可以包括但不限于差分编码的DC值、数字化的样本或AC编码的样本。
另外,设备1000可以选择元数据作为待加密对象。例如,设备1000可以选择元数据的整个部分、元数据中的一些或经处理的元数据作为待加密对象。
在操作S250中,设备1000可以对所选择的待加密对象进行加密。
根据一些实施例,设备1000可以不将所选择的待加密对象转换成比特流,而是可以直接对所选择的待加密对象进行加密。
例如,设备1000可以通过对待加密对象中包括的参数的值应用预定函数来对待加密对象进行加密。
作为另一示例,设备1000可以基于预设规则通过将待加密对象中包括的第一块的参数与第二块的参数交换来对待加密对象进行加密。
另外,设备1000可以通过改变待加密对象中包括的参数的值的符号来对待加密对象进行加密。
另外,设备1000可以通过使用预设加密密钥来改变经处理的多媒体数据中包括的参数的符号而对待加密对象进行加密。
根据另一实施例,设备1000可以将所选择的待加密对象转换成比特流,可以对该比特流进行加密,并且可以将加密的比特流转换成数据,从而对待加密对象进行加密。
设备1000可以将来自经处理的多媒体数据当中的所选择的待加密对象转换成比特流。
例如,设备1000可以将待加密对象映射到预设映射表,从而获得与待加密对象相对应的预定值。另外,设备1000可以对所获得的预定值执行二进制转换,从而获得与待加密对象相对应的比特流。
当设备1000执行二进制转换时,设备1000可以基于每个预定值的比特大小信息来执行二进制转换。
设备1000可以对所获得的比特流进行加密。例如,设备1000可以通过使用适用于比特流的加密方法来对所获得的比特流进行加密。适用于比特流的加密方法可以包括但不限于高级加密标准(AES)、Blowfish、数据加密标准(DES)、Serpent、Twofish、Camellia、CAST-128、国际数据加密算法(IDEA)、RC2、RC5、SEED等。
设备1000可以将加密的比特流转换成数据,从而获得加密数据。例如,设备1000可以通过对加密的比特流执行二进制反转换来获得预定值,并且可以通过将预定值映射到预设映射表来获得加密数据。
根据一些实施例,加密数据可以被限于为编解码器所允许的范围内的值。例如,当设备1000对被编码为JPEG的多媒体比特流进行加密时,由设备1000加密的数据可以被限于为JPEG所允许的范围。
在操作S270中,设备1000可以基于加密的结果将经处理的多媒体数据转换成加密的多媒体数据。
根据一些实施例,设备1000可以通过对待加密对象进行加密来获得加密数据。另外,设备1000可以将来自经处理的多媒体数据当中的待加密对象转换成加密数据,使得设备1000可以将经处理的多媒体数据转换成加密的多媒体数据。另外,设备1000可以将来自经处理的元数据当中的待加密对象转换成加密数据,使得设备1000可以将经处理的元数据转换成加密的元数据。
例如,当由设备1000选择的待加密对象是来自由多个块构成的图片数据当中的第一块时,设备1000可以通过对指示第一块的数据进行加密来获得加密数据。设备1000可以将指示来自经处理的图片数据当中的第一块的数据转换成加密数据,使得设备1000可以获得加密的图片数据。
在操作S290中,设备1000可以通过对加密的多媒体数据进行编码来生成加密的多媒体比特流。
设备1000可以对加密的多媒体数据进行编码,从而生成加密的多媒体比特流。另外,设备1000可以对加密的元数据进行编码,从而生成加密的元比特流。
例如,当设备1000选择来自经处理的图片数据当中的人的数据作为待加密对象时,设备1000可以通过将来自经处理的图片数据当中的指示人的数据转换成加密数据来生成加密的多媒体数据,并且可以通过对加密的多媒体数据进行编码来生成加密的图片比特流。
编码可以包括熵编码。熵编码是指将数据转换成比特流的方法。例如,设备1000可以通过使用熵编码来将加密的多媒体数据转换成1和0的组合。
熵解码可以包括但不限于霍夫曼编码、算术变换编码、游程编码、上下文的自适应可变长度编码(CAVLC)、上下文的自适应二进制算术编码(CABAC)等。
根据一些实施例,设备1000可以对加密的多媒体数据应用与应用于多媒体比特流的编解码器相对应的熵编码。
例如,当应用于多媒体比特流的编解码器是H.265并且在H.265中使用的熵编码方法是CABAC时,设备1000可以通过使用CABAC来对加密的多媒体数据进行熵编码。
根据一些实施例,设备1000可以在执行熵编码之前对所选择的待加密对象进行加密。设备1000在执行熵编码之前对所选择的待加密对象进行加密,使得设备1000可以生成可由现有的解码设备使用的加密的多媒体比特流。
图3是根据一些实施例的用于描述基于多媒体比特流来获得加密的多媒体比特流的方法的图。
设备1000可以获得多媒体比特流。例如,设备1000可以从外部设备接收多媒体比特流,或者可以通过对多媒体数据进行编码来获得多媒体比特流。
多媒体比特流可以包括多个比特组。另外,多个比特组可以各自包括报头区域和净荷区域。
设备1000可以对多媒体比特流执行熵解码,从而获得经处理的多媒体数据。经处理的多媒体数据可以包括多个参数(Val1、Val2、Val3、Val4、Val5、Val6……)。
设备1000可以从经处理的多媒体数据当中选择待加密对象。例如,设备1000可以选择经处理的多媒体数据中包括的多个参数(Val1、Val2、Val3、Val4、Val5、Val6……)中的一些作为待加密对象。另外,设备1000可以选择经处理的多媒体数据中包括的多个参数(Val1、Val2、Val3、Val4、Val5、Val6……)中的全部作为待加密对象。
设备1000可以对所选择的待加密对象进行加密。例如,设备1000可以不将所选择的待加密对象转换成比特流,而是可以直接对所选择的待加密对象进行加密。另外,设备1000可以将选择的待加密对象转换成比特流,可以对该比特流进行加密,并且可以将加密的比特流转换成数据,从而获得加密数据。
设备1000可以对待加密对象进行加密,从而将经处理的多媒体数据转换成加密的多媒体数据。例如,设备1000可以对经处理的多媒体数据中包括的多个参数(Val1、Val2、Val3、Val4、Val5、Val6、……)进行加密,从而获得包括加密数据的加密的多媒体数据(EVal1、EVal2、EVal3、EVal4、EVal5、EVal6、……)。
设备1000可以通过对加密的多媒体数据进行编码来生成加密的多媒体比特流。
编码可以包括熵编码。熵编码是指将数据转换成比特流的方法。例如,设备1000可以通过使用熵编码来将参数转换成1和0的组合。
熵编码可以包括但不限于霍夫曼编码、算术变换编码、固定长度编码、CAVLC、CABAC等。
根据一些实施例,设备1000可以通过使用获得加密的多媒体比特流的相同方法来获得加密的元数据。
图4是根据一些实施例的用于描述将多媒体比特流转换成编码的多媒体比特流的方法的图。
设备1000可以获得多媒体比特流。例如,设备1000可以从外部设备接收多媒体比特流,或者可以通过对多媒体数据进行编码来获得多媒体比特流。
设备1000可以对多媒体比特流执行熵解码,从而获得经处理的多媒体数据。经处理的多媒体数据可以包括多个参数(70、-1、-1、0、-1、……)。
设备1000可以从经处理的多媒体数据当中选择待加密对象。例如,设备1000可以选择经处理的多媒体数据中包括的多个参数(70、-1、-1、0、-1、……)中的一些作为待加密对象。另外,设备1000可以选择经处理的多媒体数据中包括的多个参数(70、-1、-1、0、-1、……)中的全部作为待加密对象。
设备1000可以通过对所选择的待加密对象进行加密来将待加密对象转换成加密数据。例如,设备1000可以通过对经处理的多媒体数据中包括的多个参数(70、-1、-1、0、-1、……)进行加密来获得加密数据(64、1、1、0、1、……)。
根据一些实施例,设备1000可以不将所选择的待加密对象转换成比特流,而是可以直接对所选择的待加密对象进行加密。
根据另一实施例,设备1000可以将所选择的待加密对象(70、-1、-1、0、-1、……)转换成比特流,可以对该比特流进行加密,并且可以将加密的比特流转换成数据,从而将待加密对象转换成加密数据(64、1、1、0、1、……)。
设备1000可以通过对包括加密数据的加密的多媒体数据进行编码来生成加密的多媒体比特流。
编码可以包括熵编码。熵编码是指将数据转换成比特流的方法。例如,设备1000可以通过使用熵编码来将多个参数转换成1和0的组合。
熵编码可以包括但不限于霍夫曼编码、算术变换编码、固定长度编码、CAVLC、CABAC等。
根据一些实施例,设备1000可以通过使用将多媒体比特流转换成加密的多媒体比特流的相同方法来将元比特流转换成加密的元比特流。
图5是根据一些实施例的用于描述从图像生成加密的比特流的方法的图。
根据一些实施例,图像数据可以被划分成多个块。例如,图像数据可以被划分成具有大小为4×4、8×8或16×16的多个块,但是本公开不限于此。
参考图5,图片数据可以被划分成各自具有大小为8×8的多个块。具有大小为8×8的多个块中的每一个可以具有64个样本值。
根据一些实施例,设备1000可以对多个块中的每一个应用DCT变换。结果,设备1000可以获得DCT变换的样本值。
根据一些实施例,设备1000可以对DCT变换的样本值进行数字化。结果,设备1000可以获得数字化的样本值。
设备1000可以对数字化的样本值执行DC编码和AC编码,从而获得经处理的多媒体数据。
设备1000可以从经处理的多媒体数据当中选择待加密对象。例如,设备1000可以选择指示第一块的参数中的一些作为待加密对象。
另外,设备1000可以选择来自指示多个块的参数当中的指示一些块的参数作为待加密对象。
例如,设备1000可以选择来自图片数据中包括的块当中的人的面部中包括的块作为待加密对象,并且可以选择来自图片数据中包括的块当中的指示人的面部中包括的块的参数作为待加密对象。
设备1000可以通过对来自经处理的多媒体数据当中的所选择的待加密对象进行加密来获得加密的多媒体数据。另外,设备1000可以对加密的多媒体数据应用熵编码,从而获得加密的多媒体比特流。
图6是根据一些实施例的用于描述在不用将待加密对象转换成比特流的情况下直接对待加密对象进行编码的方法的图。
根据一些实施例,设备1000可以不将待加密对象转换成比特流,而是可以直接对该待加密对象进行加密。
例如,当待加密对象是多个参数时,设备1000可以直接对多个参数进行加密。例如,设备1000可以改变作为待加密对象的多个参数中的每一个的符号,从而对作为待加密对象的多个参数进行加密。
另外,例如,设备1000可以通过使用预设加密密钥来改变作为待加密对象的多个参数中的每一个的符号,从而对作为待加密对象的所述多个参数进行加密。
另外,例如,当待加密对象是指示第一块的多个参数时,设备1000可以基于预设规则通过将指示第一块的多个参数与另一块的参数交换来对作为待加密对象的多个参数进行加密。
另外,例如,当待加密对象是指示第一块的多个参数时,设备1000可以通过用另一块的参数对指示第一块的多个参数进行加扰来对作为待加密对象的多个参数进行加密。
另外,例如,设备1000可以通过对作为待加密对象的多个参数应用特定函数来改变该多个参数而对作为待加密对象的多个参数进行加密。
图7是根据一些实施例的用于描述将待加密对象转换成比特流并直接对该比特流进行加密的方法的图。
根据一些实施例,设备1000可以将所选择的待加密对象转换成比特流,可以对转换的比特流进行加密,并且可以将加密的比特流转换成数据,从而对待加密对象进行加密。
在操作S710中,设备1000可以基于预设映射表获得与所选择的待加密对象相对应的预定值。
根据一些实施例,由设备1000选择的待加密对象可以包括多个系数。例如,由设备1000选择的待加密对象可以包括各自具有来自大于-1023且小于1023的值当中的值的多个系数。
根据一些实施例,设备1000可以基于映射表确定所选择的待加密对象中包括的每个系数的值的范围。
例如,映射表可以将每个系数的范围分类为第零范围(0)、第一范围(-1、1)、第二范围(-3、-2、2、3)、第三范围(-7、……、-4、4、……、7)、第四范围(-15、……、-8、8、……、15)、第五范围(-31、……、-16、16、……、31)、第六范围(-63、……、-32、32、……、63)、第七范围(-127、……、-64、64、……、127)、第八范围(-255、……、-128、128、……、255)、第九范围(-511、……、-256、256、……、511)、第十范围(-1023、……、-512、512、……、1023)或第十一范围(-2047、……、-1024、1024、……、2047)。设备1000可以基于映射表将每个系数的范围确定为第零范围至第十一范围中的一个。
每当设备1000执行加密时设备1000可以改变映射表,所述映射表是待加密对象中包括的每个系数的值的范围的参考。或者,设备1000可以通过一致地使用同一映射表来确定待加密对象中包括的每个系数的值的范围。
设备1000可以基于用户输入来生成、改变或者删除映射表。另外,设备1000可以从外部设备接收映射表,并且可以使用预先存储的映射表。
设备1000中存储的映射表可以包括分别与映射表中包括的范围相对应的各种变量。例如,设备1000中存储的映射表可以包括最大值变量(MV)。最大值变量(MV)意味着可以被包括在每个划分的区域中的最大值。
例如,设备1000中存储的映射表可以包括作为第零区域的最大值变量(MV)的0、作为第一区域的最大值变量的1以及作为第二区域的最大值变量的3。
设备1000可以使系数的值的各自确定的范围与映射表相匹配,从而获得与所确定的范围相对应的各自的最大值变量。
例如,当待加密对象中包括的第一系数的值的范围对应于第零范围时,设备1000可以使第零范围与映射表相匹配,从而获得作为与第零范围相对应的最大值变量的0。
作为另一示例,当待加密对象中包括的第一系数的值的范围对应于第一范围时,设备1000可以使第一范围与映射表相匹配,从而获得作为与第一范围相对应的最大值变量的1。
作为另一示例,当待加密对象中包括的第二系数的值的范围对应于第二范围时,设备1000可以使第二范围与映射表相匹配,从而获得作为与第二范围相对应的最大值变量的3。
设备1000可以基于待加密对象中包括的系数的所确定的各自的值以及与待加密对象中包括的系数的值的所确定的范围相对应的最大值变量,来获得预定值。
[式1]
If(diff_val<0){val=diff_val+MV}
else{val=diff_val}
例如,设备1000可以通过使用式1来获得预定值。diff_val指示待加密对象中包括的系数的值,val指示预定值,并且MV指示与系数的值的各自确定的范围相对应的最大值变量。
例如,当来自待加密对象中包括的多个系数当中的第一系数的值(diff_val)小于0时,设备1000可以获得{第一系数的值(diff_val)+最大值变量(MV)}的结果作为与第一系数相对应的预定值(val)。当待加密对象中包括的多个系数中的第一系数的值大于0时,设备1000可以获得第一系数的值(diff_val)作为与第一系数的值相对应的预定值(val)。
例如,当来自待加密对象中包括的多个系数当中的第一系数的值是-124时,设备1000可以基于映射表获得第一系数的值的范围为第七范围(-127、……、-64、64、……、127)。另外,设备1000可以从映射表获得作为与第七范围相对应的最大值变量(MV)的127。
设备1000可以将作为第一系数的-124应用于式1。通过将第一系数应用于式1,设备1000可以获得(val=-124+127=3)作为预定值。
在操作S730中,设备1000可以对预定值执行二进制转换,从而获得比特流。
根据一些实施例,设备1000可以对所获得的预定值执行二进制转换。例如,设备1000可以通过对所获得的预定值执行二进制转换来将所获得的预定值表达为0或1。
设备1000可以确定所获得的预定值的比特大小信息。例如,设备1000可以基于与所获得的预定值相对应的待加密对象的值的范围来确定比特大小信息。
例如,当来自待加密对象中包括的所述多个系数当中的第一系数的值是-124时,设备1000可以基于映射表来获得第一系数的值的范围为第七范围(-127、……、-64、64、……、127),并且可以获得与第一系数相对应的预定值(val=3)。
另外,设备1000可以基于与预定值相对应的第一系数的值的范围来获得所获得的预定值(val=3)的比特大小信息。
例如,设备1000可以将作为第一系数的值的范围的第七范围映射到映射表,使得设备1000可以获得作为预定值的比特大小信息的7。
设备1000可以基于比特大小信息对所获得的预定值执行二进制转换。
例如,设备1000可以通过使用7比特来对预定值(val=3)执行二进制转换。例如,设备1000可以将预定值(val=3)转换成“0000011”。
在操作S750中,设备1000可以对比特流应用加密过程,从而获得加密的比特流。
根据一些实施例,设备1000可以将加密过程应用于比特流。例如,设备1000可以通过使用适用于比特流的加密过程来对该比特流进行加密。
适用于比特流的加密过程可以包括但不限于AES、Blowfish、DES、Serpent、Twofish、Camellia、CAST-128、IDEA、RC2、RC5和SEED。
设备1000可以对比特流进行加密,从而获得加密的比特流。
例如,设备1000可以对基于预定值所获得的比特流“0000011”进行加密,从而获得加密的比特流“0001101”。
在操作S770中,设备1000可以基于预设映射表获得与加密的比特流相对应的加密数据。
根据一些实施例,设备1000可以对加密的比特流应用二进制反转换,从而获得预定值。
例如,当加密的比特流是“0001101”时,设备1000可以通过对“0001101”执行二进制反转换来获得13作为预定值。
设备1000可以将加密的比特流的比特大小信息映射到映射表,从而获得与加密的比特流相对应的各种信息。
例如,设备1000可以将加密的比特流的比特大小信息映射到映射表,从而获得加密的比特流的边界变量。
例如,设备1000可以使作为加密的比特流(“0001101”)的比特大小信息的7与映射表相匹配,使得设备1000可以获得作为与加密的比特流(“0001101”)相对应的边界变量的64。
另外,设备1000可以将加密的比特流的比特大小信息映射到映射表,从而获得与加密的比特流相对应的加密数据的最大值变量(MV)。最大值变量(MV)意味着包括加密数据的区域的最大值。
根据一些实施例,设备1000可以通过使用与加密的比特流相对应的预定值、与加密的比特流相对应的边界变量以及与加密的比特流相对应的最大值变量(MV)来获得与加密的比特流相对应的加密数据。
[式2]
If(val2<limit){Eval=val2-MV}
else{Eval=val2}
例如,设备1000可以通过使用式2来获得加密数据。val2指示与加密的比特流相对应的预定值,limit指示与加密的比特流相对应的边界变量,并且MV指示与加密的比特流相对应的最大值信息。
例如,当与加密的比特流相对应的预定值(val2)小于与加密的比特流相对应的边界变量(limit)时,设备1000可以将{预定值(val2)-与加密的比特流相对应的最大值信息(MV)}的结果确定为与加密的比特流相对应的加密数据(Eval)。
另外,当与加密的比特流相对应的预定值(val2)大于与加密的比特流相对应的边界变量(limit)时,设备1000可以将预定值(val2)确定为与加密的比特流相对应的加密数据(Eval)。
例如,当加密的比特流是“0001101”时,设备1000可以通过对“0001101”执行二进制反转换来获得13作为预定值。另外,设备1000可以使作为加密的比特流(“0001101”)的比特大小信息的7与映射表相匹配,使得设备1000可以获得64作为与加密的比特流(“0001101”)相对应的边界变量。另外,设备1000可以使作为加密的比特流(“0001101”)的比特大小信息的7与映射表相匹配,使得设备1000可以获得127作为与加密的比特流(“0001101”)相对应的最大值信息。
在这种情况下,作为预定值的13小于作为边界变量的64,因此,设备1000可以获得-114(13-127=-114)作为与加密的比特流(“0001101”)相对应的加密数据(Eval)。
设备1000可以对待加密对象中包括的每个系数进行加密并且可以在加密之后执行熵编码,使得设备1000可以对多媒体比特流进行加密,同时维持先前被应用于该多媒体比特流的编解码器特性。
图8是根据一些实施例的用于描述通过使用预设映射表来对待加密对象进行加密的方法的图,所述方法由设备1000来执行。
根据一些实施例,设备1000可以基于预设映射表来确定所选择的待加密对象中包括的每个系数的值的范围。
例如,映射表可以将每个系数的范围分类为第零范围(0)、第一范围(-1、1)、第二范围(-3、-2、2、3)、第三范围(-7、……、-4、4、……、7)、第四范围(-15、……、-8、8、……、15)、第五范围(-31、……、-16、16、……、31)、第六范围(-63、……、-32、32、……、63)、第七范围(-127、……、-64、64、……、127)、第八范围(-255、……、-128、128、……、255)、第九范围(-511、……、-256、256、……、511)、第十范围(-1023、……、-512、512、……、1023)或第十一范围(-2047、……、-1024、1024、……、2047)。设备1000可以基于映射表将每个系数的范围确定为第零范围至第十一范围中的一个。
参考图8,当来自待加密对象中包括的多个系数当中的第一系数的值是-124时,设备1000可以基于映射表来获得第一系数的值的范围作为第七范围810。
设备1000可以使系数的值的各自确定的范围与预设映射表相匹配,从而获得与所确定的范围相对应的各自的最大值变量(MV)。
参考图8,当待加密对象中包括的第一系数的值的范围是第七范围时,设备1000可以使第七范围与预设映射表相匹配,从而获得127(参见820)作为与第七范围相对应的最大值变量。
设备1000可以基于待加密对象中包括的系数的各自的值以及与所确定的值的范围相对应的各自的最大值变量(MV)来获得预定值。
参考图8,当来自待加密对象中包括的多个系数当中的第一系数的值是-124时,设备1000可以基于映射表将第一系数的值的范围确定为第七范围810。另外,设备1000可以从映射表获得作为与第七范围810相对应的最大值变量(Max_val)的127(参见820)。
因为作为来自待加密对象中包括的多个系数当中的第一系数的-124小于0,所以设备1000可以通过将作为最大值变量(Max_val)的127(参见820)加到第一系数的值来获得与第一系数相对应的预定值(-124+127=“3”)。
根据一些实施例,设备1000可以对所获得的预定值执行二进制转换。例如,设备1000可以通过对预定值执行二进制转换来将预定值表达为0或1。
设备1000可以确定所获得的预定值的比特大小信息。例如,设备1000可以基于与所获得的预定值相对应的待加密对象的值的范围来确定比特大小信息。
参考图8,设备1000可以将作为第一系数的值的范围的第七范围映射到映射表,使得设备1000可以获得作为预定值的比特大小信息的7(参见830)。
设备1000可以基于比特大小信息对所获得的预定值执行二进制转换。
参考图8,设备1000可以通过使用7比特来对预定值(val=3)执行二进制转换。例如,设备1000可以将预定值(val=3)转换成“0000011”。
根据一些实施例,设备1000可以对比特流应用加密过程。例如,设备1000可以通过使用适用于比特流的加密过程来对该比特流进行加密。
适用于比特流的加密过程可以包括但不限于AES、Blowfish、DES、Serpent、Twofish、Camellia、CAST-128、IDEA、RC2、RC5和SEED。
设备1000可以对比特流进行加密,从而获得加密的比特流。
例如,设备1000可以对基于预定值所获得的比特流“0000011”进行加密,从而获得加密的比特流“0001101”。
根据一些实施例,设备1000可以对加密的比特流应用二进制反转换,从而获得预定值。
例如,当加密的比特流是“0001101”时,设备1000可以通过对“0001101”执行二进制反转换来获得13作为预定值。
设备1000可以将加密的比特流的比特大小信息映射到映射表,从而获得与加密的比特流相对应的各种信息。
参考图8,设备1000可以将加密的比特流的比特大小信息映射到映射表,从而获得加密的比特流的边界变量840。例如,设备1000可以使作为加密的比特流(“0001101”)的比特大小信息的7与映射表相匹配,使得设备1000可以获得64作为与加密的比特流(“0001101”)相对应的边界变量840。
另外,设备1000可以使加密的比特流的比特大小信息与映射表相匹配,从而获得与加密的比特流相对应的加密数据的最大值变量(MV)。最大值变量(MV)意味着可以被包括在包括加密数据的值的范围内的最大值。
参考图8,设备1000可以使作为加密的比特流(“0001101”)的比特大小信息的7与映射表相匹配,使得设备1000可以获得127(参见820)作为最大值变量(MV)。
根据一些实施例,设备1000可以通过使用与加密的比特流相对应的预定值、与加密的比特流相对应的边界变量以及与加密的比特流相对应的最大值变量(MV)来获得与加密的比特流相对应的加密数据。
例如,当与加密的比特流相对应的预定值(val2)小于与加密的比特流相对应的边界变量(limit)时,设备1000可以将{预定值(val2)-与加密的比特流相对应的最大值信息(MV)}的结果确定为与加密的比特流相对应的加密数据(Eval)。
另外,当与加密的比特流相对应的预定值(val2)大于与加密的比特流相对应的边界变量(limit)时,设备1000可以将预定值(val2)确定为加密数据(Eval)。
参考图8,当加密的比特流是“0001101”时,设备1000可以通过对“0001101”执行二进制反转换来获得13作为预定值。另外,设备1000可以使作为加密的比特流(“0001101”)的比特大小信息的7(参见830)与映射表相匹配,使得设备1000可以获得64作为与加密的比特流(“0001101”)相对应的边界变量840。另外,设备1000可以使作为加密的比特流(“0001101”)的比特大小信息的7(参见830)与映射表相匹配,使得设备1000可以获得127(参见820)作为与加密的比特流(“0001101”)相对应的最大值信息。
在这种情况下,作为预定值的13小于作为边界变量840的64,因此,设备1000可以获得“-114(13-127=-114)”作为与加密的比特流(“0001101”)相对应的加密数据(Eval)。
图9是根据一些实施例的用于描述通过对比特流应用128比特AES CTR来对比特流进行加密的方法的图,所述方法由设备1000来执行。
根据一些实施例,设备1000可以使用AES方法以便对待加密对象进行加密。
可由设备1000使用的AES方法可以包括各种模式。例如,AES方法可以包括但不限于ECB、CBC、PCBC、CFB、OFB、CTR模式等。
设备1000可以通过使用CTR模式来对待加密对象进行加密。例如,设备1000可以通过对计数器值进行加密并且然后对加密的计数器值和待加密对象执行异或运算来对待加密对象进行加密。
设备1000可以使用各种计数器值。例如,设备1000可以使用但不限于128比特的计数器值、196比特的计数器值或256比特的计数器值。
根据一些实施例,设备1000可以将来自经处理的多媒体数据当中的待加密对象转换成比特流,并且可以对经转换的比特流应用AES CTR_128比特模式,使得设备1000可以对该比特流进行加密。AES CTR_128比特模式意味着使用128比特的计数器值的AES CTR模式。
设备1000可以对128比特的计数器值进行加密。例如,设备1000可以通过使用加密密钥来对计数器值进行加密,但是本公开不限于此。
设备1000可以通过对转换的比特流和加密的计数器值执行异或运算来对转换的比特流进行加密。
参考图9,设备1000可以通过对加密的计数器以及来自待加密对象当中的根据第一系数Val1转换的比特流执行异或运算来获得第一系数Val1的加密的比特流EV 1。
另外,设备1000可以通过对加密计数器以及来自待加密对象当中的根据第二系数Val 2转换的比特流执行异或运算来获得第二系数Val 2的加密的比特流EV 2。
根据一些实施例,当设备1000通过使用CTR模式来执行加密时,设备1000可以获得比特流的比特大小信息,并且可以使用所获得的比特流的比特大小信息。
例如,当设备1000通过使用加密的第一计数器值来对当前比特流进行加密时,如果当前比特流的比特大小以及在当前比特流之前通过使用第一计数器值被加密的各比特流的比特大小之和的总和大于128,则设备1000可以通过使用加密的第二计数器值来对当前比特流进行加密。
例如,当设备1000通过使用加密的第二计数器值来对当前比特流进行加密时,如果当前比特流的比特大小以及在当前比特流之前通过使用第二计数器值被加密的各比特流的比特大小之和的总和大于128,则设备1000可以通过使用加密的第三计数器值来对当前比特流进行加密。
参考图9,当通过使用第一计数器值来对当前比特流Val_i+1进行加密时,如果当前比特流Val_i+1的比特大小以及在当前比特流之前通过第一计数器值被加密的各比特流Val_1、Val_2、……、Val_i的比特大小之和的总和大于128,则设备1000可以通过使用加密的第二计数器值来对当前比特流Val_i+1进行加密。
根据一些实施例,设备1000可以通过使用比特大小信息来应用AES CTR_128比特方法,从而使对计数器值进行加密的过程最小化。另外,设备1000可以通过使对计数器值进行加密的过程最小化来减少加密过程的操作。
图10是根据一些实施例的用于描述对多媒体比特流中的一些进行加密的方法的图。
设备1000可以获得多媒体比特流。例如,设备1000可以从外部设备接收多媒体比特流,或者可以通过对多媒体数据进行编码来获得多媒体比特流。
多媒体比特流可以包括多个比特组。另外,多个比特组可以各自包括报头区域和净荷区域。
设备1000可以对多媒体比特流执行熵解码,从而获得经处理的多媒体数据。经处理的多媒体数据可以包括多个参数(Val1、Val2、Val3、Val4、Val5、Val6、……)。
设备1000可以从经处理的多媒体数据当中选择待加密对象。例如,设备1000可以选择经处理的多媒体数据中包括的多个参数(Val1、Val2、Val3、Val4、Val5、Val6、……)中的一些作为待加密对象。另外,设备1000可以选择经处理的多媒体数据中包括的多个参数(Val1、Val2、Val3、Val4、Val5、Val6、……)中的全部作为待加密对象。
参考图10,设备1000可以选择来自经处理的多媒体数据中包括的多个参数当中的一些参数Val3、Val4和Val5作为待加密对象。
设备1000可以对所选择的待加密对象进行加密。例如,设备1000可以不将所选择的待加密对象转换成比特流,而是可以直接对所选择的待加密对象进行加密。另外,设备1000可以将所选择的待加密对象转换成比特流,可以对该比特流进行加密,并且可以将加密的比特流转换成数据,从而获得加密数据。
设备1000可以对待加密对象进行加密,从而将经处理的多媒体数据转换成加密的多媒体数据。
例如,设备1000可以对从经处理的多媒体数据中包括的多个参数Val1、Val2、Val3、Val4、Val5、Val6等当中选择的参数Val3、Val4和Val5进行加密,从而获得包括加密数据的加密的多媒体数据EVal3、EVal4和EVal5。
设备1000可以通过对加密的多媒体数据进行编码来生成加密的多媒体比特流。
编码可以包括熵编码。熵编码是指将数据转换成比特流的方法。例如,设备1000可以通过使用熵编码来将加密的多媒体数据转换成1和0的组合。
熵解码可以包括但不限于霍夫曼编码、算术变换编码、固定长度编码、CAVLC、CABAC等。
图11是根据实施例的其部分被加密的多媒体比特流的表达的图。
根据一些实施例,设备1000可以选择待加密对象。
例如,设备1000可以选择经处理的多媒体数据中的一些作为待加密对象。或者,设备1000可以选择经处理的多媒体数据的整个部分作为待加密对象。
例如,设备1000可以通过处理由多个块构成的图片数据来获得经处理的图片数据,并且可以选择指示经处理的图片数据的第一块的数据作为待加密对象。
设备1000可以基于预设标准来选择待加密对象。例如,在图片数据中包括的人被预设为待加密对象的情况下,设备1000可以处理该图片数据,并且可以选择来自经处理的图像数据的指示人的数据作为待加密对象。
另外,设备1000可以基于用户输入来选择待加密对象。例如,在用户将图片数据中包括的人输入为待加密对象的情况下,设备1000可以处理该图片数据,并且可以选择来自经处理的图像数据当中的指示人的数据作为待加密对象。
根据一些实施例,设备1000可以选择图片数据中包括的人作为待加密对象。另外,设备1000可以对指示图片数据中包括的人的数据进行加密,从而获得其部分被加密的图片比特流。在这种情况下,设备1000可以在熵编码之前对待加密对象进行加密。
现有的解码设备可以对加密的多媒体比特流进行解码。例如,现有的解码设备可以对加密的多媒体比特流进行解码,从而获得其部分被加密的多媒体数据。另外,现有的解码设备可以显示其部分被加密的多媒体数据。
图12是根据一些实施例的用于描述加密补偿的图。
根据一些实施例,设备1000可以将多媒体数据划分成多个区域。例如,设备1000可以将多媒体数据的整个区域划分成加密区域和非加密区域。
设备1000可以基于用户输入来选择多媒体数据的加密区域。或者,设备1000可以基于预设标准来选择多媒体数据的加密区域。例如,当图片数据中包括的人被先前设定为待加密对象时,设备1000可以选择来自图片数据的指示人的数据作为待加密对象。
设备1000可以将多媒体数据的非加密区域划分成加密邻近区域和非邻近区域。加密邻近区域指示设备1000使用加密区域中包括的数据以便对多媒体数据进行编码的区域。非邻近区域指示除了加密邻近区域之外的非加密区域的区域。
例如,当设备1000对包括多个块的图片数据应用编解码器并且对包括多个块的图片数据进行编码时,图片数据中包括的第二块和非加密区域可以参考加密区域中包括的第一区域的数据。在这种情况下,设备1000可以将第二块分类为加密邻近区域。
根据一些实施例,当设备1000对多媒体数据的加密区域进行加密时,设备1000可以通过使用上面参考图2至图10所描述的方法来执行加密。
例如,设备1000可以对多媒体数据的加密区域执行加密并且可以不对非加密区域的非邻近区域执行加密,使得设备1000可以将多媒体数据转换成加密的多媒体数据。
根据一些实施例,当设备1000对包括加密邻近区域的多媒体数据进行加密时,设备1000可以对加密邻近区域执行加密补偿。
加密补偿指示当设备1000对待加密对象进行加密时补偿加密邻近区域的数据的过程。
例如,当设备1000对多媒体数据中包括的加密区域进行加密时,加密区域的数据被转换时可能在参考加密区域的加密邻近区域的数据中发生错误。为了防止相对于加密邻近区域发生错误,设备1000可以对加密邻近区域的数据执行加密补偿。
图13是根据一些实施例的用于描述对加密的比特流进行解密的方法的图。
在操作S1310中,设备1000可以通过对加密的多媒体比特流进行解码来获得加密的多媒体数据。
根据一些实施例,设备1000可以获得加密的多媒体比特流。例如,设备1000可以生成加密的多媒体比特流或者可以从外部设备接收加密的多媒体比特流。
另外,设备1000可以获得加密的元比特流。例如,设备1000可以生成加密的元比特流或者可以从外部设备接收加密的元比特流。
设备1000可以从加密的多媒体比特流获得加密的多媒体数据。另外,设备1000可以从加密的元比特流获得加密的元数据。
例如,设备1000可以通过对加密的多媒体比特流执行熵解码来获得加密的多媒体数据。熵解码指示将比特流转换成与比特流相对应的数据的编码方法。熵解码可以包括但不限于霍夫曼编码、算术变换编码、游程编码、CAVLC、CABAC等。
在操作S1330中,设备1000可以从加密的多媒体数据中选择待解密对象。
根据一些实施例,设备1000可以选择待解密对象。
例如,设备1000可以通过分析加密的多媒体数据来搜索加密部分,并且可以从加密部分中选择待解密对象。另外,设备1000可以通过分析加密的元数据来搜索加密部分,并且可以从加密部分中选择待解密对象。
例如,设备1000可以获得其第一块和第二块被加密的图片数据。设备1000可以搜索指示图片数据中的加密的第一块和第二块的部分,并且可以从指示第一块的部分和指示第二块的部分当中选择待解密对象。
根据一些实施例,设备1000可以选择加密的多媒体数据的加密部分的全部作为待解密对象,或者可以选择加密部分中的一些作为待解密对象。例如,设备1000可以基于预设标准或用户输入来选择加密的多媒体数据的加密部分的全部或一些作为待解密对象。
在操作S1350中,设备1000可以对所选择的待解密对象进行解密。
根据一些实施例,设备1000可以对所选择的待解密对象进行解密。例如,设备1000可以通过使用与在对待加密对象进行加密时使用的加密过程相对应的解密过程来对待解密对象进行解密。
根据一些实施例,设备1000可以不将所选择的待解密对象转换成比特流,而是可以直接对所选择的待解密对象进行解密。
例如,设备1000可以通过对待解密对象中包括的参数的值应用预定函数来对待解密对象进行解密。
作为另一示例,设备1000可以基于预设规则通过将待解密对象中包括的第一块的参数与第二块的参数交换来对待解密对象进行解密。
另外,设备1000可以通过改变待解密对象中包括的参数的值的符号来对待解密对象进行解密。
另外,设备1000可以通过使用预设解密密钥来改变经处理的多媒体数据中包括的参数的符号而对待解密对象进行解密。
根据另一实施例,设备1000可以将所选择的待解密对象转换成比特流,可以对该比特流进行解密,并且可以将解密的比特流转换成数据,从而对待解密对象进行解密。
设备1000可以将来自加密的多媒体数据当中的所选择的待解密对象转换成比特流。
例如,设备1000可以将待解密对象映射到预设映射表,从而获得与待解密对象相对应的预定值。另外,设备1000可以对所获得的预定值执行二进制转换,从而获得与待解密对象相对应的比特流。
当设备1000执行二进制转换时,设备1000可以基于每个预定值的比特大小信息来执行二进制转换。
设备1000可以对所获得的比特流进行解密。例如,设备1000可以通过使用适用于比特流的解密方法来对所获得的比特流进行解密。适用于比特流的解密方法可以包括但不限于AES、Blowfish、DES、Serpent、Twofish、Camellia、CAST-128、IDEA、RC2、RC5和SEED。
设备1000可以将解密的比特流转换成数据,从而获得解密数据。例如,设备1000可以通过对解密的比特流执行二进制反转换来获得预定值,并且可以通过将预定值映射到预设映射表来获得解密数据。
根据一些实施例,设备1000可以限制解密数据。例如,当解密数据的值超过现有的解码设备所允许的数据的值时,设备1000可以将解密数据的值校正为该现有的解码设备所允许的值。
在操作S1370中,设备1000可以基于解密的结果将加密的多媒体数据转换成解密的多媒体数据。
根据一些实施例,设备1000可以通过对待解密对象进行解密来获得解密数据。另外,设备1000可以通过将加密的多媒体数据的待解密对象转换成解密数据来将加密的多媒体数据转换成解密的多媒体数据。另外,设备1000可以通过将加密的元数据的待解密对象转换成解密数据来将加密的元数据转换成解密的元数据。
例如,当所选择的待解密对象是由多个块构成的图片数据的第一块时,设备1000可以通过对指示第一块的数据进行解密来获得解密数据。设备1000可以通过将指示加密的图片数据的第一块的数据转换成解密数据来获得解密的图片数据。
在操作S1390中,设备1000可以通过对解密的多媒体数据进行编码来生成解密的多媒体比特流。
设备1000可以通过对解密的多媒体数据进行编码来生成解密的多媒体比特流。另外,设备1000可以通过对解密的元数据进行编码来生成解密的元比特流。
例如,当设备1000选择加密的图片数据中的指示人的数据作为待解密对象时,设备1000可以通过将加密的图片数据中的指示人的数据转换成解密数据来生成解密的图片数据,并且可以通过对解密的图像数据进行编码来生成解密的图片比特流。
编码可以包括熵编码。熵编码可以将数据转换成比特流。例如,设备1000可以通过使用熵编码来将解密的多媒体数据转换成1和0的组合。
熵编码可以包括但不限于霍夫曼编码、算术变换编码、游程编码、CAVLC、CABAC等。
图14是根据一些实施例的用于描述对待解密对象进行解密并重建图像的方法的图。
设备1000可以获得加密的多媒体比特流。另外,设备1000可以获得加密的元比特流。例如,设备1000可以从外部设备接收加密的多媒体比特流,或者可以生成加密的多媒体比特流。
设备1000可以对加密的多媒体比特流执行熵解码,从而获得加密的多媒体数据。加密的多媒体数据可以包括多个参数64、1、1、0、2等。
设备1000可以从所获得的加密的多媒体数据当中选择作为待解密的对象。例如,设备1000可以从加密的多媒体数据中包括的多个参数64、1、1、0、2等当中搜索加密部分,并且可以从搜索到的部分当中选择待解密对象。
设备1000可以选择来自加密的多媒体数据当中的加密部分的全部作为待解密对象,或者可以选择加密部分中的一些作为待解密对象。另外,设备1000可以基于预设标准或用户输入来选择来自加密的多媒体数据当中加密部分中的全部或一些作为待解密对象。
设备1000可以通过对所选择的待解密对象进行解密来将待解密对象转换成解密数据。例如,设备1000可以通过对加密的多媒体数据中包括的加密数据(64、1、1、0、1等)进行解密来获得解密数据(70、-1、-1、0、-1等)。
根据一些实施例,设备1000可以通过使用与在对待加密对象进行加密时使用的加密过程相对应的解密过程来对待解密对象进行解密。
根据一些实施例,设备1000可以不将所选择的待解密对象转换成比特流,而是可以直接对所选择的待解密对象进行解密。
根据另一实施例,设备1000可以将待解密对象(64、1、1、0、1等)转换成比特流,可以对该比特流进行解密,并且可以将解密的比特流转换成数据,从而将待解密对象转换成解密数据(70、-1、-1、0、-1等)。
设备1000可以基于解密数据将加密的多媒体数据转换成解密的多媒体数据,并且可以通过使用解密的多媒体数据来恢复样本值,从而重建图像。
图15是根据一些实施例的用于描述在不将待解密对象转换成比特流的情况下直接对待解密对象进行解密的方法的图。
根据一些实施例,设备1000可以不直接将待解密对象转换成比特流,而是可以直接对待解密对象进行解密。
例如,当待解密对象是多个参数时,设备1000可以直接对这些参数进行解密。参考图15,设备1000可以改变作为待解密对象的多个参数中的每一个的符号,从而对作为待解密对象的多个参数进行解密。
另外,例如,设备1000可以通过使用预设解密密钥来改变作为待解密对象的多个参数中的每一个的符号,从而对作为待解密对象的多个参数进行解密。
另外,例如,当待解密对象是指示第一块的多个参数时,设备1000可以基于预设规则通过将指示第一块的多个参数与另一块的参数交换来对作为待解密对象的多个参数进行解密。
另外,例如,当待解密对象是指示第一块的多个参数时,设备1000可以通过用另一块的参数对指示第一块的多个参数进行加扰来对作为待解密对象的多个参数进行解密。
另外,例如,设备1000可以通过对作为待解密对象的多个参数应用特定函数并且改变作为待解密对象的多个参数来对作为待解密对象的多个参数进行解密。
图16是根据一些实施例的用于描述将待解密对象转换成比特流并直接对转换的比特流进行解密的方法的图。
根据一些实施例,设备1000可以将所选择的待解密对象转换成比特流,可以对转换的比特流进行解密,并且可以将解密的比特流转换成数据,从而对待解密对象进行解密。
在操作S1610中,设备1000可以基于预设映射表获得与选择的待解密对象相对应的预定值。
根据一些实施例,由设备1000选择的待解密对象可以包括多个系数。例如,设备1000选择的待解密对象可以包括各自具有大于-1023且小于1023的值中的一个的多个系数。
根据一些实施例,设备1000可以基于映射表确定所选择的待解密对象中包括的每个系数的值的范围。
例如,映射表可以将每个系数的范围分类为第零范围(0)、第一范围(-1、1)、第二范围(-3、-2、2、3)、第三范围(-7、……、-4、4、……、7)、第四范围(-15、……、-8、8、……、15)、第五范围(-31、……、-16、16、……、31)、第六范围(-63、……、-32、32、……、63)、第七范围(-127、……、-64、64、……、127)、第八范围(-255、……、-128、128、……、255)、第九范围(-511、……、-256、256、……、511)、第十范围(-1023、……、-512、512、……、1023)或第十一范围(-2047、……、-1024、1024、……、2047)。设备1000可以基于映射表将每个系数的范围确定为第零范围至第十一范围中的一个。
每当设备1000执行解密时设备1000可以改变映射表,所述映射表是待解密对象中包括的每个系数的值的范围的参考。或者,设备1000可以通过一致地使用同一映射表来确定待解密对象中包括的每个系数的值的范围。
设备1000可以基于用户输入来生成、改变或者删除映射表。另外,设备1000可以从外部设备接收映射表,或者可以使用预先存储的映射表。
存储在设备1000中的映射表可以包括分别与映射表中包括的范围相对应的各种变量。例如,存储在设备1000中的映射表可以包括最大值变量(MV)。最大值变量(MV)意味着可以被包括在每个划分的区域中的最大值。
例如,存储在设备1000中的映射表可以包括作为第零区域的最大值变量(MV)的0、作为第一区域的最大值变量的1以及作为第二区域的最大值变量的3。
设备1000可以使系数的值的各自所确定的范围与映射表相匹配,从而获得与所确定的范围相对应的各自的最大值变量(MV)。
例如,当待解密对象中包括的第一系数的值的范围对应于第零范围时,设备1000可以使第零范围与映射表相匹配,从而获得作为与第零范围相对应的最大值变量的0。
作为另一示例,当待解密对象中包括的第一系数的值的范围对应于第一范围时,设备1000可以使第一范围与映射表相匹配,从而获得作为与第一范围相对应的最大值变量的1。
作为另一示例,当待解密对象中包括的第二系数的值的范围对应于第二范围时,设备1000可以使第二范围与映射表相匹配,从而获得作为与第二范围相对应的最大值变量的3。
设备1000可以基于所获得的待加密对象中包括的系数的相应的值以及与所获得的待解密对象中包括的系数的值的所确定的范围相对应的最大值变量(MV)来获得预定值。
[式3]
If(E_val<0){val=E_val+MV}
else{val=E_val}
例如,设备1000可以通过使用式3来获得预定值。E_val指示待解密对象中包括的系数的值,val指示预定值,并且MV指示与系数的值的各自所确定的范围相对应的最大值变量。
例如,当来自待解密对象中包括的多个系数当中的第一系数的值(E_val)小于0时,设备1000可以获得{第一系数的值(E_val)+最大值变量(MV)}的结果作为与第一系数相对应的预定值(val)。
另外,当来自待解密对象中包括的多个系数当中的第一系数的值大于0时,设备1000可以获得第一系数的值(E_val)作为与第一系数的值相对应的预定值(val)。
例如,当来自待解密对象中包括的多个系数当中的第一系数的值是-114时,设备1000可以获得第一系数的值的范围作为第七范围(-127、……、-64、64、……、127)。另外,设备1000可以从映射表获得与第七范围相对应的最大值变量(MV)127。
设备1000可以将作为第一系数的-114应用于式3。通过将第一系数应用于式3,设备1000可以获得(val=13)作为预定值。
在操作S1630中,设备1000可以对预定值执行二进制转换,从而获得比特流。
根据一些实施例,设备1000可以对所获得的预定值执行二进制转换。例如,设备1000可以通过对所获得的预定值执行二进制转换来将所获得的预定值表达为0或1。
设备1000可以确定所获得的预定值的比特大小信息。例如,设备1000可以基于与所获得的预定值相对应的待解密对象的值的范围来确定比特大小信息。
例如,当来自待解密对象中包括的多个系数当中的第一系数的值是-114时,设备1000可以基于映射表获得第一系数的值的范围作为第七范围(-127、……、-64、64、……、127),并且可以获得与第一系数相对应的预定值(val=13)。
另外,设备1000可以基于与预定值相对应的第一系数的值的范围来获得所获得的预定值(val=13)的比特大小信息。
例如,设备1000可以将作为第一系数的值的范围的第七范围映射到映射表,使得设备1000可以获得作为预定值的比特大小信息的7。
设备1000可以基于比特大小信息对所获得的预定值执行二进制转换。
例如,设备1000可以通过使用7比特来对预定值(val=13)执行二进制转换。例如,设备1000可以将预定值(val=13)转换成“0001101”。
在操作S1650中,设备1000可以对比特流应用解密过程,从而获得解密的比特流。
根据一些实施例,设备1000可以将解密过程应用于比特流。例如,设备1000可以通过使用适用于比特流的解密过程来对该比特流进行解码。另外,设备1000可以通过使用与在对待加密对象进行加密时使用的加密过程相对应的解密过程来对待解密对象进行解码。
适用于比特流的解密过程可以包括但不限于AES、Blowfish、DES、Serpent、Twofish、Camellia、CAST-128、IDEA、RC2、RC5和SEED。
设备1000可以对比特流进行解密,从而获得解密的比特流。
例如,设备1000可以对基于预定值所获得的比特流“0001101”进行解密,由此获得解密的比特流“0000011”。
在操作S1670中,设备1000可以基于预设映射表获得与解密的比特流相对应的解密数据。
根据一些实施例,设备1000可以对解密的比特流应用二进制反转换,从而获得预定值。
例如,当解密的比特流是“0000011”时,设备1000可以通过对“0000011”执行二进制反转换来获得3作为预定值。
设备1000可以将解密的比特流的比特大小信息映射到映射表,从而获得与解密的比特流相对应的各种信息。
例如,设备1000可以将解密的比特流的比特大小信息映射到映射表,从而获得解密的比特流的边界变量。
例如,设备1000可以使作为解密的比特流(“0000011”)的比特大小信息的7与映射表相匹配,使得设备1000可以获得作为与解密的比特流(“0000011”)相对应的边界变量的64。
另外,设备1000可以将解密的比特流的比特大小信息映射到映射表,从而获得与解密的比特流相对应的解密数据的最大值变量(MV)。最大值变量(MV)意味着包括解密数据的区域的最大值。
根据一些实施例,设备1000可以通过使用与解密的比特流相对应的预定值、与解密的比特流相对应的边界变量以及与解密的比特流相对应的最大值变量(MV)来获得与解密的比特流相对应的解密数据。
[式4]
If(val3<limit){D_val=val3-MV}
else{D_val=val3}
例如,设备1000可以通过使用式4来获得解密数据。val3指示与解密的比特流相对应的预定值,limit指示与解密的比特流相对应的边界变量,并且MV指示与解密的比特流相对应的最大值信息。
例如,当与解密的比特流相对应的预定值(val3)小于与解密的比特流相对应的边界变量(limit)时,设备1000可以将{预定值(val3)-与解密的比特流相对应的最大值信息(MV)}的结果确定为与解密的比特流相对应的解密数据(D_val)。
另外,当与解密的比特流相对应的预定值(val3)大于与解密的比特流相对应的边界变量(limit)时,设备1000可以将预定值(val3)确定为与解密的比特流相对应的解密数据(D_val)。
例如,当解密的比特流是“0000011”时,设备1000可以通过对“0000011”执行二进制反转换来获得3作为预定值。另外,设备1000可以使作为解密的比特流(“0000011”)的比特大小信息的7与映射表相匹配,使得设备1000可以获得64作为与解密的比特流(“0000011”)相对应的边界变量。另外,设备1000可以使作为解密的比特流(“0000011”)的比特大小信息的7与映射表相匹配,使得设备1000可以获得127作为与解密的比特流(“0000011”)相对应的最大值信息。
在这种情况下,作为预定值的3小于作为边界变量的64,因此,设备1000可以获得“-124(3-127=-124)”作为与解密的比特流(“0000011”)相对应的解密数据(D_val)。
设备1000可以在执行熵编码之前对待解密对象中包括的每个系数进行解密,使得设备1000可以对多媒体比特流进行解密,同时维持先前被应用于该多媒体比特流的编解码器特性。
图17是根据一些实施例的用于描述通过使用预设映射表来对待解密对象进行解密的方法的图,所述方法由设备1000来执行。
根据一些实施例,设备1000可以基于预设映射表确定所选择的待解密的解密对象中包括的每个系数的值的范围。
例如,映射表可以将每个系数的范围分类为第零范围(0)、第一范围(-1、1)、第二范围(-3、-2、2、3)、第三范围(-7、……、-4、4、……、7)、第四范围(-15、……、-8、8、……、15)、第五范围(-31、……、-16、16、……、31)、第六范围(-63、……、-32、32、……、63)、第七范围(-127、……、-64、64、……、127)、第八范围(-255、……、-128、128、……、255)、第九范围(-511、……、-256、256、……、511)、第十范围(-1023、……、-512、512、……、1023)或第十一范围(-2047、……、-1024、1024、……、2047)。设备1000可以基于映射表将每个系数的范围确定为第零范围至第十一范围中的一个。
参考图17,当来自待解密对象中包括的多个系数当中的第一系数的值是-114时,设备1000可以基于映射表获得第一系数的值的范围作为第七范围1710。
设备1000可以使系数的值的各自所确定的范围与预设映射表相匹配,从而获得与所确定的范围相对应的各自的最大值变量(MV)。
参考图17,当待解密对象中包括的第一系数的值的范围是第七范围时,设备1000可以使第七范围与预设映射表相匹配,从而获得127(参见1720)作为与第七范围相对应的最大值变量。
设备1000可以基于所获得的待解密对象中包括的系数的相应的值以及与所确定的值的范围相对应的各自的最大值变量(MV)来获得预定值。
参考图17,当来自待解密对象中包括的多个系数当中的第一系数的值是-114时,设备1000可以基于映射表将第一系数的值的范围确定为第七范围1710。另外,设备1000可以从映射表获得127(参见1720)作为与第七范围1710相对应的最大值变量(Max_val)。
因为作为来自待解密对象中包括的多个系数当中的第一系数的-114小于0,所以设备1000可以通过将作为最大值变量(Max_val)的127(参见820)加到第一系数的值来获得与第一系数相对应的预定值(-114+127=“13”)。
根据一些实施例,设备1000可以对所获得的预定值执行二进制转换。例如,设备1000可以通过对预定值执行二进制转换来将预定值表达为0或1。
设备1000可以确定所获得的预定值的比特大小信息。例如,设备1000可以基于与所获得的预定值相对应的待解密对象的值的范围来确定比特大小信息。
参考图17,设备1000可以使作为第一系数的值的范围的第七范围映射到映射表,使得设备1000可以获得作为预定值的比特大小信息的7(参见1730)。
设备1000可以基于比特大小信息对所获得的预定值执行二进制转换。
参考图17,设备1000可以通过使用7比特来对预定值(val=13)执行二进制转换。例如,设备1000可以将预定值(val=13)转换成“0001101”。
根据一些实施例,设备1000可以对比特流应用解密过程。例如,设备1000可以通过使用适用于比特流的解密过程来对该比特流进行解码。
适用于比特流的解密过程可以包括但不限于AES、Blowfish、DES、Serpent、Twofish、Camellia、CAST-128、IDEA、RC2、RC5和SEED。
设备1000可以对比特流进行解密,从而获得解密的比特流。
例如,设备1000可以对基于预定值所获得的比特流“0001101”进行解密,从而获得解密的比特流“0000011”。
根据一些实施例,设备1000可以对解密的比特流应用二进制反转换,从而获得预定值。
例如,当解密的比特流是“0000011”时,设备1000可以通过对“0001101”执行二进制反转换来获得13作为预定值。
设备1000可以将解密的比特流的比特大小信息映射到映射表,从而获得与解密的比特流相对应的各种信息。
参考图17,设备1000可以将解密的比特流的比特大小信息映射到映射表,从而获得解密的比特流的边界变量1740。例如,设备1000可以使作为解密的比特流(“0000011”)的比特大小信息的7与映射表相匹配,使得设备1000可以获得64作为与解密的比特流(“0000011”)相对应的边界变量1740。
另外,设备1000可以使解密的比特流的比特大小信息与映射表相匹配,从而获得与解密的比特流相对应的解密数据的最大值变量(MV)。最大值变量(MV)意味着可以被包括在包括解密数据的值的范围内的最大值。
参考图17,设备1000可以使作为解密的比特流(“0000011”)的比特大小信息的7与映射表相匹配,使得设备1000可以获得127(参见1720)作为最大值变量(MV)。
根据一些实施例,设备1000可以通过使用与解密的比特流相对应的预定值、与解密的比特流相对应的边界变量以及与解密的比特流相对应的最大值变量(MV)来获得与解密的比特流相对应的解密数据。
例如,当与解密的比特流相对应的预定值(val3)小于与解密的比特流相对应的边界变量(limit)时,设备1000可以将{预定值(val3)-与解密的比特流相对应的最大值信息(MV)}的结果确定为与解密的比特流相对应的解密数据(E_val)。
另外,当与解密的比特流相对应的预定值(val3)大于与解密的比特流相对应的边界变量(limit)时,设备1000可以将预定值(val3)确定为与解密的比特流相对应的解密数据(D_val)。
参考图17,当解密的比特流是“0000011”时,设备1000可以通过对“0000011”执行二进制反转换来获得3作为预定值。另外,设备1000可以使作为解密的比特流(“0000011”)的比特大小信息的7(参见1730)与映射表相匹配,使得设备1000可以获得64作为与解密的比特流(“0000011”)相对应的边界变量1740。另外,设备1000可以使作为解密的比特流(“0000011”)的比特大小信息的7(参见1730)与映射表相匹配,使得设备1000可以获得127(参见1720)作为与解密的比特流(“0000011”)相对应的最大值信息。
在这种情况下,作为预定值的33小于作为边界变量1740的64,因此,设备1000可以获得“-124(3-127=-124)”作为与解密的比特流(“0000011”)相对应非解密数据(D_val)。
图18是根据一些实施例的用于描述解密补偿的图。
根据一些实施例,设备1000可以将多媒体数据划分成多个区域。例如,设备1000可以将多媒体数据的整个区域分成解密区域和非解密区域。
设备1000可以基于用户输入来选择加密的多媒体数据的解密区域。或者,设备1000可以基于预设标准来选择加密的多媒体数据的解密区域。
设备1000可以将多媒体数据的非加密区域划分为解密邻近区域和非邻近区域。解密邻近区域指示设备1000使用解密区域中包括的数据以便对多媒体数据进行编码或者解码的区域。非邻近区域指示除了解密邻近区域之外的非解密区域的区域。
例如,当设备1000对包括多个块的图片数据应用编解码器并且对多个块的图片数据进行编码或者解码时,图片数据中包括的第二块和非解密区域可以参考解密区域中包括的第一区域的数据。在这种情况下,设备1000可以将第二块分类为解密邻近区域。
根据一些实施例,当设备1000对多媒体数据的解密区域进行解密时,设备1000可以通过使用上面参考图13至图17所描述的方法来执行解密。
例如,设备1000可以对多媒体数据的解密区域执行解密并且可以不对非解密区域的非邻近区域执行解密,使得设备1000可以将多媒体数据转换成解密的多媒体数据。
根据一些实施例,当设备1000对包括解密邻近区域的多媒体数据进行解密时,设备1000可以对解密邻近区域执行解密补偿。
解密补偿可以涉及接收比特流。
设备1000的加密接口1020可以对多媒体比特流应用子编码模块,从而获得经处理的多媒体数据。例如,设备1000的加密接口1020可以对多媒体比特流应用熵解码模块,从而获得经处理的多媒体数据。
熵解码模块指示模块执行熵解码。熵解码是指将比特流转换成与该比特流相对应的数据的编码方法。熵解码可以包括但不限于霍夫曼编码、算术变换编码、游程编码、CAVLC、CABAC等。解密补偿指示当设备1000对待解密对象进行解密时补偿解密邻近区域的数据的过程。
例如,当设备1000对多媒体数据中包括的解密区域进行加密时,因为解密邻近区域使用解密区域的数据,所以可能在解密邻近区域的数据中发生错误。为了防止相对于解密邻近区域发生错误,设备1000可以对解密邻近区域的数据执行解密补偿。
图19是根据一些实施例的用于描述设备的框图。
根据一些实施例,设备1000可以包括控制器1010、加密接口1020和解密接口1030。控制器1010、加密接口1020和解密接口1030可以由一个处理器来实现。或者,控制器1010、加密接口1020和解密接口1030可以分别由处理器来实现,或者可以各自由处理器来实现,并且本发明不限于此。
根据一些实施例,设备1000的加密接口1020可以获得多媒体数据。多媒体数据是指语音、文本、图片、视频等混合的各种类型的数据。例如,多媒体数据可以包括但不限于图片数据、歌曲数据、视频数据、音频数据、文本数据、flash数据等。另外,设备1000的加密接口1020可以获得元数据。
设备1000的加密接口1020可以对多媒体数据应用至少一个子编码模块。子编码模块是指在对多媒体数据应用各种编解码器并且对多媒体数据进行压缩时使用的子模块。例如,该子编码模块可以包括但不限于DCT变换模块、数字化模块、预测模块、熵编码模块和熵解密模块。
设备1000的加密接口1020可以包括多个子编码模块。所述多个子编码模块可以由一个处理器来实现,可以由相应的处理器来实现,或者可以各自由多个处理器来实现,但是本公开不限于此。
设备1000的加密接口1020可以对多媒体数据、元数据或其组合应用至少一个子编码模块,从而获得经处理的多媒体数据。例如,设备1000可以将DCT变换模块和数字化模块应用于多媒体数据,从而获得经处理的多媒体数据。
经处理的多媒体数据可以包括在对多媒体数据进行编码的过程中发生的各种参数。例如,经处理的多媒体数据可以包括但不限于差分编码的DC值、数字化的样本和AC编码的样本。
根据另一实施例,设备1000的加密接口1020可以通过使用多媒体比特流来获得经处理的多媒体数据。
设备1000的加密接口1020可以通过直接对多媒体数据进行编码来获得多媒体比特流。另外,设备1000的加密接口1020可以从外部设备获得多媒体比特流。
根据一些实施例,设备1000的加密接口1020可以选择待加密对象。
例如,设备1000的加密接口1020可以选择经处理的多媒体数据中的一些作为待加密对象。另外,设备1000的加密接口1020可以选择经处理的多媒体数据的整个部分作为待加密对象。
例如,设备1000的加密接口1020可以通过处理由多个块构成的图片数据来获得经处理的图片数据,并且可以选择指示经处理的图片数据当中的第一块的数据作为待加密对象。
设备1000的加密接口1020可以基于预设标准来选择待加密对象。例如,在图片数据中包括的人被预设为待加密对象的情况下,设备1000的加密接口1020可以处理该图片数据,并且可以选择来自经处理的图片数据当中的指示人的数据作为待加密对象。
另外,设备1000的加密接口1020可以基于用户输入来选择待加密对象。例如,在用户将图片数据中包括的人输入为待加密对象的情况下,设备1000的加密接口1020可以处理该图片数据,并且可以选择来自经处理的图像数据当中的指示人的数据作为待加密对象。
另外,设备1000的加密接口1020可以选择元数据作为待加密对象。例如,设备1000可以选择元数据的整个部分、元数据中的一些或经处理的元数据作为待加密对象。
根据一些实施例,所选择的待加密对象可以包括各种参数。例如,所选择的待加密对象可以包括但不限于差分编码的DC值、数字化的样本或AC编码的样本。
根据一些实施例,设备1000的加密接口1020可以不将所选择的待加密对象转换成比特流,而是可以直接对所选择的待加密对象进行加密。
例如,设备1000的加密接口1020可以通过对待加密对象中包括的参数的值应用预定函数来对待加密对象进行加密。
作为另一示例,设备1000的加密接口1020可以基于预设规则通过将待加密对象中包括的第一块的参数与第二块的参数交换来对待加密对象进行加密。
另外,设备1000的加密接口1020可以通过改变待加密对象中包括的参数的值的符号来对待加密对象进行加密。
另外,设备1000的加密接口1020可以通过使用预设加密密钥来改变经处理的多媒体数据中包括的参数的符号而对待加密对象进行加密。
根据另一实施例,设备1000的加密接口1020可以将所选择的待加密对象转换成比特流,可以对该比特流进行加密,并且可以将加密的比特流转换成数据,从而对待加密对象进行加密。
设备1000的加密接口1020可以将来自经处理的多媒体数据当中的所选择的待加密对象转换成比特流。
例如,设备1000的加密接口1020可以将待加密对象映射到预设映射表,从而获得与待加密对象相对应的预定值。另外,设备1000的加密接口1020可以对所获得的预定值执行二进制转换,从而获得与待加密对象相对应的比特流。
当设备1000的加密接口1020执行二进制转换时,设备1000的加密接口1020可以基于每个预定值的比特大小信息来执行二进制转换。
设备1000的加密接口1020可以对所获得的比特流进行加密。例如,设备1000的加密接口1020可以通过使用适用于比特流的加密方法来对所获得的比特流进行加密。适用于比特流的加密方法可以包括但不限于AES、Blowfish、DES、Serpent、Twofish、Camellia、CAST-128、IDEA、RC2、RC5和SEED。
设备1000的加密接口1020可以将加密的比特流转换成数据,从而获得加密数据。例如,设备1000的加密接口1020可以通过对加密的比特流执行二进制反转换来得到预定值,并且可以通过将预定值映射到预设映射表来获得加密数据。
根据一些实施例,设备1000的加密接口1020可以通过对待加密对象进行加密来获得加密数据。另外,设备1000的加密接口1020可以将来自经处理的多媒体数据当中的待加密对象转换成加密数据,使得设备1000的加密接口1020可以将经处理的多媒体数据转换成加密的多媒体数据。另外,设备1000的加密接口1020可以将来自经处理的元数据当中的待加密对象转换成加密数据,使得设备1000的加密接口1020可以将经处理的元数据转换成加密的元数据。
例如,当由设备1000的加密接口1020选择的待加密对象是来自由多个块构成的图片数据当中的第一块时,设备1000的加密接口1020可以通过对指示第一块的数据进行加密来获得加密数据。设备1000的加密接口1020可以将指示经处理的图片数据当中的第一块的数据转换成加密数据,使得设备1000的加密接口1020可以获得加密的图片数据。
设备1000的加密接口1020可以对加密的多媒体数据进行编码,从而生成加密的多媒体比特流。另外,设备1000的加密接口1020可以对加密的元数据进行编码,从而生成加密的元比特流。
例如,当设备1000的加密接口1020选择来自经处理的图片数据当中的指示人的数据作为待加密对象时,设备1000的加密接口1020可以通过将来自经处理的图像数据当中的指示人的数据转换成加密数据来生成加密的多媒体数据,并且可以通过对加密的多媒体数据进行编码来生成加密的图片比特流。
编码可以包括熵编码。熵编码是指将数据转换成比特流的方法。例如,设备1000的加密接口1020可以通过使用熵编码来将加密的多媒体数据转换成1和0的组合。
熵解码可以包括但不限于霍夫曼编码、算术变换编码、游程编码、CAVLC、CABAC等。
根据一些实施例,设备1000的加密接口1020可以对加密的多媒体数据应用与应用于多媒体比特流的编解码器相对应的熵编码。另外,设备1000的加密接口1020可以对加密的元数据应用与应用于元比特流的编解码器相对应的熵编码。
例如,当应用于多媒体比特流的编解码器是H.265并且H.265中使用的熵编码方法是CABAC时,设备1000可以通过使用CABAC来对加密的多媒体数据进行熵编码。
根据一些实施例,设备1000可以在执行熵编码之前对所选择的待加密对象进行加密。设备1000在执行熵编码之前对所选择的待加密对象进行加密,使得设备1000可以生成可由现有的解码设备使用的加密的多媒体比特流。
根据一些实施例,设备1000的解密接口1030可以获得加密的多媒体比特流,并且可以从加密的多媒体比特流获得加密的多媒体数据。
例如,设备1000的解密接口1030可以通过对加密的多媒体比特流执行熵解码来获得加密的多媒体数据。熵解码指示将比特流转换成与该比特流相对应的数据的编码方法。熵解码可以包括但不限于霍夫曼编码、算术变换编码、游程编码、CAVLC、CABAC等。
根据一些实施例,设备1000可以获得加密的元比特流。例如,设备1000可以生成加密的元比特流或者可以从外部设备接收加密的元比特流。另外,设备1000可以从加密的元比特流获得加密的元数据。
根据一些实施例,设备1000的解密接口1030可以选择待解密对象。
例如,设备1000的解密接口1030可以通过分析加密的多媒体数据来搜索加密部分作为待解密对象。另外,设备1000的解密接口1030可以从加密部分中选择待解密对象。另外,设备1000可以通过分析加密的元数据来搜索加密部分,并且可以从加密部分中选择待解密对象。
例如,设备1000的解密接口1030可以获得其第一块和第二块被加密的图片比特流。设备1000的解密接口1030可以搜索指示图片比特流中的加密的第一块和第二块的部分,并且可以从指示第一块的部分和指示第二块的部分中选择待解密对象。
根据一些实施例,设备1000的解密接口1030可以选择加密的多媒体数据的加密部分的全部作为待解密对象,或者可以选择加密部分中的一些作为待解密对象。例如,设备1000的解密接口1030可以基于预设标准或用户输入来选择加密的多媒体数据的加密部分中的全部或一些作为待解密对象。
根据一些实施例,设备1000的解密接口1030可以对所选择的待解密对象进行解密。例如,设备1000的解密接口1030可以通过使用与在对待解密的解密对象进行加密时使用的加密过程相对应的解密过程来对待解密对象进行解密。
根据一些实施例,设备1000的解密接口1030可以不将所选择的待解密对象转换成比特流,而是可以直接对所选择的待解密对象进行解密。
例如,设备1000的解密接口1030可以通过对待解密对象中包括的参数的值应用预定函数来对待解密对象进行解密。
作为另一示例,设备1000的解密接口1030可以基于预设规则通过将待解密对象中包括的第一块的参数与第二块的参数交换来对待解密对象进行解密。
另外,设备1000的解密接口1030可以通过改变待解密对象中包括的参数的值的符号来对待解密对象进行解密。
另外,设备1000的解密接口1030可以通过使用预设解密密钥来改变加密的多媒体数据中包括的参数的符号而对待解密对象进行解密。
根据另一实施例,设备1000的解密接口1030可以将所选择的待解密对象转换成比特流,可以对该比特流进行解码,并且可以将解密的比特流转换成数据,从而对待解密对象进行解密。
设备1000的解密接口1030可以将来自加密的多媒体数据当中的所选择的待解密对象转换成比特流。
例如,设备1000的解密接口1030可以将待解密对象映射到预设映射表,从而获得与待解密的解密对象相对应的预定值。另外,设备1000的解密接口1030可以对所获得的预定值执行二进制转换,从而获得与待解密的解密对象相对应的比特流。
当设备1000的解密接口1030执行二进制转换时,设备1000的解密接口1030可以基于每个预定值的比特大小信息来执行二进制转换。
设备1000的解密接口1030可以对所获得的比特流进行解密。例如,设备1000可以通过使用适用于比特流的解密方法来对所获得的比特流进行解密。适用于比特流的解密方法可以包括但不限于AES、Blowfish、DES、Serpent、Twofish、Camellia、CAST-128、IDEA、RC2、RC5和SEED。
设备1000的解密接口1030可以将解密的比特流转换成数据,从而获得解密数据。例如,设备1000的解密接口1030可以通过对解密的比特流执行二进制反转换来获得预定值,并且可以通过将预定值映射到预设映射表来获得解密数据。
根据一些实施例,设备1000的解密接口1030可以通过对待解密对象进行解密来获得解密数据。另外,设备1000的解密接口1030可以通过将经加密的多媒体数据的待解密对象转换成解密数据来将加密的多媒体数据转换成解密的多媒体数据。
例如,当所选择的待解密对象是由多个块构成的图片数据的第一块时,设备1000的解密接口1030可以通过对指示第一块的数据进行解密来获得解密数据。设备1000的解密接口1030可以通过将指示加密的图片数据的第一块的数据转换成解密数据来获得解密的图片数据。
另外,设备1000的解密接口1030可以通过将加密的元数据的待解密对象转换成解密数据来将加密的元数据转换成解密的元数据。
设备1000的解密接口1030可以通过对解密的多媒体数据进行编码来生成解密的多媒体比特流。另外,设备1000可以通过对解密的元数据进行编码来生成解密的元比特流。
例如,当设备1000的解密接口1030选择加密的图片数据中的指示人的数据作为待解密对象时,设备1000的解密接口1030可以通过将加密的图片数据中的指示人的数据转换成解密数据来生成解密的多媒体数据,并且可以通过对解密的多媒体数据进行编码来生成解密的图片比特流。
编码可以包括熵编码。熵编码可以将数据转换成比特流。例如,设备1000的解密接口1030可以通过使用熵编码来将解密的多媒体数据转换成1和0的组合。
熵编码可以包括但不限于霍夫曼编码、算术变换编码、游程编码、CAVLC、CABAC等。
根据一些实施例,设备1000的解密接口1030可以对解密的多媒体数据应用与应用于加密的多媒体比特流的编解码器相对应的熵编码。
例如,当应用于加密的多媒体比特流的编解码器是H.265并且H.265中使用的熵编码方法是CABAC时,设备1000可以通过使用CABAC来对解密的多媒体数据进行熵编码。
根据一些实施例,设备1000可以在执行熵编码之前对所选择的待解密对象进行解密。设备1000在执行熵编码之前对所选择的待解密对象进行解密,使得设备1000可以生成可由现有的解码设备使用的解密的多媒体比特流。
图20是根据一些实施例的用于描述设备的详细框图。
如图20中所例示,根据一些实施例的设备1000除了包括控制器1010、加密接口1020和解密接口1030之外,还可以进一步包括用户输入接口2200、输出接口2210、感测接口2220、通信接口2230、音频/视频(A/V)输入接口2240和存储器2250。
通信接口2230可以包括短距离无线通信接口2231、移动通信接口2232和广播接收接口2233。
短距离无线通信接口2231可以包括但不限于蓝牙通信接口、低功耗蓝牙(BLE)通信接口、近场磁场通信接口、WLAN(Wi-Fi)通信接口、Zigbee通信接口、红外数据协会(IrDA)通信接口、Wi-Fi直连(WFD)通信接口、超宽带(UWB)通信接口和Ant+通信接口。
移动通信接口2232与移动通信网络上的基站、外部终端和服务器中的至少一个交换无线信号。该无线信号可以根据声音呼叫信号、视频呼叫信号或文本/多媒体消息的通信包括各种类型的数据。
广播接收接口2233通过广播信道从外部接收广播信号和/或与广播有关的信息。广播信道可以包括卫星信道和地面波信道。在另一实施例中,设备1000可以不包括广播接收接口2233。
另外,通信接口2230可以发送或者接收加密数据,并且也可以发送或者接收加密组信息。这对应于上面所描述的描述,因此,在这里省略其详细描述。
存储器2250可以存储用于处理和控制控制器1010的程序,并且可以存储输入到设备1000或者从设备1000输出的数据。
存储器2250可以包括以下存储器的至少一种类型的存储介质:闪存型存储器、硬盘型存储器、多媒体卡型存储器、诸如安全数字(SD)或xD图片(xD)卡存储器的卡型存储器、随机存取存储器(RAM)、静态随机存取存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁存储器、磁盘和光盘。
存储在存储器2250中的程序可以根据其功能被分类为多个模块,例如,分类为用户界面(UI)模块2251、触摸屏模块2252、通知模块2253等。
UI模块2251可以为每个应用提供与设备1000相关联的专用UI或图形用户界面(GUI)。触摸屏模块2252可以检测用户在触摸屏上的触摸手势并且将与该触摸手势有关的信息发送到控制器1010。根据一些实施例的触摸屏模块2252可以识别并分析触摸代码。可以将触摸屏模块2252具体实现为包括控制器的单独的硬件。
各种传感器可以被布置在触摸屏中或附近以便检测触摸传感器上的触摸或接近触摸。用于检测触摸屏上的触摸的传感器的示例可以包括触觉传感器。触觉传感器至少和人能够检测的敏感度一样敏感地检测特定对象的接触。触觉传感器可以检测各种类型的信息,诸如接触表面的粗糙度、接触对象的硬度、接触点的温度等。
用于检测触摸屏上的触摸的传感器的示例可以包括接近传感器。
接近传感器通过使用电磁场力或红外线而不是机械接触来检测接近预定检测表面或者存在于附近的对象的存在。接近传感器的示例包括透射式光电传感器、方向反射式光电传感器、镜面反射式光电传感器、高频振荡式接近传感器、电容式接近传感器、磁接近传感器、红外式接近传感器等。用户的触摸手势可以包括轻敲手势、触摸并保持手势、双轻敲手势、拖曳手势、平移手势、轻拂手势、拖放手势、扫掠手势等。
通知模块2253可以生成用于通知用户关于在设备1000中发生的事件的信号。可以在设备1000中发生的事件的示例包括呼叫信号接收事件、消息接收事件、键信号输入、日程通知事件等。通知模块2253可以经由显示界面2211以视频信号的形式输出警报信号,经由声音输出接口2212以音频信号的形式输出警报信号,或者经由振动马达2213以振动信号的形式输出警报信号。由存储器2250执行的操作对应于上述的描述,因此,在这里省略其详细描述。
控制器1010通常控制设备1000的所有操作。例如,控制器1010可以执行存储在设备1000中的程序,从而通常控制包括在设备1000中的元件。这对应于上述的描述,因此,在这里省略其详细描述。
用户输入接口2200是指用户用来输入数据以控制设备1000的单元。例如,用户输入接口2200可以包括但不限于键区、圆顶开关、触摸板(触摸电容式触摸板、压力电阻式触摸板、红外光束感测式触摸板、表面声波式触摸板、集成应变计式触摸板、压电效应式触摸板等)、滚轮和点动开关。
输出接口2210可以输出音频信号、视频信号或振动信号,并且可以包括显示接口2211、声音输出接口2212和振动马达2213。
显示接口2211显示并输出在设备1000中经处理的信息。
当显示接口2211和触摸板形成相互层结构并然后被形成为触摸屏时,显示接口2211可以被用作输出设备和输入设备。显示接口2211可以包括液晶显示器(LCD)、薄膜晶体管液晶显示器(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器和电泳显示器中的至少一种。根据设备1000的类型,设备1000可以包括至少两个显示接口2211。这里,至少两个显示接口2211可以通过使用铰链被设置为彼此面对。
声音输出接口2212可以输出从通信接口2230接收到的或者存储在存储器2250中的音频数据。声音输出接口2212也可以输出与由设备1000执行的能力有关的声音信号(例如,呼叫信号接收声音、消息接收声音、通知声音等)。声音输出接口2212可以包括扬声器、蜂鸣器等。
振动马达2213可以输出振动信号。例如,振动马达2213可以输出对应于音频数据(例如,呼叫信号接收声音、消息接收声音等)或视频数据的输出的振动信号。当触摸被输入到触摸屏时,振动马达2213可以输出振动信号。
感测接口2220可以感测设备1000的状态或设备1000周围的状态,并且可以将感测到的信息传递到控制器1010。
感测接口2220可以包括但不限于以下传感器中的至少一种:地磁传感器2221、加速度传感器2222、温度/湿度传感器2223、红外传感器2224、陀螺仪传感器2225、位置传感器(例如,全球定位系统(GPS))2226、气压传感器2227、接近传感器2228和照度传感器2229。传感器的功能可由本领域的普通技术人员通过参考传感器的名称直观地推导出,并且因此,在这里省略其详细描述。
A/V输入接口2240可以接收音频信号或视频信号的输入并且可以包括相机2241和麦克风2242。相机2241可以在视频呼叫模式或图像拍摄模式期间经由图像传感器获得诸如静止图像或运动图像的图像帧。经由图像传感器拍摄的图像可以由控制器1010或单独的图像处理接口(未示出)来处理。
由相机2241处理的图像帧可以被存储在存储器2250中或者可以经由通信器150被发送到外部源。根据设备1000的配置,可以布置两个或更多个相机2241。
麦克风2242接收外部声音信号的输入并且将所接收到的声音信号处理成电子语音数据。例如,麦克风2242可以从设备1000或扬声器接收声音信号。为了去除当正在从外部输入声音信号时发生的噪声,麦克风2242可以使用各种噪声去除算法。
根据本公开的设备可以包括:处理器,用于存储和执行程序数据的存储器(包括磁盘驱动器的永久存储器),用于与外部设备通信的通信端口,包括触摸面板、键、按钮等的用户接口设备。被具体实现为软件模块或算法的方法可以作为可在处理器上执行的计算机可读代码或程序命令被存储在计算机可读记录介质中。计算机可读记录介质是能够存储此后能够由计算机系统读取的数据的任何数据存储设备。计算机可读记录介质的示例包括磁存储介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、软盘、硬盘等)和光学读取介质(CD-ROM、数字通用盘(DVD)等)等。计算机可读记录介质也可分布在网络耦合的计算机系统之上,使得计算机可读代码以分布式方式被存储和执行。媒体可由计算机读取,可被存储在存储器中,并且可在处理器上被执行。
本文所引用的所有参考文献(包括出版物、专利申请和专利)特此通过引用并入,其程度如同每个参考文献被单独且具体地指示为通过引用并入并且被在本文中整体地阐述。
出于促进对本公开的原理的理解的目的,已经参考了附图中所例示的优选实施例,并且已经使用特定语言来描述这些实施例。然而,这种特定语言不旨在限制本公开的范围,并且本公开应当被解释为包含本领域的普通技术人员将通常想到的所有实施例。
可以在功能块组件和各种处理步骤方面对本公开进行描述。可以通过被配置为执行所指定的功能的任何数量的硬件和/或软件组件来实现此类功能块。例如,本公开可以采用各种集成电路组件,例如存储器元件、处理元件、逻辑元件、查找表等,所述各种集成电路组件可以在一个或多个微处理器或其它控制设备的控制下执行各种功能。类似地,在使用软件编程或软件元件来实现本公开的元件的情况下,本公开可以用诸如C、C++、Java、汇编程序等的任何编程或脚本语言来实现,同时各种算法用与数据结构、对象、进程、例行程序或其它编程元件的任何组合来实现。功能方面可以用在一个或多个处理器上执行的算法加以实现。此外,本公开能针对电子配置、信号处理和/或控制、数据处理等采用任何数量的常规技术。单词“机构”、“元件”、“手段”和“配置”被广泛地使用,并且不限于机械或物理实施例,而是可以包括与处理器结合的软件例行程序等。
本文所示出和描述的特定实施方式是本公开的说明性示例,而不旨在以任何方式另外限制本公开的范围。为了简洁起见,可以不详细地描述系统的常规电子装置、控制系统、软件和其它功能方面(以及系统的单独的操作组件的组件)。此外,所呈现的各个图中示出的连接线或连接器旨在表示各种元件之间的示例性功能关系和/或物理或逻辑耦合。应当注意的是,在实际设备中可以存在许多替代或附加功能关系、物理连接或逻辑连接。此外,除非元件被具体地描述为“必要的”或“关键的”,否则项目或组件不是实践本公开所必要的。
在描述本公开的上下文中(特别是在以下权利要求书的上下文中)中使用术语“一”、“一个”和“所述”以及类似的指示物将被解释为涵盖单数和复数形式。此外,本文中值的范围的叙述仅仅旨在用作单独地表示落入该范围内的每个单独值的速记方法,除非本文另外指出,并且每个单独值被并入本说明书,如同它在本文中被单独地叙述一样。最后,除非本文另外指示或者通过上下文另外清楚地反驳,否则本文所描述的所有方法的步骤可以任何适合的顺序执行。除非另外声明,否则本文所提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅仅旨在更好地阐明本公开,而不对本公开的范围构成限制。在不脱离本公开的精神和范围的情况下,许多修改和适配对于本领域的技术人员而言将是容易地显而易见的。

Claims (15)

1.一种生成加密的多媒体比特流的方法,所述方法包括以下步骤:
获得经处理的多媒体数据和元数据;
从所述经处理的多媒体数据当中以及所述元数据当中选择待加密对象;
对所选择的待加密对象进行加密;
基于所述加密的结果,将所述经处理的多媒体数据转换成加密的多媒体数据并且将所述元数据转换成加密的元数据;以及
通过对所述加密的多媒体数据进行编码来生成加密的多媒体比特流,并且通过对所述加密的元数据进行编码来将所述元数据转换成加密的元比特流。
2.根据权利要求1所述的方法,其中,所述编码包括熵编码,并且在执行所述熵编码之前执行所述加密。
3.根据权利要求1所述的方法,其中,获得经处理的多媒体数据的步骤包括:
获得通过基于随机编解码器对多媒体数据进行编码而生成的比特流;以及
通过对所获得的比特流执行熵解码来获得所述经处理的多媒体数据。
4.根据权利要求1所述的方法,其中,对所选择的加密目标进行加密的步骤包括直接对所选择的待加密对象进行加密,而不包括将所选择的待加密对象转换成比特流的过程。
5.根据权利要求1所述的方法,其中,选择待加密对象的步骤包括选择所述经处理的多媒体数据中的一些。
6.一种对加密的多媒体比特流进行解密的方法,所述方法包括以下步骤:
通过对加密的多媒体比特流进行解码来获得加密的多媒体数据,并且通过对加密的元比特流进行解码来获得加密的元数据;
从所述加密的多媒体数据当中以及所述加密的元数据当中选择待解密对象;
对所选择的待解密对象进行解密;
基于所述解密的结果将所述加密的多媒体数据转换成解密的多媒体数据,并且将所述加密的元数据转换成解密的元数据;以及
通过对所述解密的多媒体数据进行编码来生成解密的多媒体比特流,并且通过对所述解密的元数据进行编码来生成解密的元比特流。
7.根据权利要求6所述的方法,
其中,所述解码包括熵解码,并且所述编码包括熵编码,并且
其中,在执行所述熵解码之后并且在执行所述熵编码之前执行所述解密。
8.根据权利要求6所述的方法,其中,对所选择的待解密对象进行解密的步骤包括直接对所选择的待解密对象进行解密,而不包括将所选择的待解密对象转换成比特流的过程。
9.一种用于生成加密的多媒体比特流的设备,所述设备包括加密接口,所述加密接口被配置为:获得经处理的多媒体数据和元数据,从所述经处理的多媒体数据当中以及所述元数据当中选择待加密对象,通过对所选择的待加密对象进行加密来将所述经处理的多媒体数据转换成加密的多媒体数据并且将所述元数据转换成加密的元数据,并且通过对所述加密的多媒体数据进行编码来生成加密的多媒体比特流并且通过对所述加密的元数据进行编码来生成加密的元比特流。
10.根据权利要求9所述的设备,其中,所述编码包括熵编码,并且在执行所述熵编码之前执行所述加密。
11.根据权利要求9所述的设备,进一步包括通信接口,所述通信接口被配置为:获得通过基于随机编解码器对多媒体数据进行编码而生成的比特流,并且
其中,所述加密接口被进一步配置为:通过对由所述通信接口获得的所述比特流执行熵解码来获得所述经处理的多媒体数据。
12.根据权利要求9所述的设备,其中,所述加密接口被进一步配置为:直接对所选择的待加密对象进行加密,而不包括将所选择的加密目标转换成比特流的过程。
13.一种用于对加密的多媒体比特流进行解密的设备,所述设备包括解密接口,所述解密接口被配置为:通过对加密的多媒体比特流进行解码来获得加密的多媒体数据并且通过对加密的元比特流进行解码来获得加密的元数据,从所述加密的多媒体数据当中以及所述加密的元数据当中选择待解密对象,对所选择的待解密对象进行解密,基于所述解密的结果将所述加密的多媒体数据转换成解密的多媒体数据并且将所述加密的元数据转换成解密的元数据,并且通过对所述解密的多媒体数据进行编码来生成解密的多媒体比特流并且通过对所述解密的元数据进行编码来生成解密的元比特流。
14.根据权利要求13所述的设备,
其中,所述解码包括熵解码,并且所述编码包括熵编码,并且
其中,在执行所述熵解码之后并且在执行所述熵编码之前执行所述解密。
15.根据权利要求13所述的设备,其中,所述解密接口被进一步配置为:直接对所选择的待解密对象进行解密,而不包括将所选择的待解密对象转换成比特流的过程。
CN201680038934.1A 2015-07-02 2016-06-24 对多媒体数据进行编码的方法和设备以及对多媒体数据进行解码的方法和设备 Active CN107736029B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2015-0094932 2015-07-02
KR1020150094932A KR102077239B1 (ko) 2015-07-02 2015-07-02 멀티미디어 데이터를 암호화하는 방법 및 장치, 복호화하는 방법 및 장치
PCT/KR2016/006730 WO2017003133A1 (ko) 2015-07-02 2016-06-24 멀티미디어 데이터를 암호화하는 방법 및 장치, 복호화하는 방법 및 장치

Publications (2)

Publication Number Publication Date
CN107736029A CN107736029A (zh) 2018-02-23
CN107736029B true CN107736029B (zh) 2021-08-24

Family

ID=57609302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680038934.1A Active CN107736029B (zh) 2015-07-02 2016-06-24 对多媒体数据进行编码的方法和设备以及对多媒体数据进行解码的方法和设备

Country Status (5)

Country Link
US (1) US10931645B2 (zh)
EP (1) EP3300373A4 (zh)
KR (1) KR102077239B1 (zh)
CN (1) CN107736029B (zh)
WO (1) WO2017003133A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220311596A1 (en) * 2019-05-13 2022-09-29 Pii Guard Aps A computer-implemented method of performing feistel-network-based block-cipher encryption of plaintext
EP4052136A4 (en) * 2019-10-28 2023-11-01 Atombeam Technologies Inc. SYSTEM AND METHODS FOR EFFICIENT BANDWIDTH CRYPTOGRAPHIC DATA TRANSFER

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102804766A (zh) * 2009-06-22 2012-11-28 Nds有限公司 使用可变块大小参数的局部加密
CN105981327A (zh) * 2013-12-15 2016-09-28 三星电子株式会社 安全通信方法和设备以及采用该方法和设备的多媒体装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100439521B1 (ko) 2001-06-19 2004-07-12 주식회사 넷앤티비 헤더 정보 암호화에 의한 멀티미디어 컨텐츠 보호 방법
US20040037421A1 (en) 2001-12-17 2004-02-26 Truman Michael Mead Parital encryption of assembled bitstreams
US7469012B2 (en) * 2002-05-14 2008-12-23 Broadcom Corporation System and method for transcoding entropy-coded bitstreams
US7801820B2 (en) 2003-01-13 2010-09-21 Sony Corporation Real-time delivery of license for previously stored encrypted content
US20040228401A1 (en) * 2003-05-12 2004-11-18 Chen Sherman (Xuemin) Method and system for protecting image data in frame buffers of video compression systems
KR20070006445A (ko) 2005-07-08 2007-01-11 삼성전자주식회사 하이브리드 엔트로피 부호화, 복호화 방법 및 장치
US20070083467A1 (en) 2005-10-10 2007-04-12 Apple Computer, Inc. Partial encryption techniques for media data
JP4348381B2 (ja) * 2007-05-30 2009-10-21 富士通株式会社 画像暗号化/復号化装置、方法およびプログラム
FR2932046B1 (fr) * 2008-06-03 2010-08-20 Thales Sa Procede et systeme permettant de crypter visuellement les objets mobiles au sein d'un flux video compresse
KR100930303B1 (ko) 2009-03-19 2009-12-08 주식회사 파수닷컴 디지털 미디어 콘텐츠 보호 시스템 및 방법
JP5723888B2 (ja) * 2009-12-04 2015-05-27 ソニック アイピー, インコーポレイテッド 基本ビットストリーム暗号材料伝送システムおよび方法
US20120308008A1 (en) * 2011-05-31 2012-12-06 Broadcom Corporation Wireless Transmission of Protected Content
US9088796B2 (en) 2011-11-07 2015-07-21 Sharp Kabushiki Kaisha Video decoder with enhanced CABAC decoding
US9532055B2 (en) * 2012-04-16 2016-12-27 Microsoft Technology Licensing, Llc Constraints and unit types to simplify video random access
US9230340B2 (en) * 2012-05-04 2016-01-05 Semiconductor Components Industries, Llc Imaging systems with programmable fixed rate codecs
EP3082291B1 (en) * 2013-12-15 2022-05-25 Samsung Electronics Co., Ltd. Secure communication method and apparatus and multimedia device employing same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102804766A (zh) * 2009-06-22 2012-11-28 Nds有限公司 使用可变块大小参数的局部加密
CN105981327A (zh) * 2013-12-15 2016-09-28 三星电子株式会社 安全通信方法和设备以及采用该方法和设备的多媒体装置

Also Published As

Publication number Publication date
EP3300373A4 (en) 2018-05-16
EP3300373A1 (en) 2018-03-28
KR20170004501A (ko) 2017-01-11
US20180191690A1 (en) 2018-07-05
WO2017003133A1 (ko) 2017-01-05
KR102077239B1 (ko) 2020-02-13
CN107736029A (zh) 2018-02-23
US10931645B2 (en) 2021-02-23

Similar Documents

Publication Publication Date Title
KR102649892B1 (ko) 분할된 비디오 스트리밍 개념
KR100805604B1 (ko) 데이터 스케일링 방법 및 데이터 처리 방법
CN107040797B (zh) 用于处理图像的装置和方法
JP2019533347A (ja) 映像符号化方法、映像復号方法、および端末
JP2007526507A (ja) スケーラブルメディアを記述するデータを生成するための方法
US20140010367A1 (en) Systems and methods for providing content to a wireless display screen
JP2010004518A (ja) スケーラブルビデオ符号化コンテンツの保護方法及びその装置
US9667982B2 (en) Techniques for transform based transcoding
JP2007534230A (ja) プログレッシブ暗号化されたスケーラブルデータ列をスケーリングするための方法
CN1173567C (zh) 使用加密、解密来保护数据流的方法、编码和解码装置
CN107736029B (zh) 对多媒体数据进行编码的方法和设备以及对多媒体数据进行解码的方法和设备
US20170163414A1 (en) Method and device for data encrypting
US11706382B2 (en) Methods and apparatus for encrypting camera media
KR20230002318A (ko) 머신들을 위한 패치 기반 비디오 코딩
KR20060034677A (ko) 스케일러블 비디오 부호화 콘텐츠의 보호 방법 및 그 장치
Kamble et al. Steganography techniques: A review
CN111341329B (zh) 水印信息添加方法、提取方法、装置、设备及介质
US8989432B2 (en) System and method of adding a watermark to a JPEG image file
JP2005160018A (ja) 画像保護システムおよび方法
Fang et al. Compliant encryption scheme for JPEG 2000 image code streams
JP5610981B2 (ja) 画像暗号化装置及び画像復号装置及び画像暗号化方法及び画像復号方法及び画像暗号化プログラム及び画像復号プログラム
US20130259395A1 (en) System and Method of Manipulating a JPEG Header
Saravanan et al. A novel block-based selective embedding type video data hiding using encryption algorithms
CN115315951A (zh) 用于远程终端的沉浸式远程会议和远程呈现的比特流结构
Sarika et al. Compression of Encrypted Images Using Set Partitioning In Hierarchical Trees Algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant