前几天整理旧物翻出一台索尼爱立信 K770i。插上充电器屏幕亮起熟悉的 Sony Ericsson 标识把时间拉回到 2007 年。严格来说这款机器并不是当年的旗舰但它集合了当时很多用户关心的关键词3G 视频通话、Cyber-shot 拍照、320 万像素、WCDMA 网络。它既不是第一台 3G 手机也不是拍照最强的手机却因为克制而均衡的硬件选择成为观察那个时代通信与影像技术非常好的样本。这篇文章不是怀旧散文而是以 K770 为线索把三件事拆开聊3G 视频通话到底是怎么实现的为什么它当时看起来惊艳却没能成为日常Cyber-shot 影像体系在当时的手机上有多少技术含量以及从功能机到智能手机的演进过程中那些通信协议、硬件协同和生态设计的经验对今天做音视频开发的人有什么借鉴意义。如果你经历过功能机时代可以边看边对照回忆如果你想了解移动通信从电路域到 IP 域的演进或者正在学习音视频开发这篇文章也值得收藏起来慢慢看。涉及内容较多建议先读目录再按兴趣章节展开。1. 背景与核心概念2007 年的 3G 与视频通话1.1 2007 年左右的移动通信环境2007 年前后移动通信市场正处在一个明显分水岭。欧美和日本等地区已经陆续商用 WCDMA/HSPA 网络3G 不再只是实验室里的演示而不少其他市场仍然以 GSM 为主3G 牌照都还没有发放。那几年手机用户对 3G 的感知基本可以概括成三个词网速更快、可视电话、套餐更贵。当时的手机形态也很有意思。智能手机开始冒头但大多数人手里用的还是功能机。索尼爱立信在 Symphony、Walkman 之外把影像产品线单独拉出来和索尼数码相机品牌 Cyber-shot 绑定推出了 K 系列拍照手机。K770 就诞生在这样一个产品逻辑里用更低的门槛让普通用户也能获得接近 Cyber-shot 相机风格的拍照体验同时补上 3G 视频通话需要的前置摄像头。从技术视角看2007 年的 K770 恰好跨越了两个世界一边是传统的电路交换语音网络一边是刚刚开始走向实用化的分组数据业务。它身上既有打电话的老基因又有视频通话这种新需求所以非常适合用来理解 3G 早期的技术形态。1.2 3G 视频通话到底是什么今天只要手机能上网打开微信、FaceTime 或 Teams 就能打视频电话大家会默认“视频通话 一个网络应用”。但在 3G 早期“视频通话”更多指运营商提供的可视电话业务走的是移动通信网络里的电路域也就是 CS 域。所谓 CS 域全称是 Circuit Switched Domain电路交换域。它的思路和传统电话一模一样通话前先建立一条连接整个通话过程中这条连接被独占。优点是时延稳定服务质量容易保证缺点是资源利用率低即使不说话线路也为你保留着。早期 3G 视频通话正是建立在这种独占通道之上。WCDMA 网络会为一次视频通话分配一条上下行各 64 kbps 左右的业务信道视频数据在信道里稳定传输不受普通上网数据的干扰。这也解释了为什么 3G 视频通话的收费标准更像“通话”而不是“流量”。与之对应的是 PS 域也就是 Packet Switched Domain分组交换域。我们平时用的移动数据、上网浏览、App 通讯都走 PS 域。PS 域灵活资源复用率高但早期网络对 QoS 的保障能力有限不适合承载高质量实时通话。这个 CS 与 PS 的差异是理解 3G 视频通话后续命运的关键。1.3 K770 在当时产品线中的位置K770 并不是顶级旗舰它的角色更接近“让 3G 视频通话和 Cyber-shot 拍照下沉到中端价位”。为了方便理解这里列出几个当时比较有代表性的规格项目典型情况产品定位Cyber-shot 系列拍照手机中等价位网络能力GSM/GPRS/EDGE并支持 WCDMA 3G 网络具体频段因地区版本有差异主屏幕约 2.0 英寸级别26 万色 TFT 屏分辨率约为 QVGA 级后置摄像头320 万像素 Cyber-shot 影像系统视频通话支持屏幕上方设有辅助前置摄像头存储扩展使用 Memory Stick MicroM2记忆棒操作系统索尼爱立信自有功能机平台受限的 Java 扩展能力注意这里描述的是“典型情况”不同市场、不同批次的具体参数可能略有差异。放到当时的索尼爱立信产品线里K770 的定位很有意思它比旗舰 K850 更轻巧比入门拍照机 K550 多出了完整的 3G 视频通话能力属于“在 3G 普及前夜做出来的大众 3G 手机”。为什么这篇文章选它来拆而不是选一台旗舰因为旗舰手机的功能堆料多容易掩盖“为了一个功能需要做哪些取舍”。K770 这种中端机每一个硬件模块都必须有明确用途反而更能体现 3G 视频通话和拍照影像带给整机设计的真实压力。2. 3G 视频通话技术拆解CS 域、64kbps 与 3G-324M2.1 为什么需要一套专门协议要在 3G 网络上做视频通话第一个问题是语音有现成的话音编码和呼叫流程视频数据该按什么格式传两台不同品牌的手机之间怎么保证能互相解码如果大家都用私有协议联通用户和移动用户、诺基亚手机和索爱手机之间就没法互通。于是国际电信联盟 ITU 在 H.324 系列标准基础上做了面向移动环境的扩展产生了 H.324M有时也叫 3G-324M。3GPP 把它纳入 3G 电路域可视电话的核心标准后它就成为 WCDMA 网络里终端之间做视频通话的通用语言。3G-324M 解决的核心问题是把“视频通话”当作一次有质量保障的呼叫来完成用户拨号、对方响铃、接通后双向音视频同时传输最后挂断释放资源。整个过程不需要借用 IP 网络也不依赖互联网上的服务器完全在移动通信网络内闭环。2.2 3G-324M 协议栈中的几个角色3G-324M 并不是只有一个协议它是一组协议协作的结果。为了方便理解可以把它想象成一个洋葱每一层都有自己的任务。下面用一个非常简化的协议栈来表示---------------------------------------------- | 音频数据AMR-NB | 视频数据H.263/MPEG-4 | | 系统控制H.245 控制消息 | ---------------------------------------------- | H.223 适配层把音频帧、视频帧进行分段打包 | ---------------------------------------------- | H.223 复用层把多路数据复用到一条信道 | ---------------------------------------------- | 3G 电路域承载经典场景下为 64 kbps 速率 | ----------------------------------------------H.245 负责控制。通话双方接通后会通过 H.245 消息交换“能力集”告诉对方我支持什么视频编码、什么音频编码、最大分辨率是多少、能开几条逻辑信道。这个过程非常像今天 WebRTC 里的 SDP 协商本质都是“先商量好共同语言再开始传数据”。H.263 是当时最流行的低码率视频编码之一后来也支持 MPEG-4。为什么不用 H.264不是技术不允许而是当时 H.264 的复杂度更高终端处理能力有限专利授权也还没有像后来那样形成统一框架。AMR-NB 则是 3GPP 定义的窄带语音编码主要面向语音传输即使只用来打电话它也是 WCDMA 网络的默认语音编码方案。H.223 要做的是复用。可以把视频帧、音频帧、控制信令都拆成小段按照逻辑信道号打上标识然后按优先级混合进同一条 64 kbps 连接到达对端后再按标识拆开、恢复成原始数据。这个“多路复用”思想和我们在计算机网络里学到的时分复用、分组复用是同一种底层逻辑。2.3 64kbps 能带来什么样的画面现在的问题来了64 kbps 能跑出多么清晰的视频答案是比较勉强。一次 3G 视频通话中这 64 kbps 并不是全部留给视频。音频 AMR-NB 通常要占掉 4.75 kbps 到 12.2 kbpsH.223 复用层和无线信道编码也要消耗一部分开销。真正留给视频的码率在很多终端上可能只有 20 kbps 到 40 kbps。为了在这个码率下保证帧率视频编码的分辨率通常会被压得很低。常见选择是 QCIF也就是 176×144 像素稍微好一点能跑到 CIF 级别的 352×288。这是什么概念如果用今天的眼光看一个普通头像在视频通话里都会被压缩到非常模糊如果画面里有运动马赛克会非常明显。实际体验往往是“能看见对方但好像在隔着毛玻璃看慢动作”。摄像头素质一般、屏幕分辨率不高、网络在移动中还会产生抖动这些问题叠加在一起让 3G 视频通话在商用后很难形成真正的用户粘性。技术可行性和用户体验之间仍然隔着一条很长的路。3. K770 硬件解析一台 3G 视频手机要解决什么问题3.1 前置摄像头的位置不是随便定的今天的每一台智能手机都有前置摄像头大家已经习以为常。但在 2007 年屏幕上方存在摄像头并不常见。K770 的屏幕上方听筒旁隐藏着一个低分辨率辅助摄像头专门服务视频通话。这颗前置摄像头的位置经过反复考量。它必须尽量靠近屏幕中央上方这样用户盯着屏幕看对方时视线才能接近镜头方向形成“对视感”。如果镜头放在角落通话时用户眼睛看屏幕对方看到的就是“眼神飘忽”的画面。今天很多笔记本摄像头放在屏幕边框上方也是同一个道理。这颗摄像头的规格并不高因为视频通话的最终画面会被压缩到 QCIF 分辨率传感器拍得再清晰经过编码和传输后也体现不出来。倒不如降低规格减少成本和功耗。这种“业务驱动硬件选型”的思路在手机设计里非常典型。3.2 3G 射频、天线与整机功耗支持 3G 不是只加一颗芯片那么简单。WCDMA 增加了新的频段和发射功率要求手机内部需要增加对应的射频前端、功放和天线匹配电路。K770 这类轻薄中端机要在有限机身里塞下 2G/3G 多频段射频模块同时还得保证通话信号不衰减给天线设计提出了很高要求。3G 视频通话的功耗比普通语音通话大得多。语音通话属于间歇性发包而视频通话需要持续上传和下载手机射频和基带芯片长时间处于工作状态主板发热和电池消耗会明显上升。如果整机结构设计时没做好天线隔离打电话时手握位置可能产生严重的信号衰耗。这些问题在 3G 手机早期很常见。厂商一边宣传视频通话是卖点一边要偷偷做大量的天线优化和电源管理。K770 作为中端机不可能把电池做太大只能在“功耗、手感、信号、成本”之间反复权衡。今天做智能硬件的人依然会面对同样矛盾只是平台从手机换成了可穿戴设备或物联网模组。3.3 视频编码靠谁来执行现在智能手机要打视频电话调用系统的 AVCaptureSession 或 MediaProjection 接口就能拿到摄像头帧再交给硬件编码器 H.264/HEVC 处理。一切都有现成框架。但在 2007 年的封闭功能机上故事完全不同。那时手机里通常没有为普通开发者准备的视频通话 API。3G 视频通话是一个深度集成到固件里的系统功能视频采集、编码、复用、网络控制都由底层完成。很多任务并不在主 CPU 上跑而是交给 DSP数字信号处理器或专用媒体处理芯片CPU 只负责控制界面和简单逻辑。这也是为什么当时你不能随便下载一个 App 就实现微信视频。不是因为开发者懒而是底层硬件资源和管理权限都没有开放。K770 上只有厂商自己或合作伙伴才能把一套完整的 3G-324M 协议栈和硬件驱动紧密耦合在一起。这给后来的开发者留下的启示是硬件边界决定软件能力上限代码写得好还要硬件平台愿意给你接口。4. Cyber-shot 影像体系320 万像素背后的工程故事4.1 Cyber-shot 给 K770 带来了什么Cyber-shot 是索尼数码相机很有名的产品线代表“便携、时尚、不错成像”。当索尼爱立信把它移植到手机上核心目标不只是贴牌而是让用户产生“用这台手机拍照画质接近数码相机”的心理预期。为了撑起这种期待K770 在影像相关设计上做了很多努力。它有专门的快门按键半按可以锁定对焦有独立的相册浏览逻辑色彩调校也刻意往 Cyber-shot 风格靠拢强调蓝天更蓝、肤色更自然。这一套体验设计让手机拍照从“玩具”变得像一个正经工具。但必须客观地说2007 年的手机拍照和今天的计算摄影之间差距非常大。当时摄像头传感器尺寸小进光量有限也没有强大的多帧合成算法光线稍差时噪点非常明显。所谓的 Cyber-shot 影像引擎更多是在色彩还原、白平衡、降噪、锐化这些方向上做一些“后期润色”而不是改变物理成像极限。4.2 一张照片的完整处理链路K770 这类手机拍照后图像数据并不只是简单的传感器直接输出 JPEG而是要经过一条比较长的处理链路。用一个简化的示意图来表示外界光线 - 镜头组 - CMOS 感光器 - 模拟前端 AFE / 初步模数转换 - ISP 处理去马赛克、白平衡、色彩校正、降噪、锐化 - JPEG 编码压缩 - 写入 M2 记忆棒或内部存储这里面每一环都会影响最终画质。镜头负责汇聚光线CMOS 负责把光信号变成电信号ISP 负责把原始的马赛克数据解码成人眼能够理解的彩色图像。320 万像素指的是 CMOS 上感光单元的数量像素高不一定代表画质好感光尺寸、镜头素质、ISP 算法往往更重要。K770 所在的年代成本更倾向于 CMOS 传感器和镜头组ISP 能力有限。为了保证照片观感厂商经常会做比较激进的降噪和锐化结果就是照片在手机小屏幕上看起来很清楚放到电脑大屏幕上后就会发现细节涂抹严重。这种“屏幕自产自销”的现象也是当时手机影像局限性的体现。4.3 多摄像头最初的形态业务分工而非画质分工今天智能手机标配多摄像头有广角、超广角、长焦主要目的是覆盖不同焦段。但 2007 年的 K770 已经出现了“双摄”只是它不是为了焦段而是为了业务分工主摄负责拍照前置副摄负责视频通话。两个摄像头在接口、分辨率、帧率、功耗需求上完全不同硬件上可以独立工作。这种设计的直接好处是降低成本。视频通话只需要 QCIF 画质副摄用非常小的传感器就能满足要求主摄则把更大成本花在 320 万像素和成像质量上。如果强行用同一颗数千万像素摄像头完成所有任务处理功耗和成本都会成倍增长。当厂商开始为不同业务配置不同摄像头时系统的软件框架也要跟着变化。系统需要支持摄像头之间的切换需要为不同摄像头分配不同的数据通路这些经验后来被 iPhone 4 时代的“自拍视频通话”和今天的“多摄平滑切换”继承下来。可以说3G 视频通话是手机多摄最早的商业化驱动力之一。5. 端到端流程复盘从 K770 发起一次 3G 视频通话5.1 一次通话的宏观流程为了让前面讲的概念串起来这里模拟一次完整的 3G 视频通话流程。命令和消息名称保持简化重点理解过程。[主叫 K770] 用户选择“视频呼叫”并拨号 - 网络完成主叫侧 CS 呼叫建立 - 网络寻呼被叫 K770提示“视频通话请求” - 被叫用户接听 - 网络为双方分配 64 kbps 上下行业务承载 - 双方通过 H.245 进行多媒体能力协商 - 协商视频编码、音频编码、分辨率、逻辑信道数量 - 打开逻辑信道开始双向传输视频和音频 - 通话过程中H.223 将多路数据复用到一条信道 - 用户挂断关闭逻辑信道释放 CS 承载这条流程里最大的特点是视频通话依然被当作一次“电话呼叫”来管理。它可以被呼叫、被拒接、被转接网络侧也能对它进行计费而不是像网络视频那样由 App 自己管理服务器。5.2 信道建立与寻呼当用户按下视频通话键手机并不会立即开始传视频而是先要在无线网络里建立一条电路域连接。网络会找到被叫用户所在的基站发送一个带有“视频呼叫指示”的寻呼消息。被叫手机屏幕会弹出类似“邀请你进行视频通话”的界面。如果被叫用户接听网络才继续为通话分配专用的业务资源。也就是说在业务信道建立之前视频编码器并不会启动。这是为了节约资源和功耗也符合“先建立连接再传输媒体”的普遍逻辑。5.3 H.245 协商与逻辑信道打开连接建立后两个终端之间就开始通过 H.245 交换控制消息。这里最大的难点是一台 K770 要和一个完全未知的手机模型通信双方必须确定用哪一种视频编码、哪一种音频编码。K770 视频可能支持 H.263 和 MPEG-4音频一定支持 AMR-NB如果对端手机只支持 H.263那么 K770 也会自动同意用 H.263而不是坚持用自己更偏好的 MPEG-4。协商完成后双方通过 H.245 打开“逻辑信道”。逻辑信道可以理解成传送特定数据的通道视频一路、音频一路。每路数据在 H.245 中都有一个标识H.223 复用层会根据这个标识把不同的包区分开。只要这些逻辑信道正常打开并保持视频和音频就能持续传输。如果用户中途切到后台或网络质量变差某些厂商的手机还会尝试通过 H.245 重新协商降分辨率、降帧率尽量保住通话。5.4 通话质量的关键唇音同步、回声抑制与功耗即使技术上成功接通体验也还有许多隐藏问题。视频和音频编码器独立工作网络传输时延也可能不同如果视频比声音慢了几百毫秒就会出现“口型对不上”的别扭感扬声器播放对方声音时又会被麦克风重新拾取形成回声必须做回声消除。这些问题到今天的 WebRTC 和视频会议系统里依然存在只是算法和算力更成熟了。另外必须强调的是视频通话过程中手机射频持续工作屏幕长亮编解码器满载电池消耗非常快。中端 3G 手机如果连续打半小时视频电话掉电量会远超普通语音通话。这个细节也解释了为什么当年运营商广告里的视频通话演示只持续一两分钟很少展示长时间续航场景。6. 为什么 3G 视频通话最终没有成为主流6.1 成本、资费与体验门槛回顾 3G 视频通话从
