- 博客(174)
- 资源 (13)
- 收藏
- 关注
原创 在 Android 上做牙科 CBCT 三维测量与端侧 AI 分割::cbctmeasure 模块实现拆解
本文拆解 Android NDK 模块 :cbctmeasure,实现牙科 CBCT 三维测量与端侧 AI 分割。基于纯 C++ 核心层(可主机编译),支持临床级距离/角度/体积/骨密度测量、ROI 分割量化、种植体安全判级及 ONNX 端侧牙齿分割。通过 386 条断言验证精度,真机与主机逐元素比对(AC-08),确保结果可复现。关键创新包括体素角点权重算法(≤1% 误差)、浮点确定性保障(-ffp-contract=off)、AI 链路可取证设计,以及三源输出(报告/PDF/DICOM SR)同源。性能
2026-10-01 11:00:11
449
原创 手把手搭建 WebRTC 视频通话:Android App + Python 信令服务器 + Web 端,外加弱网自适应实战
本文基于开源项目 WebRTCDemo,完整实现安卓(webrtclib)、Python 信令服务器与网页端的 WebRTC 视频通话。三端通过分离信令(WebSocket)与媒体(UDP SRTP)通道,实现低延迟直连。重点展示弱网自适应策略:网络差时自动关视频保音频,恢复后逐级回升,断线后通过 ICE 重连机制自动恢复。全程实测,支持带宽压至 100kbps、丢包 25% 场景,代码真实可运行,源码已开源。
2026-09-27 17:03:42
385
原创 CBCT 三维可视化实战:DCMTK + VTK 交叉编译、集成与体渲染全流程
内容描述了CBCT DICOM解析+VTK渲染的Android实现,涉及交叉编译、架构、渲染等。摘要应简洁,突出核心收获。涵盖主要点:DCMTK/VTK交叉编译、双Pass解析、VR/MPR实现、GLES3坑。总字数控制住。 先拟摘要: 本文复盘Android真机实现CBCT DICOM序列解析与VTK三维渲染(VR/MPR)全流程:包含DCMTK/VTK 9.1.0的NDK交
2026-09-08 16:42:36
293
原创 实时视觉感知实战:CameraX + OpenCV(C++/JNI) 实现多级联人脸检测与框选实物跟
使用Android工程camerarecognition实现人脸检测和物体跟踪,实现移动端实时人脸检测与物体跟踪。系统采用三层架构:Kotlin负责UI与CameraX采集YUV帧,JNI桥接C++层,利用OpenCV完成多级联人脸检测与CamShift实物跟踪,并通过ANativeWindow零拷贝渲染。
2026-09-05 18:46:08
346
原创 从教材到真机:一个 Kotlin + OpenCV(C++/JNI) 数字图像与视频处理工程的全景解析
介绍Android工程OpencvProcessing,包含多个图像/视频处理模块(增强、水印等),通过实现原理、代码解析、场景三段式剖析,强调算法工程化解耦。或者更具体。我们要限制字数。输出只需摘要内容,不要其他。</think>本文剖析七模块Android图像/视频处理工程,涵盖增强、形态学、分割、水印、质量评价、检索、模板匹配及人脸识别。采用「原理→代码→场景」结构,结合JNI/C++/Kotlin实现,展示算法工程化解耦实践。附源码链接,适合教材算法的真机交互验证。
2026-09-03 17:36:43
480
原创 Android FFmpeg 实战:从基础到播放器的完整技术解析
Android FFmpeg 实战项目技术解析 该项目提供了一个完整的Android音视频处理框架,基于FFmpeg实现从基础功能到高级播放器的全流程开发。项目采用多模块架构设计,分为9个独立模块,涵盖音视频基础操作、编解码、图像处理、滤镜应用、硬件编解码和播放功能。 技术架构采用三层设计: UI层:单Activity+多Fragment导航结构,基于ViewBinding和ViewModel实现界面交互 JNI+业务层:使用动态注册方式实现Java与C++交互,每个功能模块独立封装 底层:预编译FFmpe
2026-08-08 18:51:46
369
原创 Android音视频开发实战:基于FFmpeg、OpenGL ES与RTMP的全栈解析
这篇文章介绍了一个Android平台的全栈多媒体开发项目WyFFmpeg,该项目整合了FFmpeg编解码、OpenGL ES渲染、H.264/H.265解析和RTMP推流等核心技术。项目包含7个模块:ffmpegplay(音视频处理)、glplay(OpenGL渲染)、h264(H.264解析)、h265(H.265解析与转码)、rtmplive(RTMP推流)等。文章详细解析了各模块的架构设计和关键技术实现,包括JNI动态注册、FFmpeg音视频处理流程、OpenGL ES渲染管线、H.264/H.265
2026-08-08 13:22:46
232
原创 Android OpenGL ES 从入门到精通:AndroidLearnOpenGL 项目全解析
《Android OpenGL ES 实战指南:AndroidLearnOpenGL 项目深度解析》 摘要:本文系统解析了开源项目 AndroidLearnOpenGL,该项目将经典 LearnOpenGL 教程完整移植到 Android 平台,包含 37 个 OpenGL ES 3.0/3.2 交互式 Demo。项目采用分层架构设计(Java 壳工程 + JNI + C++渲染层),涵盖基础图形渲染、3D 模型加载、光照系统、骨骼动画等核心功能模块。通过 ViewModel + LiveData 实现模块
2026-08-08 13:12:57
367
原创 DcmtkDemo 技术解析医学影像处理全栈方案
摘要:DcmtkDemo是一个Android平台医疗影像处理开源项目,采用DCMTK+OpenCV技术栈实现桌面级医学影像能力。项目采用三层架构设计:Kotlin业务表现层、DCMTK核心协议层(处理PACS网络通信和DICOM文件I/O)和OpenCV算法增强层。关键技术包括: 严格的JNI桥接设计,实现类型安全转换和内存管理 完整的DICOM网络通信协议支持(C-ECHO/C-FIND等) 基于RAII的资源管理和防崩溃字符串处理 动态JNI方法注册机制 面向移动网络优化的PACS通信实现 项目通过将计
2026-08-02 20:03:59
254
原创 Mac Pro上的DCMTK的服务搭建
本文详细介绍了如何在Mac上搭建DCMTK(DICOM Toolkit)服务环境,并实现Android端的DICOM协议交互。主要内容包括:1. Mac端DCMTK服务搭建,涵盖源码编译、环境配置及C-ECHO/C-STORE/C-FIND/C-MOVE等DICOM基础协议测试;2. Android端实现,展示如何通过交叉编译库与Mac服务端进行影像传输和查询;3. Worklist服务配置,包含检查单数据库创建、模板转换和查询测试。文章提供了完整的配置文件示例、命令行操作步骤及GitHub项目参考,实现了
2026-07-05 00:45:50
273
原创 FFmpeg解码OpenSL、ANativeWindow播放实现音视频同步
本文介绍了基于FFmpeg实现音视频同步播放的技术方案。主要内容包括:1. 音视频同步原理:采用音频主时钟策略,通过比较视频帧PTS与音频时钟,动态调整视频播放速度(丢帧或延迟)。2. 关键技术实现:使用FFmpeg解码音频(OpenSL ES播放)和视频(ANativeWindow渲染),通过多线程架构(解复用、解码、播放线程)处理数据流。3. 核心代码结构:详细设计了音频/视频帧队列、时钟管理模块,并实现了音视频同步控制逻辑。该方案能有效解决播放过程中的时钟漂移问题,确保音画同步。完整代码已开源在Git
2025-12-21 14:01:48
1147
原创 FFmpeg解码视频数据OpenGL Texture播放
本文介绍了使用FFmpeg解码视频数据并通过OpenGL纹理进行播放的实现方案。文章首先概述了OpenGL渲染环境的搭建,包括EGL核心初始化、着色器编译、纹理创建等关键步骤。然后详细讲解了FFmpeg解码线程与OpenGL渲染线程的协同工作流程,重点分析了YUV420P格式视频帧到纹理数据的转换过程。文中提供了完整的代码实现,包括EGLSurfaceViewVideoRender类封装OpenGL渲染逻辑,以及FFGLPlayer类处理FFmpeg解码与OpenGL渲染的线程同步。最后展示了实现效果并提供
2025-12-10 17:05:10
914
原创 FFmpeg解码视频数据ANativeWindow播放
本文介绍了使用FFmpeg解码视频数据并通过ANativeWindow进行播放的实现方案。主要内容包括:1)设计线程安全队列实现解码线程和渲染线程间的数据传递;2)解码线程通过FFmpeg读取视频帧并存入队列;3)渲染线程从队列获取帧数据,转换颜色空间后通过ANativeWindow进行显示;4)实现了帧率控制机制,基于时间戳调整播放速度。系统采用双线程架构,通过条件变量实现线程同步,确保流畅播放。完整代码已开源在GitHub项目中,为Android平台视频播放开发提供了实用参考方案。
2025-11-22 20:10:30
475
原创 FFmpeg解码音频数据AudioTrack/OpenSL播放
本文介绍了使用FFmpeg解码音频数据并通过AudioTrack和OpenSL ES播放的实现方法。首先通过FFmpeg完成音频文件的打开、流信息解析、解码器初始化和PCM数据提取,其中涉及关键的重采样处理。在播放环节,分别实现了两种方案:1)通过回调将PCM数据传递给Java层的AudioTrack播放;2)利用OpenSL ES构建完整的音频播放管线,包括引擎创建、混音器配置和播放器初始化,并通过缓冲区队列回调机制实现解码线程与播放线程的同步控制。文中详细展示了OpenSL ES的封装类实现,以及解码线
2025-11-15 20:01:26
1543
1
原创 Xcode上编译调试ffmpeg
本文详细介绍了在macOS系统中源码编译FFmpeg的方法:首先下载解压FFmpeg-7.0.2,创建编译目录并修改文件权限;然后通过./configure指定路径进行编译,依次执行make和make install命令;最后配置环境变量并在Xcode中调试源码。文中提供了具体命令和操作步骤,包括查找bin目录路径、编辑.bash_profile文件等完整流程,帮助开发者成功在macOS平台完成FFmpeg的源码编译和环境配置。
2025-10-01 13:57:40
930
原创 音视频编解码全流程之用Extractor后Decodec
本文介绍了音视频编解码流程中从媒体文件提取数据包后进行解码的两种实现方式:FFmpeg和MediaCodec。在FFmpeg部分,详细说明了交叉编译、数据包提取、解码器查找和分配、数据包解码等步骤,并提供了完整的代码实现。在MediaCodec部分,重点讲解了Extractor初始化、轨道选择、解码器初始化以及解码过程,同样包含详细代码示例。文章还对比了两种解码流程的异同,并展示了实际效果。所有代码均可在作者GitHub项目中查看。该系列文章为音视频开发提供了完整的流程参考,适合开发者学习音视频编解码技术。
2025-10-01 13:56:05
1107
原创 音视频编解码全流程之用Extractor后Muxer生成MP4
本文介绍了使用FFmpeg和NDK实现音视频文件转封装生成MP4文件的全流程。在FFmpeg部分,详细展示了通过AVFormatContext读取源文件、提取音视频流、创建输出文件并写入数据包的过程。NDK部分则基于Android原生API,使用AMediaExtractor和AMediaMuxer实现类似功能,包括初始化提取器、选择音视频轨道、配置复用器以及执行转封装操作。文章对比了两种技术方案的实现差异,并提供了完整的代码实现(GitHub项目可查)。两种方法均能有效完成音视频数据的提取和重新封装,适合
2025-09-29 22:20:09
758
原创 音视频编解码全流程之复用器Muxer
本文介绍了Android音视频编解码中Extractor和Muxer的使用流程。主要内容包括:1)使用FFmpeg进行音视频文件写入的11个关键步骤,从初始化AVFormatContext到写入数据包;2)NDK MediaMuxer的实现方式,通过HwMuxer和ProcessMuxer类完成媒体文件复用;3)对比了FFmpeg和NDK MediaMuxer在获取复用器和写入数据包操作上的差异。文章提供了完整的代码实现,展示了两种技术方案在Android音视频处理中的应用方法。
2025-09-23 18:42:58
873
原创 音视频编解码全流程之Extractor
本文介绍了Android平台下媒体文件处理的两种技术方案:基于FFmpeg的软件编解码和基于MediaCodec的硬件编解码。详细阐述了FFmpeg通过avformat_open_input()等API提取音视频流信息的过程,以及MediaCodec借助AMediaExtractor提取媒体数据的实现方法。文章对比了两种技术在文件打开、流索引获取、编解码器选择、轨道选择等关键环节的差异,并提供了完整的代码实现(GitHub项目链接)。通过BenchmarkCommon、Stats等工具类,实现了对编解码性能
2025-09-21 21:41:27
1170
原创 Ubuntu系统下交叉编译Android的Lame库
本文详细介绍了在Ubuntu 20.04系统上交叉编译LAME音频编码库为Android平台的过程。主要内容包括:1)下载LAME 3.100源码并解压;2)配置Android NDK r28c开发环境;3)编写自动化编译脚本android_lame_build.sh,支持armeabi-v7a和arm64-v8a架构;4)将编译好的LAME库集成到FFmpeg中,通过修改FFmpeg编译脚本添加对LAME库的支持;5)最终在android-build目录下生成各架构的库文件。文章提供了完整的脚本代码和关键
2025-09-14 12:09:54
765
原创 Ubuntu系统下交叉编译Android的X264库
本文详细介绍了在Ubuntu 20.04系统上交叉编译X264库并集成到FFmpeg的完整过程。主要内容包括:1)从VideoLAN官网下载X264源码并配置编译参数;2)下载Android NDK工具链并设置交叉编译环境;3)创建编译脚本x264_build.sh,针对armv7/armv8/x86/x86_64等多种架构进行编译;4)将编译好的X264库集成到FFmpeg中,通过修改构建脚本实现H.264编码支持;5)提供了完整的验证代码示例,展示如何在实际项目中使用libx264编码器进行视频重编码。
2025-08-30 14:41:53
1040
原创 macOs上ffmpeg带入libx264库交叉编译
本文详细介绍了在MacOS 14.6.1系统上为Android平台交叉编译libx264和FFmpeg的过程。主要内容包括:1)下载libx264源码并配置NDK路径;2)编写编译脚本android_x264.sh,支持armv7、armv8、x86、x86_64架构;3)解决编译中遇到的动态库链接问题;4)将编译好的libx264集成到FFmpeg编译中,提供完整的编译脚本android_ff_x264.sh。文中特别指出了编译过程中可能遇到的"libx264.so.165"链接错误及
2025-08-30 13:45:39
1270
原创 Ubuntu系统下FFmpeg源码编译安装
本文详细记录了在Linux系统中编译安装FFmpeg 6.1.2的全过程。主要步骤包括:下载并解压源码包;修改目录权限;配置编译参数(--enable-shared --prefix指定安装路径);处理编译过程中的权限问题(需多次修改相关目录权限为777);执行make和make install完成编译安装;配置环境变量(~/.bashrc中添加bin和lib路径);最后通过ffmpeg -version验证安装成功。整个过程中,权限问题是主要障碍,通过递归修改整个ffmpeg目录权限最终解决该问题。编译完
2025-07-23 20:50:31
1486
原创 macOs上交叉编译ffmpeg及安装ffmpeg工具
本文详细介绍了在MacBook Pro(macOS 14.6.1)上编译安装FFmpeg的完整过程。首先下载并解压FFmpeg 7.0.2源码,解决编译时遇到的nasm/yasm依赖问题。然后重点说明了Android平台的交叉编译配置,包括NDK路径设置、环境变量配置和自定义编译脚本的编写。最后展示了如何在macOS系统上安装预编译的FFmpeg工具链,包括环境变量配置和权限问题的解决方法。整个过程涵盖了从源码编译到工具安装的完整流程,为在macOS系统上使用FFmpeg提供了详细指导。
2025-07-20 21:24:03
1384
原创 Ubuntu系统下交叉编译Android的X265库
本文详细介绍了在Linux环境下交叉编译x265视频编码器到Android平台的过程。主要步骤包括:1) 下载x265_4.1源码并解压;2) 配置Android NDK(r27c)开发环境,包括路径设置和权限修改;3) 修改x265的交叉编译配置文件crosscompile.cmake,替换为Android NDK工具链;4) 处理编译过程中出现的NUMA库和NASM缺失问题;5) 调整编译配置选项,解决链接错误后完成编译。最终在指定目录生成包含头文件和库文件的编译结果,为Android平台提供了x265
2025-07-18 19:45:00
1400
5
原创 FFmpeg 中./configure的解析
本文解析了FFmpeg-5.1.6的编译配置过程,重点分析了Android平台交叉编译脚本android_build1.sh的执行流程。首先介绍了configure脚本的功能和输出选项,详细说明了其配置参数和硬件加速支持。随后剖析了android_build1.sh的工作机制:通过build_all函数设置通用编译选项,build函数根据不同CPU架构(armeabi-v7a/arm64-v8a/x86/x86_64)配置对应的工具链和优化参数,最终调用configure生成Makefile并执行编译安装。
2025-07-01 17:15:00
1051
原创 Android Liunx ffmpeg交叉编译
本文介绍了在Windows系统通过VMware虚拟机运行Ubuntu 20.04进行Android交叉编译的过程。主要内容包括:1)安装NDK(下载r27c版本,配置环境变量);2)下载解压FFmpeg 5.1.6;3)创建编译脚本android_build1.sh,包含armeabi-v7a、arm64-v8a等平台配置;4)执行编译后生成包含头文件、so库、日志等资源的android目录。整个过程详细说明了NDK环境搭建、FFmpeg编译配置及多平台交叉编译的实现方法。
2025-06-30 20:45:00
1347
1
原创 音视频之H.264的可伸缩编码SVC
视频编码的目标由单纯的追求高压缩率转向了使视频流能够更好地适应各种不同的网络环境和用户终端。然而, 实际系统中网络环境和用户终端设备均存在异构性。网络的异构性体现在带宽的不同,终端设备的异构性则是指处理能力和显示能力的差异。这些对视频编码提出了新的挑战,编码器无法预知传输网络和客户设备的条件,因此,视频服务器需要对视频传输请求有自适应性, 以使得码流可以被灵活地组织适应不同的应用需求。为了获得这种自适应性,可以采用的视频编码技术主要有自适应编码、转码、联播、多描述编码和可伸缩编码等。
2025-06-20 18:04:55
1929
1
原创 音视频之H.264视频编码传输及其在移动通信中的应用
H.264采用分层模式,定义了视频编码层(VCL)和网络提取层(NAL),后者专为网络传输设计,能适应于不同网络中的视频传输,进一步提高网络“亲和性”。H.264引入了面向IP包的编码机制,有利于网络中的分组传输,支持网络中视频的流媒体传输。H.264具有较强的抗误码特性,特别适应丢包率高、干扰严重的无线视频传输的要求。多媒体视频在不同环境下的传输,不仅需要高效率的编码,同时还需要编码后的视频能容易地无缝集成到当前和未来的网络协议架构当中。VCL包括VCL编码器与VCL解码器,主要功能是采用运动补偿、
2025-06-19 17:23:09
1309
原创 音视频之H.264/AVC解码器的原理和实现
H.264包含视频编码层(VCL)和网络提取层(NAL)。 VCL包括核心压缩引擎和块、宏块及片的语法级别的定义,它的设计目标是尽可能地独立于网络的情况下进行高效地编解码;而NAL则负责将VCL产生的比特字符串适配到各种各样的网络环境中,它覆盖了所有片级别以上的语法级别,同时支持以下功能:支持独立片解码,起始码唯一保证,支持SEI,支持流格式编码数据传送。NAL解码器负责将符合H.264码流规范的压缩视频流解码, 并进行图像重建。根据如图7.1所示的解码器,我们可以看出基本的解码流程如下:解码器从NAL
2025-06-16 22:15:00
1627
1
原创 音视频之H.264的句法和语义
在编码器输出的码流中,数据的基本单位是句法元素。每个句法元素由若干比特组成,它表示某个特定的物理意义,例如:宏块类型、量化参数等。句法表征句法元素的组织结构,语义阐述句法元素的具体含义。所有的视频编码标准都是通过定义句法和语义来规范编解码器的工作流程。编码器输出的比特码流中,每个比特都隶属某个句法元素,也就是说,码流是由一个个句法元素依次衔接组成的,码流中除了句法元素外并不存在专门用于控制或同步的内容。在H.264定义的码流中,句法元素被组织成有层次的结构,分别描述各个层次的信息。
2025-06-13 21:15:00
1683
原创 音视频之H.264/AVC编码器原理
H.264/AVC视频编码技术详解 H.264/AVC是新一代高效视频编码标准,由ITU-T和MPEG联合开发。该标准通过多项创新技术显著提高了视频压缩效率,主要特性包括: 高效的预测编码:采用可变尺寸块运动补偿(16×16至4×4)、1/4像素精度运动估计和多参考帧预测,大幅提升预测准确性。 先进的变换量化:使用4×4整数DCT变换,结合52级量化参数和自适应量化矩阵,有效去除空间冗余。 两种熵编码:CAVLC(基于上下文的变长编码)和CABAC(二进制算术编码),后者可提升9%-14%压缩率。 环路滤波
2025-06-12 19:45:00
2696
原创 音视频之视频压缩编码的基本原理
预测法是最简单、实用的视频压缩编码方法,经过压缩编码后传输的并不是像素本身的取样值,而是该取样的预测值和实际值之差。 为什么取像素预测值与实际值之差作为传输的信号?因为大量统计表明,同一幅图像的邻近像素之间有着相关性,或者说这些像素值相似,如图3.1所示。邻近像素之间发生突变或“很不相似”的概率很小。而且同帧图像中邻近行之间对应位置的像素之间也有较强的相关性。人们可以利用这些性质进行视频压缩编码
2025-06-05 16:39:21
1193
原创 音视频之视频压缩及数字视频基础概念
本文综述了视频压缩编码技术及数字视频的基本概念。首先,文章介绍了信息的三大特性(通用性、抽象性、无限性)及信息化的定义与实现途径。接着,文章详细分析了视频信息的特点,包括直观性、确定性、高效性和广泛性,并指出视频信号的高带宽性。随后,文章探讨了视频压缩编码的必要性及可能性,重点介绍了预测编码和变换编码的原理。文章还概述了视频编码系统的基本结构,分为基于波形的编码和基于内容的编码两大类,并简要提及了立体视频编码的发展方向。最后,文章介绍了数字电视的基本概念、PCM原理及数字电视信号的编码参数,强调了数字电视在
2025-05-23 19:00:00
1480
原创 音视频之H.265/HEVC速率控制
视频传输带宽通常都会受到一定限制,为了在满足信道带宽和传输时延限制的情况下有效传输视频数据,保证视频业务的播放质量,需要对视频编码过程进行速率控制。所谓速率控制,就是通过选择一系列编码参数,使得视频编码后的比特率满足所需要的速率限制,并且使得编码失真尽量小。速率控制属于率失真优化的范畴,速率控制算法的重点是确定与速率相关的量化参数(QuantizationParameter,QP)。
2025-05-20 16:35:31
1668
原创 音视频之H.265/HEVC率失真优化
为了将具有庞大数据量的视频在有限信道内传输、存储,高压缩率的编码算法往往会造成编码重建视频与原始视频存在差别,即重建视频产生失真,该类压缩被称为有损压缩。对于有损压缩算法,其性能需要根据编码输出的比特率和编码带来的失真度共同衡量。编码比特率和失真度相互制约、相互矛盾,如降低比特率往往会增加视频的失真度,相反要想获得更好的视频质量,又会提高视频的编码比特率。因此,视频编码的主要目的就是在保证一定视频质量的条件下尽量减少编码比特率,或在一定编码比特率限制条件下尽量地减小编码失真。在固定的编码框架下,为了应
2025-05-19 18:41:45
1433
原创 音视频之H.265/HEVC编解码并处理
新一代视频压缩标准 H.265/HEVC 在很大程度上是为了满足人们对于高分辨率视频的需求,而对于高清乃至超高清视频,分辨率达到了4kx2k或8kx4k,无论是从编码还是从解码的角度,其计算复杂度都是极高的。而为了提高H.265/HEVC的网络适应能力,其压缩性能与H.264/AVC 相比显著提高,相同条件下的码率可以降低50%,获得性能提升的代价就是编解码复杂度的大大提高。 与H.264/AVC相比,H.265/HEVC的复杂度主要体现在以下几点:H.265/HEVC 的帧内预测模式增多,
2025-05-06 16:52:40
1546
原创 音视频之H.265/HEVC网络适配层
H.265/HEVC也采用了视频编码层(Video Coding Layer,VCL)和网络适配层(Network Abstract Layer,NAL)的双层架构,以适应不同的网络环境和视频应用。网络适配层的主要任务是对视频压缩后的数据进行划分和封装,并进行必要的标识,使其可以很好地适应复杂多变的网络环境。当前的网络类型多种多样,不同的网络环境具有不同的特性,压缩视频在其中进行传输时必然会受到影响。例如,不同类型的网络支持的最大传输单元(Maximum Transmission Unit,MTU)可能有所
2025-04-29 16:19:10
1408
原创 音视频之H.265/HEVC熵编码
熵编码是指按信息熵原理进行的无损编码方式,无损编码也是有损视频编码中的一个关键模块,它处于视频压缩系统的末端。编码把一系列用来表示视频序列的元素符号转变为一个用来传输或存储的压缩码流,输入的符号可能包括量化的变换系数、运动矢量信息、预测模式信息等。熵编码可以有效去除这些视频元素符号的统计几余,是保证视频编码压缩效率的重要工具之一。
2025-04-27 18:12:18
1920
原创 音视频之H.265/HEVC环路后处理
类似于以往的视频编码标准,H.265/HEVC 仍采用基于块的混合编码框架,方块效应、振铃效应、颜色偏差以及图像模糊等失真效应仍存在于采用 H.265/HEVC 标准的压缩视频中。为了降低这类失真对视频质量的影响,H.265/HEVC中采用了环路滤波技术叫(In-loop Filtering),包括去方块滤波(Deblocking Filter)和像素自适应补偿(Sample Adaptive Offset)两个模块。去方块滤波用于降低方块效应,像素自适应补偿用于改善振铃效应,这两个模块在编码框架中的位置如
2025-04-24 19:12:37
1763
Android自定义画布及环形菜单
2017-07-02
Android 画布Canvas之控件连线操作Demo
2017-07-24
Android中RecyclerView的item运用覆盖view的方法实现item的动画效果
2017-04-04
Android中RecyclerView的item运用覆盖view的方法实现item的动画效果1
2017-04-04
Android下自动连接指定SSID的WIFI的简单实现的demo
2018-10-31
Android自定义万能Canvas画布Demo
2017-07-17
GamepadView、JostickView仿创客工场中的遥感的自定义View
2018-08-04
Android Blockly积木编程源码对Workspace中的block数据保存及读取的流程,及改造原生代码实现Trash垃圾桶中的block保存及读取
2018-01-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅